Added view model and basic strings.

This commit is contained in:
WickedJack99
2024-01-06 20:06:47 +01:00
parent b90a6e43e6
commit 2d8672aab0
20 changed files with 636 additions and 0 deletions

View File

@@ -0,0 +1,43 @@
/**
* @author Aaron Moser
* @date 06.01.2024
* @lastChange 06.01.2024
*/
package viewModel.src.constants;
public final class ConnectToServerPanel_Constants {
public static String getTranslation(int languageIndex, int fieldIndex) {
if ((languageIndex >=0 && languageIndex < translations.length) && (fieldIndex >= 0 && fieldIndex < translations[languageIndex].length)) {
return translations[languageIndex][fieldIndex];
} else {
// TODO log middle error.
return "";
}
}
public static final String[][] translations = {
{
"Verbinden Sie sich mit dem Server",
"IPv4",
"IPv6",
"IP Adresse",
"Port",
"Waehlen Sie den Trust Store, welcher das Server-Zertifikat enthaelt",
"Datei waehlen",
"Trust Store Passwort",
"Verbinden"
},
{
"Connect to the Server",
"IPv4",
"IPv6",
"IP address",
"Port",
"Select the trust store which contains the server-certificate",
"Choose file",
"Trust Store Password",
"Connect"
}
};
}

View File

@@ -0,0 +1,30 @@
/**
* @author Aaron Moser
* @date 06.01.2024
* @lastChange 06.01.2024
*/
package viewModel.src.constants;
public final class ControllingPanel_Constants {
public static String getTranslation(int languageIndex, int fieldIndex) {
if ((languageIndex >=0 && languageIndex < translations.length) && (fieldIndex >= 0 && fieldIndex < translations[languageIndex].length)) {
return translations[languageIndex][fieldIndex];
} else {
// TODO log middle error.
return "";
}
}
public static final String[][] translations = {
{
"NFTables",
"Port hinzufuegen",
"Logging konfigurieren"
},
{
"NFTables",
"Add port",
"Configurate Logging"
}
};
}

View File

@@ -0,0 +1,50 @@
/**
* @author Aaron Moser
* @date 06.01.2024
* @lastChange 06.01.2024
*/
package viewModel.src.constants;
public final class MonitoringPanel_Constants {
public static String getTranslation(int languageIndex, int fieldIndex) {
if ((languageIndex >=0 && languageIndex < translations.length) && (fieldIndex >= 0 && fieldIndex < translations[languageIndex].length)) {
return translations[languageIndex][fieldIndex];
} else {
// TODO log middle error.
return "";
}
}
public static final String[][] translations = {
{
"Alarme",
"Systeminformation",
"Echtzeitueberwachung versuchte Netzwerkzugriffe",
"Anzahl versuchte Zugriffe",
"Zeit",
"Filter",
"Top genutzte Protokolle",
"Echtzeitueberwachung erlaubte Netzwerkzugriffe",
"Anzahl erlaubte Zugriffe",
"Zeit",
"Filter",
"Zum Logging gehen",
"Logging"
},
{
"Alarms",
"System Information",
"Realtime Monitoring tried Network Accesses",
"Count tried Accesses",
"Time",
"Filter",
"Top used Protocols",
"Realtime Monitoring allowed Network Accesses",
"Count allowed Accesses",
"Time",
"Filter",
"Go to Logging",
"Logging"
}
};
}

View File

@@ -0,0 +1,41 @@
/**
* @author Aaron Moser
* @date 06.01.2024
* @lastChange 06.01.2024
*/
package viewModel.src.constants;
public class StatusPanel_Constants {
public static String getTranslation(int languageIndex, int fieldIndex) {
if ((languageIndex >=0 && languageIndex < translations.length) && (fieldIndex >= 0 && fieldIndex < translations[languageIndex].length)) {
return translations[languageIndex][fieldIndex];
} else {
// TODO log middle error.
return "";
}
}
private static final String[][] translations = {
{
"Verbindungsstatus",
"Verbunden",
"Verbinde",
"Getrennt",
"Überwachung",
"Steuerung",
"<-",
"->"
},
{
"Connection Status",
"Connected",
"Connecting",
"Disconnected",
"Monitoring",
"Controlling",
"<-",
"->"
}
};
}

