de.bsvrz.kex.wfs.wfs
Class GeoServerApplikation

java.lang.Object
  extended by de.bsvrz.kex.wfs.wfs.GeoServerApplikation
All Implemented Interfaces:
Runnable

public class GeoServerApplikation
extends Object
implements Runnable

Klasse zur Steuerung der Geoserver-Applikation. Es werden Methoden zur Anpassung der Einstellungen sowie zum Starten und Beenden der Anwendung bereitgestellt.

Version:
$Id: GeoServerApplikation.java 8304 2008-04-16 10:19:12Z gieseler $
Author:
BitCtrl Systems GmbH, Gieseler

Field Summary
private  String davAuthentifizierung
          Datenverteiler-Authentifizierung.
private  String davBenutzer
          Datenverteiler-Nutzer.
private  String davHost
          Datenverteiler.
private static de.bsvrz.sys.funclib.debug.Debug DEBUG
          DebugLogger für Debug-Ausgaben.
private  String exportObjekteDatei
          Dateiname der Spezifikationsdatei für die zu exportierenden Objekte.
private static String GEOSERVER_BEZEICHNUNG
          Name der Geoserver-Anwendung.
private static String GEOSERVER_BIN_DIRECTORY
          Verzeichnis der Binärdateien der Geoserver-Applikation.
private static String GEOSERVER_CATALOG_FILE
          Dateiname der Geoserver-Konfigurationsdatei, welche die DataStore Konfiguration enthält.
private static String GEOSERVER_CONFIGURATION_DIRECTORY
          Verzeichnis der Geoserver-Konfigurationsdateien.
static String GEOSERVER_DATA_DIRECTORY
          Verzeichnis der Geoserver-Konfigurationsdateien.
private static String GEOSERVER_DATENPFLEGE
          Pflegende Stelle der Geoserver-Anwendung.
static String GEOSERVER_FEATURES_DIRECTORY
          Verzeichnis der Geoserver-Featurekonfiguration.
private static String GEOSERVER_GEBUEHREN
          Gebürenangabe der Geoserver-Anwendung.
private static String GEOSERVER_KURZBESCHREIBUNG
          Kurzbeschreibung der Geoserver-Anwendung.
private static String GEOSERVER_PORT_CONFIGURATION_FILE
          Dateiname der Geoserver-Konfigurationsdatei, welche die HTTP-Port Konfiguration enthält.
private static String[] GEOSERVER_SCHLUESSELWORTE
          Schlüsselworte der Geoserver-Anwendung.
private static String GEOSERVER_SERVICE_FILE
          Dateiname der Geoserver-Konfigurationsdatei.
static String GEOSERVER_SRS
          Die ID des VRZ3-Datastores in der Geoserver-Umgebung.
private static String GEOSERVER_TITEL
          Titel der Geoserver-Anwendung.
private static String GEOSERVER_UNIX_START_SCRIPT
          Der Name des Geoserver-Start-Skiptes unter UNIX.
static String GEOSERVER_VRZ3_DATASTORE_ID
          Die ID des VRZ3-Datastores in der Geoserver-Umgebung.
private static String GEOSERVER_WINDOWS_START_SCRIPT
          Der Name des Geoserver-Start-Skiptes unter WINDOWS.
private static String GEOSERVER_ZUGRIFFSBESCHRAENKUNG
          Zugriffsbeschränkungen der Geoserver-Anwendung.
(package private)  Process geoserverProcess
          Der laufende GEOSERVER-Prozess.
static String geoserverRoot
          Hauptverzeichnis der Geoserver-Applikationsdateien.
private  int httpPort
          Der benutzte HTTP-Port.
private  String nameSpace
          Der benutzte Namespace.
private  String namespaceUri
          Die benutzte Namespace-URI.
 
Constructor Summary
GeoServerApplikation(String geoserverRootPfad)
          Erzeugt eine Instanz mit dem Wurzelverzeichnis der Geoserver-Anwendung.
 
Method Summary
private  void erzeugeFeatureInfo(org.geotools.feature.FeatureType featuretyp, File featuredir)
          Erzeugt die 'info.xml'-Datei des Features.
private  void erzeugeFeatureKonfiguration(org.geotools.feature.FeatureType featuretype)
          Erzeugt die notwendigen Konfigurationen in der Geoserver-Umgebung, damit das Feature bereitgestellt wird.
 void erzeugeFeatureTypen(org.geotools.data.DataStore datastore)
          Erzeugt die Feature-Typ Dateien.
