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