Mercurial > dive4elements > river
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);