private  void erzeugeTemplates(String typename, File featuredir)
          Erzeugt die notwendigen Template-Dateien. 1.
private  Node findeElement(Document doc, String element, String attribut, String attributwert)
          Findet ein Elelement in einem Document.
private  Node findeElement(Node node, String element, String attribut, String attributwert)
          Findet ein Element unter einem Knoten.
private  String getAttributWert(Node node, String attr)
          Gibt den Wert eines Attributes eines Knotens zurück.
private  File getFeatureDirectory()
          Erzeugt den Namen des Feature-Typ Verzeichnisses innerhalb der Geoserver-Umgebung.
private  void loescheFeatureKonfiguration()
          Löscht die bestehenden FeatureType-Konfigurationen.
private  void loescheVerzeichnis(File dir)
          Löscht ein Verzeichnis einschließlich dessen Inhalt.
 void run()
          
private  void setAttributWert(Node node, String attr, String wert)
          Setzt den Wert eines Attributes eines Knotens.
 void setDavAuthentifizierung(String authentifizierung)
          Setzt die Authentifizierung für den DaV.
 void setDavBenutzer(String benutzer)
          Setzt den Benutzer für den DaV.
 void setDavHost(String host)
          Setzt den DaV-Host.
 void setExportObjekteDatei(String exportObjekteDatei)
          Setzt die Spezifikationsdatei für die zu exportierenden Objekte.
 void setHttpPort(int port)
          Setzt den zu benutzenden Port.
 void setNamespace(String namespace)
          Setzt den Namespace.
private  void setzeGeoserverDataStoreParameter()
          Setzt die VRZ3DataStore-Parameter in der Geoserver-Umgebung.
 void setzeGeoserverParameter()
          Setzt die notwendigen Parameter für die Geoserver-Laufzeitumgebung.
private  void setzeGeoserverPort()
          Setzt die Portnummer für Geoserver.
private  void setzeGeoserverServerParameter()
          Setzt die Server-Parameter in der Geoserver-Umgebung Datei.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

GEOSERVER_BEZEICHNUNG

private static final String GEOSERVER_BEZEICHNUNG
Name der Geoserver-Anwendung.

See Also:
Constant Field Values

GEOSERVER_TITEL

private static final String GEOSERVER_TITEL
Titel der Geoserver-Anwendung.

See Also:
Constant Field Values

GEOSERVER_ZUGRIFFSBESCHRAENKUNG

private static final String GEOSERVER_ZUGRIFFSBESCHRAENKUNG
Zugriffsbeschränkungen der Geoserver-Anwendung.

See Also:
Constant Field Values

GEOSERVER_GEBUEHREN

private static final String GEOSERVER_GEBUEHREN
Gebürenangabe der Geoserver-Anwendung.

See Also:
Constant Field Values

GEOSERVER_DATENPFLEGE

private static final String GEOSERVER_DATENPFLEGE
Pflegende Stelle der Geoserver-Anwendung.

See Also:
Constant Field Values

GEOSERVER_SCHLUESSELWORTE

private static final String[] GEOSERVER_SCHLUESSELWORTE
Schlüsselworte der Geoserver-Anwendung.


GEOSERVER_KURZBESCHREIBUNG

private static final String GEOSERVER_KURZBESCHREIBUNG
Kurzbeschreibung der Geoserver-Anwendung.

See Also:
Constant Field Values

geoserverRoot

public static String geoserverRoot
Hauptverzeichnis der Geoserver-Applikationsdateien.


GEOSERVER_BIN_DIRECTORY

private static final String GEOSERVER_BIN_DIRECTORY
Verzeichnis der Binärdateien der Geoserver-Applikation.

See Also:
Constant Field Values

GEOSERVER_CONFIGURATION_DIRECTORY

private static final String GEOSERVER_CONFIGURATION_DIRECTORY
Verzeichnis der Geoserver-Konfigurationsdateien.

See Also:
Constant Field Values

GEOSERVER_DATA_DIRECTORY

public static final String GEOSERVER_DATA_DIRECTORY
Verzeichnis der Geoserver-Konfigurationsdateien.

See Also:
Constant Field Values

GEOSERVER_FEATURES_DIRECTORY

