# HG changeset patch # User Ingo Weinzierl # Date 1315806058 0 # Node ID 77a549772aa903758b97b30795c79fd438536e39 # Parent a7179e3a774ed5cedeea0b1e7e4005c1354bb3ca Query MapInfo object for correct river (was hard coded). flys-client/trunk@2694 c6561f87-3c4e-4783-a992-168aeb5c3f6f diff -r a7179e3a774e -r 77a549772aa9 flys-client/ChangeLog --- a/flys-client/ChangeLog Mon Sep 12 04:55:55 2011 +0000 +++ b/flys-client/ChangeLog Mon Sep 12 05:40:58 2011 +0000 @@ -1,3 +1,13 @@ +2011-09-12 Ingo Weinzierl + + * src/main/java/de/intevation/flys/client/client/ui/AbstractUIProvider.java: + Implemented a method getDataValue(String state, String name) that searches + for a specific state and data name and returns the string value if such + a data object exists. + + * src/main/java/de/intevation/flys/client/client/ui/DigitizePanel.java: + Find out the rivername on the fly (was hard coded before). + 2011-09-12 Ingo Weinzierl * src/main/java/de/intevation/flys/client/shared/model/DataList.java: Made diff -r a7179e3a774e -r 77a549772aa9 flys-client/src/main/java/de/intevation/flys/client/client/ui/AbstractUIProvider.java --- a/flys-client/src/main/java/de/intevation/flys/client/client/ui/AbstractUIProvider.java Mon Sep 12 04:55:55 2011 +0000 +++ b/flys-client/src/main/java/de/intevation/flys/client/client/ui/AbstractUIProvider.java Mon Sep 12 05:40:58 2011 +0000 @@ -24,6 +24,7 @@ import de.intevation.flys.client.shared.model.DataItem; import de.intevation.flys.client.shared.model.DataList; import de.intevation.flys.client.shared.model.Artifact; +import de.intevation.flys.client.shared.model.ArtifactDescription; /** * An abstract UIProvider that provides some basic methods. @@ -210,6 +211,23 @@ return null; } + + protected String getDataValue(String state, String name) { + ArtifactDescription desc = artifact.getArtifactDescription(); + + DataList[] old = desc.getOldData(); + + for (DataList list: old) { + Data d = getData(list.getAll(), name); + + if (d != null) { + return d.getItems()[0].getStringValue(); + } + } + + return null; + } + /** * This method greps the DataItem with name name from the list and * returns it. diff -r a7179e3a774e -r 77a549772aa9 flys-client/src/main/java/de/intevation/flys/client/client/ui/DigitizePanel.java --- a/flys-client/src/main/java/de/intevation/flys/client/client/ui/DigitizePanel.java Mon Sep 12 04:55:55 2011 +0000 +++ b/flys-client/src/main/java/de/intevation/flys/client/client/ui/DigitizePanel.java Mon Sep 12 05:40:58 2011 +0000 @@ -78,8 +78,8 @@ } } - // TODO FIND CORRECT RIVER - mapInfo.getMapInfo(url, locale, "Saar", new AsyncCallback() { + String river = getDataValue("state.winfo.river", "river"); + mapInfo.getMapInfo(url, locale, river, new AsyncCallback() { public void onFailure(Throwable caught) { String msg = caught.getMessage();