View File

@@ -0,0 +1,18 @@
/**
* @author Aaron Moser
* @date 06.01.2024
* @lastChange 06.01.2024
*/
package viewModel.src.enums;
public enum E_ConnectToServerPanel_TranslationField {
MainMessageLabel,
IPVersion4RadioButton,
IPVersion6RadioButton,
IPAddressLabel,
PortLabel,
ServerCertStoreLabel,
TrustStoreFileChooserButton,
ServerCertStorePasswordLabel,
ConnectButton
}

View File

@@ -0,0 +1,12 @@
/**
* @author Aaron Moser
* @date 06.01.2024
* @lastChange 06.01.2024
*/
package viewModel.src.enums;
public enum E_ControllingPanel_TranslationField {
NFTablesButton,
AddPortsButton,
LogsConfigButton
}

View File

@@ -0,0 +1,11 @@
/**
* @author Aaron Moser
* @date 06.01.2024
* @lastChange 06.01.2024
*/
package viewModel.src.enums;
public enum E_Language {
German,
English
}

View File

@@ -0,0 +1,22 @@
/**
* @author Aaron Moser
* @date 06.01.2024
* @lastChange 06.01.2024
*/
package viewModel.src.enums;
public enum E_MonitoringPanel_TranslationField {
AlarmsLabel,
SystemInformationLabel,
RealtimeMonitoringTriedAccessesLabel,
RealtimeMonitoringTriedAccessesXLabel,
RealtimeMonitoringTriedAccessesYLabel,
RealtimeMonitoringTriedAccessesFilterLabel,
TopUsedProtocolsLabel,
RealtimeMonitoringAcceptedAccessesLabel,
RealtimeMonitoringAcceptedAccessesYLabel,
RealtimeMonitoringAcceptedAccessesXLabel,
RealtimeMonitoringAcceptedAccessesFilterLabel,
LoggingLabel,
LoggingButton
}

View File

@@ -0,0 +1,12 @@
/**
* @author Aaron Moser
* @date 06.01.2024
* @lastChange 06.01.2024
*/
package viewModel.src.enums;
public enum E_Status {
Connected,
Connecting,
Disconnected
}

View File

@@ -0,0 +1,17 @@
/**
* @author Aaron Moser
* @date 06.01.2024
* @lastChange 06.01.2024
*/
package viewModel.src.enums;
public enum E_StatusPanel_TranslationField {
Connection_status,
Connected,
Connecting,
Disconnected,
Monitoring,
Controlling,
Previous,
Next
};

View File

@@ -0,0 +1,13 @@
/**
* @author Aaron Moser
* @date 06.01.2024
* @lastChange 06.01.2024
*/
package viewModel.src.informations;
import viewModel.src.enums.E_Language;
import viewModel.src.enums.E_Status;
public final record StatusPanel_Information(E_Language language, E_Status status) {
}

View File

@@ -0,0 +1,24 @@
/**
* @author Aaron Moser
* @date 06.01.2024
* @lastChange 06.01.2024
*/
package viewModel.src.interfaces;
public interface I_ConnectToServerPanel_ViewModel {
public String get_MainMessageLabel_Text();
public String get_IPVersion4RadioButton_Text();
public String get_IPVersion6RadioButton_Text();
public String get_IPAddressLabel_Text();
public String get_PortLabel_Text();
public String get_ServerCertStoreLabel_Text();
public String get_TrustStoreFileChooserButton_Text();
public String get_ServerCertStorePasswordLabel_Text();
public String get_ConnectButton_Text();
}

View File

