view gnv/src/main/java/de/intevation/gnv/action/sessionmodel/DefaultSessionModel.java @ 38:fccf90761825

Format Code to max 80 Chars per Row better Formatter choosen gnv/trunk@174 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Tim Englich <tim.englich@intevation.de>
date Fri, 02 Oct 2009 09:10:36 +0000
parents ad381cc47217
children 5570d9b3282f
line wrap: on
line source
/**
 *
 */
package de.intevation.gnv.action.sessionmodel;

import java.util.Collection;
import java.util.Iterator;

import org.apache.log4j.Logger;

import de.intevation.gnv.artifactdatabase.objects.ArtifactDescription;
import de.intevation.gnv.artifactdatabase.objects.ArtifactObject;
import de.intevation.gnv.artifactdatabase.objects.ArtifactStatisticValue;
import de.intevation.gnv.artifactdatabase.objects.OutputMode;

/**
 * @author Tim Englich <tim.englich@intevation.de>
 * 
 */
public class DefaultSessionModel implements SessionModel {

    /**
     * the logger, used to log exceptions and additonaly information
     */
    private static Logger log = Logger.getLogger(DefaultSessionModel.class);

    /**
     * The UID of this Class.
     */
    private static final long serialVersionUID = 3431484439985158311L;

    private Collection<ArtifactObject> artifactFactories = null;

    private ArtifactObject selectedArtifactFactory = null;

    private ArtifactObject currentArtifact = null;

    private DiagrammOptions diagrammOptions = null;

    private Collection<ArtifactStatisticValue> statistics = null;

    /**
     * Constructor
     */
    public DefaultSessionModel() {
        super();
    }

    /**
     * @see de.intevation.gnv.action.sessionmodel.SessionModel#selectArtifactFactory(java.lang.String)
     */
    public void selectArtifactFactory(String artiFactFactoryId) {
        Collection<ArtifactObject> artifactObjects = this
                .getArtifactFactories();
        if (artifactObjects != null) {
            Iterator<ArtifactObject> unselect = artifactObjects.iterator();
            this.selectedArtifactFactory = null;
            while (unselect.hasNext()) {
                unselect.next().setSelected(false);
            }
            Iterator<ArtifactObject> it = artifactObjects.iterator();
            while (it.hasNext()) {
                ArtifactObject obj = it.next();
                if (obj.getId().equals(artiFactFactoryId)) {
                    obj.setSelected(true);
                    this.selectedArtifactFactory = obj;
                    break;
                }
            }
        }
    }

    /**
     * @see de.intevation.gnv.action.sessionmodel.SessionModel#setArtifacteFactories(java.util.Collection)
     */
    public void setArtifacteFactories(
                                      Collection<ArtifactObject> artifactFactories) {
        this.artifactFactories = artifactFactories;
    }

    /**
     * @see de.intevation.gnv.action.sessionmodel.SessionModel#getAttributeFactories()
     */
    public Collection<ArtifactObject> getArtifactFactories() {
        return this.artifactFactories;
    }

    /**
     * @see de.intevation.gnv.action.sessionmodel.SessionModel#getSelectedArtifactFactory()
     */
    public ArtifactObject getSelectedArtifactFactory() {
        return this.selectedArtifactFactory;
    }

    /**
     * @see de.intevation.gnv.action.sessionmodel.SessionModel#getCurrentArtifact()
     */
    public ArtifactObject getCurrentArtifact() {
        return this.currentArtifact;
    }

    /**
     * @see de.intevation.gnv.action.sessionmodel.SessionModel#setCurrentArtifact(de.intevation.gnv.artifactdatabase.objects.ArtifactObject)
     */
    public void setCurrentArtifact(ArtifactObject artifact) {
        this.currentArtifact = artifact;
    }

    /**
     * @see de.intevation.gnv.action.sessionmodel.SessionModel#getDiagrammOptions()
     */
    public DiagrammOptions getDiagrammOptions() {
        return this.diagrammOptions;
    }

    /**
     * @see de.intevation.gnv.action.sessionmodel.SessionModel#setDiagrammOptions(de.intevation.gnv.action.sessionmodel.DiagrammOptions)
     */
    public void setDiagrammOptions(DiagrammOptions diagrammOptions) {
        this.diagrammOptions = diagrammOptions;
    }

    /**
     * @see de.intevation.gnv.action.sessionmodel.SessionModel#getArtifactDescription()
     */
    public ArtifactDescription getArtifactDescription() {
        if (this.currentArtifact != null) {
            return (ArtifactDescription) this.currentArtifact;
        }
        return null;
    }

    /**
     * @see de.intevation.gnv.action.sessionmodel.SessionModel#getOutputMode(java.lang.String)
     */
    public OutputMode getOutputMode(String name) {
        ArtifactDescription ad = this.getArtifactDescription();
        if (ad != null) {
            if (ad.getOutputModes() != null) {
                return ad.getOutputModes().get(name);
            }
        }
        return null;
    }

    /**
     * @see de.intevation.gnv.action.sessionmodel.SessionModel#resetModel()
     */
    public void resetModel() {
        log.debug("DefaultSessionModel.resetModel");
        this.selectedArtifactFactory = null;
        this.currentArtifact = null;
        this.diagrammOptions = null;
        this.statistics = null;

    }

    /**
     * @see de.intevation.gnv.action.sessionmodel.SessionModel#getStatistics()
     */
    public Collection<ArtifactStatisticValue> getStatistics() {
        return this.statistics;
    }

    /**
     * @see de.intevation.gnv.action.sessionmodel.SessionModel#setStatistics(java.util.Collection)
     */
    public void setStatistics(Collection<ArtifactStatisticValue> statistics) {
        this.statistics = statistics;
    }
}

http://dive4elements.wald.intevation.org