# HG changeset patch # User Raimund Renkert # Date 1364396370 -3600 # Node ID d7bb32f9522006ef372e36c6ecdce1f769474fe3 # Parent de3c77d35fefa49e2209c977cf22c1000108b99a# Parent 5b75dfc1b6379ba2a77bd704aa1245b6ab560aa7 merged. diff -r de3c77d35fef -r d7bb32f95220 flys-artifacts/doc/conf/meta-data.xml --- a/flys-artifacts/doc/conf/meta-data.xml Wed Mar 27 15:57:44 2013 +0100 +++ b/flys-artifacts/doc/conf/meta-data.xml Wed Mar 27 15:59:30 2013 +0100 @@ -1150,18 +1150,49 @@ + Grab only the actual first - SELECT count(*) as km_exists - FROM cross_section_tracks WHERE river_id = ${river_id} + SELECT DISTINCT + cs.kind_id as kind_id, + ck.name as kind_name + FROM cross_section_tracks cs + JOIN cross_section_track_kinds ck on cs.kind_id = ck.id + WHERE river_id = ${river_id} + AND kind_id=1 - - - + + + + - - - - + + + + + + + Now the other tracks + + SELECT DISTINCT + cs.kind_id as kind_id, + ck.name as kind_name, + cs.name as layer_name + FROM cross_section_tracks cs + JOIN cross_section_track_kinds ck on cs.kind_id = ck.id + WHERE river_id = ${river_id} + AND kind_id=0 + + + + + + + + + + + + @@ -1517,7 +1548,6 @@ - @@ -1527,7 +1557,7 @@ FROM buildings b JOIN building_kinds bk ON b.kind_id = bk.id WHERE b.river_id = ${river_id} - AND b.kind_id != 0 + AND b.kind_id <> 0 @@ -1703,6 +1733,26 @@ + + + + + + + + + + + + + + + + + + + + @@ -1710,35 +1760,26 @@ - - - + + + + + + + + - - - - - - - - - - - - - - - - - - + + + + diff -r de3c77d35fef -r d7bb32f95220 flys-artifacts/src/main/java/de/intevation/flys/artifacts/WMSQPSArtifact.java --- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/WMSQPSArtifact.java Wed Mar 27 15:57:44 2013 +0100 +++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/WMSQPSArtifact.java Wed Mar 27 15:59:30 2013 +0100 @@ -77,26 +77,8 @@ private static final Logger logger = Logger.getLogger(WMSQPSState.class); - protected int riverId; - public WMSQPSState(WMSDBArtifact artifact) { super(artifact); - riverId = 0; - } - - public int getRiverId() { - if (riverId == 0) { - String ids = artifact.getDataAsString("ids"); - - try { - riverId = Integer.parseInt(ids); - } - catch (NumberFormatException nfe) { - logger.error("Cannot parse river id from '" + ids + "'"); - } - } - - return riverId; } @Override @@ -118,9 +100,20 @@ @Override protected Envelope getExtent(boolean reproject) { River river = RiverFactory.getRiver(getRiverId()); + List qps; - List qps = - CrossSectionTrack.getCrossSectionTrack(river.getName()); + String kind = getIdPart(2); + + if (kind != null && kind.equals("1")) { + qps = CrossSectionTrack.getCrossSectionTrack(river.getName(), + Integer.parseInt(kind)); + } else if (kind != null) { + qps = CrossSectionTrack.getCrossSectionTrack(river.getName(), + getName(), Integer.parseInt(kind)); + } else { + qps = CrossSectionTrack.getCrossSectionTrack(river.getName(), + getName()); + } Envelope max = null; @@ -142,7 +135,18 @@ @Override protected String getFilter() { - return "river_id=" + String.valueOf(getRiverId()); + String kind = getIdPart(2); + if (kind != null && kind.equals("1")) { + // There can be several layers named qps that differ in kind + return "river_id=" + String.valueOf(getRiverId()) + + " AND kind_id=" + kind; + } else if (kind != null) { + return "river_id=" + String.valueOf(getRiverId()) + + " AND kind_id=" + kind + + " AND name='" + getName() + "'"; + } + return "river_id=" + String.valueOf(getRiverId()) + + " AND name='" + getName() + "'"; } @Override diff -r de3c77d35fef -r d7bb32f95220 flys-backend/contrib/import_river.sh --- a/flys-backend/contrib/import_river.sh Wed Mar 27 15:57:44 2013 +0100 +++ b/flys-backend/contrib/import_river.sh Wed Mar 27 15:59:30 2013 +0100 @@ -156,9 +156,9 @@ fi GEW_FILE="$1" -RIVER_NAME=$(grep "Gew.sser" "$1" | awk '{print $2}') +RIVER_NAME=$(grep "Gew.sser" "$1" | sed 's/Gew.sser: //') DATE=$(date +%Y.%m.%d_%H%M) -LOG_DIR=${LOG}/${RIVER_NAME}-$DATE +LOG_DIR=${LOG}/`basename $GEW_FILE .gew`-$DATE mkdir -p ${LOG_DIR} if [ "$POSTGRES" = "TRUE" ]; then diff -r de3c77d35fef -r d7bb32f95220 flys-backend/doc/schema/oracle-minfo.sql --- a/flys-backend/doc/schema/oracle-minfo.sql Wed Mar 27 15:57:44 2013 +0100 +++ b/flys-backend/doc/schema/oracle-minfo.sql Wed Mar 27 15:59:30 2013 +0100 @@ -291,7 +291,7 @@ reference_gauge_name VARCHAR(64), observation_timerange_id NUMBER(38), operator VARCHAR(64), - description VARCHAR(512), + comment VARCHAR(512), PRIMARY KEY (id), CONSTRAINT fk_ms_river_id FOREIGN KEY (river_id) REFERENCES rivers(id) ON DELETE CASCADE, CONSTRAINT fk_ms_range_id FOREIGN KEY (range_id) REFERENCES ranges(id) ON DELETE CASCADE, diff -r de3c77d35fef -r d7bb32f95220 flys-backend/doc/schema/postgresql-minfo.sql --- a/flys-backend/doc/schema/postgresql-minfo.sql Wed Mar 27 15:57:44 2013 +0100 +++ b/flys-backend/doc/schema/postgresql-minfo.sql Wed Mar 27 15:59:30 2013 +0100 @@ -291,7 +291,7 @@ reference_gauge_name VARCHAR(64), observation_timerange_id int, operator VARCHAR(64), - description VARCHAR(512), + comment VARCHAR(512), PRIMARY KEY (id), CONSTRAINT fk_ms_river_id FOREIGN KEY (river_id) REFERENCES rivers(id) ON DELETE CASCADE, CONSTRAINT fk_ms_range_id FOREIGN KEY (range_id) REFERENCES ranges(id) ON DELETE CASCADE, diff -r de3c77d35fef -r d7bb32f95220 flys-backend/src/main/java/de/intevation/flys/model/CrossSectionTrack.java --- a/flys-backend/src/main/java/de/intevation/flys/model/CrossSectionTrack.java Wed Mar 27 15:57:44 2013 +0100 +++ b/flys-backend/src/main/java/de/intevation/flys/model/CrossSectionTrack.java Wed Mar 27 15:59:30 2013 +0100 @@ -134,6 +134,41 @@ return query.list(); } + public static List getCrossSectionTrack( + String river, + int kind_id + ) { + Session session = SessionHolder.HOLDER.get(); + + Query query = session.createQuery( + "from CrossSectionTrack as cst " + + " where river.name =:river" + + " and kind_id=:kind_id"); + query.setParameter("river", river); + query.setParameter("kind_id", kind_id); + + return query.list(); + } + + public static List getCrossSectionTrack( + String river, + String name, + int kind_id + ) { + Session session = SessionHolder.HOLDER.get(); + + Query query = session.createQuery( + "from CrossSectionTrack as cst " + + " where river.name =:river" + + " and cst.name=:name" + + " and kind_id=:kind_id"); + query.setParameter("river", river); + query.setParameter("name", name); + query.setParameter("kind_id", kind_id); + + return query.list(); + } + /** * Returns the nearest CrossSectionTrack of river to a given diff -r de3c77d35fef -r d7bb32f95220 flys-client/src/main/java/de/intevation/flys/client/client/FLYSConstants.java --- a/flys-client/src/main/java/de/intevation/flys/client/client/FLYSConstants.java Wed Mar 27 15:57:44 2013 +0100 +++ b/flys-client/src/main/java/de/intevation/flys/client/client/FLYSConstants.java Wed Mar 27 15:59:30 2013 +0100 @@ -1166,5 +1166,9 @@ String jetties(); + String route_data(); + + String other(); + } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : diff -r de3c77d35fef -r d7bb32f95220 flys-client/src/main/java/de/intevation/flys/client/client/FLYSConstants.properties --- a/flys-client/src/main/java/de/intevation/flys/client/client/FLYSConstants.properties Wed Mar 27 15:57:44 2013 +0100 +++ b/flys-client/src/main/java/de/intevation/flys/client/client/FLYSConstants.properties Wed Mar 27 15:59:30 2013 +0100 @@ -462,6 +462,8 @@ hws_points = Points hws_fed_unknown = Unknown State jetties = Jetties +route_data = Route Data +other = Other startcolor = Colorrange start color endcolor = Colorrange end color diff -r de3c77d35fef -r d7bb32f95220 flys-client/src/main/java/de/intevation/flys/client/client/FLYSConstants_de.properties --- a/flys-client/src/main/java/de/intevation/flys/client/client/FLYSConstants_de.properties Wed Mar 27 15:57:44 2013 +0100 +++ b/flys-client/src/main/java/de/intevation/flys/client/client/FLYSConstants_de.properties Wed Mar 27 15:59:30 2013 +0100 @@ -463,6 +463,8 @@ hws_points = Punktdaten hws_fed_unknown = Unbekanntes Bundesland jetties = Buhnen +route_data = Streckendaten +other = Sonstige startcolor = Farbverlauf Startfarbe endcolor = Farbverlauf Endfarbe diff -r de3c77d35fef -r d7bb32f95220 flys-client/src/main/java/de/intevation/flys/client/client/ui/DatacageWidget.java --- a/flys-client/src/main/java/de/intevation/flys/client/client/ui/DatacageWidget.java Wed Mar 27 15:57:44 2013 +0100 +++ b/flys-client/src/main/java/de/intevation/flys/client/client/ui/DatacageWidget.java Wed Mar 27 15:59:30 2013 +0100 @@ -405,9 +405,10 @@ tree.setRoot(root); TreeNode[] nodes = tree.getChildren(root); - for (int i = 0; i < nodes.length; i++) { - if(!tree.hasChildren(nodes[i])) { - nodes[i].setIsFolder(true); + for (TreeNode node: nodes) { + if (node.getAttribute("factory") == null && + !tree.hasChildren(node)) { + node.setIsFolder(true); } }