public static final String GEOSERVER_FEATURES_DIRECTORY
Verzeichnis der Geoserver-Featurekonfiguration.

See Also:
Constant Field Values

GEOSERVER_PORT_CONFIGURATION_FILE

private static final String GEOSERVER_PORT_CONFIGURATION_FILE
Dateiname der Geoserver-Konfigurationsdatei, welche die HTTP-Port Konfiguration enthält.

See Also:
Constant Field Values

GEOSERVER_SERVICE_FILE

private static final String GEOSERVER_SERVICE_FILE
Dateiname der Geoserver-Konfigurationsdatei.

See Also:
Constant Field Values

GEOSERVER_CATALOG_FILE

private static final String GEOSERVER_CATALOG_FILE
Dateiname der Geoserver-Konfigurationsdatei, welche die DataStore Konfiguration enthält.

See Also:
Constant Field Values

GEOSERVER_UNIX_START_SCRIPT

private static final String GEOSERVER_UNIX_START_SCRIPT
Der Name des Geoserver-Start-Skiptes unter UNIX.

See Also:
Constant Field Values

GEOSERVER_WINDOWS_START_SCRIPT

private static final String GEOSERVER_WINDOWS_START_SCRIPT
Der Name des Geoserver-Start-Skiptes unter WINDOWS.

See Also:
Constant Field Values

GEOSERVER_VRZ3_DATASTORE_ID

public static final String GEOSERVER_VRZ3_DATASTORE_ID
Die ID des VRZ3-Datastores in der Geoserver-Umgebung.

See Also:
Constant Field Values

GEOSERVER_SRS

public static final String GEOSERVER_SRS
Die ID des VRZ3-Datastores in der Geoserver-Umgebung.

See Also:
Constant Field Values

DEBUG

private static final de.bsvrz.sys.funclib.debug.Debug DEBUG
DebugLogger für Debug-Ausgaben.


httpPort

private int httpPort
Der benutzte HTTP-Port.


nameSpace

private String nameSpace
Der benutzte Namespace.


namespaceUri

private final String namespaceUri
Die benutzte Namespace-URI.

See Also:
Constant Field Values

davHost

private String davHost
Datenverteiler.


davAuthentifizierung

private String davAuthentifizierung
Datenverteiler-Authentifizierung.


davBenutzer

private String davBenutzer
Datenverteiler-Nutzer.


geoserverProcess

Process geoserverProcess
Der laufende GEOSERVER-Prozess.


exportObjekteDatei

private String exportObjekteDatei
Dateiname der Spezifikationsdatei für die zu exportierenden Objekte.

Constructor Detail

GeoServerApplikation

public GeoServerApplikation(String geoserverRootPfad)
Erzeugt eine Instanz mit dem Wurzelverzeichnis der Geoserver-Anwendung.

Parameters:
geoserverRootPfad - Wurzelverzeichnis der Geoserver-Anwendung
Method Detail

erzeugeFeatureInfo

private void erzeugeFeatureInfo(org.geotools.feature.FeatureType featuretyp,
                                File featuredir)
                         throws WFSException
Erzeugt die 'info.xml'-Datei des Features. Struktur:
 <featureType datastore = "VRZ3DS" >
  <name>InneresStrassenSegment</name>
  <SRS>4326</SRS>
  <SRSHandling>0</SRSHandling> 
  <title>InneresStrassenSegment_Type</title>
  <abstract>Erzeugt aus VRZ3-Konfiguration</abstract> <wmspath>/</wmspath>
  <numDecimals value = "8" /> <keywords>InneresStrassenSegment VRZ3DS</keywords>
  <latLonBoundingBox dynamic = "false" miny = "47.0" maxy = "50.0" maxx =
 "11.0" minx = "7.0" /> <nativeBBox dynamic = "false" miny = "47.544567"
 maxy = "49.858315" maxx = "10.246678" minx = "7.522368999999999" /> 
  <styles default = "ISS" />
  <cacheinfo enabled = "true" maxage = "3600" /> 
 </featureType>
 

Parameters:
featuretyp - Feature-Typ
featuredir - Feature-Verzeichnis in der Geoserver-Umgebung
Throws:
WFSException - bei Ausnahmen

erzeugeFeatureKonfiguration

private void erzeugeFeatureKonfiguration(org.geotools.feature.FeatureType featuretype)
                                  throws WFSException
