Mercurial > dive4elements > river
diff 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 |
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/datacage/Recommendations.java Mon Oct 17 14:55:45 2011 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/datacage/Recommendations.java Mon Oct 17 15:53:03 2011 +0000 @@ -25,6 +25,7 @@ import de.intevation.artifacts.common.utils.Config; import de.intevation.artifacts.common.utils.XMLUtils; +import de.intevation.artifacts.common.utils.StringUtils; import de.intevation.flys.artifacts.FLYSArtifact; @@ -117,19 +118,28 @@ FLYSArtifact artifact, Map<String, Object> parameters ) { - parameters.put("current-state-id", artifact.getCurrentStateId()); - parameters.put("artifact-id", artifact.identifier()); + parameters.put("CURRENT-STATE-ID", artifact.getCurrentStateId()); + parameters.put("ARTIFACT-ID", artifact.identifier()); for (StateData sd: artifact.getAllData()) { Object value = sd.getValue(); if (value == null) { continue; } - String key = sd.getName().replace('.', '-'); + String key = sd.getName().replace('.', '-').toUpperCase(); parameters.put(key, value); } } + public static void convertKeysToUpperCase( + Map<String, Object> src, + Map<String, Object> dst + ) { + for (Map.Entry<String, Object> entry: src.entrySet()) { + dst.put(entry.getKey().toUpperCase(), entry.getValue()); + } + } + public void recommend( FLYSArtifact artifact, String userId, @@ -140,20 +150,20 @@ Map<String, Object> parameters = new HashMap<String, Object>(); if (extraParameters != null) { - parameters.putAll(extraParameters); + convertKeysToUpperCase(extraParameters, parameters); } if (userId != null) { - parameters.put("user-id", userId); + parameters.put("USER-ID", userId); } if (artifact != null) { artifactToParameters(artifact, parameters); } - parameters.put("artifact-outs", outs); + parameters.put("ARTIFACT-OUTS", StringUtils.toUpperCase(outs)); - parameters.put("parameters", parameters); + parameters.put("PARAMETERS", parameters); recommend(parameters, userId, result); }