felix@1085: package de.intevation.flys.artifacts.model; felix@1085: ingo@1679: import java.util.ArrayList; ingo@1679: import java.util.List; ingo@1679: felix@1085: import de.intevation.artifacts.Artifact; felix@1085: import de.intevation.artifacts.CallContext; ingo@1679: felix@1085: import de.intevation.artifactdatabase.state.DefaultFacet; ingo@1679: ingo@1679: import de.intevation.flys.artifacts.MainValuesArtifact; felix@1085: import de.intevation.flys.artifacts.model.FacetTypes; ingo@1679: import de.intevation.flys.jfree.FLYSAnnotation; ingo@1679: import de.intevation.flys.jfree.StickyAxisAnnotation; felix@1085: felix@2161: felix@1085: /** felix@1085: * Facet to show Main W Values. felix@1085: */ felix@1085: public class MainValuesWFacet felix@1085: extends DefaultFacet felix@1085: implements FacetTypes { felix@1085: felix@1957: /** Do we want MainValues at Gauge (not interpolated)? */ felix@1957: protected boolean isAtGauge; felix@1957: felix@1085: /** Trivial Constructor. */ felix@1957: public MainValuesWFacet(String name, String description, boolean atGauge) { felix@1112: this.description = description; felix@1809: this.name = name; felix@1957: this.index = 0; felix@1957: this.isAtGauge = atGauge; felix@1085: } felix@1085: felix@1085: felix@1085: /** felix@1085: * Returns the data this facet requires. felix@1085: * felix@1085: * @param artifact the owner artifact. felix@1085: * @param context the CallContext (ignored). felix@1085: * felix@1085: * @return the data. felix@1085: */ felix@1085: @Override felix@1085: public Object getData(Artifact artifact, CallContext context) { felix@1085: MainValuesArtifact mvArtifact = (MainValuesArtifact) artifact; ingo@1679: felix@1957: List ws = mvArtifact.getMainValuesW(isAtGauge); felix@2161: List xy = new ArrayList(); ingo@1679: ingo@1679: for (NamedDouble w: ws) { ingo@1679: xy.add(new StickyAxisAnnotation( ingo@1679: w.getName(), ingo@1679: (float) w.getValue(), ingo@1679: StickyAxisAnnotation.SimpleAxis.Y_AXIS)); ingo@1679: } ingo@1679: ingo@1679: return new FLYSAnnotation(description, xy); felix@1085: } felix@1085: felix@1085: felix@1085: /** felix@1085: * Create a deep copy of this Facet. felix@1085: * @return a deep copy. felix@1085: */ felix@1085: @Override felix@1085: public MainValuesWFacet deepCopy() { felix@1957: MainValuesWFacet copy = new MainValuesWFacet(this.name, felix@1957: description, this.isAtGauge); felix@1085: copy.set(this); felix@1085: return copy; felix@1085: } felix@1085: } felix@1809: // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :