annotate README.markdown @ 1225:2bc06e7f6fb5

We might want to serialize an object without geom. This happens e.g. if an object is returned to the client before a geometry has been constructed, due to validation error.
author Tom Gottfried <tom@intevation.de>
date Fri, 09 Dec 2016 16:32:10 +0100
parents b22ffbf88a43
children
rev   line source
716
60cc9b5126d1 Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
1 Lada-Server
60cc9b5126d1 Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
2 ===========
60cc9b5126d1 Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
3 Die Software bietet Funktionalität zur Erfassung und Bearbeitung
60cc9b5126d1 Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
4 von Messdaten. Sowie der Planung der Messungen.
60cc9b5126d1 Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
5
60cc9b5126d1 Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
6 Weitere Informationen finden sich auf der Projektwebseite unter
60cc9b5126d1 Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
7 der Adresse: https://wald.intevation.org/projects/lada/
60cc9b5126d1 Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
8
60cc9b5126d1 Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
9 Die Software entstand im Rahmen einer Software Entwicklung durch die
60cc9b5126d1 Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
10 Intevation GmbH im Auftrag des Bundesamt für Strahlenschutz in den Jahren 2013
60cc9b5126d1 Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
11 bis 2015.
60cc9b5126d1 Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
12
60cc9b5126d1 Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
13 Kontakt
60cc9b5126d1 Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
14 -------
60cc9b5126d1 Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
15 Bundesamt für Strahlenschutz
60cc9b5126d1 Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
16 SW2 Notfallschutz, Zentralstelle des Bundes (ZdB)
60cc9b5126d1 Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
17 Willy-Brandt-Strasse 5
60cc9b5126d1 Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
18 38226 Salzgitter
60cc9b5126d1 Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
19 info@bfs.de
60cc9b5126d1 Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
20
60cc9b5126d1 Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
21 Lizenz
60cc9b5126d1 Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
22 ------
60cc9b5126d1 Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
23 Die Software ist unter der GNU GPL v>=3 Lizenz verfügbar.
60cc9b5126d1 Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
24 Details siehe die Datei `COPYING`.
60cc9b5126d1 Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
25
60cc9b5126d1 Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
26 Quelltext
60cc9b5126d1 Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
27 ---------
60cc9b5126d1 Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
28 Die Quelldateien lassen sich wie folgt auschecken:
60cc9b5126d1 Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
29 ```
60cc9b5126d1 Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
30 hg clone https://scm.wald.intevation.org/hg/lada/lada-server
60cc9b5126d1 Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
31 ```
60cc9b5126d1 Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
32
60cc9b5126d1 Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
33 Entwicklung
60cc9b5126d1 Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
34 -----------
60cc9b5126d1 Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
35 Für die Entwicklung wird ein JDK7 und maven3 oder höher benötigt. Sämtliche
60cc9b5126d1 Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
36 Abhängigkeiten werden von dem maven build System aufgelöst.
60cc9b5126d1 Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
37
60cc9b5126d1 Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
38 Installation
60cc9b5126d1 Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
39 ------------
750
6a24f01bdaac Improve install doc.
Tom Gottfried <tom@intevation.de>
parents: 716
diff changeset
40 Die Installation des Lada-Servers erfolgt in einem Wildfly-Application-Server
6a24f01bdaac Improve install doc.
Tom Gottfried <tom@intevation.de>
parents: 716
diff changeset
41 (http://wildfly.org). Dazu müssen folgende Schritte unternommen werden:
716
60cc9b5126d1 Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
42
60cc9b5126d1 Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
43 $ mvn clean compile package
750
6a24f01bdaac Improve install doc.
Tom Gottfried <tom@intevation.de>
parents: 716
diff changeset
44 $ mv target/lada-server-$VERSION.war $JBOSS_HOME/standalone/deployments
6a24f01bdaac Improve install doc.
Tom Gottfried <tom@intevation.de>
parents: 716
diff changeset
45 $ touch $JBOSS_HOME/standalone/deployments/lada-server-$VERSION.war.dodeploy
716
60cc9b5126d1 Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
46
750
6a24f01bdaac Improve install doc.
Tom Gottfried <tom@intevation.de>
parents: 716
diff changeset
47 $JBOSS_HOME ist hierbei durch den Pfad zur Wildfly-Installation zu ersetzen,
6a24f01bdaac Improve install doc.
Tom Gottfried <tom@intevation.de>
parents: 716
diff changeset
48 $VERSION durch die aktuelle Versionsbezeichnung (entsprechend der Angabe in
6a24f01bdaac Improve install doc.
Tom Gottfried <tom@intevation.de>
parents: 716
diff changeset
49 pom.xml).
716
60cc9b5126d1 Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
50
750
6a24f01bdaac Improve install doc.
Tom Gottfried <tom@intevation.de>
parents: 716
diff changeset
51 Zum Aktualisieren der Anwendung genügt es, das WAR-Archiv zu aktualisieren.
6a24f01bdaac Improve install doc.
Tom Gottfried <tom@intevation.de>
parents: 716
diff changeset
52
6a24f01bdaac Improve install doc.
Tom Gottfried <tom@intevation.de>
parents: 716
diff changeset
53 Die Anwendung ist dann unter dem Pfad "/lada-server-$VERSION" erreichbar.
716
60cc9b5126d1 Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
54
782
322ce4d7cc3a Mention timezone setting in install docs.
Tom Gottfried <tom@intevation.de>
parents: 750
diff changeset
55 Um zu garantieren, dass die von den REST-Schnittstellen ausgelieferten
322ce4d7cc3a Mention timezone setting in install docs.
Tom Gottfried <tom@intevation.de>
parents: 750
diff changeset
56 Zeitstempel sich korrekt auf UTC beziehen, muss die entsprechende System-
322ce4d7cc3a Mention timezone setting in install docs.
Tom Gottfried <tom@intevation.de>
parents: 750
diff changeset
57 Property `user.timezone=UTC` vor dem Start des Application-Servers gesetzt
322ce4d7cc3a Mention timezone setting in install docs.
Tom Gottfried <tom@intevation.de>
parents: 750
diff changeset
58 werden (siehe `wildfly/standalone.conf`).
322ce4d7cc3a Mention timezone setting in install docs.
Tom Gottfried <tom@intevation.de>
parents: 750
diff changeset
59
784
353269b89c4c Mention setup script and Dockerfiles in README.
Tom Gottfried <tom@intevation.de>
parents: 782
diff changeset
60 Das PostgreSQL-Datenbank-Backend des Lada-Servers kann als Nutzer `postgres`
353269b89c4c Mention setup script and Dockerfiles in README.
Tom Gottfried <tom@intevation.de>
parents: 782
diff changeset
61 (bzw. als PostgreSQL-Superuser) mit dem Skript `db_schema/setup-db.sh`
353269b89c4c Mention setup script and Dockerfiles in README.
Tom Gottfried <tom@intevation.de>
parents: 782
diff changeset
62 eingerichtet werden.
353269b89c4c Mention setup script and Dockerfiles in README.
Tom Gottfried <tom@intevation.de>
parents: 782
diff changeset
63
353269b89c4c Mention setup script and Dockerfiles in README.
Tom Gottfried <tom@intevation.de>
parents: 782
diff changeset
64 Details zur Installation können den Dateien `Dockerfile` und
353269b89c4c Mention setup script and Dockerfiles in README.
Tom Gottfried <tom@intevation.de>
parents: 782
diff changeset
65 `db_schema/Dockerfile` entnommen werden.
353269b89c4c Mention setup script and Dockerfiles in README.
Tom Gottfried <tom@intevation.de>
parents: 782
diff changeset
66
1210
b22ffbf88a43 Added description of Docker dev environment to README.
Tom Gottfried <tom@intevation.de>
parents: 1093
diff changeset
67 Docker
b22ffbf88a43 Added description of Docker dev environment to README.
Tom Gottfried <tom@intevation.de>
parents: 1093
diff changeset
68 ------
b22ffbf88a43 Added description of Docker dev environment to README.
Tom Gottfried <tom@intevation.de>
parents: 1093
diff changeset
69 Um schnell und automatisiert ein Entwicklungs-Setup für LADA aufsetzen zu
b22ffbf88a43 Added description of Docker dev environment to README.
Tom Gottfried <tom@intevation.de>
parents: 1093
diff changeset
70 können, werden Dockerfiles mitgeliefert. Voraussetzung für die Anwendung ist
b22ffbf88a43 Added description of Docker dev environment to README.
Tom Gottfried <tom@intevation.de>
parents: 1093
diff changeset
71 eine Docker-Installation. Folgendes Vorgehen führt zu einem
b22ffbf88a43 Added description of Docker dev environment to README.
Tom Gottfried <tom@intevation.de>
parents: 1093
diff changeset
72 Vollständigen Setup inklusive LADA-Client, in dem jeweils der auf dem Host
b22ffbf88a43 Added description of Docker dev environment to README.
Tom Gottfried <tom@intevation.de>
parents: 1093
diff changeset
73 vorhandene Quellcode in die Container gemounted wird, so dass auf dem Host
b22ffbf88a43 Added description of Docker dev environment to README.
Tom Gottfried <tom@intevation.de>
parents: 1093
diff changeset
74 durchgeführte Änderungen leicht innerhalb der Container getestet werden können.
b22ffbf88a43 Added description of Docker dev environment to README.
Tom Gottfried <tom@intevation.de>
parents: 1093
diff changeset
75
b22ffbf88a43 Added description of Docker dev environment to README.
Tom Gottfried <tom@intevation.de>
parents: 1093
diff changeset
76 Bauen der Images:
b22ffbf88a43 Added description of Docker dev environment to README.
Tom Gottfried <tom@intevation.de>
parents: 1093
diff changeset
77 $ cd ./db_schema
b22ffbf88a43 Added description of Docker dev environment to README.
Tom Gottfried <tom@intevation.de>
parents: 1093
diff changeset
78 $ docker build -t koala/lada_db .
b22ffbf88a43 Added description of Docker dev environment to README.
Tom Gottfried <tom@intevation.de>
parents: 1093
diff changeset
79 $ cd ..
b22ffbf88a43 Added description of Docker dev environment to README.
Tom Gottfried <tom@intevation.de>
parents: 1093
diff changeset
80 $ docker build -t koala/lada_wildfly .
b22ffbf88a43 Added description of Docker dev environment to README.
Tom Gottfried <tom@intevation.de>
parents: 1093
diff changeset
81 $ cd your/repo/of/lada-client
b22ffbf88a43 Added description of Docker dev environment to README.
Tom Gottfried <tom@intevation.de>
parents: 1093
diff changeset
82 $ docker build -t koala/lada_client .
b22ffbf88a43 Added description of Docker dev environment to README.
Tom Gottfried <tom@intevation.de>
parents: 1093
diff changeset
83
b22ffbf88a43 Added description of Docker dev environment to README.
Tom Gottfried <tom@intevation.de>
parents: 1093
diff changeset
84 Aufbau eines Netzwerks für die LADA-Komponenten:
b22ffbf88a43 Added description of Docker dev environment to README.
Tom Gottfried <tom@intevation.de>
parents: 1093
diff changeset
85 $ docker network create lada_network
b22ffbf88a43 Added description of Docker dev environment to README.
Tom Gottfried <tom@intevation.de>
parents: 1093
diff changeset
86
b22ffbf88a43 Added description of Docker dev environment to README.
Tom Gottfried <tom@intevation.de>
parents: 1093
diff changeset
87 Starten der Container:
b22ffbf88a43 Added description of Docker dev environment to README.
Tom Gottfried <tom@intevation.de>
parents: 1093
diff changeset
88 $ cd db_schema
b22ffbf88a43 Added description of Docker dev environment to README.
Tom Gottfried <tom@intevation.de>
parents: 1093
diff changeset
89 $ docker run --name your_lada_db --net=lada_network -v $PWD:/opt/lada_sql/ \
b22ffbf88a43 Added description of Docker dev environment to README.
Tom Gottfried <tom@intevation.de>
parents: 1093
diff changeset
90 -d koala/lada_db:latest
b22ffbf88a43 Added description of Docker dev environment to README.
Tom Gottfried <tom@intevation.de>
parents: 1093
diff changeset
91 $ cd ..
b22ffbf88a43 Added description of Docker dev environment to README.
Tom Gottfried <tom@intevation.de>
parents: 1093
diff changeset
92 $ docker run --name lada_wildfly --net=lada_network \
b22ffbf88a43 Added description of Docker dev environment to README.
Tom Gottfried <tom@intevation.de>
parents: 1093
diff changeset
93 --link your_lada_db:lada_db -v $PWD:/usr/src/lada-server \
b22ffbf88a43 Added description of Docker dev environment to README.
Tom Gottfried <tom@intevation.de>
parents: 1093
diff changeset
94 -d koala/lada_wildfly
b22ffbf88a43 Added description of Docker dev environment to README.
Tom Gottfried <tom@intevation.de>
parents: 1093
diff changeset
95 $ cd your/repo/of/lada-client
b22ffbf88a43 Added description of Docker dev environment to README.
Tom Gottfried <tom@intevation.de>
parents: 1093
diff changeset
96 $ docker run --name lada_client --net=lada_network \
b22ffbf88a43 Added description of Docker dev environment to README.
Tom Gottfried <tom@intevation.de>
parents: 1093
diff changeset
97 -v $PWD:/var/www/html/ \
b22ffbf88a43 Added description of Docker dev environment to README.
Tom Gottfried <tom@intevation.de>
parents: 1093
diff changeset
98 --link lada_wildfly:lada-server \
b22ffbf88a43 Added description of Docker dev environment to README.
Tom Gottfried <tom@intevation.de>
parents: 1093
diff changeset
99 -p 8180-8184:80-84 -d koala/lada_client
b22ffbf88a43 Added description of Docker dev environment to README.
Tom Gottfried <tom@intevation.de>
parents: 1093
diff changeset
100
b22ffbf88a43 Added description of Docker dev environment to README.
Tom Gottfried <tom@intevation.de>
parents: 1093
diff changeset
101 Die LADA-Anwendung kann dann unter den angegebenen Ports mit verschiedenen
b22ffbf88a43 Added description of Docker dev environment to README.
Tom Gottfried <tom@intevation.de>
parents: 1093
diff changeset
102 Rollen im Browser ausgeführt werden.
b22ffbf88a43 Added description of Docker dev environment to README.
Tom Gottfried <tom@intevation.de>
parents: 1093
diff changeset
103
716
60cc9b5126d1 Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
104 Tests
60cc9b5126d1 Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
105 -----
60cc9b5126d1 Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
106 Die auf Arquillian basierenden Tests erfordern einen vollständig konfigurierten
60cc9b5126d1 Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
107 und gestarteten Wildfly Application-Server, da für die Schnittstellentest eine
60cc9b5126d1 Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
108 Clientanwendung simuliert wird und HTTP-Requests ausgeführt werden.
60cc9b5126d1 Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
109
60cc9b5126d1 Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
110 Das Ausführen der Tests erfolgt durch das Kommando
60cc9b5126d1 Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
111
60cc9b5126d1 Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
112 $ mvn -Premote-test clean test
60cc9b5126d1 Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
113
977
aba3a5384c69 Use a minimal set of master data based on empty database for tests.
Tom Gottfried <tom@intevation.de>
parents: 784
diff changeset
114 und benötigt eine leere Datenbank, die z.B. mit
aba3a5384c69 Use a minimal set of master data based on empty database for tests.
Tom Gottfried <tom@intevation.de>
parents: 784
diff changeset
115
aba3a5384c69 Use a minimal set of master data based on empty database for tests.
Tom Gottfried <tom@intevation.de>
parents: 784
diff changeset
116 $ ./setup-db.sh -cn
aba3a5384c69 Use a minimal set of master data based on empty database for tests.
Tom Gottfried <tom@intevation.de>
parents: 784
diff changeset
117
aba3a5384c69 Use a minimal set of master data based on empty database for tests.
Tom Gottfried <tom@intevation.de>
parents: 784
diff changeset
118 angelegt werden kann.
aba3a5384c69 Use a minimal set of master data based on empty database for tests.
Tom Gottfried <tom@intevation.de>
parents: 784
diff changeset
119
716
60cc9b5126d1 Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
120 Dokumenation
60cc9b5126d1 Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
121 ------------
60cc9b5126d1 Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
122 Die Entwicklerdokumentation (Javadoc) kann mit dem folgenden Befehl im
60cc9b5126d1 Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
123 Verzeichnis der Serveranwendung erzeugt werden:
60cc9b5126d1 Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
124
60cc9b5126d1 Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
125 $ mvn javadoc:javadoc
60cc9b5126d1 Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
126
60cc9b5126d1 Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
127 Der Ordner 'target' enthält dann die Dokumentation im HTML-Format in dem
60cc9b5126d1 Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
128 Verzeichnis 'site/apidocs'.
985
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
129
1093
effef57f3f7e Complement and correct data model and docs for queries.
Tom Gottfried <tom@intevation.de>
parents: 990
diff changeset
130 Erstellen von Queries
985
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
131 ---------------------
1093
effef57f3f7e Complement and correct data model and docs for queries.
Tom Gottfried <tom@intevation.de>
parents: 990
diff changeset
132 Queries können als SQL-Statement in der Tabelle stammdaten.queries definiert
effef57f3f7e Complement and correct data model and docs for queries.
Tom Gottfried <tom@intevation.de>
parents: 990
diff changeset
133 werden. Eine Filterung kann über Variablen erfolgen, die in stammdaten.filter
effef57f3f7e Complement and correct data model and docs for queries.
Tom Gottfried <tom@intevation.de>
parents: 990
diff changeset
134 definiert werden müssen und mittels SQL-Interpolation im SQL-Statement
effef57f3f7e Complement and correct data model and docs for queries.
Tom Gottfried <tom@intevation.de>
parents: 990
diff changeset
135 verwendet werden können.
effef57f3f7e Complement and correct data model and docs for queries.
Tom Gottfried <tom@intevation.de>
parents: 990
diff changeset
136 Um neue Queries für die Suche von Proben, Messungen und Messprogrammen zu
985
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
137 erstellen sind die folgenden Schritte erforderlich:
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
138
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
139 1. In der Tabelle 'stammdaten.query' einen neuen Eintrag erzeugen.
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
140 * id: Primary-Key (wird generiert)
1093
effef57f3f7e Complement and correct data model and docs for queries.
Tom Gottfried <tom@intevation.de>
parents: 990
diff changeset
141 * name: Der Name der Query
985
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
142 * type: Der Datentyp der gefiltert werden soll.
1093
effef57f3f7e Complement and correct data model and docs for queries.
Tom Gottfried <tom@intevation.de>
parents: 990
diff changeset
143 (mögliche Werte siehe Datenbank-Schema-Definition)
985
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
144 * sql: Das auszuführende SQL-Statement (siehe #Regeln für die Syntax)
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
145 * description: Ein beschreibender Text
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
146
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
147 2. In der Tabelle 'stammdaten.result' für die anzuzeigenden Felder je einen
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
148 Eintrag erzeugen:
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
149 * id: Primary-Key (wird generiert)
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
150 * query_id: ID der zugehörigen und in Schritt 1. erzeugten Query
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
151 * data_index: Name des Feldes zur Übertragung an den Client (in CamelCase)
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
152 * header: Der Titel der Spalte für diesen Eintrag
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
153 * width: Die Spaltenbreite (in Pixel)
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
154 * flex: Dynamische Spaltenbreite (true/false)
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
155 * index: Der Datenindex
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
156
1093
effef57f3f7e Complement and correct data model and docs for queries.
Tom Gottfried <tom@intevation.de>
parents: 990
diff changeset
157 3. In der Tabelle 'stammdaten.filter' für jeden Parameter in der 'WHERE'-Clause
effef57f3f7e Complement and correct data model and docs for queries.
Tom Gottfried <tom@intevation.de>
parents: 990
diff changeset
158 der Query einen Eintrag erzeugen:
985
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
159 * id: Primary-Key (wird generiert)
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
160 * query_id: ID der zugehörigen und in Schritt 1. erzeugten Query
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
161 * data_index: Der Name der Variablen, die in dem 'WHERE'-Statement ersetzt
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
162 werden soll
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
163 * type: Datenbasis, die im Client als Eingabe genutzt werden soll
1093
effef57f3f7e Complement and correct data model and docs for queries.
Tom Gottfried <tom@intevation.de>
parents: 990
diff changeset
164 (mögliche Werte siehe Datenbank-Schema-Definition)
985
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
165 * label: Der angezeigte Name des Filters
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
166 * multiselect: Mehrfachangabe von Werten für diesen Filter (true/false)
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
167
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
168 ### Regeln
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
169
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
170 * Bei Queries vom Typ `probe` muss das erste selektierte Feld `probe.id` sein.
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
171 Dieses wird in der Oberfläche nicht angezeigt.
1093
effef57f3f7e Complement and correct data model and docs for queries.
Tom Gottfried <tom@intevation.de>
parents: 990
diff changeset
172 * Bei Queries vom Typ `messung` muss das erste selektierte Feld `messung.id`
effef57f3f7e Complement and correct data model and docs for queries.
Tom Gottfried <tom@intevation.de>
parents: 990
diff changeset
173 und das zweite `probe.id` sein. Diese werden in der Oberfläche nicht
effef57f3f7e Complement and correct data model and docs for queries.
Tom Gottfried <tom@intevation.de>
parents: 990
diff changeset
174 angezeigt. Für `probe.id` muss in stammdaten.result ein Eintrag mit
effef57f3f7e Complement and correct data model and docs for queries.
Tom Gottfried <tom@intevation.de>
parents: 990
diff changeset
175 `data_index = 'probeId'` angelegt werden (obwohl diese Spalte nicht angezeigt
effef57f3f7e Complement and correct data model and docs for queries.
Tom Gottfried <tom@intevation.de>
parents: 990
diff changeset
176 wird). Um im Client die Funktionalität zu erhalten, sollten Messungsfilter
effef57f3f7e Complement and correct data model and docs for queries.
Tom Gottfried <tom@intevation.de>
parents: 990
diff changeset
177 die beiden Felder `probe.hauptproben_nr` und `messung.nebenproben_nr`
effef57f3f7e Complement and correct data model and docs for queries.
Tom Gottfried <tom@intevation.de>
parents: 990
diff changeset
178 enthalten.
985
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
179 * Bei Queries vom Typ `messprogramm` muss das erste selektierte Feld
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
180 `messprogramm.id` sein. Dieses wird in der Oberfläche nicht angezeigt.
1093
effef57f3f7e Complement and correct data model and docs for queries.
Tom Gottfried <tom@intevation.de>
parents: 990
diff changeset
181 * Werden bei einem JOIN Spalten gleichen Namens aus verschiedenen Tabellen
effef57f3f7e Complement and correct data model and docs for queries.
Tom Gottfried <tom@intevation.de>
parents: 990
diff changeset
182 in der SELECT-Clause verwendet, so müssen diese mit einem expliziten Alias
effef57f3f7e Complement and correct data model and docs for queries.
Tom Gottfried <tom@intevation.de>
parents: 990
diff changeset
183 versehen werden, um eine
effef57f3f7e Complement and correct data model and docs for queries.
Tom Gottfried <tom@intevation.de>
parents: 990
diff changeset
184 org.hibernate.loader.custom.NonUniqueDiscoveredSqlAliasException zu
effef57f3f7e Complement and correct data model and docs for queries.
Tom Gottfried <tom@intevation.de>
parents: 990
diff changeset
185 vermeiden.
985
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
186 * Im `WHERE`-Statement genutzte Variablen müssen in der Form `:variablenName`
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
187 angegeben werden und dem Feld `data_index` im zugehörigen Filter entsprechen.
1093
effef57f3f7e Complement and correct data model and docs for queries.
Tom Gottfried <tom@intevation.de>
parents: 990
diff changeset
188 * Wenn ein Filter mit `multiselect = true` angegeben wird, so wird in der
effef57f3f7e Complement and correct data model and docs for queries.
Tom Gottfried <tom@intevation.de>
parents: 990
diff changeset
189 `WHERE`-Clause ein `SIMILAR TO` erwartet.
985
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
190 * Das Feld `index` in der Tabelle `stammdaten.result` dient zur Zuordnung des
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
191 selektierten Datenfeldes zu dem Entsprechenden Eintrag in der Tabelle
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
192 `stammdaten.result`. Beispiel:
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
193 ```
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
194 'SELECT probe.id, probe.mst_id AS mstId, probe.hauptproben_nr AS hpNr, ...'
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
195 |----- index 1 -----| |--------- index 2 --------|
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
196 Wird in der Tabelle 'stammdaten.result' zu:
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
197 Result 1:
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
198 ...
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
199 data_index: mstId
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
200 header: Messstelle
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
201 width: 100
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
202 flex: false
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
203 index: 1
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
204 ...
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
205 Result 2:
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
206 ...
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
207 data_index: hpNr
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
208 header: Hauptproben Nr
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
209 width: 150
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
210 flex: false
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
211 index: 2
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
212 ....
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
213 ```
990
ff07474b65e0 Updated description how to create filters.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 986
diff changeset
214 * Queries für Stammdaten werden gesondert behandelt und beinhalten keine
985
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
215 SQL-Statements. Dementsprechend können auch keine Einträge für Ergebnisse in
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
216 der Tabelle `stammdaten.result` gemacht werden. Filter können allerdings,
990
ff07474b65e0 Updated description how to create filters.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 986
diff changeset
217 unter der Bedingung, dass `data_index` auf einen in dem Datentyp vorhandenes
ff07474b65e0 Updated description how to create filters.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 986
diff changeset
218 und in CamelCase geschriebenes Datenfeld zeigt, angelegt werden.
ff07474b65e0 Updated description how to create filters.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 986
diff changeset
219 Momentan sind Queries für die folgenden Stammdaten möglich:
985
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
220 * Orte
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
221 * Probennehmer
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
222 * Datensatzerzeuger
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
223 * Messprogrammkategorien
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)