diff flys-client/src/main/java/de/intevation/flys/client/shared/model/ToLoad.java @ 834:77469d7f3c93

Generate unique keys for anonymous artifacts (aka static data). flys-client/trunk@2547 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Wed, 24 Aug 2011 09:06:35 +0000
parents 9101b4d64666
children 29966a53cfeb
line wrap: on
line diff
--- a/flys-client/src/main/java/de/intevation/flys/client/shared/model/ToLoad.java	Wed Aug 24 08:36:51 2011 +0000
+++ b/flys-client/src/main/java/de/intevation/flys/client/shared/model/ToLoad.java	Wed Aug 24 09:06:35 2011 +0000
@@ -13,6 +13,16 @@
         artifacts = new HashMap<String, Map<String, ArtifactFilter>>();
     }
 
+    public static final String uniqueKey(Map<?, ?> map) {
+        int idx = map.size();
+
+        String key = "key-" + idx;
+        while (map.containsKey(key)) {
+            key = "key-" + ++idx;
+        }
+        return key;
+    }
+
     public void add(
         String artifactName,
         String factory,
@@ -20,8 +30,9 @@
         String name,
         String num
     ) {
-        if (artifactName == null) artifactName = "";
-        if (out          == null) out          = "";
+        if (artifactName == null) {
+            artifactName = uniqueKey(artifacts);
+        }
 
         Map<String, ArtifactFilter> artifact = artifacts.get(artifactName);
 

http://dive4elements.wald.intevation.org