# HG changeset patch # User Ingo Weinzierl # Date 1308218744 0 # Node ID 22e4bffbe2405dbaf77a3e6ef7c56fa4fc56ce2f # Parent 2600aa2c7319a09cf27f173cc5b13e3985429b17 Generated facets for each output aspect. flys-artifacts/branches/facets-slt@2132 c6561f87-3c4e-4783-a992-168aeb5c3f6f diff -r 2600aa2c7319 -r 22e4bffbe240 flys-artifacts/doc/conf/artifacts/winfo.xml --- a/flys-artifacts/doc/conf/artifacts/winfo.xml Thu Jun 16 09:04:59 2011 +0000 +++ b/flys-artifacts/doc/conf/artifacts/winfo.xml Thu Jun 16 10:05:44 2011 +0000 @@ -45,7 +45,6 @@ - @@ -130,7 +129,6 @@ - @@ -176,6 +174,7 @@ + diff -r 2600aa2c7319 -r 22e4bffbe240 flys-artifacts/src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java --- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java Thu Jun 16 09:04:59 2011 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java Thu Jun 16 10:05:44 2011 +0000 @@ -1082,11 +1082,12 @@ return null; } - return compute(hash, callback, type); + return compute(context, hash, callback, type); } public Object compute( + CallContext context, String key, ComputeCallback callback, ComputeType type) @@ -1102,10 +1103,10 @@ if (cache == null) { switch (type) { case FEED: - return callback.computeFeed(fs); + return callback.computeFeed(context, fs); case ADVANCE: - return callback.computeAdvance(fs); + return callback.computeAdvance(context, fs); } } @@ -1118,11 +1119,11 @@ Object result = null; switch (type) { case FEED: - result = callback.computeFeed(fs); + result = callback.computeFeed(context, fs); break; case ADVANCE: - result = callback.computeAdvance(fs); + result = callback.computeAdvance(context, fs); } if (result != null) { diff -r 2600aa2c7319 -r 22e4bffbe240 flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/ComputeCallback.java --- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/ComputeCallback.java Thu Jun 16 09:04:59 2011 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/ComputeCallback.java Thu Jun 16 10:05:44 2011 +0000 @@ -2,6 +2,8 @@ import java.util.List; +import de.intevation.artifacts.CallContext; + import de.intevation.artifactdatabase.state.Facet; @@ -11,8 +13,8 @@ FEED, ADVANCE } - Object computeAdvance(List facets); + Object computeAdvance(CallContext context, List facets); - Object computeFeed(List facets); + Object computeFeed(CallContext context, List facets); } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : diff -r 2600aa2c7319 -r 22e4bffbe240 flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/ComputeCallbackAdapter.java --- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/ComputeCallbackAdapter.java Thu Jun 16 09:04:59 2011 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/ComputeCallbackAdapter.java Thu Jun 16 10:05:44 2011 +0000 @@ -2,19 +2,21 @@ import java.util.List; +import de.intevation.artifacts.CallContext; + import de.intevation.artifactdatabase.state.Facet; public class ComputeCallbackAdapter implements ComputeCallback { @Override - public Object computeAdvance(List facets) { + public Object computeAdvance(CallContext context, List facets) { return null; } @Override - public Object computeFeed(List facets) { + public Object computeFeed(CallContext context, List facets) { return null; } } diff -r 2600aa2c7319 -r 22e4bffbe240 flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java Thu Jun 16 10:05:44 2011 +0000 @@ -0,0 +1,17 @@ +package de.intevation.flys.artifacts.model; + +public interface FacetTypes { + + String DISCHARGE_LONGITUDINAL_W = "discharge_longitudinal_section.w"; + String DISCHARGE_LONGITUDINAL_Q = "discharge_longitudinal_section.q"; + String DISCHARGE_LONGITUDINAL_C = "discharge_longitudinal_section.c"; + + String LONGITUDINAL_W = "facet.longitudinal_section.w"; + String LONGITUDINAL_Q = "facet.longitudinal_section.q"; + + String COMPUTED_DISCHARGE_Q = "computed_discharge_curve.q"; + + String DURATION_W = "discharge_curve.w"; + String DURATION_Q = "discharge_curve.q"; +} +// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 : diff -r 2600aa2c7319 -r 22e4bffbe240 flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/ComputedDischargeCurveState.java --- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/ComputedDischargeCurveState.java Thu Jun 16 09:04:59 2011 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/ComputedDischargeCurveState.java Thu Jun 16 10:05:44 2011 +0000 @@ -4,12 +4,18 @@ import org.apache.log4j.Logger; +import de.intevation.artifacts.CallContext; + +import de.intevation.artifactdatabase.state.DefaultFacet; import de.intevation.artifactdatabase.state.Facet; import de.intevation.flys.artifacts.FLYSArtifact; import de.intevation.flys.artifacts.WINFOArtifact; import de.intevation.flys.artifacts.model.ComputeCallback; import de.intevation.flys.artifacts.model.ComputeCallbackAdapter; +import de.intevation.flys.artifacts.model.FacetTypes; +import de.intevation.flys.artifacts.model.WQKms; +import de.intevation.flys.artifacts.resources.Resources; /** * The final state that will be reached after the discharge curve calculation @@ -17,8 +23,10 @@ * * @author Ingo Weinzierl */ -public class ComputedDischargeCurveState extends DefaultState { - +public class ComputedDischargeCurveState +extends DefaultState +implements FacetTypes +{ /** The logger that is used in this state.*/ private static Logger logger = Logger.getLogger(ComputedDischargeCurveState.class); @@ -36,8 +44,33 @@ return new ComputeCallbackAdapter() { @Override - public Object computeAdvance(List facets) { - return winfo.getComputedDischargeCurveData(); + public Object computeAdvance( + CallContext context, + List facets) + { + WQKms res = winfo.getComputedDischargeCurveData(); + + if (res == null) { + logger.debug("No results given."); + return null; + } + + Object[] args = new Object[] { + winfo.getRiver().getName(), + res.getName() + }; + + String name = Resources.getMsg( + context.getMeta(), + "chart.computed.discharge.curve.curve.label", + "", + args); + + Facet q = new DefaultFacet(0, DISCHARGE_LONGITUDINAL_Q, name); + + facets.add(q); + + return res; } }; } diff -r 2600aa2c7319 -r 22e4bffbe240 flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/DischargeLongitudinalSection.java --- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/DischargeLongitudinalSection.java Thu Jun 16 09:04:59 2011 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/DischargeLongitudinalSection.java Thu Jun 16 10:05:44 2011 +0000 @@ -4,15 +4,23 @@ import org.apache.log4j.Logger; +import de.intevation.artifacts.CallContext; + +import de.intevation.artifactdatabase.state.DefaultFacet; import de.intevation.artifactdatabase.state.Facet; import de.intevation.flys.artifacts.FLYSArtifact; import de.intevation.flys.artifacts.WINFOArtifact; import de.intevation.flys.artifacts.model.ComputeCallback; import de.intevation.flys.artifacts.model.ComputeCallbackAdapter; +import de.intevation.flys.artifacts.model.FacetTypes; +import de.intevation.flys.artifacts.model.WQKms; +import de.intevation.flys.artifacts.model.WQCKms; -public class DischargeLongitudinalSection extends DefaultState { - +public class DischargeLongitudinalSection +extends DefaultState +implements FacetTypes +{ private static Logger logger = Logger.getLogger(DischargeLongitudinalSection.class); @@ -26,8 +34,54 @@ return new ComputeCallbackAdapter() { @Override - public Object computeAdvance(List facets) { - return winfo.getDischargeLongitudinalSectionData(); + public Object computeAdvance( + CallContext context, + List facets) + { + WQKms res[] = winfo.getDischargeLongitudinalSectionData(); + + if (res == null) { + logger.debug("No results given."); + return null; + } + + for (int i = 0; i < res.length; i++) { + String nameW = null; + String nameQ = null; + + if (winfo.isQ()) { + nameQ = res[i].getName(); + nameW = "W(" + nameQ + ")"; + } + else { + nameW = res[i].getName(); + nameQ = "Q(" + nameQ + ")"; + } + + Facet w = new DefaultFacet( + i, DISCHARGE_LONGITUDINAL_W, nameW); + + Facet q = new DefaultFacet( + i, DISCHARGE_LONGITUDINAL_Q, nameQ); + + facets.add(w); + facets.add(q); + + if (res[i] instanceof WQCKms) { + // TODO DO i18n + + String nameC = nameW.replace( + "Benutzerdefiniert", + "Benutzerdefiniert [korrigiert]"); + + Facet c = new DefaultFacet( + i, DISCHARGE_LONGITUDINAL_C, nameC); + + facets.add(c); + } + } + + return res; } }; diff -r 2600aa2c7319 -r 22e4bffbe240 flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/DurationCurveState.java --- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/DurationCurveState.java Thu Jun 16 09:04:59 2011 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/DurationCurveState.java Thu Jun 16 10:05:44 2011 +0000 @@ -4,12 +4,18 @@ import org.apache.log4j.Logger; +import de.intevation.artifacts.CallContext; + +import de.intevation.artifactdatabase.state.DefaultFacet; import de.intevation.artifactdatabase.state.Facet; import de.intevation.flys.artifacts.FLYSArtifact; import de.intevation.flys.artifacts.WINFOArtifact; import de.intevation.flys.artifacts.model.ComputeCallback; import de.intevation.flys.artifacts.model.ComputeCallbackAdapter; +import de.intevation.flys.artifacts.model.FacetTypes; +import de.intevation.flys.artifacts.model.WQDay; +import de.intevation.flys.artifacts.resources.Resources; /** * The final state that will be reached after the duration curve calculation @@ -17,8 +23,10 @@ * * @author Ingo Weinzierl */ -public class DurationCurveState extends DefaultState { - +public class DurationCurveState +extends DefaultState +implements FacetTypes +{ /** The logger that is used in this state.*/ private static Logger logger = Logger.getLogger(DurationCurveState.class); @@ -35,8 +43,40 @@ return new ComputeCallbackAdapter() { @Override - public Object computeAdvance(List facets) { - return winfo.getDurationCurveData(); + public Object computeAdvance( + CallContext context, + List facets) + { + WQDay res = winfo.getDurationCurveData(); + + if (res == null) { + logger.debug("No results given."); + return null; + } + + Object[] args = new Object[] { + winfo.getRiver().getName() + }; + + String nameW = Resources.getMsg( + context.getMeta(), + "chart.duration.curve.curve.w", + "", + args); + + String nameQ = Resources.getMsg( + context.getMeta(), + "chart.duration.curve.curve.q", + "", + args); + + Facet w = new DefaultFacet(0, DURATION_W, nameW); + Facet q = new DefaultFacet(0, DURATION_Q, nameQ); + + facets.add(w); + facets.add(q); + + return res; } }; } diff -r 2600aa2c7319 -r 22e4bffbe240 flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/LocationDistanceSelect.java --- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/LocationDistanceSelect.java Thu Jun 16 09:04:59 2011 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/LocationDistanceSelect.java Thu Jun 16 10:05:44 2011 +0000 @@ -307,7 +307,7 @@ return new ComputeCallbackAdapter() { @Override - public Object computeFeed(List facets) { + public Object computeFeed(CallContext context, List facets) { return winfo.getDischargeCurveData(); } }; diff -r 2600aa2c7319 -r 22e4bffbe240 flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java --- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java Thu Jun 16 09:04:59 2011 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java Thu Jun 16 10:05:44 2011 +0000 @@ -11,16 +11,21 @@ import de.intevation.artifacts.common.utils.XMLUtils; +import de.intevation.artifactdatabase.state.DefaultFacet; import de.intevation.artifactdatabase.state.Facet; import de.intevation.flys.artifacts.FLYSArtifact; import de.intevation.flys.artifacts.WINFOArtifact; import de.intevation.flys.artifacts.model.ComputeCallback; import de.intevation.flys.artifacts.model.ComputeCallbackAdapter; +import de.intevation.flys.artifacts.model.FacetTypes; +import de.intevation.flys.artifacts.model.WQKms; -public class WaterlevelState extends DefaultState { - +public class WaterlevelState +extends DefaultState +implements FacetTypes +{ /** The logger that is used in this state.*/ private static Logger logger = Logger.getLogger(WaterlevelState.class); @@ -45,8 +50,38 @@ return new ComputeCallbackAdapter() { @Override - public Object computeAdvance(List facets) { - return winfo.getWaterlevelData(); + public Object computeAdvance( + CallContext context, + List facets) + { + WQKms[] res = winfo.getWaterlevelData(); + + if (res == null) { + logger.debug("No results given."); + return null; + } + + for (int i = 0; i < res.length; i++) { + String nameW = null; + String nameQ = null; + + if (winfo.isQ()) { + nameQ = res[i].getName(); + nameW = "W(" + nameQ + ")"; + } + else { + nameW = res[i].getName(); + nameQ = "Q(" + nameQ + ")"; + } + + Facet w = new DefaultFacet(i, LONGITUDINAL_W, nameW); + Facet q = new DefaultFacet(i, LONGITUDINAL_Q, nameQ); + + facets.add(w); + facets.add(q); + } + + return res; } }; }