@@ -0,0 +1,14 @@
/**
* @author Aaron Moser
* @date 06.01.2024
* @lastChange 06.01.2024
*/
package viewModel.src.interfaces;
public interface I_ControllingPanel_ViewModel {
public String get_NFTablesButton_Text();
public String get_AddPortsButton_Text();
public String get_LogsConfigButton_Text();
}

View File

@@ -0,0 +1,31 @@
/**
* @author Aaron Moser
* @date 06.01.2024
* @lastChange 06.01.2024
*/
package viewModel.src.interfaces;
import java.util.List;
public interface I_MonitoringPanel_ViewModel {
public String get_AlarmsLabel_Text();
public String get_SystemInformationLabel_Text();
public String get_RealtimeMonitoringTriedAccessesLabel_Text();
public String get_RealtimeMonitoringTriedAccessesYLabel_Text();
public String get_RealtimeMonitoringTriedAccessesXLabel_Text();
public String get_RealtimeMonitoringTriedAccessesFilterLabel_Text();
public List<String> get_RealtimeMonitoringTriedAccessesFilterDropdownOptions_Text();
public String get_TopUsedProtocolsLabel_Text();
public String get_RealtimeMonitoringAcceptedAccessesLabel_Text();
public String get_RealtimeMonitoringAcceptedAccessesYLabel_Text();
public String get_RealtimeMonitoringAcceptedAccessesXLabel_Text();
public String get_RealtimeMonitoringAcceptedAccessesFilterLabel_Text();
public List<String> get_RealtimeMonitoringAcceptedAccessesFilterDropdownOptions_Text();
public String get_LoggingLabel_Text();
public String get_LoggingButton_Text();
}

View File

@@ -0,0 +1,17 @@
/**
* @author Aaron Moser
* @date 06.01.2024
* @lastChange 06.01.2024
*/
package viewModel.src.interfaces;
public interface I_StatusPanel_ViewModel {
public String get_StatusLabel_Text();
public String get_ConnectionStatusLabel_Text();
public String get_MonitoringPanelButton_Text();
public String get_ControllingPanelButton_Text();
public String get_PreviousPanelButton_Text();
public String get_NextPanelButton_Text();
}

View File

@@ -0,0 +1,20 @@
/**
* @author Aaron Moser
* @date 06.01.2024
* @lastChange 06.01.2024
*/
package viewModel.src.interfaces;
import viewModel.src.enums.E_Language;
public interface I_ViewModel {
public String get_Language_Text();
public E_Language get_Language_Enum();
public I_StatusPanel_ViewModel get_StatusPanel_ViewModel();
public I_ConnectToServerPanel_ViewModel get_ConnectToServerPanel_ViewModel();
public I_MonitoringPanel_ViewModel get_MonitoringPanel_ViewModel();
public I_ControllingPanel_ViewModel getControllingPanel_ViewModel();
}

View File

@@ -0,0 +1,64 @@
/**
* @author Aaron Moser
* @date 06.01.2024
* @lastChange 06.01.2024
*/
package viewModel.src.models;
import viewModel.src.constants.ConnectToServerPanel_Constants;
import viewModel.src.enums.E_Language;
import viewModel.src.enums.E_ConnectToServerPanel_TranslationField;
import viewModel.src.interfaces.I_ConnectToServerPanel_ViewModel;
public final record ConnectToServerPanel_ViewModel(E_Language language) implements I_ConnectToServerPanel_ViewModel {
private String getTranslation(int field) {
return ConnectToServerPanel_Constants.getTranslation(language.ordinal(), field);
}
@Override
public String get_MainMessageLabel_Text() {
return getTranslation(E_ConnectToServerPanel_TranslationField.MainMessageLabel.ordinal());
}
@Override
public String get_IPVersion4RadioButton_Text() {
return getTranslation(E_ConnectToServerPanel_TranslationField.IPVersion4RadioButton.ordinal());
}
@Override
public String get_IPVersion6RadioButton_Text() {
return getTranslation(E_ConnectToServerPanel_TranslationField.IPVersion6RadioButton.ordinal());
}
@Override
public String get_IPAddressLabel_Text() {
return getTranslation(E_ConnectToServerPanel_TranslationField.IPAddressLabel.ordinal());
}
@Override
public String get_PortLabel_Text() {
return getTranslation(E_ConnectToServerPanel_TranslationField.PortLabel.ordinal());
}
@Override
public String get_ServerCertStoreLabel_Text() {
return getTranslation(E_ConnectToServerPanel_TranslationField.ServerCertStoreLabel.ordinal());
}
@Override
public String get_TrustStoreFileChooserButton_Text() {
return getTranslation(E_ConnectToServerPanel_TranslationField.TrustStoreFileChooserButton.ordinal());
}
@Override
public String get_ServerCertStorePasswordLabel_Text() {
return getTranslation(E_ConnectToServerPanel_TranslationField.ServerCertStorePasswordLabel.ordinal());
}
@Override
public String get_ConnectButton_Text() {
return getTranslation(E_ConnectToServerPanel_TranslationField.ConnectButton.ordinal());
}
}

View File

@@ -0,0 +1,33 @@
/**
* @author Aaron Moser
* @date 06.01.2024
* @lastChange 06.01.2024
*/
package viewModel.src.models;
import viewModel.src.constants.ControllingPanel_Constants;
import viewModel.src.enums.E_ControllingPanel_TranslationField;
import viewModel.src.enums.E_Language;
import viewModel.src.interfaces.I_ControllingPanel_ViewModel;
public final record ControllingPanel_ViewModel(E_Language language) implements I_ControllingPanel_ViewModel {
private String getTranslation(int field) {
return ControllingPanel_Constants.getTranslation(language.ordinal(), field);
}
@Override
public String get_NFTablesButton_Text() {
return getTranslation(E_ControllingPanel_TranslationField.NFTablesButton.ordinal());
}
@Override
public String get_AddPortsButton_Text() {
return getTranslation(E_ControllingPanel_TranslationField.AddPortsButton.ordinal());
}
@Override
public String get_LogsConfigButton_Text() {
return getTranslation(E_ControllingPanel_TranslationField.LogsConfigButton.ordinal());
}
}

View File

@@ -0,0 +1,98 @@
/**
* @author Aaron Moser
* @date 06.01.2024
* @lastChange 06.01.2024
*/
package viewModel.src.models;
import java.util.List;
import viewModel.src.constants.MonitoringPanel_Constants;
import viewModel.src.enums.E_Language;
import viewModel.src.enums.E_MonitoringPanel_TranslationField;
import viewModel.src.interfaces.I_MonitoringPanel_ViewModel;
public final record MonitoringPanel_ViewModel(E_Language language) implements I_MonitoringPanel_ViewModel {
private String getTranslation(int field) {
return MonitoringPanel_Constants.getTranslation(language.ordinal(), field);
}
@Override
public String get_AlarmsLabel_Text() {
return getTranslation(E_MonitoringPanel_TranslationField.AlarmsLabel.ordinal());
}
@Override
public String get_SystemInformationLabel_Text() {
return getTranslation(E_MonitoringPanel_TranslationField.SystemInformationLabel.ordinal());
}
@Override
public String get_RealtimeMonitoringTriedAccessesLabel_Text() {
return getTranslation(E_MonitoringPanel_TranslationField.RealtimeMonitoringTriedAccessesLabel.ordinal());
}
@Override
public String get_RealtimeMonitoringTriedAccessesYLabel_Text() {
return getTranslation(E_MonitoringPanel_TranslationField.RealtimeMonitoringTriedAccessesYLabel.ordinal());
}
@Override
public String get_RealtimeMonitoringTriedAccessesXLabel_Text() {
return getTranslation(E_MonitoringPanel_TranslationField.RealtimeMonitoringTriedAccessesXLabel.ordinal());
}
@Override
public String get_RealtimeMonitoringTriedAccessesFilterLabel_Text() {
return getTranslation(E_MonitoringPanel_TranslationField.RealtimeMonitoringTriedAccessesFilterLabel.ordinal());
}
@Override
public List<String> get_RealtimeMonitoringTriedAccessesFilterDropdownOptions_Text() {
// TODO Auto-generated method stub
throw new UnsupportedOperationException("Unimplemented method 'get_RealtimeMonitoringTriedAccessesFilterDropdownOptions_Text'");
}
@Override
public String get_TopUsedProtocolsLabel_Text() {
return getTranslation(E_MonitoringPanel_TranslationField.TopUsedProtocolsLabel.ordinal());
}
@Override
public String get_RealtimeMonitoringAcceptedAccessesLabel_Text() {
return getTranslation(E_MonitoringPanel_TranslationField.RealtimeMonitoringAcceptedAccessesLabel.ordinal());
}
@Override
public String get_RealtimeMonitoringAcceptedAccessesYLabel_Text() {
return getTranslation(E_MonitoringPanel_TranslationField.RealtimeMonitoringAcceptedAccessesYLabel.ordinal());
}
@Override
public String get_RealtimeMonitoringAcceptedAccessesXLabel_Text() {
return getTranslation(E_MonitoringPanel_TranslationField.RealtimeMonitoringAcceptedAccessesXLabel.ordinal());
}
@Override
public String get_RealtimeMonitoringAcceptedAccessesFilterLabel_Text() {
return getTranslation(E_MonitoringPanel_TranslationField.RealtimeMonitoringAcceptedAccessesFilterLabel.ordinal());
}
@Override
public List<String> get_RealtimeMonitoringAcceptedAccessesFilterDropdownOptions_Text() {
// TODO Auto-generated method stub
throw new UnsupportedOperationException("Unimplemented method 'get_RealtimeMonitoringAcceptedAccessesFilterDropdownOptions_Text'");
}
@Override
public String get_LoggingLabel_Text() {
return getTranslation(E_MonitoringPanel_TranslationField.LoggingLabel.ordinal());
}
@Override
public String get_LoggingButton_Text() {
return getTranslation(E_MonitoringPanel_TranslationField.LoggingButton.ordinal());
}
}

