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].