bjoern@4377: package de.intevation.flys.exports.fixings; bjoern@4377: bjoern@4377: import org.apache.log4j.Logger; bjoern@4377: import org.jfree.data.xy.XYSeries; bjoern@4377: import org.jfree.data.xy.XYSeriesCollection; bjoern@4377: import org.w3c.dom.Document; bjoern@4377: bjoern@4377: import de.intevation.artifactdatabase.state.ArtifactAndFacet; bjoern@4377: import de.intevation.flys.artifacts.model.fixings.AnalysisPeriod; bjoern@4377: import de.intevation.flys.artifacts.model.fixings.QWD; bjoern@4377: import de.intevation.flys.jfree.StyledXYSeries; bjoern@4377: import de.intevation.flys.utils.KMIndex; bjoern@4377: bjoern@4377: public abstract class AbstractFixGenerator extends FixChartGenerator { bjoern@4377: bjoern@4377: public static final String I18N_DW_YAXIS_LABEL_DEFAULT = bjoern@4377: "delta W [cm]"; bjoern@4377: bjoern@4377: public static final String I18N_DW_YAXIS_LABEL = bjoern@4377: "chart.fixings.longitudinalsection.yaxis.label"; bjoern@4377: bjoern@4377: private final static Logger logger = bjoern@4439: Logger.getLogger(AbstractFixGenerator.class); bjoern@4439: bjoern@4377: @SuppressWarnings("unchecked") bjoern@4377: protected void doSectorAverageOut(ArtifactAndFacet aaf, Document doc, boolean visible, int idx) { bjoern@4377: logger.debug("doSectorAverageOut" + aaf.getFacet().getIndex()); bjoern@4377: bjoern@4377: int index = aaf.getFacet().getIndex(); bjoern@4377: int sectorNdx = index & 3; bjoern@4377: bjoern@4377: KMIndex kms = bjoern@4377: (KMIndex)aaf.getData(context); bjoern@4377: bjoern@4377: if(kms == null) { bjoern@4377: return; bjoern@4377: } bjoern@4377: bjoern@4377: XYSeries series = new StyledXYSeries(aaf.getFacetDescription(), doc); bjoern@4377: bjoern@4377: for (KMIndex.Entry entry: kms) { bjoern@4377: double km = entry.getKm(); bjoern@4377: AnalysisPeriod ap = entry.getValue(); bjoern@4377: QWD qwd = ap.getQSectorAverages()[sectorNdx]; bjoern@4377: if (qwd == null) { bjoern@4377: continue; bjoern@4377: } bjoern@4377: double deltaW = qwd.getDeltaW(); bjoern@4377: series.add(km, deltaW); bjoern@4377: } bjoern@4377: bjoern@4377: addAxisSeries(series, idx, visible); bjoern@4377: bjoern@4377: } bjoern@4377: bjoern@4377: @SuppressWarnings("unchecked") bjoern@4377: protected void doAnalysisEventsOut(ArtifactAndFacet aaf, Document doc, boolean visible, int idx) { bjoern@4377: logger.debug("doAnalysisEventsOut"); bjoern@4377: bjoern@4377: KMIndex kms = bjoern@4377: (KMIndex)aaf.getData(context); bjoern@4377: bjoern@4377: if(kms == null) { bjoern@4377: return; bjoern@4377: } bjoern@4377: bjoern@4377: XYSeriesCollection col = new XYSeriesCollection(); bjoern@4377: bjoern@4377: StyledXYSeries series = new StyledXYSeries(aaf.getFacetDescription(), false, doc); bjoern@4377: bjoern@4377: for (KMIndex.Entry entry: kms) { bjoern@4377: double km = entry.getKm(); bjoern@4377: QWD qwd = entry.getValue(); bjoern@4377: bjoern@4377: series.add(km, qwd.getDeltaW()); bjoern@4377: } bjoern@4377: col.addSeries(series); bjoern@4377: bjoern@4377: addAxisDataset(col, idx, visible); bjoern@4377: } bjoern@4377: bjoern@4377: @SuppressWarnings("unchecked") bjoern@4377: protected void doReferenceEventsOut(ArtifactAndFacet aaf, Document doc, boolean visible, int idx) { bjoern@4377: logger.debug("doReferenceEventOut"); bjoern@4377: bjoern@4377: KMIndex kms = bjoern@4377: (KMIndex)aaf.getData(context); bjoern@4377: bjoern@4377: if(kms == null) { bjoern@4377: return; bjoern@4377: } bjoern@4377: bjoern@4377: XYSeriesCollection col = new XYSeriesCollection(); bjoern@4377: bjoern@4377: StyledXYSeries series = new StyledXYSeries(aaf.getFacetDescription(), false, doc); bjoern@4377: bjoern@4377: for (KMIndex.Entry entry: kms) { bjoern@4377: double km = entry.getKm(); bjoern@4377: QWD qwd = entry.getValue(); bjoern@4377: bjoern@4377: series.add(km, qwd.getDeltaW()); bjoern@4377: } bjoern@4377: col.addSeries(series); bjoern@4377: bjoern@4377: addAxisDataset(col, idx, visible); bjoern@4377: } bjoern@4377: bjoern@4377: }