diff flys-artifacts/src/main/java/de/intevation/flys/artifacts/CrossSectionArtifact.java @ 3556:afc7bfb4800b

Use the new infrastructure to figure out if a facet should be initially active or not. flys-artifacts/trunk@5152 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Sun, 29 Jul 2012 11:04:06 +0000
parents b0ba96bbf01d
children c3cd414982fe
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/CrossSectionArtifact.java	Sat Jul 28 21:48:15 2012 +0000
+++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/CrossSectionArtifact.java	Sun Jul 29 11:04:06 2012 +0000
@@ -24,6 +24,7 @@
 import de.intevation.flys.artifacts.states.StaticState;
 
 import de.intevation.artifactdatabase.state.Facet;
+import de.intevation.artifactdatabase.state.FacetActivity;
 import de.intevation.artifactdatabase.state.State;
 
 import de.intevation.flys.utils.FLYSUtils;
@@ -64,6 +65,26 @@
     private static final Logger logger =
         Logger.getLogger(CrossSectionArtifact.class);
 
+    static {
+        // TODO: Move to configuration.
+        FacetActivity.Registry.getInstance().register(
+            CS_ARTIFACT_NAME,
+            new FacetActivity() {
+                @Override
+                public boolean isInitialActive(
+                    Artifact artifact,
+                    Facet    facet,
+                    String   outputName
+                ) {
+                    if (artifact instanceof FLYSArtifact) {
+                        FLYSArtifact flys = (FLYSArtifact)artifact;
+                        String data = flys.getDataAsString(DATA_IS_NEWEST);
+                        return data != null && data.equals("1");
+                    }
+                    return false;
+                }
+            });
+    }
 
     /** Return given name. */
     @Override
@@ -320,22 +341,5 @@
         return FastCrossSectionLineFactory
             .getCrossSectionLine(crossSection, km);
     }
-
-
-    /**
-     * Determines Facets initial disposition regarding activity (think of
-     * selection in Client ThemeList GUI). This will be checked one time
-     * when the facet enters a collections describe document.
-     *
-     * @param outputName Ignored.
-     * @param facetName Ignored.
-     * @param index     Ignored.
-     * @return 0 if not active
-     */
-    @Override
-    public int getInitialFacetActivity(String outputName, String facetName, int index) {
-        return (getDataAsString(DATA_IS_NEWEST) != null
-            && getDataAsString(DATA_IS_NEWEST).equals("1")) ? 1 : 0;
-    }
 }
 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org