annotate gwt-client/src/test/java/test/SimpleRecommendation.java @ 9709:b74f817435fe

comment removed
author dnt_bjoernsen <d.tironi@bjoernsen.de>
date Wed, 27 Jan 2021 11:47:38 +0100
parents 84397da33d17
children
rev   line source
9127
dbb26bc81843 Testing
gernotbelger
parents:
diff changeset
1 /** Copyright (C) 2017 by Bundesanstalt für Gewässerkunde
dbb26bc81843 Testing
gernotbelger
parents:
diff changeset
2 * Software engineering by
dbb26bc81843 Testing
gernotbelger
parents:
diff changeset
3 * Björnsen Beratende Ingenieure GmbH
dbb26bc81843 Testing
gernotbelger
parents:
diff changeset
4 * Dr. Schumacher Ingenieurbüro für Wasser und Umwelt
dbb26bc81843 Testing
gernotbelger
parents:
diff changeset
5 *
dbb26bc81843 Testing
gernotbelger
parents:
diff changeset
6 * This file is Free Software under the GNU AGPL (>=v3)
dbb26bc81843 Testing
gernotbelger
parents:
diff changeset
7 * and comes with ABSOLUTELY NO WARRANTY! Check out the
dbb26bc81843 Testing
gernotbelger
parents:
diff changeset
8 * documentation coming with Dive4Elements River for details.
dbb26bc81843 Testing
gernotbelger
parents:
diff changeset
9 */
dbb26bc81843 Testing
gernotbelger
parents:
diff changeset
10 package test;
dbb26bc81843 Testing
gernotbelger
parents:
diff changeset
11
9148
48d87af1243e Unit testing flowdepthdevelopment added
gernotbelger
parents: 9127
diff changeset
12 import java.util.ArrayList;
48d87af1243e Unit testing flowdepthdevelopment added
gernotbelger
parents: 9127
diff changeset
13 import java.util.HashMap;
48d87af1243e Unit testing flowdepthdevelopment added
gernotbelger
parents: 9127
diff changeset
14
48d87af1243e Unit testing flowdepthdevelopment added
gernotbelger
parents: 9127
diff changeset
15 import org.dive4elements.artifacts.httpclient.exceptions.ConnectionException;
48d87af1243e Unit testing flowdepthdevelopment added
gernotbelger
parents: 9127
diff changeset
16 import org.dive4elements.river.client.client.ui.NilDatacageTwinPanelInfo;
48d87af1243e Unit testing flowdepthdevelopment added
gernotbelger
parents: 9127
diff changeset
17 import org.dive4elements.river.client.client.ui.RecommandationUtils;
48d87af1243e Unit testing flowdepthdevelopment added
gernotbelger
parents: 9127
diff changeset
18 import org.dive4elements.river.client.server.ArtifactHelper;
48d87af1243e Unit testing flowdepthdevelopment added
gernotbelger
parents: 9127
diff changeset
19 import org.dive4elements.river.client.server.CollectionHelper;
48d87af1243e Unit testing flowdepthdevelopment added
gernotbelger
parents: 9127
diff changeset
20 import org.dive4elements.river.client.server.LoadArtifactServiceImpl;
48d87af1243e Unit testing flowdepthdevelopment added
gernotbelger
parents: 9127
diff changeset
21 import org.dive4elements.river.client.shared.exceptions.ServerException;
48d87af1243e Unit testing flowdepthdevelopment added
gernotbelger
parents: 9127
diff changeset
22 import org.dive4elements.river.client.shared.model.Artifact;
48d87af1243e Unit testing flowdepthdevelopment added
gernotbelger
parents: 9127
diff changeset
23 import org.dive4elements.river.client.shared.model.Collection;
48d87af1243e Unit testing flowdepthdevelopment added
gernotbelger
parents: 9127
diff changeset
24 import org.dive4elements.river.client.shared.model.Recommendation;
48d87af1243e Unit testing flowdepthdevelopment added
gernotbelger
parents: 9127
diff changeset
25
9127
dbb26bc81843 Testing
gernotbelger
parents:
diff changeset
26 /**
dbb26bc81843 Testing
gernotbelger
parents:
diff changeset
27 * @author Domenico Nardi Tironi
dbb26bc81843 Testing
gernotbelger
parents:
diff changeset
28 *
dbb26bc81843 Testing
gernotbelger
parents:
diff changeset
29 */
dbb26bc81843 Testing
gernotbelger
parents:
diff changeset
30 public class SimpleRecommendation {
dbb26bc81843 Testing
gernotbelger
parents:
diff changeset
31
dbb26bc81843 Testing
gernotbelger
parents:
diff changeset
32 // entspricht den Bezeichnungen im Datacage-Export
dbb26bc81843 Testing
gernotbelger
parents:
diff changeset
33 private final String factory;
dbb26bc81843 Testing
gernotbelger
parents:
diff changeset
34 private final String ids;
dbb26bc81843 Testing
gernotbelger
parents:
diff changeset
35 private final String target;
9148
48d87af1243e Unit testing flowdepthdevelopment added
gernotbelger
parents: 9127
diff changeset
36 private String displayName;
9127
dbb26bc81843 Testing
gernotbelger
parents:
diff changeset
37
dbb26bc81843 Testing
gernotbelger
parents:
diff changeset
38 public SimpleRecommendation(final String factory, final String ids, final String target) {
dbb26bc81843 Testing
gernotbelger
parents:
diff changeset
39 this.factory = factory;
dbb26bc81843 Testing
gernotbelger
parents:
diff changeset
40 this.ids = ids;
dbb26bc81843 Testing
gernotbelger
parents:
diff changeset
41 this.target = target;
dbb26bc81843 Testing
gernotbelger
parents:
diff changeset
42 }
dbb26bc81843 Testing
gernotbelger
parents:
diff changeset
43
9148
48d87af1243e Unit testing flowdepthdevelopment added
gernotbelger
parents: 9127
diff changeset
44 public SimpleRecommendation(final String factory, final String ids, final String target, final String displayName) {
48d87af1243e Unit testing flowdepthdevelopment added
gernotbelger
parents: 9127
diff changeset
45 this(factory, ids, target);
48d87af1243e Unit testing flowdepthdevelopment added
gernotbelger
parents: 9127
diff changeset
46 this.displayName = displayName;
48d87af1243e Unit testing flowdepthdevelopment added
gernotbelger
parents: 9127
diff changeset
47 }
48d87af1243e Unit testing flowdepthdevelopment added
gernotbelger
parents: 9127
diff changeset
48
9127
dbb26bc81843 Testing
gernotbelger
parents:
diff changeset
49 public String getIds() {
dbb26bc81843 Testing
gernotbelger
parents:
diff changeset
50 return this.ids;
dbb26bc81843 Testing
gernotbelger
parents:
diff changeset
51 }
dbb26bc81843 Testing
gernotbelger
parents:
diff changeset
52
dbb26bc81843 Testing
gernotbelger
parents:
diff changeset
53 public String getTarget() {
dbb26bc81843 Testing
gernotbelger
parents:
diff changeset
54 return this.target;
dbb26bc81843 Testing
gernotbelger
parents:
diff changeset
55 }
dbb26bc81843 Testing
gernotbelger
parents:
diff changeset
56
dbb26bc81843 Testing
gernotbelger
parents:
diff changeset
57 public String getFactory() {
dbb26bc81843 Testing
gernotbelger
parents:
diff changeset
58 return this.factory;
dbb26bc81843 Testing
gernotbelger
parents:
diff changeset
59 }
dbb26bc81843 Testing
gernotbelger
parents:
diff changeset
60
9148
48d87af1243e Unit testing flowdepthdevelopment added
gernotbelger
parents: 9127
diff changeset
61 private String getDisplayName() {
48d87af1243e Unit testing flowdepthdevelopment added
gernotbelger
parents: 9127
diff changeset
62 return this.displayName;
48d87af1243e Unit testing flowdepthdevelopment added
gernotbelger
parents: 9127
diff changeset
63 }
48d87af1243e Unit testing flowdepthdevelopment added
gernotbelger
parents: 9127
diff changeset
64
48d87af1243e Unit testing flowdepthdevelopment added
gernotbelger
parents: 9127
diff changeset
65 public final String getRecommendationPairString(final SimpleRecommendation rec2, final Collection collection, final String serverUrl, final String locale)
48d87af1243e Unit testing flowdepthdevelopment added
gernotbelger
parents: 9127
diff changeset
66 throws ConnectionException, ServerException {
48d87af1243e Unit testing flowdepthdevelopment added
gernotbelger
parents: 9127
diff changeset
67 final Recommendation recom1 = new Recommendation(this.getFactory(), this.getIds(), this.getTarget());
48d87af1243e Unit testing flowdepthdevelopment added
gernotbelger
parents: 9127
diff changeset
68 recom1.setDisplayName(this.displayName);
48d87af1243e Unit testing flowdepthdevelopment added
gernotbelger
parents: 9127
diff changeset
69 final Recommendation recom2 = new Recommendation(rec2.getFactory(), rec2.getIds(), rec2.getTarget());
48d87af1243e Unit testing flowdepthdevelopment added
gernotbelger
parents: 9127
diff changeset
70 recom2.setDisplayName(rec2.getDisplayName());
48d87af1243e Unit testing flowdepthdevelopment added
gernotbelger
parents: 9127
diff changeset
71 final Artifact[] artifacts = loadMany(new Recommendation[] { recom1, recom2 }, null, collection, serverUrl, locale);
9227
84397da33d17 Allow to control specific behaviour in TwinDatacagePanel
gernotbelger
parents: 9226
diff changeset
72 final String rec1String = RecommandationUtils.createDataString(artifacts[0].getUuid(), recom1, new NilDatacageTwinPanelInfo(null, "xxxx"));
84397da33d17 Allow to control specific behaviour in TwinDatacagePanel
gernotbelger
parents: 9226
diff changeset
73 final String rec2String = RecommandationUtils.createDataString(artifacts[1].getUuid(), recom2, new NilDatacageTwinPanelInfo(null, "xxxx"));
9148
48d87af1243e Unit testing flowdepthdevelopment added
gernotbelger
parents: 9127
diff changeset
74 final String combinedIdNeu = rec1String + "#" + rec2String;
48d87af1243e Unit testing flowdepthdevelopment added
gernotbelger
parents: 9127
diff changeset
75 return combinedIdNeu;
48d87af1243e Unit testing flowdepthdevelopment added
gernotbelger
parents: 9127
diff changeset
76 }
48d87af1243e Unit testing flowdepthdevelopment added
gernotbelger
parents: 9127
diff changeset
77
48d87af1243e Unit testing flowdepthdevelopment added
gernotbelger
parents: 9127
diff changeset
78 private final Artifact[] loadMany(final Recommendation[] recoms, final String factory, final Collection collection, final String serverUrl,
48d87af1243e Unit testing flowdepthdevelopment added
gernotbelger
parents: 9127
diff changeset
79 final String locale) throws ServerException, ConnectionException {
48d87af1243e Unit testing flowdepthdevelopment added
gernotbelger
parents: 9127
diff changeset
80 final ArrayList<Artifact> artifacts = new ArrayList<Artifact>();
48d87af1243e Unit testing flowdepthdevelopment added
gernotbelger
parents: 9127
diff changeset
81 final HashMap<Recommendation, Artifact> cloneMap = new HashMap<Recommendation, Artifact>();
48d87af1243e Unit testing flowdepthdevelopment added
gernotbelger
parents: 9127
diff changeset
82
48d87af1243e Unit testing flowdepthdevelopment added
gernotbelger
parents: 9127
diff changeset
83 for (final Recommendation recom : recoms) {
48d87af1243e Unit testing flowdepthdevelopment added
gernotbelger
parents: 9127
diff changeset
84
48d87af1243e Unit testing flowdepthdevelopment added
gernotbelger
parents: 9127
diff changeset
85 final Artifact prevClone = cloneMap.get(recom);
48d87af1243e Unit testing flowdepthdevelopment added
gernotbelger
parents: 9127
diff changeset
86 if (prevClone != null) {
48d87af1243e Unit testing flowdepthdevelopment added
gernotbelger
parents: 9127
diff changeset
87
48d87af1243e Unit testing flowdepthdevelopment added
gernotbelger
parents: 9127
diff changeset
88 artifacts.add(prevClone);
48d87af1243e Unit testing flowdepthdevelopment added
gernotbelger
parents: 9127
diff changeset
89 } else {
48d87af1243e Unit testing flowdepthdevelopment added
gernotbelger
parents: 9127
diff changeset
90 // Not already cloned.
48d87af1243e Unit testing flowdepthdevelopment added
gernotbelger
parents: 9127
diff changeset
91 final String realFactory = factory != null ? factory : recom.getFactory();
48d87af1243e Unit testing flowdepthdevelopment added
gernotbelger
parents: 9127
diff changeset
92
48d87af1243e Unit testing flowdepthdevelopment added
gernotbelger
parents: 9127
diff changeset
93 final Artifact clone = ArtifactHelper.createArtifact(serverUrl, locale, realFactory, recom);
48d87af1243e Unit testing flowdepthdevelopment added
gernotbelger
parents: 9127
diff changeset
94
48d87af1243e Unit testing flowdepthdevelopment added
gernotbelger
parents: 9127
diff changeset
95 if (clone != null) {
48d87af1243e Unit testing flowdepthdevelopment added
gernotbelger
parents: 9127
diff changeset
96 final Collection c = CollectionHelper.addArtifact(collection, clone, serverUrl, locale);
48d87af1243e Unit testing flowdepthdevelopment added
gernotbelger
parents: 9127
diff changeset
97
48d87af1243e Unit testing flowdepthdevelopment added
gernotbelger
parents: 9127
diff changeset
98 if (c != null) {
48d87af1243e Unit testing flowdepthdevelopment added
gernotbelger
parents: 9127
diff changeset
99 artifacts.add(clone);
48d87af1243e Unit testing flowdepthdevelopment added
gernotbelger
parents: 9127
diff changeset
100 // Remember we cloned a recommendation like this.
48d87af1243e Unit testing flowdepthdevelopment added
gernotbelger
parents: 9127
diff changeset
101 cloneMap.put(recom, clone);
48d87af1243e Unit testing flowdepthdevelopment added
gernotbelger
parents: 9127
diff changeset
102 } else {
48d87af1243e Unit testing flowdepthdevelopment added
gernotbelger
parents: 9127
diff changeset
103 throw new ServerException(LoadArtifactServiceImpl.ERROR_LOAD_ARTIFACT);
48d87af1243e Unit testing flowdepthdevelopment added
gernotbelger
parents: 9127
diff changeset
104 }
48d87af1243e Unit testing flowdepthdevelopment added
gernotbelger
parents: 9127
diff changeset
105 }
48d87af1243e Unit testing flowdepthdevelopment added
gernotbelger
parents: 9127
diff changeset
106 }
48d87af1243e Unit testing flowdepthdevelopment added
gernotbelger
parents: 9127
diff changeset
107 }
48d87af1243e Unit testing flowdepthdevelopment added
gernotbelger
parents: 9127
diff changeset
108
9227
84397da33d17 Allow to control specific behaviour in TwinDatacagePanel
gernotbelger
parents: 9226
diff changeset
109 return artifacts.toArray(new Artifact[artifacts.size()]);
9148
48d87af1243e Unit testing flowdepthdevelopment added
gernotbelger
parents: 9127
diff changeset
110 }
9227
84397da33d17 Allow to control specific behaviour in TwinDatacagePanel
gernotbelger
parents: 9226
diff changeset
111 }

http://dive4elements.wald.intevation.org