Repository: cloudstack
Updated Branches:
  refs/heads/master 5e90b75c9 -> f5ba02063


Fix: ParamGenericValidationWorker shouldn't be case sensitive

Signed-off-by: Alena Prokharchyk <[email protected]>


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/f5ba0206
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/f5ba0206
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/f5ba0206

Branch: refs/heads/master
Commit: f5ba020633d4152a9eeab59b5a5af4285c9834e4
Parents: 5e90b75
Author: Antonio Fornie <[email protected]>
Authored: Wed Apr 9 08:46:53 2014 -0500
Committer: Alena Prokharchyk <[email protected]>
Committed: Mon Apr 14 10:05:19 2014 -0700

----------------------------------------------------------------------
 .../api/dispatch/ParamGenericValidationWorker.java    | 14 +++++++++++---
 .../dispatch/ParamGenericValidationWorkerTest.java    |  4 ++++
 2 files changed, 15 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/f5ba0206/server/src/com/cloud/api/dispatch/ParamGenericValidationWorker.java
----------------------------------------------------------------------
diff --git 
a/server/src/com/cloud/api/dispatch/ParamGenericValidationWorker.java 
b/server/src/com/cloud/api/dispatch/ParamGenericValidationWorker.java
index 7a73b8a..d6b0cf2 100644
--- a/server/src/com/cloud/api/dispatch/ParamGenericValidationWorker.java
+++ b/server/src/com/cloud/api/dispatch/ParamGenericValidationWorker.java
@@ -80,9 +80,17 @@ public class ParamGenericValidationWorker implements 
DispatchWorker {
 
         final StringBuilder errorMsg = new StringBuilder(ERROR_MSG_PREFIX);
         boolean foundUnknownParam = false;
-        for (final Object paramName : params.keySet()) {
-            if (!expectedParamNames.contains(paramName)) {
-                errorMsg.append(" ").append(paramName);
+        for (final Object actualParamName : params.keySet()) {
+            // If none of the expected params matches, we have an unknown param
+            boolean matchedCurrentParam = false;
+            for (final String expectedName : expectedParamNames) {
+                if (expectedName.equalsIgnoreCase((String) actualParamName)) {
+                    matchedCurrentParam = true;
+                    break;
+                }
+            }
+            if (!matchedCurrentParam) {
+                errorMsg.append(" ").append(actualParamName);
                 foundUnknownParam= true;
             }
         }

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/f5ba0206/server/test/com/cloud/api/dispatch/ParamGenericValidationWorkerTest.java
----------------------------------------------------------------------
diff --git 
a/server/test/com/cloud/api/dispatch/ParamGenericValidationWorkerTest.java 
b/server/test/com/cloud/api/dispatch/ParamGenericValidationWorkerTest.java
index 8f9709c..3073c7f 100644
--- a/server/test/com/cloud/api/dispatch/ParamGenericValidationWorkerTest.java
+++ b/server/test/com/cloud/api/dispatch/ParamGenericValidationWorkerTest.java
@@ -95,6 +95,10 @@ public class ParamGenericValidationWorkerTest {
         params.put(ApiConstants.SIGNATURE, "");
         params.put(ApiConstants.CTX_ACCOUNT_ID, "");
         params.put(ApiConstants.CTX_START_EVENT_ID, "");
+        // Make sure it's case insensitive
+        params.put(ApiConstants.CTX_START_EVENT_ID, "");
+        params.put(ApiConstants.CTX_START_EVENT_ID.toLowerCase(), "");
+        params.put(ApiConstants.CTX_USER_ID.toUpperCase(), "");
         params.put(ApiConstants.CTX_USER_ID, "");
         params.put(ApiConstants.UUID, "");
         params.put(ApiConstants.ID, "");

Reply via email to