# HG changeset patch # User Andre Heinecke # Date 1423827278 -3600 # Node ID 422a78fbb4df6cb1eb60248b21eec49895ba7489 # Parent 84929f882fa235bd1896c74b6f8f28149021cbbc (issue1753) Add SQ Measurement dates as text annotations to points diff -r 84929f882fa2 -r 422a78fbb4df artifacts/src/main/java/org/dive4elements/river/exports/process/SQRelationProcessor.java --- a/artifacts/src/main/java/org/dive4elements/river/exports/process/SQRelationProcessor.java Fri Feb 13 12:34:06 2015 +0100 +++ b/artifacts/src/main/java/org/dive4elements/river/exports/process/SQRelationProcessor.java Fri Feb 13 12:34:38 2015 +0100 @@ -9,15 +9,23 @@ package org.dive4elements.river.exports.process; import java.util.Map; +import java.util.List; +import java.util.ArrayList; +import java.text.DateFormat; import org.apache.log4j.Logger; import org.dive4elements.artifactdatabase.state.ArtifactAndFacet; import org.dive4elements.artifacts.CallContext; +import org.dive4elements.artifacts.CallMeta; +import org.dive4elements.river.artifacts.resources.Resources; import org.dive4elements.river.exports.DiagramGenerator; import org.dive4elements.river.jfree.StyledXYSeries; +import org.dive4elements.river.jfree.RiverAnnotation; import org.dive4elements.river.themes.ThemeDocument; import org.dive4elements.river.artifacts.model.FacetTypes; +import org.dive4elements.river.jfree.CollisionFreeXYTextAnnotation; +import org.jfree.chart.annotations.XYTextAnnotation; import org.dive4elements.river.jfree.JFreeUtil; @@ -70,14 +78,29 @@ SQ[] sqs = (SQ[]) data; series = new StyledXYSeries(desc, theme); + List xy = new ArrayList(); + + DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.SHORT, + Resources.getLocale(context.getMeta())); for (SQ sq: sqs) { double q = sq.getQ(); double s = sq.getS(); if (s > 0d && q > 0d) { series.add(q, s, false); + // Annotate with measurement date + if (sq.getDate() != null) { + xy.add(new CollisionFreeXYTextAnnotation(dateFormat.format(sq.getDate()), q, s)); + } } } + + if (visible && theme.parseShowPointLabel()) { + + RiverAnnotation annotation = new RiverAnnotation("Messdatum", null, null, theme); + annotation.setTextAnnotations(xy); + generator.addAnnotations(annotation); + } } else { log.error("Could not handle: " + facetName); return;