This is an automated email from the ASF dual-hosted git repository.

rlevas pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/ambari.git


The following commit(s) were added to refs/heads/trunk by this push:
     new e40e7e5  [AMBARI-22882] Long cannot be cast to String error when 
changing a user's password
e40e7e5 is described below

commit e40e7e5bfcfffac78351278d74e1310a8aa35cc5
Author: Robert Levas <[email protected]>
AuthorDate: Tue Jan 30 16:12:52 2018 -0500

    [AMBARI-22882] Long cannot be cast to String error when changing a user's 
password
---
 .../controller/internal/UserResourceProvider.java     | 19 ++++++++++++++++++-
 .../controller/internal/UserResourceProviderTest.java |  2 +-
 2 files changed, 19 insertions(+), 2 deletions(-)

diff --git 
a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UserResourceProvider.java
 
b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UserResourceProvider.java
index 6c26c9d..2141327 100644
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UserResourceProvider.java
+++ 
b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UserResourceProvider.java
@@ -17,6 +17,7 @@
  */
 package org.apache.ambari.server.controller.internal;
 
+import java.text.NumberFormat;
 import java.util.EnumSet;
 import java.util.HashSet;
 import java.util.LinkedHashMap;
@@ -550,7 +551,7 @@ public class UserResourceProvider extends 
AbstractControllerResourceProvider imp
             .toPredicate();
         Predicate predicate2 = new PredicateBuilder()
             
.property(UserAuthenticationSourceResourceProvider.AUTHENTICATION_AUTHENTICATION_SOURCE_ID_PROPERTY_ID)
-            .equals(userAuthenticationEntity.getUserAuthenticationId())
+            
.equals(convertIdToString(userAuthenticationEntity.getUserAuthenticationId()))
             .toPredicate();
 
         try {
@@ -562,6 +563,22 @@ public class UserResourceProvider extends 
AbstractControllerResourceProvider imp
     }
   }
 
+  /**
+   * Safely converts an id value to a string
+   *
+   * @param id the value to convert
+   * @return a string representation of the id
+   */
+  private String convertIdToString(Long id) {
+    if (id == null) {
+      return null;
+    } else {
+      NumberFormat format = NumberFormat.getIntegerInstance();
+      format.setGroupingUsed(false);
+      return format.format(id);
+    }
+  }
+
   private boolean isValueChanged(Object newValue, Object currentValue) {
     return (newValue != null) && !newValue.equals(currentValue);
   }
diff --git 
a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UserResourceProviderTest.java
 
b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UserResourceProviderTest.java
index aaddda2..8a1c22b 100644
--- 
a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UserResourceProviderTest.java
+++ 
b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UserResourceProviderTest.java
@@ -813,7 +813,7 @@ public class UserResourceProviderTest extends 
EasyMockSupport {
           if 
(UserAuthenticationSourceResourceProvider.AUTHENTICATION_USER_NAME_PROPERTY_ID.equals(equalsPredicate.getPropertyId()))
 {
             Assert.assertEquals(requestedUsername, equalsPredicate.getValue());
           } else if 
(UserAuthenticationSourceResourceProvider.AUTHENTICATION_AUTHENTICATION_SOURCE_ID_PROPERTY_ID.equals(equalsPredicate.getPropertyId()))
 {
-            Assert.assertEquals(100L, equalsPredicate.getValue());
+            Assert.assertEquals("100", equalsPredicate.getValue());
           }
         }
       }

-- 
To stop receiving notification emails like this one, please contact
[email protected].

Reply via email to