[PATCH 3 of 3] BedDiff*Generator: Refactored to avoid code dupes. The problematic setting
Wald Commits
scm-commit at wald.intevation.org
Wed Jul 10 09:56:23 CEST 2013
# HG changeset patch
# User Felix Wolfsteller <felix.wolfsteller at intevation.de>
# Date 1373443552 -7200
# Node ID 8c226c5089e0d52d2dc01a47c60420a5a9d82a7d
# Parent 7cf3b3bcd439a4a131ef74417379fca9870a21c6
BedDiff*Generator: Refactored to avoid code dupes. The problematic setting
will not crash anymore, but diagram will be empty.
diff -r 7cf3b3bcd439 -r 8c226c5089e0 artifacts/src/main/java/org/dive4elements/river/exports/minfo/BedDiffBaseGenerator.java
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/artifacts/src/main/java/org/dive4elements/river/exports/minfo/BedDiffBaseGenerator.java Wed Jul 10 10:05:52 2013 +0200
@@ -0,0 +1,58 @@
+/* Copyright (C) 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.dive4elements.artifactdatabase.state.ArtifactAndFacet;
+import org.dive4elements.river.artifacts.model.minfo.BedDifferencesResult;
+import org.dive4elements.river.jfree.Bounds;
+import org.dive4elements.river.jfree.DoubleBounds;
+import org.dive4elements.river.exports.fixings.FixChartGenerator;
+
+/** Base for BedDiff*Year*Generators, to avoid duplicate code of setContextBounds. */
+public abstract class BedDiffBaseGenerator
+extends FixChartGenerator
+{
+ /** The logger that is used in this generator. */
+ private static Logger logger = Logger.getLogger(BedDiffBaseGenerator.class);
+
+ /** Set context values for something. */
+ public void setContextBounds(ArtifactAndFacet bundle) {
+ Bounds xBounds = getXBounds(0);
+ if (xBounds != null && getDomainAxisRange() != null) {
+ Bounds bounds =
+ calculateZoom(xBounds, getDomainAxisRange());
+ context.putContextValue("startkm", bounds.getLower());
+ context.putContextValue("endkm", bounds.getUpper());
+ }
+ else if (xBounds != null && getDomainAxisRange() == null) {
+ context.putContextValue("startkm", xBounds.getLower());
+ context.putContextValue("endkm", xBounds.getUpper());
+ }
+ else if (xBounds == null && getDomainAxisRange() == null) {
+ BedDifferencesResult data = (BedDifferencesResult)bundle.getData(context);
+ if (data.getKms().size() > 0) {
+ context.putContextValue("startkm", data.getKms().min());
+ context.putContextValue("endkm", data.getKms().max());
+ }
+ else {
+ logger.warn("No data to define start and end km");
+ }
+ }
+ else if (xBounds == null && getDomainAxisRange() != null){
+ BedDifferencesResult data = (BedDifferencesResult)bundle.getData(context);
+ Bounds b = new DoubleBounds(data.getKms().min(), data.getKms().max());
+ Bounds bounds =
+ calculateZoom(b, getDomainAxisRange());
+ context.putContextValue("startkm", bounds.getLower());
+ context.putContextValue("endkm", bounds.getUpper());
+ }
+ }
+}
diff -r 7cf3b3bcd439 -r 8c226c5089e0 artifacts/src/main/java/org/dive4elements/river/exports/minfo/BedDiffHeightYearGenerator.java
--- a/artifacts/src/main/java/org/dive4elements/river/exports/minfo/BedDiffHeightYearGenerator.java Wed Jul 10 09:31:43 2013 +0200
+++ b/artifacts/src/main/java/org/dive4elements/river/exports/minfo/BedDiffHeightYearGenerator.java Wed Jul 10 10:05:52 2013 +0200
@@ -28,7 +28,7 @@
public class BedDiffHeightYearGenerator
-extends FixChartGenerator
+extends BedDiffBaseGenerator
implements FacetTypes
{
public enum YAXIS {
@@ -120,36 +120,6 @@
}
}
- public void setContextBounds(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) {
- BedDifferencesResult data = (BedDifferencesResult)bundle.getData(context);
- if (data.getKms().size() > 0) {
- context.putContextValue("startkm", data.getKms().min());
- context.putContextValue("endkm", data.getKms().max());
- }
- else {
- logger.warn("No data to define start and end km");
- }
- }
- else if (getXBounds(0) == null && getDomainAxisRange() != null){
- BedDifferencesResult data = (BedDifferencesResult)bundle.getData(context);
- Bounds b = new DoubleBounds(data.getKms().min(), data.getKms().max());
- Bounds bounds =
- calculateZoom(b, getDomainAxisRange());
- context.putContextValue("startkm", bounds.getLower());
- context.putContextValue("endkm", bounds.getUpper());
- }
- }
@Override
protected String getDefaultChartTitle() {
diff -r 7cf3b3bcd439 -r 8c226c5089e0 artifacts/src/main/java/org/dive4elements/river/exports/minfo/BedDifferenceYearGenerator.java
--- a/artifacts/src/main/java/org/dive4elements/river/exports/minfo/BedDifferenceYearGenerator.java Wed Jul 10 09:31:43 2013 +0200
+++ b/artifacts/src/main/java/org/dive4elements/river/exports/minfo/BedDifferenceYearGenerator.java Wed Jul 10 10:05:52 2013 +0200
@@ -34,7 +34,7 @@
public class BedDifferenceYearGenerator
-extends FixChartGenerator
+extends BedDiffBaseGenerator
implements FacetTypes
{
public enum YAXIS {
@@ -86,36 +86,6 @@
};
}
- public void setContextBounds(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) {
- BedDifferencesResult data = (BedDifferencesResult)bundle.getData(context);
- if (data.getKms().size() > 0) {
- context.putContextValue("startkm", data.getKms().min());
- context.putContextValue("endkm", data.getKms().max());
- }
- else {
- logger.warn("No data to define start and end km");
- }
- }
- else if (getXBounds(0) == null && getDomainAxisRange() != null){
- BedDifferencesResult data = (BedDifferencesResult)bundle.getData(context);
- Bounds b = new DoubleBounds(data.getKms().min(), data.getKms().max());
- Bounds bounds =
- calculateZoom(b, getDomainAxisRange());
- context.putContextValue("startkm", bounds.getLower());
- context.putContextValue("endkm", bounds.getUpper());
- }
- }
@Override
public void doOut(ArtifactAndFacet bundle, Document attr, boolean visible) {
@@ -134,7 +104,9 @@
return;
}
- setContextBounds(bundle);
+ if (bundle.getData(context) instanceof BedDifferencesResult) {
+ setContextBounds(bundle);
+ }
Processor processor = new KMIndexProcessor();
Processor woutp = new WOutProcessor();
More information about the Dive4elements-commits
mailing list