annotate README.markdown @ 1127:997899aba991

Do not try to persist Probe objects with validation errors. Validation errors are often in line with database constraints and thus trying to persist will result in an Internal Server Error.
author Tom Gottfried <tom@intevation.de>
date Mon, 31 Oct 2016 18:25:02 +0100
parents effef57f3f7e
children b22ffbf88a43
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
716
60cc9b5126d1 Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
67 Tests
60cc9b5126d1 Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
68 -----
60cc9b5126d1 Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
69 Die auf Arquillian basierenden Tests erfordern einen vollständig konfigurierten
60cc9b5126d1 Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
70 und gestarteten Wildfly Application-Server, da für die Schnittstellentest eine
60cc9b5126d1 Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
71 Clientanwendung simuliert wird und HTTP-Requests ausgeführt werden.
60cc9b5126d1 Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
72
60cc9b5126d1 Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
73 Das Ausführen der Tests erfolgt durch das Kommando
60cc9b5126d1 Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
74
60cc9b5126d1 Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
75 $ mvn -Premote-test clean test
60cc9b5126d1 Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
76
977
aba3a5384c69 Use a minimal set of master data based on empty database for tests.
Tom Gottfried <tom@intevation.de>
parents: 784
diff changeset
77 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
78
aba3a5384c69 Use a minimal set of master data based on empty database for tests.
Tom Gottfried <tom@intevation.de>
parents: 784
diff changeset
79 $ ./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
80
aba3a5384c69 Use a minimal set of master data based on empty database for tests.
Tom Gottfried <tom@intevation.de>
parents: 784
diff changeset
81 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
82
716
60cc9b5126d1 Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
83 Dokumenation
60cc9b5126d1 Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
84 ------------
60cc9b5126d1 Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
85 Die Entwicklerdokumentation (Javadoc) kann mit dem folgenden Befehl im
60cc9b5126d1 Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
86 Verzeichnis der Serveranwendung erzeugt werden:
60cc9b5126d1 Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
87
60cc9b5126d1 Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
88 $ mvn javadoc:javadoc
60cc9b5126d1 Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
89
60cc9b5126d1 Added README file.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
90 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
91 Verzeichnis 'site/apidocs'.
985
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
92
1093
effef57f3f7e Complement and correct data model and docs for queries.
Tom Gottfried <tom@intevation.de>
parents: 990
diff changeset
93 Erstellen von Queries
985
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
94 ---------------------
1093
effef57f3f7e Complement and correct data model and docs for queries.
Tom Gottfried <tom@intevation.de>
parents: 990
diff changeset
95 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
96 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
97 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
98 verwendet werden können.
effef57f3f7e Complement and correct data model and docs for queries.
Tom Gottfried <tom@intevation.de>
parents: 990
diff changeset
99 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
100 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
101
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
102 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
103 * 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
104 * 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
105 * 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
106 (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
107 * 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
108 * description: Ein beschreibender Text
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
109
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
110 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
111 Eintrag erzeugen:
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
112 * 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
113 * 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
114 * 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
115 * 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
116 * 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
117 * 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
118 * index: Der Datenindex
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
119
1093
effef57f3f7e Complement and correct data model and docs for queries.
Tom Gottfried <tom@intevation.de>
parents: 990
diff changeset
120 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
121 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
122 * 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
123 * 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
124 * 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
125 werden soll
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
126 * 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
127 (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
128 * 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
129 * 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
130
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
131 ### Regeln
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
132
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
133 * 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
134 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
135 * 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
136 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
137 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
138 `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
139 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
140 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
141 enthalten.
985
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
142 * 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
143 `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
144 * 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
145 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
146 versehen werden, um eine
effef57f3f7e Complement and correct data model and docs for queries.
Tom Gottfried <tom@intevation.de>
parents: 990
diff changeset
147 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
148 vermeiden.
985
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
149 * 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
150 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
151 * 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
152 `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
153 * 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
154 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
155 `stammdaten.result`. Beispiel:
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
156 ```
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
157 '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
158 |----- index 1 -----| |--------- index 2 --------|
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
159 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
160 Result 1:
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
161 ...
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
162 data_index: mstId
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
163 header: Messstelle
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
164 width: 100
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
165 flex: false
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
166 index: 1
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 Result 2:
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 data_index: hpNr
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
171 header: Hauptproben Nr
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
172 width: 150
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
173 flex: false
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
174 index: 2
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
175 ....
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
176 ```
990
ff07474b65e0 Updated description how to create filters.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 986
diff changeset
177 * 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
178 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
179 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
180 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
181 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
182 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
183 * Orte
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
184 * Probennehmer
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
185 * Datensatzerzeuger
3019d7797037 Beschreibung zur Erstellung von Filtern zu README hinzugefügt.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 977
diff changeset
186 * Messprogrammkategorien
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)