diff flys-artifacts/src/main/java/de/intevation/flys/artifacts/CrossSectionArtifact.java @ 1971:741d2067cfe1

Given CrossSections a name, let crosssection facets survive. flys-artifacts/trunk@3387 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Felix Wolfsteller <felix.wolfsteller@intevation.de>
date Mon, 12 Dec 2011 11:19:56 +0000
parents 27bb2e24f7f8
children e0b081105a82
line wrap: on
line diff
--- 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<Facet> fs = new ArrayList<Facet>();
-        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<Facet> fs = facets.get(getCurrentStateId());
 
-        List<Facet> fs = facets.get(getCurrentStateId());
+        StaticState state = new StaticState(STATIC_STATE_NAME) {
+            public Object staticCompute(List<Facet> facets) {
+                if (facets != null) {
+                    facets.addAll(fs);
+                }
+                return null;
+            }
+        };
 
         state.addDefaultChartOutput("cross_section", fs);
 

http://dive4elements.wald.intevation.org