diff flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/DataFacet.java @ 930:3fd891d5228d

The DataFacets are now able to store the ID of the create which created them. flys-artifacts/trunk@2292 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Wed, 06 Jul 2011 13:37:52 +0000
parents c09c9e05ecfa
children b1b0a0b61845
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/DataFacet.java	Wed Jul 06 09:18:31 2011 +0000
+++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/DataFacet.java	Wed Jul 06 13:37:52 2011 +0000
@@ -14,6 +14,7 @@
 {
     protected ComputeType type;
     protected String      hash;
+    protected String      stateId;
 
     public DataFacet(String name, String description) {
         this(name, description, ComputeType.ADVANCE);
@@ -34,10 +35,27 @@
         this.hash = hash;
     }
 
+
+    public DataFacet(
+        String      name,
+        String      description,
+        ComputeType type,
+        String      hash,
+        String      stateId
+    ) {
+        super(name, description);
+        this.type    = type;
+        this.hash    = hash;
+        this.stateId = stateId;
+    }
+
     public Object getData(Artifact artifact, CallContext context) {
         FLYSArtifact flys = (FLYSArtifact)artifact;
-        return flys.compute(
-            context, hash != null ? hash : flys.hash(), type, false);
+        String    theHash = hash != null ? hash : flys.hash();
+
+        return stateId != null && stateId.length() > 0
+            ? flys.compute(context, stateId, theHash, type, false)
+            : flys.compute(context, theHash, type, false);
     }
 }
 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :

http://dive4elements.wald.intevation.org