# HG changeset patch # User Felix Wolfsteller # Date 1323688796 0 # Node ID 741d2067cfe1666d3ce72723e979b25f55d7e80c # Parent 368040e5c400f0ed192ac606fa03b7cd5b8d06da Given CrossSections a name, let crosssection facets survive. flys-artifacts/trunk@3387 c6561f87-3c4e-4783-a992-168aeb5c3f6f diff -r 368040e5c400 -r 741d2067cfe1 flys-artifacts/ChangeLog --- a/flys-artifacts/ChangeLog Mon Dec 12 08:15:12 2011 +0000 +++ b/flys-artifacts/ChangeLog Mon Dec 12 11:19:56 2011 +0000 @@ -1,3 +1,18 @@ +2011-12-12 Felix Wolfsteller + + Resolve todo about wrongly named cross sections. + Open StaticState to allow that facets survive a compute. + + * src/main/java/de/intevation/flys/artifacts/states/StaticState.java + (computeAdvance, computeFeed, computeInit): Override to call + staticCompute. + (staticCompute): New. Do nothing but be able to be overridden. + + * src/main/java/de/intevation/flys/artifacts/CrossSectionArtifact.java + (setup): Fetch facets name from db (resolves todo). + (getCurrentState): override staticstates staticcompute to let + facets survive a compute. + 2011-12-12 Ingo Weinzierl * src/main/java/de/intevation/flys/wsplgen/JobExecutor.java, diff -r 368040e5c400 -r 741d2067cfe1 flys-artifacts/src/main/java/de/intevation/flys/artifacts/CrossSectionArtifact.java --- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/CrossSectionArtifact.java Mon Dec 12 08:15:12 2011 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/CrossSectionArtifact.java Mon Dec 12 11:19:56 2011 +0000 @@ -90,10 +90,10 @@ addStringData(DATA_IS_MASTER, "0"); List fs = new ArrayList(); - fs.add(new CrossSectionFacet(0, "TODO GET NAME FROM DB")); + CrossSection cs = CrossSectionFactory.getCrossSection(Integer.valueOf(ids)); + fs.add(new CrossSectionFacet(0, cs.getDescription())); StaticState state = (StaticState) getCurrentState(context); - state.computeInit(this, hash(), context, callMeta, fs); if (!fs.isEmpty()) { facets.put(getCurrentStateId(), fs); @@ -117,9 +117,16 @@ */ @Override public State getCurrentState(Object cc) { - StaticState state = new StaticState(STATIC_STATE_NAME); + final List fs = facets.get(getCurrentStateId()); - List fs = facets.get(getCurrentStateId()); + StaticState state = new StaticState(STATIC_STATE_NAME) { + public Object staticCompute(List facets) { + if (facets != null) { + facets.addAll(fs); + } + return null; + } + }; state.addDefaultChartOutput("cross_section", fs); diff -r 368040e5c400 -r 741d2067cfe1 flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/StaticState.java --- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/StaticState.java Mon Dec 12 08:15:12 2011 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/StaticState.java Mon Dec 12 11:19:56 2011 +0000 @@ -9,6 +9,11 @@ import de.intevation.artifactdatabase.state.Facet; import de.intevation.artifactdatabase.state.DefaultOutput; +import de.intevation.flys.artifacts.FLYSArtifact; + +import de.intevation.artifacts.CallContext; +import de.intevation.artifacts.CallMeta; + /** * Yet, a non-abstract DefaultState. */ @@ -40,5 +45,53 @@ nameDesc, "image/png", facets, "chart"); getOutputs().add(output); } + + + /** + * Do nothing (override to include your logic). + * @param facets List of facets (to add to). + */ + public Object staticCompute(List facets) { + return null; + } + + + /** Call staticCompute to allow easy adjustments. */ + @Override + public Object computeAdvance( + FLYSArtifact artifact, + String hash, + CallContext context, + List facets, + Object old + ) { + return staticCompute(facets); + } + + + /** Call staticCompute to allow easy adjustments. */ + @Override + public Object computeFeed( + FLYSArtifact artifact, + String hash, + CallContext context, + List facets, + Object old + ) { + return staticCompute(facets); + } + + + /** Call staticCompute to allow easy adjustments. */ + @Override + public Object computeInit( + FLYSArtifact artifact, + String hash, + Object context, + CallMeta meta, + List facets + ) { + return staticCompute(facets); + } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :