comparison 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
comparison
equal deleted inserted replaced
833:dcecdd9693a8 834:77469d7f3c93
11 11
12 public ToLoad() { 12 public ToLoad() {
13 artifacts = new HashMap<String, Map<String, ArtifactFilter>>(); 13 artifacts = new HashMap<String, Map<String, ArtifactFilter>>();
14 } 14 }
15 15
16 public static final String uniqueKey(Map<?, ?> map) {
17 int idx = map.size();
18
19 String key = "key-" + idx;
20 while (map.containsKey(key)) {
21 key = "key-" + ++idx;
22 }
23 return key;
24 }
25
16 public void add( 26 public void add(
17 String artifactName, 27 String artifactName,
18 String factory, 28 String factory,
19 String out, 29 String out,
20 String name, 30 String name,
21 String num 31 String num
22 ) { 32 ) {
23 if (artifactName == null) artifactName = ""; 33 if (artifactName == null) {
24 if (out == null) out = ""; 34 artifactName = uniqueKey(artifacts);
35 }
25 36
26 Map<String, ArtifactFilter> artifact = artifacts.get(artifactName); 37 Map<String, ArtifactFilter> artifact = artifacts.get(artifactName);
27 38
28 if (artifact == null) { 39 if (artifact == null) {
29 artifact = new HashMap<String, ArtifactFilter>(); 40 artifact = new HashMap<String, ArtifactFilter>();

http://dive4elements.wald.intevation.org