Erzeugt die notwendigen Konfigurationen in der Geoserver-Umgebung, damit das Feature bereitgestellt wird.

Parameters:
featuretype - Feature-Typ
Throws:
WFSException - bei Ausnahmen

erzeugeFeatureTypen

public void erzeugeFeatureTypen(org.geotools.data.DataStore datastore)
                         throws WFSException
Erzeugt die Feature-Typ Dateien.

Parameters:
datastore - DataStore
Throws:
WFSException - bei Ausnahmen

erzeugeTemplates

private void erzeugeTemplates(String typename,
                              File featuredir)
                       throws WFSException
Erzeugt die notwendigen Template-Dateien. 1. Datei: title.ftl - Die Datei legt fest, wie der Placemark-Name gebildet wird

Parameters:
typename - Feature-Typname
featuredir - Feature-Verzeichnis in der Geoserver-Umgebung
Throws:
WFSException - bei Ausnahmen

findeElement

private Node findeElement(Document doc,
                          String element,
                          String attribut,
                          String attributwert)
Findet ein Elelement in einem Document.

Parameters:
doc - Dokument
element - Name des Elements
attribut - Attribut des Elements
attributwert - Wert des Attributs des Elements
Returns:
das gefundene Element

findeElement

private Node findeElement(Node node,
                          String element,
                          String attribut,
                          String attributwert)
Findet ein Element unter einem Knoten.

Parameters:
node - Knoten
element - Element
attribut - Attribut
attributwert - Wert des Attributes
Returns:
Knoten gefundener Knoten

getAttributWert

private String getAttributWert(Node node,
                               String attr)
Gibt den Wert eines Attributes eines Knotens zurück.

Parameters:
node - Knoten
attr - Attribut
Returns:
Attributwert

getFeatureDirectory

private File getFeatureDirectory()
Erzeugt den Namen des Feature-Typ Verzeichnisses innerhalb der Geoserver-Umgebung.

Returns:
Feature-Typ Verzeichnis

loescheFeatureKonfiguration

private void loescheFeatureKonfiguration()
Löscht die bestehenden FeatureType-Konfigurationen.


loescheVerzeichnis

private void loescheVerzeichnis(File dir)
Löscht ein Verzeichnis einschließlich dessen Inhalt.

Parameters:
dir - Verzeichnis

run

public void run()

Specified by:
run in interface Runnable
See Also:
Runnable.run()

setAttributWert

private void setAttributWert(Node node,
                             String attr,
                             String wert)
Setzt den Wert eines Attributes eines Knotens.

Parameters:
node - Knoten
attr - Attribut
wert - zu setzender Wert des Attributes

setDavAuthentifizierung

public void setDavAuthentifizierung(String authentifizierung)
Setzt die Authentifizierung für den DaV.

Parameters:
authentifizierung - Authentifizierung

setDavBenutzer

public void setDavBenutzer(String benutzer)
Setzt den Benutzer für den DaV.

Parameters:
benutzer - Benutzer am DaV

setDavHost

public void setDavHost(String host)
Setzt den DaV-Host.

Parameters:
host - DaV-Host

setExportObjekteDatei

public void setExportObjekteDatei(String exportObjekteDatei)
Setzt die Spezifikationsdatei für die zu exportierenden Objekte.

Parameters:
exportObjekteDatei - Dateiname

setHttpPort

public void setHttpPort(int port)
Setzt den zu benutzenden Port.

Parameters:
port - Portnummer

setNamespace

public void setNamespace(String namespace)
Setzt den Namespace.

Parameters:
namespace - Namespace

setzeGeoserverDataStoreParameter

private void setzeGeoserverDataStoreParameter()
                                       throws WFSException
Setzt die VRZ3DataStore-Parameter in der Geoserver-Umgebung.

Throws:
WFSException - bei Ausnahmen

setzeGeoserverParameter

public void setzeGeoserverParameter()
                             throws WFSException
Setzt die notwendigen Parameter für die Geoserver-Laufzeitumgebung.

Throws:
WFSException - bei Ausnahmen

setzeGeoserverPort

private void setzeGeoserverPort()
Setzt die Portnummer für Geoserver.


setzeGeoserverServerParameter

private void setzeGeoserverServerParameter()
                                    throws WFSException
Setzt die Server-Parameter in der Geoserver-Umgebung Datei.

Throws:
WFSException - bei Ausnahmen