# HG changeset patch # User Felix Wolfsteller # Date 1359530814 -3600 # Node ID aa67a88314f227196f024f167bd5f7d08b044ec4 # Parent 137ff80f0a014fc9ad5a8b6d1576ce027b6cf3ef# Parent 5ab87837622fcc36d77c97dda074b5bb92b2d2c8 [branch: dc-km-filter]: Merge with tip. diff -r 5ab87837622f -r aa67a88314f2 flys-artifacts/doc/conf/meta-data.xml --- a/flys-artifacts/doc/conf/meta-data.xml Tue Jan 29 17:42:04 2013 +0100 +++ b/flys-artifacts/doc/conf/meta-data.xml Wed Jan 30 08:26:54 2013 +0100 @@ -1,19 +1,23 @@ - - - SELECT wst_columns.id AS prot_column_id, - wst_columns.name AS prot_column_name, - wst_columns.position AS prot_rel_pos, - wst_columns.description AS info, - wst_ranges.a AS deffrom, - wst_ranges.b AS defto - FROM wst_columns, wst_ranges - WHERE wst_columns.wst_id = ${prot_id} AND wst_ranges.wst_column_id = wst_columns.id - ORDER by wst_columns.position - - + + + SELECT wst_columns.id AS prot_column_id, + wst_columns.name AS prot_column_name, + wst_columns.position AS prot_rel_pos, + wst_columns.description AS info, + wst_ranges.a AS deffrom, + wst_ranges.b AS defto + FROM wst_columns, wst_ranges + WHERE wst_columns.wst_id = ${prot_id} AND wst_ranges.wst_column_id = wst_columns.id + AND ( CAST(${startkm} AS DOUBLE PRECISION) BETWEEN wst_ranges.a AND wst_ranges.b + OR CAST(${endkm} AS DOUBLE PRECISION) BETWEEN wst_ranges.a AND wst_ranges.b + OR wst_ranges.a BETWEEN CAST(${startkm} AS DOUBLE PRECISION) AND CAST(${endkm} AS DOUBLE PRECISION) + ) + ORDER by wst_columns.position + + diff -r 5ab87837622f -r aa67a88314f2 flys-client/src/main/java/de/intevation/flys/client/client/ui/DatacageWindow.java --- a/flys-client/src/main/java/de/intevation/flys/client/client/ui/DatacageWindow.java Tue Jan 29 17:42:04 2013 +0100 +++ b/flys-client/src/main/java/de/intevation/flys/client/client/ui/DatacageWindow.java Wed Jan 30 08:26:54 2013 +0100 @@ -1,6 +1,7 @@ package de.intevation.flys.client.client.ui; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; import com.google.gwt.core.client.GWT; @@ -68,11 +69,37 @@ setWidth(400); setHeight(500); + String startKm = + artifact.getArtifactDescription().getDataValueAsString("ld_from"); + String endKm = + artifact.getArtifactDescription().getDataValueAsString("ld_to"); + String parameter = "load-system:true"; + + if (startKm == null || startKm.equals("") || endKm == null + || endKm.equals("")) { + String locations = + artifact.getArtifactDescription().getDataValueAsString("ld_locations"); + if (locations != null && !locations.equals("")) { + String[] ls = locations.split(" "); + Double locs[] = new Double[ls.length]; + for (int i = 0; i < ls.length ; i++) { + locs[i] = Double.parseDouble(ls[i]); + } + Arrays.sort(locs); + parameter = parameter + ";startkm:" + locs[0] + + ";endkm:" + locs[locs.length-1]; + } + } + else { + parameter = parameter + ";startkm:" + startKm + + ";endkm:" + endKm; + } + GWT.log("parameter " + parameter); DatacageWidget dw = new DatacageWidget( artifact, user, outs, - "load-system:true", + parameter, true); dw.addDatacageHandler(this); dw.addDatacageDoubleClickHandler(this);