sascha@276: package de.intevation.flys.client.client.ui; sascha@276: sascha@276: import com.google.gwt.core.client.GWT; sascha@276: sascha@276: import com.smartgwt.client.widgets.Window; sascha@821: sascha@848: import de.intevation.flys.client.client.FLYSConstants; sascha@276: sascha@848: import de.intevation.flys.client.client.event.DatacageHandler; sascha@816: sascha@276: import de.intevation.flys.client.shared.model.Artifact; sascha@276: import de.intevation.flys.client.shared.model.ArtifactDescription; sascha@276: import de.intevation.flys.client.shared.model.Data; sascha@848: import de.intevation.flys.client.shared.model.DataItem; sascha@276: import de.intevation.flys.client.shared.model.DataList; sascha@848: import de.intevation.flys.client.shared.model.ToLoad; sascha@811: import de.intevation.flys.client.shared.model.User; sascha@848: import de.intevation.flys.client.shared.model.Recommendation; sascha@276: sascha@848: import java.util.List; sascha@276: sascha@814: sascha@276: public class DatacageWindow sascha@276: extends Window sascha@848: implements DatacageHandler sascha@276: { sascha@276: protected FLYSConstants messages = sascha@276: GWT.create(FLYSConstants.class); sascha@276: sascha@848: protected CollectionView view; sascha@278: sascha@848: public DatacageWindow( sascha@848: Artifact artifact, sascha@848: User user, sascha@848: String outs, sascha@848: CollectionView view sascha@848: ) { sascha@848: this.view = view; sascha@848: setWidth(400); sascha@822: setHeight(500); sascha@278: sascha@848: DatacageWidget dw = new DatacageWidget(artifact, user, outs); sascha@848: dw.addDatacageHandler(this); sascha@821: sascha@848: addItem(dw); sascha@278: sascha@848: String river = findRiver(artifact); sascha@811: // TODO: i18n sascha@615: setTitle("Datenkorb: " + river); sascha@615: setShowMinimizeButton(false); sascha@615: setIsModal(true); sascha@615: setShowModalMask(true); sascha@278: setCanDragResize(true); sascha@278: sascha@276: centerInPage(); sascha@822: } sascha@822: felix@864: sascha@848: @Override sascha@848: public void toLoad(ToLoad toLoad) { sascha@848: destroy(); sascha@848: List recs = toLoad.toRecommendations(); sascha@848: view.loadRecommendedArtifacts( sascha@848: recs.toArray(new Recommendation[recs.size()])); sascha@276: } sascha@276: felix@864: sascha@848: protected String findRiver(Artifact artifact) { sascha@276: ArtifactDescription adescr = artifact.getArtifactDescription(); sascha@276: DataList [] data = adescr.getOldData(); sascha@276: sascha@276: if (data != null && data.length > 0) { sascha@276: for (int i = 0; i < data.length; i++) { sascha@276: DataList dl = data[i]; sascha@276: if (dl.getState().equals("state.winfo.river")) { sascha@276: for (int j = dl.size()-1; j >= 0; --j) { sascha@276: Data d = dl.get(j); sascha@276: DataItem [] di = d.getItems(); sascha@276: if (di != null && di.length == 1) { sascha@276: return d.getItems()[0].getStringValue(); sascha@276: } sascha@276: } sascha@276: } sascha@276: } sascha@276: } sascha@276: sascha@276: return ""; sascha@276: } sascha@276: } sascha@276: // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :