teichmann@5861: /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde teichmann@5861: * Software engineering by Intevation GmbH teichmann@5861: * teichmann@5993: * This file is Free Software under the GNU AGPL (>=v3) teichmann@5861: * and comes with ABSOLUTELY NO WARRANTY! Check out the teichmann@5993: * documentation coming with Dive4Elements River for details. teichmann@5861: */ teichmann@5861: teichmann@5835: package org.dive4elements.river.client.client.ui; ingo@901: gernotbelger@9220: import java.util.ArrayList; gernotbelger@9220: import java.util.List; gernotbelger@9220: teichmann@5835: import org.dive4elements.river.client.shared.model.Data; teichmann@5835: import org.dive4elements.river.client.shared.model.DataItem; teichmann@5835: import org.dive4elements.river.client.shared.model.DefaultData; teichmann@5835: import org.dive4elements.river.client.shared.model.DefaultDataItem; teichmann@5835: import org.dive4elements.river.client.shared.model.Recommendation; teichmann@5835: import org.dive4elements.river.client.shared.model.ToLoad; teichmann@5835: import org.dive4elements.river.client.shared.model.User; ingo@901: ingo@901: public class DemDatacagePanel extends DatacagePanel { ingo@901: christian@4131: private static final long serialVersionUID = -2301633938080411687L; christian@4131: gernotbelger@9220: private static final String OUT = "floodmap_dem_panel"; ingo@901: gernotbelger@9220: private static final String PARAMETERS = "dem:true"; ingo@1268: gernotbelger@9220: public DemDatacagePanel(final User user) { gernotbelger@9220: super(user, OUT, PARAMETERS, false); ingo@916: } ingo@916: ingo@901: @Override ingo@1447: public List validate() { gernotbelger@9220: final List errors = new ArrayList(); ingo@1447: gernotbelger@9220: final Recommendation r = getSelectedRecommendation(); gernotbelger@9220: if (r == null) ingo@1447: errors.add(MSG.requireDGM()); ingo@1447: ingo@1447: return errors; ingo@1447: } ingo@1447: ingo@1447: @Override ingo@901: protected Data[] getData() { gernotbelger@9220: final Recommendation r = getSelectedRecommendation(); ingo@917: gernotbelger@9220: final String dataName = getMyDataName(); gernotbelger@9220: gernotbelger@9220: final DataItem item = new DefaultDataItem(dataName, dataName, r.getIDs()); gernotbelger@9220: return new Data[] { new DefaultData(dataName, null, null, new DataItem[] { item }) }; ingo@901: } ingo@917: ingo@917: protected Recommendation getSelectedRecommendation() { gernotbelger@9220: final ToLoad toLoad = getSelection(); gernotbelger@9220: final List recoms = toLoad.toRecommendations(); ingo@917: ingo@1447: return recoms != null && recoms.size() >= 1 ? recoms.get(0) : null; ingo@917: } gernotbelger@9220: }