Package de.svws_nrw.config
Klasse SVWSKonfiguration
java.lang.Object
de.svws_nrw.config.SVWSKonfiguration
Diese Klasse repräsentiert die Konfiguration der SVWS-Server-Umgebung.
-
Feldübersicht
Modifizierer und TypFeldBeschreibungstatic final int
Gibt den Default HTTP-Port des Servers an, sofern TLS deaktiviert wurdestatic final int
Gibt den Default HTTPS-Port des Servers anstatic final String
Gibt den Default für den priviligierten Datenbank-Benutzer an, welcher auch die Berechtigungen hat über die Open-API-Schnittstelle für den priviligierten Zugriff auf die SVWS-Sserver-Konfiguration zuzugreifen.static final ServerMode
Gibt den Modus an, in welchem der Server betrieben wirdstatic final String
Ein Default-Alias, welcher für den SVWS-Server-Key im keystore genutzt wird.static final String
Ein Default-Kennwort, welches für den keystore genutzt wird, falls in der Konfigurationsdatei keines angegeben ist.static final boolean
Gibt an, das CORS-Header als Default verwendet werden, wenn nichts dazu in der Konfiguration angegeben ist.static final boolean
Gibt an, dass die HTTP-Version 1.1 statt 2 als Default genutzt wirdstatic final String
Ein Default-Pfad, in welchem die Client-Dateien gesucht werden, falls in der Konfigurationsdatei keiner angegeben ist. -
Methodenübersicht
Modifizierer und TypMethodeBeschreibungboolean
activateSchema
(String schemaName) Aktviert das angegebene Schema, so dass es im Anschluss nach aussen hin wieder zur Verfügung steht.void
createOrUpdateSchema
(String schemaName, String userName, String userPassword, boolean userSVWSLogin) Erstellt oder Aktualisiert die Schema-Konfiguration des angegebenen Schemasboolean
deactivateSchema
(String schemaName) Deaktviert das angegebene Schema, so dass es im Anschluss nach aussen hin nicht mehr zur Verfügung steht.static SVWSKonfiguration
get()
Liefert die Instanz der SVWS-Konfiguration.Gibt den Pfad zu den Admin-Web-Client-Dateien zurück.static Certificate
Liefert das Zertifikat des SVWS-Servers, sofern dieses aus der Konfiguration geladen werden kann.static String
Liefert das Zertifikat des SVWS-Servers in Base64-Kodierung, sofern dieses aus der Konfiguration geladen werden kann.Gibt den Pfad zu den Webclient-Dateien zurück.int
Gibt die Anzahl der Datenbank-Konfigurationen zurück.getDBConfig
(String schema) Gibt die Datenbank-Konfiguration zu dem Schemanamen zurück.static SVWSKonfiguration
getDefault
(String clientPath, String adminClientPath, String loggingPath, String tempPath, String keystorePath, String keystorePassword, DBDriver dbms, String dbLocation, int dbPort, boolean noSchema, String schema, String schemaUser, String schemaPassword) Erzeugt eine neue SVWS-Konfiguration mit Defaultwerten und ggf. angepassten Werten, falls diese nicht null sind.Gibt den Namen des konfigurierten Default-Schemas zurück oder null, wenn keines konfiguriert ist.Gibt den zu dieser Konfiguration gehörenden Dateinamen zurück.static SVWSKonfiguration
Liefert die Instanz der SVWS-Konfiguration.static KeyStore
Diese Methode liefert den aktuell konfigurierten Java-Key-Store zurück.Gibt den Basis-Pfad an, in den Log-Dateien geschrieben werden sollen.int
Gibt den HTTP-Port des Servers zurück, sofern TLS deaktiviert wurdeint
Gibt den HTTP-Port des Servers für den priviligierten Zugriff auf die SVWS-Datenbank zurückint
Gibt den HTTPS-Port des Servers zurückstatic PrivateKey
Diese Methode liefert den Private Key aus dem Keystore, sofern dieser aus der Konfiguration geladen werden kann.Gibt den priviligierten Datenbank-Benutzer an, welcher auch die Berechtigungen hat über die Open-API-Schnittstelle für den priviligierten Zugriff auf die SVWS-Sserver-Konfiguration zuzugreifen.static PublicKey
Liefert den öffentlichen Schlüssel des SVWS-Servers, sofern dieser aus der Konfiguration geladen werden kann.static String
Liefert den öffentlichen Schlüssel des SVWS-Servers in Base64-Kodierung, sofern dieser aus der Konfiguration geladen werden kann.getRootDBConfig
(String username, String password) Gibt die Datenbank-Konfiguration für Zugriff auf das root-Schema der Datenbank zurück.Liefert eine Liste mit allen konfigurierten Schemanamen zurück.getSchemanameCaseConfig
(String schemaName) Prüft, ob für den angebenen Schema-Namen eine Konfiguration vorliegt oder nicht.Gibt an, in welchem Modus der Server (und der Client) betrieben werden und welche Funktionen freigeschaltet werden können / sollen.Gibt den Basis-Pfad an, in den temporäre Dateien geschrieben werden sollen.Gibt den Alias des SVWS-Server-Keys zurück.Gibt das Kennwort für Keystore an, der für die TLS-Verbindung genutzt wird.Gibt den Pfad zum Keystore an, der für die TLS-Verbindung des Servers genutzt wird.boolean
Prüft, ob für den angebenen Schema-Namen eine Konfiguration vorliegt oder nicht.boolean
Gibt an, ob ein getrennter HTTP-Port beim Servers für den priviligierten Zugriff auf die SVWS-Datenbank genutzter wird oder nicht.boolean
Gibt an, ob die Auto Updates auf alle Schemata zu Beginn des Server-Starts deaktiviert werden sollen.boolean
Gibt an, ob der Zugriff auf Schema-Operation, die einen root-Zugriff auf die SVWS benötigen deaktiviert werden soll.boolean
isDeactivatedSchema
(String schemaName) Gibt an, ob das angegebene Schema deaktiviert ist oder nichtboolean
Gibt an, ob der Zugriff auf Dateien des SVWS-Clients auch über die Authentifikation des Servers geschützt werden oder nicht.boolean
isLockedSchema
(String schemaName) Gibt an, ob das angegebene Schema gesperrt ist oder nichtboolean
Gibt zurück, ob das Logging in Dateien aktiviert ist oder nicht.boolean
Gibt an, ob beim Server TLS deaktiviert werden soll und HTTP statt HTTPS verwendet werden soll.boolean
lockSchema
(String schemaName) Sperrt das angegebene Schemavoid
removeSchema
(String schemaName) Entfernt das Schema aus der Konfiguration, sofern es enthalten ist.boolean
setDefaultschema
(String schemaname) Setzt das Default-Schema.void
setFilename
(String filename) Setzt den zu dieser Konfiguration gehörenden Dateinamen.static void
setPrivateKeyCertificateBase64
(String alias, byte[] key, byte[] cert) Setzt den privaten Schlüssel und das Zertifikat im keystore des SVWS-Servers unter dem angegebenen Alias.void
setTLSKeyAlias
(String alias) Setzt den Alias für die Auswahl des zu verwendenden TLS-Schlüssels/Zertifikats.boolean
unlockSchema
(String schemaName) Entsperrt das angegebene Schemaboolean
Gibt an, ob CORS-Header verwendet werden sollen oder nicht.boolean
Gibt zurück, ob HTTP-Version 1.1 statt 2 als Default genutzt wird.static void
write()
Schreibt die SVWS-Konfiguration in die Datei, die in der Konfiguration angegeben ist.
-
Felddetails
-
default_webclient_path
Ein Default-Pfad, in welchem die Client-Dateien gesucht werden, falls in der Konfigurationsdatei keiner angegeben ist.- Siehe auch:
-
default_PortHTTP
public static final int default_PortHTTPGibt den Default HTTP-Port des Servers an, sofern TLS deaktiviert wurde- Siehe auch:
-
default_useHTTPDefaultv11
public static final boolean default_useHTTPDefaultv11Gibt an, dass die HTTP-Version 1.1 statt 2 als Default genutzt wird- Siehe auch:
-
default_PortHTTPS
public static final int default_PortHTTPSGibt den Default HTTPS-Port des Servers an- Siehe auch:
-
default_use_cors_header
public static final boolean default_use_cors_headerGibt an, das CORS-Header als Default verwendet werden, wenn nichts dazu in der Konfiguration angegeben ist.- Siehe auch:
-
default_server_mode
Gibt den Modus an, in welchem der Server betrieben wird -
default_privileged_database_user
Gibt den Default für den priviligierten Datenbank-Benutzer an, welcher auch die Berechtigungen hat über die Open-API-Schnittstelle für den priviligierten Zugriff auf die SVWS-Sserver-Konfiguration zuzugreifen.- Siehe auch:
-
default_tls_key_alias
Ein Default-Alias, welcher für den SVWS-Server-Key im keystore genutzt wird.- Siehe auch:
-
default_tls_keystore_password
Ein Default-Kennwort, welches für den keystore genutzt wird, falls in der Konfigurationsdatei keines angegeben ist.- Siehe auch:
-
-
Methodendetails
-
getFrom
Liefert die Instanz der SVWS-Konfiguration. Wurde noch keine Konfiguration eingelesen, so wird dies nachgeholt.- Parameter:
path
- der Pfad, in welchem die Konfigurationsdatei zu suchen ist.- Gibt zurück:
- die SVWS-Konfiguration
-
get
Liefert die Instanz der SVWS-Konfiguration. Wurde noch keine Konfiguration eingelesen, so wird dies nachgeholt.- Gibt zurück:
- die SVWS-Konfiguration
-
write
Schreibt die SVWS-Konfiguration in die Datei, die in der Konfiguration angegeben ist. Ist die Datei bereits vorhanden, so wird sie überschrieben. Beim Schreiben wird das JSON-Format gewählt, es sei denn in der Konfiguration wurde isXMLConfig gesetzt. Dann wird das XML-Format gewählt. Ist der Dateiname null oder leer, so wird der Default-Name DEFAULT_CONFIG_FILENAME bzw. DEFAULT_CONFIG_FILENAME_XML verwendet.- Löst aus:
SVWSKonfigurationException
- falls ein Fehler beim Schreiben auftritt
-
getDefault
public static SVWSKonfiguration getDefault(String clientPath, String adminClientPath, String loggingPath, String tempPath, String keystorePath, String keystorePassword, DBDriver dbms, String dbLocation, int dbPort, boolean noSchema, String schema, String schemaUser, String schemaPassword) Erzeugt eine neue SVWS-Konfiguration mit Defaultwerten und ggf. angepassten Werten, falls diese nicht null sind.- Parameter:
clientPath
- der Pfad, in dem die Web-Client-Dateien zu finden sindadminClientPath
- der Pfad, in dem die Admin-Web-Client-Dateien zu finden sindloggingPath
- der Pfad, in welchem Logging-Dateien des Servers erzeugt werden. Null um Logging zu deaktivierentempPath
- der Pfad, in welchem tmeporäre Dateien des Servers angelegt werden.keystorePath
- der Pfad, in welchem der Keystore für die TLS-Verbindung gesucht wirdkeystorePassword
- das Kennwort, welches für den Keystore für die TLS-Verbindung genutzt wirddbms
- das DBMS für die DatenbankverbindungdbLocation
- der Name des Hosts, auf welchem der Datenbank-Server läuftdbPort
- der Port des Datenbank-ServersnoSchema
- gibt an, falls keine Schema-Information in der Konfiguration angelegt werden sollschema
- das Schema, welches als Default genutzt werden sollschemaUser
- der Benutzername für das SchemaschemaPassword
- das zum Benutzernamen gehörige Kennwort- Gibt zurück:
- die neue SVWS-Konfiguration oder null im Fehlerfall
-
getFilename
Gibt den zu dieser Konfiguration gehörenden Dateinamen zurück.- Gibt zurück:
- der Dateiname
-
setFilename
Setzt den zu dieser Konfiguration gehörenden Dateinamen.- Parameter:
filename
- der Dateiname
-
getClientPath
Gibt den Pfad zu den Webclient-Dateien zurück.- Gibt zurück:
- der Pfad zu den Webclient-Dateien zurück.
-
getAdminClientPath
Gibt den Pfad zu den Admin-Web-Client-Dateien zurück. Ist kein Admin-Client vorhanden, so wird null zurückgegeben.- Gibt zurück:
- der Pfad zu den Admin-Web-Client-Dateien zurück.
-
isEnableClientProtection
public boolean isEnableClientProtection()Gibt an, ob der Zugriff auf Dateien des SVWS-Clients auch über die Authentifikation des Servers geschützt werden oder nicht.- Gibt zurück:
- true, falls die Dateien des SVWS-Clients geschützt werden, sonst false
-
isDBRootAccessDisabled
public boolean isDBRootAccessDisabled()Gibt an, ob der Zugriff auf Schema-Operation, die einen root-Zugriff auf die SVWS benötigen deaktiviert werden soll.- Gibt zurück:
- true, falls der Zugriff deaktiviert wurde, sonst false
-
isAutoUpdatesDisabled
public boolean isAutoUpdatesDisabled()Gibt an, ob die Auto Updates auf alle Schemata zu Beginn des Server-Starts deaktiviert werden sollen.- Gibt zurück:
- true, falls die Updates deaktiviert wurden, sonst false (default)
-
isTLSDisabled
public boolean isTLSDisabled()Gibt an, ob beim Server TLS deaktiviert werden soll und HTTP statt HTTPS verwendet werden soll.- Gibt zurück:
- true, falls TLS deaktiviert wurde, sonst false (default)
-
getPortHTTP
public int getPortHTTP()Gibt den HTTP-Port des Servers zurück, sofern TLS deaktiviert wurde- Gibt zurück:
- der HTTP-Port des Servers, sofern TLS deaktiviert wurde
-
useHTTPDefaultv11
public boolean useHTTPDefaultv11()Gibt zurück, ob HTTP-Version 1.1 statt 2 als Default genutzt wird.- Gibt zurück:
- true, falls HTTP-Version 1.1 als Deafult genutzt werden soll, sonst false
-
getPortHTTPS
public int getPortHTTPS()Gibt den HTTPS-Port des Servers zurück- Gibt zurück:
- der HTTPS-Port des Servers
-
hatPortHTTPPrivilegedAccess
public boolean hatPortHTTPPrivilegedAccess()Gibt an, ob ein getrennter HTTP-Port beim Servers für den priviligierten Zugriff auf die SVWS-Datenbank genutzter wird oder nicht.- Gibt zurück:
- true, falls ein getrennter HTTP-Port genutzt wird, und ansonsten false
-
getPortHTTPPrivilegedAccess
public int getPortHTTPPrivilegedAccess()Gibt den HTTP-Port des Servers für den priviligierten Zugriff auf die SVWS-Datenbank zurück- Gibt zurück:
- der HTTP-Port des Servers für den priviligierten Zugriff
-
useCORSHeader
public boolean useCORSHeader()Gibt an, ob CORS-Header verwendet werden sollen oder nicht.- Gibt zurück:
- true, falls CORS-Header verwendet werden sollen, ansonsten false
-
getServerMode
Gibt an, in welchem Modus der Server (und der Client) betrieben werden und welche Funktionen freigeschaltet werden können / sollen.- Gibt zurück:
- der Modus, in welche der Server betrieben wird.
-
getPrivilegedDatabaseUser
Gibt den priviligierten Datenbank-Benutzer an, welcher auch die Berechtigungen hat über die Open-API-Schnittstelle für den priviligierten Zugriff auf die SVWS-Sserver-Konfiguration zuzugreifen.- Gibt zurück:
- der priviligierte Datenbank-Benutzer mit Änderungsrechten an der Server-Konfiguration
-
getDBAnzahl
public int getDBAnzahl()Gibt die Anzahl der Datenbank-Konfigurationen zurück.- Gibt zurück:
- die Anzahl der Datenbank-Konfigurationen
-
getDBConfig
Gibt die Datenbank-Konfiguration zu dem Schemanamen zurück.- Parameter:
schema
- der Name des gesuchten Schemas- Gibt zurück:
- die Datenbank-Konfiguration
-
getRootDBConfig
Gibt die Datenbank-Konfiguration für Zugriff auf das root-Schema der Datenbank zurück.- Parameter:
username
- der Benutzername für den Zugriffpassword
- das Passwort für den Zugriff- Gibt zurück:
- die Datenbank-Konfiguration für den Zugriff
-
getDefaultSchema
Gibt den Namen des konfigurierten Default-Schemas zurück oder null, wenn keines konfiguriert ist.- Gibt zurück:
- der Name des konfigurierten Default-Schemas oder null
-
setDefaultschema
Setzt das Default-Schema.- Parameter:
schemaname
- das zu setzende Schema- Gibt zurück:
- true, wenn das Default-Schema erfolgreich gesetzt wurde
-
hasSchema
Prüft, ob für den angebenen Schema-Namen eine Konfiguration vorliegt oder nicht.- Parameter:
schemaName
- der Name des Datenbank-Schemas- Gibt zurück:
- true, falls eine Konfiguratio für das Schema vorliegt, ansonsten false
-
getSchemanameCaseConfig
Prüft, ob für den angebenen Schema-Namen eine Konfiguration vorliegt oder nicht. Wenn es vorliegt gibt es den Schema-Namen in dem Case, der in der SVWS-Konfiguration verwendet wird, zurück.- Parameter:
schemaName
- der Name des Datenbank-Schemas- Gibt zurück:
- der Name des Schemas in der SVWS-Konfiguration oder null, wenn es nicht existiert
-
lockSchema
Sperrt das angegebene Schema- Parameter:
schemaName
- der Name des zu sperrenden Schemas- Gibt zurück:
- true, fall das Schema gesperrt werden konnte
-
unlockSchema
Entsperrt das angegebene Schema- Parameter:
schemaName
- der Name des zu entsperrenden Schemas- Gibt zurück:
- true, fall das Schema entsperrt werden konnte
-
isLockedSchema
Gibt an, ob das angegebene Schema gesperrt ist oder nicht- Parameter:
schemaName
- der Name des Schema- Gibt zurück:
- true, falls das Schema gesperrt ist
-
activateSchema
Aktviert das angegebene Schema, so dass es im Anschluss nach aussen hin wieder zur Verfügung steht.- Parameter:
schemaName
- der Name des zu entsperrenden Schemas- Gibt zurück:
- true, fall das Schema entgesperrt werden konnte
-
deactivateSchema
Deaktviert das angegebene Schema, so dass es im Anschluss nach aussen hin nicht mehr zur Verfügung steht.- Parameter:
schemaName
- der Name des zu sperrenden Schemas- Gibt zurück:
- true, fall das Schema gesperrt werden konnte
-
isDeactivatedSchema
Gibt an, ob das angegebene Schema deaktiviert ist oder nicht- Parameter:
schemaName
- der Name des Schemas- Gibt zurück:
- true, falls das Schema deaktiviert ist
-
getSchemaList
Liefert eine Liste mit allen konfigurierten Schemanamen zurück.- Gibt zurück:
- eine Liste mit allen konfigurierten Schemanamen
-
createOrUpdateSchema
public void createOrUpdateSchema(String schemaName, String userName, String userPassword, boolean userSVWSLogin) throws SVWSKonfigurationException Erstellt oder Aktualisiert die Schema-Konfiguration des angegebenen Schemas- Parameter:
schemaName
- der Name des Datenbank-SchemasuserName
- der Name des Schema-Admin-BenutzersuserPassword
- das Kennwort des Schema-Admin-BenutzersuserSVWSLogin
- true, false die Authentifizierung über die DB erfolgt, sonst false- Löst aus:
SVWSKonfigurationException
- falls ein Fehler beim Erstellen oder Aktualisieren der Schema-Konfiguration auftritt
-
removeSchema
Entfernt das Schema aus der Konfiguration, sofern es enthalten ist.- Parameter:
schemaName
- der Name des Datenbank-Schemas, welches aus der Konfiguration entfernt werden soll- Löst aus:
SVWSKonfigurationException
- falls ein Fehler beim Entfernen der Schema-Konfiguration auftritt.
-
isLoggingEnabled
public boolean isLoggingEnabled()Gibt zurück, ob das Logging in Dateien aktiviert ist oder nicht.- Gibt zurück:
- true, falls dass Logging aktiviert ist, sonst false
-
getLoggingPath
Gibt den Basis-Pfad an, in den Log-Dateien geschrieben werden sollen.- Gibt zurück:
- der Basis-Pfad für das Logging
-
getTempPath
Gibt den Basis-Pfad an, in den temporäre Dateien geschrieben werden sollen.- Gibt zurück:
- der Basis-Pfad für temporäre Dateien
-
getTLSKeyAlias
Gibt den Alias des SVWS-Server-Keys zurück.- Gibt zurück:
- der Alias des SVWS-Server-Keys
-
setTLSKeyAlias
Setzt den Alias für die Auswahl des zu verwendenden TLS-Schlüssels/Zertifikats.- Parameter:
alias
- der Alias
-
getTLSKeystorePath
Gibt den Pfad zum Keystore an, der für die TLS-Verbindung des Servers genutzt wird.- Gibt zurück:
- der Pfad zum Keystore
-
getTLSKeystorePassword
Gibt das Kennwort für Keystore an, der für die TLS-Verbindung genutzt wird.- Gibt zurück:
- das Kennwort
-
getKeystore
Diese Methode liefert den aktuell konfigurierten Java-Key-Store zurück.- Gibt zurück:
- der Java-Key-Store
- Löst aus:
KeyStoreException
- die Exception tritt auf, wenn der Zugriff auf den Keystore nicht möglich ist.
-
getPrivateKey
Diese Methode liefert den Private Key aus dem Keystore, sofern dieser aus der Konfiguration geladen werden kann.- Gibt zurück:
- der Private-Key
- Löst aus:
KeyStoreException
- die Exception tritt auf, wenn der Zugriff auf den Keystore oder den Private Key nicht möglich ist.
-
getCertificate
Liefert das Zertifikat des SVWS-Servers, sofern dieses aus der Konfiguration geladen werden kann.- Gibt zurück:
- das Zertifikat des SVWS-Servers.
- Löst aus:
KeyStoreException
- die Exception tritt auf, wenn der Zugriff auf den Keystore oder das Zertifikat nicht möglich ist.
-
getCertificateBase64
Liefert das Zertifikat des SVWS-Servers in Base64-Kodierung, sofern dieses aus der Konfiguration geladen werden kann.- Gibt zurück:
- das Zertifikat des SVWS-Servers.
- Löst aus:
KeyStoreException
- die Exception tritt auf, wenn der Zugriff auf den Keystore oder das Zertifikat nicht möglich ist.
-
getPublicKey
Liefert den öffentlichen Schlüssel des SVWS-Servers, sofern dieser aus der Konfiguration geladen werden kann.- Gibt zurück:
- der öffentliche Schlüssel des SVWS-Servers.
- Löst aus:
KeyStoreException
- die Exception tritt auf, wenn der Zugriff auf den Keystore oder den öffentlichen Schlüssel nicht möglich ist.
-
getPublicKeyBase64
Liefert den öffentlichen Schlüssel des SVWS-Servers in Base64-Kodierung, sofern dieser aus der Konfiguration geladen werden kann.- Gibt zurück:
- der öffentliche Schlüssel des SVWS-Servers oder null im Fehler
- Löst aus:
KeyStoreException
- die Exception tritt auf, wenn der Zugriff auf den Keystore oder den öffentlichen Schlüssel nicht möglich ist.
-
setPrivateKeyCertificateBase64
public static void setPrivateKeyCertificateBase64(String alias, byte[] key, byte[] cert) throws SVWSKonfigurationException Setzt den privaten Schlüssel und das Zertifikat im keystore des SVWS-Servers unter dem angegebenen Alias.- Parameter:
alias
- der Aliaskey
- der private Schlüsselcert
- das Zertifikat- Löst aus:
SVWSKonfigurationException
- im Fehlerfall
-