View File

@@ -0,0 +1,66 @@
/**
* @author Aaron Moser
* @date 06.01.2024
* @lastChange 06.01.2024
*/
package viewModel.src.models;
import viewModel.src.enums.E_Language;
import viewModel.src.interfaces.I_ConnectToServerPanel_ViewModel;
import viewModel.src.interfaces.I_ControllingPanel_ViewModel;
import viewModel.src.interfaces.I_MonitoringPanel_ViewModel;
import viewModel.src.interfaces.I_StatusPanel_ViewModel;
import viewModel.src.interfaces.I_ViewModel;
public final record ViewModel(
E_Language language,
I_StatusPanel_ViewModel statusPanel_ViewModel,
I_ConnectToServerPanel_ViewModel connectToServerPanel_ViewModel,
I_MonitoringPanel_ViewModel monitoringPanel_ViewModel,
I_ControllingPanel_ViewModel controllingPanel_ViewModel) implements I_ViewModel {
@Override
public String get_Language_Text() {
String languageAsString = "";
switch (language) {
case English: {
languageAsString = "English";
}break;
case German: {
languageAsString = "Deutsch";
}break;
default: {
}break;
}
return languageAsString;
}
@Override
public E_Language get_Language_Enum() {
return language;
}
@Override
public I_StatusPanel_ViewModel get_StatusPanel_ViewModel() {
return statusPanel_ViewModel;
}
@Override
public I_ConnectToServerPanel_ViewModel get_ConnectToServerPanel_ViewModel() {
return connectToServerPanel_ViewModel;
}
@Override
public I_MonitoringPanel_ViewModel get_MonitoringPanel_ViewModel() {
return monitoringPanel_ViewModel;
}
@Override
public I_ControllingPanel_ViewModel getControllingPanel_ViewModel() {
return controllingPanel_ViewModel;
}
}