view gnv-artifacts/src/main/java/de/intevation/gnv/state/profile/horizontal/NorthSouthEastWestState.java @ 1115:f953c9a559d8

Added license file and license headers. gnv-artifacts/trunk@1260 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Tue, 02 Nov 2010 17:46:55 +0000
parents 05bf8534a35a
children
line wrap: on
line source
/*
 * Copyright (c) 2010 by Intevation GmbH
 *
 * This program is free software under the LGPL (>=v2.1)
 * Read the file LGPL.txt coming with the software for details
 * or visit http://www.gnu.org/licenses/ if it does not exist.
 */

package de.intevation.gnv.state.profile.horizontal;

import de.intevation.artifacts.CallContext;
import de.intevation.artifacts.CallMeta;

import de.intevation.gnv.artifacts.ressource.RessourceFactory;

import de.intevation.gnv.geobackend.base.Result;

import de.intevation.gnv.state.StateBase;

import de.intevation.gnv.state.describedata.DefaultKeyValueDescribeData;
import de.intevation.gnv.state.describedata.KeyValueDescibeData;
import de.intevation.gnv.state.describedata.NamedArrayList;
import de.intevation.gnv.state.describedata.NamedCollection;

import de.intevation.gnv.state.exception.StateException;

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

/**
 * This states handles coordinate inputs.
 *
 * @author <a href="mailto:tim.englich@intevation.de">Tim Englich</a>
 */
public class NorthSouthEastWestState extends StateBase {


    /**
     * The UID of this Class
     */
    private static final long serialVersionUID = -7989531326553305293L;

    protected String ipos;
    protected String jpos;

    /**
     * Constructor
     */
    public NorthSouthEastWestState() {
    }


    @Override
    protected List<Object> purifyResult(Collection<Result> result, String uuid) {
        List<Object> describeData = new ArrayList<Object>();

        NamedCollection<KeyValueDescibeData> keyValueDescibeData =
            new NamedArrayList<KeyValueDescibeData>(dataName, 2);

        keyValueDescibeData.setMultiSelect(super.dataMultiSelect);
        keyValueDescibeData.add(new DefaultKeyValueDescribeData(
            "IPOSITION", ipos));
        keyValueDescibeData.add(new DefaultKeyValueDescribeData(
            "JPOSITION", jpos));
        describeData.add(keyValueDescibeData);

        return describeData;
    }


    @Override
    public void initialize(String uuid, CallContext context)
    throws StateException
    {
        CallMeta callMeta        = context.getMeta();
        RessourceFactory factory = RessourceFactory.getInstance();

        // XXX Workarround - we need these strings in purifyResult, but have no
        // CallMeta object there which is necessary to get resources from
        // RessourceFactory. Storing the strings here is not nice, because the
        // Locale object could change!
        ipos = factory.getRessource(
            callMeta.getLanguages(), "iposition", "iposition");
        jpos = factory.getRessource(
            callMeta.getLanguages(), "jposition", "jposition");
    }
}
// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org