annotate README.markdown @ 1290:14876c62f692

Push down refreshing of persisted objects deeper into the stack. There are more places besides creation of Probe objects where it is useful to return within the response what has been really written to the database (including modifications by the database itself) instead of merely the request data, e.g. creation of Ort objects, which includes database generated ort_ids.
author Tom Gottfried <tom@intevation.de>
date Wed, 08 Feb 2017 18:02:05 +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)