# HG changeset patch # User Raimund Renkert # Date 1402066801 -7200 # Node ID eb052d759fcc421c7b0b572001a9f98febc917f9 # Parent 868f55932fe6ebb53415cf338669812d3c4b150e Removed obsolete bed height epoch files. diff -r 868f55932fe6 -r eb052d759fcc artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/BedDiffEpochFacet.java --- a/artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/BedDiffEpochFacet.java Fri Jun 06 16:59:16 2014 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,60 +0,0 @@ -/* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde - * Software engineering by Intevation GmbH - * - * This file is Free Software under the GNU AGPL (>=v3) - * and comes with ABSOLUTELY NO WARRANTY! Check out the - * documentation coming with Dive4Elements River for details. - */ - -package org.dive4elements.river.artifacts.model.minfo; - -import org.apache.log4j.Logger; - -import org.dive4elements.artifactdatabase.state.Facet; -import org.dive4elements.artifacts.Artifact; -import org.dive4elements.artifacts.CallContext; -import org.dive4elements.river.artifacts.D4EArtifact; -import org.dive4elements.river.artifacts.model.CalculationResult; -import org.dive4elements.river.artifacts.model.DataFacet; -import org.dive4elements.river.artifacts.states.DefaultState.ComputeType; - - -public class BedDiffEpochFacet -extends DataFacet -{ - private static Logger logger = Logger.getLogger(BedDiffEpochFacet.class); - - public BedDiffEpochFacet() { - } - - public BedDiffEpochFacet(int idx, String name, String description, - ComputeType type, String stateId, String hash) { - super(idx, name, description, type, hash, stateId); - } - - public Object getData(Artifact artifact, CallContext context) { - logger.debug("Get data for bed density at index: " + index); - - D4EArtifact flys = (D4EArtifact) artifact; - - CalculationResult res = (CalculationResult) flys.compute(context, hash, - stateId, type, false); - - BedDiffEpochResult[] data = - (BedDiffEpochResult[]) res.getData(); - - return data != null && data.length > index ? data[index] : null; - } - - /** Copy deeply. */ - @Override - public Facet deepCopy() { - BedDiffEpochFacet copy = new BedDiffEpochFacet(); - copy.set(this); - copy.type = type; - copy.hash = hash; - copy.stateId = stateId; - return copy; - } -} -// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : diff -r 868f55932fe6 -r eb052d759fcc artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/BedDiffEpochFilterFacet.java --- a/artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/BedDiffEpochFilterFacet.java Fri Jun 06 16:59:16 2014 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,88 +0,0 @@ -/* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde - * Software engineering by Intevation GmbH - * - * This file is Free Software under the GNU AGPL (>=v3) - * and comes with ABSOLUTELY NO WARRANTY! Check out the - * documentation coming with Dive4Elements River for details. - */ - -package org.dive4elements.river.artifacts.model.minfo; - -import org.apache.log4j.Logger; - -import org.dive4elements.artifactdatabase.state.Facet; -import org.dive4elements.artifacts.Artifact; -import org.dive4elements.artifacts.CallContext; -import org.dive4elements.river.artifacts.D4EArtifact; -import org.dive4elements.river.artifacts.access.RiverAccess; -import org.dive4elements.river.artifacts.context.RiverContext; -import org.dive4elements.river.artifacts.model.CalculationResult; -import org.dive4elements.river.artifacts.model.DataFacet; -import org.dive4elements.river.artifacts.math.MovingAverage; -import org.dive4elements.river.artifacts.model.ZoomScale; -import org.dive4elements.river.artifacts.states.DefaultState.ComputeType; - - -public class BedDiffEpochFilterFacet -extends DataFacet -{ - private static Logger logger = Logger.getLogger(BedDiffEpochFilterFacet.class); - - public BedDiffEpochFilterFacet() { - } - - public BedDiffEpochFilterFacet(int idx, String name, String description, - ComputeType type, String stateId, String hash) { - super(idx, name, description, type, hash, stateId); - } - - public Object getData(Artifact artifact, CallContext context) { - logger.debug("Get data for bed density at index: " + index); - - D4EArtifact flys = (D4EArtifact) artifact; - - CalculationResult res = (CalculationResult) flys.compute(context, hash, - stateId, type, false); - - BedDiffEpochResult[] data = - (BedDiffEpochResult[]) res.getData(); // TODO CAST TO SPECIFIC CLASS - Double start = (Double)context.getContextValue("startkm"); - Double end = (Double)context.getContextValue("endkm"); - - if(start != null && end != null) { - RiverContext fc = (RiverContext)context.globalContext(); - ZoomScale scales = (ZoomScale)fc.get("zoomscale"); - RiverAccess access = new RiverAccess((D4EArtifact)artifact); - String river = access.getRiverName(); - - double radius = scales.getRadius(river, start, end); - BedDiffEpochResult oldData = data[index]; - BedDiffEpochResult newData = new BedDiffEpochResult(); - newData.setStart(oldData.getStart()); - newData.setEnd(oldData.getEnd()); - double[][] diffs = MovingAverage.weighted(oldData.getDifferencesData(), radius); - double[][] heights1 = MovingAverage.weighted(oldData.getHeights1Data(), radius); - double[][] heights2 = MovingAverage.weighted(oldData.getHeights2Data(), radius); - for(int j = 0; j < diffs[0].length; j++) { - newData.addKm(diffs[0][j]); - newData.addDifference(diffs[1][j]); - newData.addHeight1(heights1[1][j]); - newData.addHeight2(heights2[1][j]); - } - return newData; - } - return data != null && data.length > index ? data[index] : null; - } - - /** Copy deeply. */ - @Override - public Facet deepCopy() { - BedDiffEpochFilterFacet copy = new BedDiffEpochFilterFacet(); - copy.set(this); - copy.type = type; - copy.hash = hash; - copy.stateId = stateId; - return copy; - } -} -// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : diff -r 868f55932fe6 -r eb052d759fcc artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/BedDiffEpochResult.java --- a/artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/BedDiffEpochResult.java Fri Jun 06 16:59:16 2014 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,72 +0,0 @@ -/* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde - * Software engineering by Intevation GmbH - * - * This file is Free Software under the GNU AGPL (>=v3) - * and comes with ABSOLUTELY NO WARRANTY! Check out the - * documentation coming with Dive4Elements River for details. - */ - -package org.dive4elements.river.artifacts.model.minfo; - -import java.util.Calendar; -import java.util.Date; - -import gnu.trove.TDoubleArrayList; - - -public class BedDiffEpochResult -extends BedDifferencesResult -{ - - protected Date start; - protected Date end; - - public BedDiffEpochResult () { - super(); - } - - public BedDiffEpochResult ( - TDoubleArrayList kms, - TDoubleArrayList differences, - TDoubleArrayList heights1, - TDoubleArrayList heights2, - Date start, - Date end - ) { - super(kms, differences, heights1, heights2); - this.start = start; - this.end = end; - } - - public Date getStart() { - return this.start; - } - - public void setStart(Date value) { - this.start = value; - } - - public void setEnd(Date value) { - this.end = value; - } - - public Date getEnd() { - return this.end; - } - - private static final int extractYear(Date date) { - if (date == null) { - return 0; - } - Calendar c = Calendar.getInstance(); - c.setTime(date); - return c.get(Calendar.YEAR); - } - - @Override - public String getDiffDescription() { - int y1 = extractYear(start); - int y2 = extractYear(end); - return y1 + " - " + y2; - } -} diff -r 868f55932fe6 -r eb052d759fcc artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/BedHeightEpochData.java --- a/artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/BedHeightEpochData.java Fri Jun 06 16:59:16 2014 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,50 +0,0 @@ -/* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde - * Software engineering by Intevation GmbH - * - * This file is Free Software under the GNU AGPL (>=v3) - * and comes with ABSOLUTELY NO WARRANTY! Check out the - * documentation coming with Dive4Elements River for details. - */ - -package org.dive4elements.river.artifacts.model.minfo; - -import java.util.Date; - - -public class BedHeightEpochData -extends BedHeightData -{ - - protected Date start; - protected Date end; - - public BedHeightEpochData() { - this.start = new Date(); - this.end = new Date(); - } - - public BedHeightEpochData(String name) { - super(name); - this.start = new Date(); - this.end = new Date(); - } - - public void add( - double value, - double station, - Date start, - Date end - ) { - super.add(value, station); - this.start = start; - this.end = end; - } - - public Date getStart() { - return start; - } - - public Date getEnd() { - return end; - } -} diff -r 868f55932fe6 -r eb052d759fcc artifacts/src/main/java/org/dive4elements/river/exports/minfo/BedDiffEpochInfoGenerator.java --- a/artifacts/src/main/java/org/dive4elements/river/exports/minfo/BedDiffEpochInfoGenerator.java Fri Jun 06 16:59:16 2014 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,20 +0,0 @@ -/* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde - * Software engineering by Intevation GmbH - * - * This file is Free Software under the GNU AGPL (>=v3) - * and comes with ABSOLUTELY NO WARRANTY! Check out the - * documentation coming with Dive4Elements River for details. - */ - -package org.dive4elements.river.exports.minfo; - -import org.dive4elements.river.exports.ChartInfoGenerator; - - -public class BedDiffEpochInfoGenerator -extends ChartInfoGenerator -{ - public BedDiffEpochInfoGenerator() { - super(new BedDifferenceEpochGenerator()); - } -} diff -r 868f55932fe6 -r eb052d759fcc artifacts/src/main/java/org/dive4elements/river/exports/minfo/BedDifferenceEpochGenerator.java --- a/artifacts/src/main/java/org/dive4elements/river/exports/minfo/BedDifferenceEpochGenerator.java Fri Jun 06 16:59:16 2014 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,269 +0,0 @@ -/* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde - * Software engineering by Intevation GmbH - * - * This file is Free Software under the GNU AGPL (>=v3) - * and comes with ABSOLUTELY NO WARRANTY! Check out the - * documentation coming with Dive4Elements River for details. - */ - -package org.dive4elements.river.exports.minfo; - -import org.apache.log4j.Logger; -import org.jfree.data.xy.XYSeries; - -import org.dive4elements.artifactdatabase.state.ArtifactAndFacet; -import org.dive4elements.artifactdatabase.state.Facet; -import org.dive4elements.river.artifacts.D4EArtifact; -import org.dive4elements.river.artifacts.access.FlowVelocityAccess; -import org.dive4elements.river.artifacts.model.FacetTypes; -import org.dive4elements.river.artifacts.model.WKms; -import org.dive4elements.river.artifacts.model.minfo.BedDiffEpochResult; -import org.dive4elements.river.exports.StyledSeriesBuilder; -import org.dive4elements.river.exports.fixings.FixChartGenerator; -import org.dive4elements.river.exports.process.KMIndexProcessor; -import org.dive4elements.river.exports.process.Processor; -import org.dive4elements.river.exports.process.WOutProcessor; -import org.dive4elements.river.jfree.Bounds; -import org.dive4elements.river.jfree.DoubleBounds; -import org.dive4elements.river.jfree.RiverAnnotation; -import org.dive4elements.river.jfree.StyledXYSeries; -import org.dive4elements.river.themes.ThemeDocument; -import org.dive4elements.river.utils.RiverUtils; - - -public class BedDifferenceEpochGenerator -extends FixChartGenerator -implements FacetTypes -{ - public enum YAXIS { - D(0), H(1), dW(2), W(3); - - protected int idx; - - private YAXIS(int c) { - idx = c; - } - } - - /** The logger that is used in this generator. */ - private static Logger logger = Logger.getLogger(BedDifferenceEpochGenerator.class); - - public static final String I18N_CHART_TITLE = "chart.beddifference.epoch.title"; - public static final String I18N_XAXIS_LABEL = "chart.beddifference.xaxis.label"; - public static final String I18N_YAXIS_LABEL = "chart.beddifference.yaxis.label.diff"; - public static final String I18N_SECOND_YAXIS_LABEL = "chart.beddifference.yaxis.label.height"; - - public static final String I18N_CHART_TITLE_DEFAULT = "Sohlenhöhen Differenz"; - public static final String I18N_XAXIS_LABEL_DEFAULT = "Fluss-Km"; - public static final String I18N_YAXIS_LABEL_DEFAULT = "delta S [m]"; - public static final String I18N_SECOND_YAXIS_LABEL_DEFAULT = "Höhe [m]"; - public static final String I18N_DW_YAXIS_LABEL_DEFAULT = - "delta W [cm]"; - public static final String I18N_DW_YAXIS_LABEL = - "chart.fixings.longitudinalsection.yaxis.label"; - - private static final String I18N_W_YAXIS_LABEL = - "chart.longitudinal.section.yaxis.label"; - private static final String I18N_W_YAXIS_LABEL_DEFAULT = "W [NN + m]"; - - - @Override - protected YAxisWalker getYAxisWalker() { - return new YAxisWalker() { - - @Override - public int length() { - return YAXIS.values().length; - } - - @Override - public String getId(int idx) { - YAXIS[] yaxes = YAXIS.values(); - return yaxes[idx].toString(); - } - }; - } - - @Override - public void doOut(ArtifactAndFacet bundle, ThemeDocument attr, boolean visible) { - String name = bundle.getFacetName(); - - logger.debug("doOut: " + name); - - if (name == null) { - logger.error("No facet name for doOut(). No output generated!"); - return; - } - - Facet facet = bundle.getFacet(); - - if (facet == null) { - return; - } - - setContextBoundsEpoch(bundle); - - Processor processor = new KMIndexProcessor(); - Processor woutp = new WOutProcessor(); - if (name.equals(BED_DIFFERENCE_EPOCH)) { - doBedDifferenceEpochOut( - (BedDiffEpochResult) bundle.getData(context), - bundle, attr, visible); - } - else if (name.equals(BED_DIFFERENCE_EPOCH_HEIGHT1)) { - doBedDifferenceHeightsOut((BedDiffEpochResult)bundle.getData(context), - bundle, attr, visible, 0); - } - else if (name.equals(BED_DIFFERENCE_EPOCH_HEIGHT2)) { - doBedDifferenceHeightsOut((BedDiffEpochResult)bundle.getData(context), - bundle, attr, visible, 1); - } - else if (name.equals(BED_DIFFERENCE_EPOCH_FILTERED)) { - doBedDifferenceEpochOut( - (BedDiffEpochResult) bundle.getData(context), - bundle, attr, visible); - } - else if (name.equals(BED_DIFFERENCE_EPOCH_HEIGHT1_FILTERED)) { - doBedDifferenceHeightsOut((BedDiffEpochResult)bundle.getData(context), - bundle, attr, visible, 0); - } - else if (name.equals(BED_DIFFERENCE_EPOCH_HEIGHT2_FILTERED)) { - doBedDifferenceHeightsOut((BedDiffEpochResult)bundle.getData(context), - bundle, attr, visible, 1); - } - else if (processor.canHandle(name)) { - processor.doOut(this, bundle, attr, visible, YAXIS.dW.idx); - } - else if (woutp.canHandle(name)) { - woutp.doOut(this, bundle, attr, visible, YAXIS.W.idx); - } - else if (name.equals(W_DIFFERENCES)) { - doWDifferencesOut( - (WKms) bundle.getData(context), - bundle, - attr, - visible); - } - else if (name.equals(LONGITUDINAL_ANNOTATION)) { - doAnnotations( - (RiverAnnotation) bundle.getData(context), - bundle, - attr, - visible); - } - else { - logger.warn("Unknown facet name " + name); - } - } - - protected void setContextBoundsEpoch(ArtifactAndFacet bundle) { - if (getXBounds(0) != null && getDomainAxisRange() != null) { - Bounds bounds = - calculateZoom(getXBounds(0), getDomainAxisRange()); - context.putContextValue("startkm", bounds.getLower()); - context.putContextValue("endkm", bounds.getUpper()); - } - else if (getXBounds(0) != null && getDomainAxisRange() == null) { - context.putContextValue("startkm", getXBounds(0).getLower()); - context.putContextValue("endkm", getXBounds(0).getUpper()); - } - else if (getXBounds(0) == null && getDomainAxisRange() == null) { - D4EArtifact artifact = (D4EArtifact)bundle.getArtifact(); - FlowVelocityAccess access = new FlowVelocityAccess(artifact); - context.putContextValue("startkm", access.getLowerKM()); - context.putContextValue("endkm", access.getUpperKM()); - } - else if (getXBounds(0) == null && getDomainAxisRange() != null){ - D4EArtifact artifact = (D4EArtifact)bundle.getArtifact(); - FlowVelocityAccess access = new FlowVelocityAccess(artifact); - Bounds b = new DoubleBounds(access.getLowerKM(), access.getUpperKM()); - Bounds bounds = - calculateZoom(b, getDomainAxisRange()); - context.putContextValue("startkm", bounds.getLower()); - context.putContextValue("endkm", bounds.getUpper()); - } - } - - @Override - protected String getDefaultChartTitle() { - return msg(I18N_CHART_TITLE, I18N_CHART_TITLE_DEFAULT); - } - - @Override - protected String getDefaultXAxisLabel() { - return msg(I18N_XAXIS_LABEL, - I18N_XAXIS_LABEL_DEFAULT, - new Object[] {getRiverName()}); - } - - @Override - protected String getDefaultYAxisLabel(int pos) { - String label = "default"; - if (pos == YAXIS.D.idx) { - label = msg(I18N_YAXIS_LABEL, I18N_YAXIS_LABEL_DEFAULT); - } - else if (pos == YAXIS.H.idx) { - D4EArtifact flys = (D4EArtifact) master; - label = msg(I18N_SECOND_YAXIS_LABEL, - I18N_SECOND_YAXIS_LABEL_DEFAULT, - new Object[] - { RiverUtils.getRiver(flys).getWstUnit().getName() }); - } - else if (pos == YAXIS.dW.idx) { - return msg(I18N_DW_YAXIS_LABEL, I18N_DW_YAXIS_LABEL_DEFAULT); - } - else if (pos == YAXIS.W.idx) { - return msg(I18N_W_YAXIS_LABEL, I18N_W_YAXIS_LABEL_DEFAULT); - } - return label; - } - - protected void doBedDifferenceEpochOut(BedDiffEpochResult data, - ArtifactAndFacet aandf, ThemeDocument theme, boolean visible) { - - XYSeries series = new StyledXYSeries(aandf.getFacetDescription(), theme); - StyledSeriesBuilder.addPoints(series, data.getDifferencesData(), true); - - addAxisSeries(series, YAXIS.D.idx, visible); - } - - private void doBedDifferenceHeightsOut( - BedDiffEpochResult data, - ArtifactAndFacet bundle, - ThemeDocument attr, - boolean visible, - int idx) { - logger.debug("doBedDifferenceHeightOut()"); - - XYSeries series = new StyledXYSeries(bundle.getFacetDescription(), attr); - if (idx == 0) { - StyledSeriesBuilder.addPoints(series, data.getHeights1Data(), true); - } - else { - StyledSeriesBuilder.addPoints(series, data.getHeights2Data(), true); - } - - addAxisSeries(series, YAXIS.H.idx, visible); - } - - protected void doWDifferencesOut( - WKms wkms, - ArtifactAndFacet aandf, - ThemeDocument theme, - boolean visible - ) { - if (wkms == null) { - logger.warn("No data to add to WDifferencesChart."); - return; - } - - XYSeries series = new StyledXYSeries(aandf.getFacetDescription(), theme); - StyledSeriesBuilder.addPoints(series, wkms); - - addAxisSeries(series, YAXIS.D.idx, visible); - if (wkms.guessWaterIncreasing()) { - setInverted(true); - } - } -} -// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :