From 7b0aa1f3c0dbf07af3b98b20a30d662a82362b0e Mon Sep 17 00:00:00 2001 From: srosse <stephane.rosse@frentix.com> Date: Fri, 17 May 2019 15:14:45 +0200 Subject: [PATCH] OO-4015: fix double conversion of user properties --- .../manager/IdentityPowerSearchQueriesImpl.java | 6 +----- src/main/java/org/olat/user/UserPropertiesRow.java | 8 ++++++++ 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/main/java/org/olat/basesecurity/manager/IdentityPowerSearchQueriesImpl.java b/src/main/java/org/olat/basesecurity/manager/IdentityPowerSearchQueriesImpl.java index 2d63f72c476..47af52d24db 100644 --- a/src/main/java/org/olat/basesecurity/manager/IdentityPowerSearchQueriesImpl.java +++ b/src/main/java/org/olat/basesecurity/manager/IdentityPowerSearchQueriesImpl.java @@ -38,7 +38,6 @@ import org.olat.basesecurity.IdentityPowerSearchQueries; import org.olat.basesecurity.OrganisationRoles; import org.olat.basesecurity.SearchIdentityParams; import org.olat.basesecurity.model.IdentityPropertiesRow; -import org.olat.basesecurity.model.QueryUserHelper; import org.olat.core.commons.persistence.DB; import org.olat.core.commons.persistence.QueryBuilder; import org.olat.core.commons.persistence.SortKey; @@ -112,7 +111,6 @@ public class IdentityPowerSearchQueriesImpl implements IdentityPowerSearchQuerie List<Object[]> rawList = dbq.getResultList(); List<IdentityPropertiesRow> rows = new ArrayList<>(rawList.size()); int numOfProperties = userPropertyHandlers.size(); - QueryUserHelper user = new QueryUserHelper(); for(Object[] rawObject:rawList) { int pos = 0; @@ -124,9 +122,7 @@ public class IdentityPowerSearchQueriesImpl implements IdentityPowerSearchQuerie String[] userProperties = new String[numOfProperties]; for(int i=0; i<numOfProperties; i++) { - String userProperty = (String)rawObject[pos++]; - user.setUserProperty(userProperty); - userProperties[i] = userPropertyHandlers.get(i).getUserProperty(user, locale); + userProperties[i] = (String)rawObject[pos++]; } rows.add(new IdentityPropertiesRow(identityKey, identityName, creationDate, lastLogin, status, userPropertyHandlers, userProperties, locale)); diff --git a/src/main/java/org/olat/user/UserPropertiesRow.java b/src/main/java/org/olat/user/UserPropertiesRow.java index 2b85e726b18..e3a6ddb5b07 100644 --- a/src/main/java/org/olat/user/UserPropertiesRow.java +++ b/src/main/java/org/olat/user/UserPropertiesRow.java @@ -40,6 +40,14 @@ public class UserPropertiesRow { private final String identityName; private final String[] identityProps; + /** + * + * @param identityKey The identity key + * @param identityName The identity name + * @param userPropertyHandlers The handlers (must match exactly the identities properties array) + * @param identityProps The raw user properties + * @param locale The locale + */ public UserPropertiesRow(Long identityKey, String identityName, List<UserPropertyHandler> userPropertyHandlers, String[] identityProps, Locale locale) { this.identityKey = identityKey; this.identityName = identityName; -- GitLab