view gwt-client/src/main/java/org/dive4elements/river/client/client/ui/DemDatacagePanel.java @ 9220:e3c2ae1887e8

Allow to filter contents of datacage on client side. Allow to override column label of datacage Some code cleanup
author gernotbelger
date Wed, 04 Jul 2018 12:00:51 +0200
parents 5dfb3ff98bc6
children
line wrap: on
line source
/* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde
 * Software engineering by Intevation GmbH
 *
 * This file is Free Software under the GNU AGPL (>=v3)
 * and comes with ABSOLUTELY NO WARRANTY! Check out the
 * documentation coming with Dive4Elements River for details.
 */

package org.dive4elements.river.client.client.ui;

import java.util.ArrayList;
import java.util.List;

import org.dive4elements.river.client.shared.model.Data;
import org.dive4elements.river.client.shared.model.DataItem;
import org.dive4elements.river.client.shared.model.DefaultData;
import org.dive4elements.river.client.shared.model.DefaultDataItem;
import org.dive4elements.river.client.shared.model.Recommendation;
import org.dive4elements.river.client.shared.model.ToLoad;
import org.dive4elements.river.client.shared.model.User;

public class DemDatacagePanel extends DatacagePanel {

    private static final long serialVersionUID = -2301633938080411687L;

    private static final String OUT = "floodmap_dem_panel";

    private static final String PARAMETERS = "dem:true";

    public DemDatacagePanel(final User user) {
        super(user, OUT, PARAMETERS, false);
    }

    @Override
    public List<String> validate() {
        final List<String> errors = new ArrayList<String>();

        final Recommendation r = getSelectedRecommendation();
        if (r == null)
            errors.add(MSG.requireDGM());

        return errors;
    }

    @Override
    protected Data[] getData() {
        final Recommendation r = getSelectedRecommendation();

        final String dataName = getMyDataName();

        final DataItem item = new DefaultDataItem(dataName, dataName, r.getIDs());
        return new Data[] { new DefaultData(dataName, null, null, new DataItem[] { item }) };
    }

    protected Recommendation getSelectedRecommendation() {
        final ToLoad toLoad = getSelection();
        final List<Recommendation> recoms = toLoad.toRecommendations();

        return recoms != null && recoms.size() >= 1 ? recoms.get(0) : null;
    }
}

http://dive4elements.wald.intevation.org