diff artifacts/src/main/java/org/dive4elements/river/artifacts/states/StaticWQKmsState.java @ 9425:3f49835a00c3

Extended CrossSectionFacet so it may fetch different data from within the artifact result. Also allows to have acces to the potentially already computed artifact result via its normal computation cache.
author gernotbelger
date Fri, 17 Aug 2018 15:31:02 +0200
parents e4606eae8ea5
children
line wrap: on
line diff
--- a/artifacts/src/main/java/org/dive4elements/river/artifacts/states/StaticWQKmsState.java	Fri Aug 17 14:29:05 2018 +0200
+++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/states/StaticWQKmsState.java	Fri Aug 17 15:31:02 2018 +0200
@@ -52,14 +52,15 @@
     /**
      * Compute, create Facets, do the same stuff as all the other states do.
      */
-    protected Object compute(
+    private Object compute(
         StaticWQKmsArtifact artifact,
         CallMeta      metaLocale,
+        ComputeType type,
         String        hash,
         List<Facet>   facets,
         Object        old
     ) {
-        String id = getID();
+        String stateId = getID();
         String code = artifact.getDataAsString("ids");
         String [] parts = code.split("-");
 
@@ -125,8 +126,7 @@
         Facet rpFacet = new RelativePointFacet(wkmsName);
         facets.add(rpFacet);
 
-        Facet csFacet = new CrossSectionWaterLineFacet(0,
-             wkmsName);
+        Facet csFacet = new CrossSectionWaterLineFacet(0,wkmsName, type, hash, stateId, null);
         facets.add(csFacet);
 
         if (!qEmpty) {
@@ -147,7 +147,7 @@
         Facet wstfacet = new DataFacet(
             WST,
             wkmsName,
-            ComputeType.ADVANCE, hash, id);
+            ComputeType.ADVANCE, hash, stateId);
         facets.add(wstfacet);
 
         return res;
@@ -161,8 +161,7 @@
         List<Facet>  facets,
         Object       old
     ) {
-        return compute((StaticWQKmsArtifact) artifact, context.getMeta(),
-            hash, facets, old);
+        return compute((StaticWQKmsArtifact) artifact, context.getMeta(), ComputeType.ADVANCE, hash, facets, old);
     }
 
     /**
@@ -178,8 +177,7 @@
         List<Facet>  facets,
         Object       old
     ) {
-        return compute((StaticWQKmsArtifact) artifact, context.getMeta(),
-            hash, facets, old);
+        return compute((StaticWQKmsArtifact) artifact, context.getMeta(), ComputeType.FEED, hash, facets, old);
     }
 
 
@@ -195,8 +193,7 @@
         CallMeta     meta,
         List<Facet>  facets
     ) {
-        return compute((StaticWQKmsArtifact) artifact, meta,
-            hash, facets, null);
+        return compute((StaticWQKmsArtifact) artifact, meta, ComputeType.INIT, hash, facets, null);
     }
 }
 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :

http://dive4elements.wald.intevation.org