Mercurial > dive4elements > river
comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/datacage/Recommendations.java @ 1716:3ca999f507b7
flys/issue314: Variables in datacage are now case insensitive.
flys-artifacts/trunk@2994 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Mon, 17 Oct 2011 15:53:03 +0000 |
parents | 0a5eff5511b1 |
children | 5642a83420f2 |
comparison
equal
deleted
inserted
replaced
1715:a70e0cbc5e02 | 1716:3ca999f507b7 |
---|---|
23 | 23 |
24 import org.hibernate.jdbc.Work; | 24 import org.hibernate.jdbc.Work; |
25 | 25 |
26 import de.intevation.artifacts.common.utils.Config; | 26 import de.intevation.artifacts.common.utils.Config; |
27 import de.intevation.artifacts.common.utils.XMLUtils; | 27 import de.intevation.artifacts.common.utils.XMLUtils; |
28 import de.intevation.artifacts.common.utils.StringUtils; | |
28 | 29 |
29 import de.intevation.flys.artifacts.FLYSArtifact; | 30 import de.intevation.flys.artifacts.FLYSArtifact; |
30 | 31 |
31 import de.intevation.flys.backend.SessionHolder; | 32 import de.intevation.flys.backend.SessionHolder; |
32 | 33 |
115 | 116 |
116 protected static void artifactToParameters( | 117 protected static void artifactToParameters( |
117 FLYSArtifact artifact, | 118 FLYSArtifact artifact, |
118 Map<String, Object> parameters | 119 Map<String, Object> parameters |
119 ) { | 120 ) { |
120 parameters.put("current-state-id", artifact.getCurrentStateId()); | 121 parameters.put("CURRENT-STATE-ID", artifact.getCurrentStateId()); |
121 parameters.put("artifact-id", artifact.identifier()); | 122 parameters.put("ARTIFACT-ID", artifact.identifier()); |
122 | 123 |
123 for (StateData sd: artifact.getAllData()) { | 124 for (StateData sd: artifact.getAllData()) { |
124 Object value = sd.getValue(); | 125 Object value = sd.getValue(); |
125 if (value == null) { | 126 if (value == null) { |
126 continue; | 127 continue; |
127 } | 128 } |
128 String key = sd.getName().replace('.', '-'); | 129 String key = sd.getName().replace('.', '-').toUpperCase(); |
129 parameters.put(key, value); | 130 parameters.put(key, value); |
131 } | |
132 } | |
133 | |
134 public static void convertKeysToUpperCase( | |
135 Map<String, Object> src, | |
136 Map<String, Object> dst | |
137 ) { | |
138 for (Map.Entry<String, Object> entry: src.entrySet()) { | |
139 dst.put(entry.getKey().toUpperCase(), entry.getValue()); | |
130 } | 140 } |
131 } | 141 } |
132 | 142 |
133 public void recommend( | 143 public void recommend( |
134 FLYSArtifact artifact, | 144 FLYSArtifact artifact, |
138 Node result | 148 Node result |
139 ) { | 149 ) { |
140 Map<String, Object> parameters = new HashMap<String, Object>(); | 150 Map<String, Object> parameters = new HashMap<String, Object>(); |
141 | 151 |
142 if (extraParameters != null) { | 152 if (extraParameters != null) { |
143 parameters.putAll(extraParameters); | 153 convertKeysToUpperCase(extraParameters, parameters); |
144 } | 154 } |
145 | 155 |
146 if (userId != null) { | 156 if (userId != null) { |
147 parameters.put("user-id", userId); | 157 parameters.put("USER-ID", userId); |
148 } | 158 } |
149 | 159 |
150 if (artifact != null) { | 160 if (artifact != null) { |
151 artifactToParameters(artifact, parameters); | 161 artifactToParameters(artifact, parameters); |
152 } | 162 } |
153 | 163 |
154 parameters.put("artifact-outs", outs); | 164 parameters.put("ARTIFACT-OUTS", StringUtils.toUpperCase(outs)); |
155 | 165 |
156 parameters.put("parameters", parameters); | 166 parameters.put("PARAMETERS", parameters); |
157 | 167 |
158 recommend(parameters, userId, result); | 168 recommend(parameters, userId, result); |
159 } | 169 } |
160 | 170 |
161 public void recommend( | 171 public void recommend( |