Mercurial > dive4elements > river
diff flys-client/src/main/java/de/intevation/flys/client/client/ui/DatacageWindow.java @ 276:f4c8ce11df33
UI stub for data cage
flys-client/trunk@1902 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Wed, 11 May 2011 14:34:15 +0000 |
parents | |
children | f33af25b7490 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/flys-client/src/main/java/de/intevation/flys/client/client/ui/DatacageWindow.java Wed May 11 14:34:15 2011 +0000 @@ -0,0 +1,94 @@ +package de.intevation.flys.client.client.ui; + +import java.util.List; + +import com.google.gwt.core.client.GWT; + +import com.google.gwt.user.client.rpc.AsyncCallback; + +import com.smartgwt.client.util.SC; + +import com.smartgwt.client.widgets.Window; + + +import de.intevation.flys.client.shared.model.Artifact; +import de.intevation.flys.client.shared.model.ArtifactDescription; +import de.intevation.flys.client.shared.model.Data; +import de.intevation.flys.client.shared.model.DataList; +import de.intevation.flys.client.shared.model.DataItem; + +import de.intevation.flys.client.client.FLYSConstants; +import de.intevation.flys.client.client.Config; + +import de.intevation.flys.client.client.services.MetaDataService; +import de.intevation.flys.client.client.services.MetaDataServiceAsync; + + +public class DatacageWindow +extends Window +{ + protected MetaDataServiceAsync metaDataService = + GWT.create(MetaDataService.class); + + protected FLYSConstants messages = + GWT.create(FLYSConstants.class); + + + protected Artifact artifact; + + public DatacageWindow(Artifact artifact) { + this.artifact = artifact; + setHeight(115); + String river = findRiver(); + setTitle("Datenkorb: " + river); + setShowMinimizeButton(false); + setIsModal(true); + setShowModalMask(true); + centerInPage(); + + triggerTreeBuilding(river); + } + + protected void triggerTreeBuilding(String river) { + Config config = Config.getInstance(); + String url = config.getServerUrl(); + String locale = config.getLocale(); + + metaDataService.getMetaData( + url, locale, river, + new AsyncCallback<List>() { + public void onFailure(Throwable caught) { + GWT.log("Could not load meta data."); + SC.warn(messages.getString(caught.getMessage())); + } + + public void onSuccess(List list) { + GWT.log("Successfully created a new collection."); + } + }); + } + + protected String findRiver() { + + ArtifactDescription adescr = artifact.getArtifactDescription(); + DataList [] data = adescr.getOldData(); + + if (data != null && data.length > 0) { + for (int i = 0; i < data.length; i++) { + DataList dl = data[i]; + if (dl.getState().equals("state.winfo.river")) { + for (int j = dl.size()-1; j >= 0; --j) { + Data d = dl.get(j); + DataItem [] di = d.getItems(); + if (di != null && di.length == 1) { + return d.getItems()[0].getStringValue(); + } + } + } + } + } + + return ""; + } +} +// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :