view flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/AnnotationFacet.java @ 1677:dd9dfe1e48fa

Bugfixes for various issues: Improved rendering process of annotations. flys-artifacts/trunk@2894 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Wed, 05 Oct 2011 11:23:18 +0000
parents 3067e700fc13
children 69929c471646
line wrap: on
line source
package de.intevation.flys.artifacts.model;

import java.util.List;

import org.apache.log4j.Logger;

import de.intevation.artifacts.Artifact;
import de.intevation.artifacts.CallContext;

import de.intevation.flys.artifacts.AnnotationArtifact;
import de.intevation.flys.jfree.FLYSAnnotation;

import de.intevation.flys.model.Annotation;

import de.intevation.artifactdatabase.state.DefaultFacet;
import de.intevation.artifactdatabase.state.Facet;

/**
 * Facet to access Annotations (landmarks, POIs) of a river.
 */
public class AnnotationFacet
extends      DefaultFacet
{
    /** Logger for this class. */
    private static final Logger logger = Logger.getLogger(AnnotationFacet.class);


    /**
     * Trivial Constructor.
     */
    public AnnotationFacet() {
    }


    /**
     * Trivial Constructor for a AnnotationFacet.
     *
     * @param index       Database-Index to use.
     * @param name        Name (~type) of Facet.
     * @param description Description of Facet.
     */
    public AnnotationFacet(int index, String name, String description) {
        super(index, name, description);
    }


    /**
     * Get List of Annotations for river from Artifact.
     *
     * @param artifact (Annotation-)Artifact to query for list of Annotations.
     * @param context  Ignored.
     */
    @Override
    public Object getData(Artifact artifact, CallContext context) {
        AnnotationArtifact annotationArtifact = (AnnotationArtifact) artifact;
        List<Annotation> annotations = annotationArtifact.getAnnotations();

        return new FLYSAnnotation(description, annotations);
    }


    @Override
    public Facet deepCopy() {
        AnnotationFacet copy = new AnnotationFacet();
        copy.set(this);
        return copy;
    }
}

http://dive4elements.wald.intevation.org