diff --git a/data-upgrade-users/src/main/java/org/exoplatform/migration/UserPasswordHashMigration.java b/data-upgrade-users/src/main/java/org/exoplatform/migration/UserPasswordHashMigration.java index 4803846a1..61999d64b 100644 --- a/data-upgrade-users/src/main/java/org/exoplatform/migration/UserPasswordHashMigration.java +++ b/data-upgrade-users/src/main/java/org/exoplatform/migration/UserPasswordHashMigration.java @@ -32,9 +32,7 @@ import javax.persistence.EntityManager; import javax.persistence.Query; import java.security.SecureRandom; -import java.util.HashMap; import java.util.List; -import java.util.Map; import java.util.concurrent.atomic.AtomicInteger; public class UserPasswordHashMigration extends UpgradeProductPlugin { @@ -73,12 +71,11 @@ public void processUpgrade(String s, String s1) { AtomicInteger updatedPasswords = new AtomicInteger(); EntityManager entityManager = this.entityManagerService.getEntityManager(); try { - String sqlString = "SELECT jbid_io.NAME, jbid_io_creden.TEXT FROM" + - " (jbid_io_creden INNER JOIN jbid_io ON jbid_io_creden.IDENTITY_OBJECT_ID = jbid_io.ID)" + - " INNER JOIN (SELECT jbid_io_attr.IDENTITY_OBJECT_ID," + - " min(CASE WHEN jbid_io_attr.NAME = 'passwordSalt128' THEN jbid_io_attr.NAME ELSE NULL END) AS salt128" + - " FROM jbid_io_attr GROUP BY jbid_io_attr.IDENTITY_OBJECT_ID" + - " HAVING salt128 IS NULL) jia ON jbid_io_creden.IDENTITY_OBJECT_ID = jia.IDENTITY_OBJECT_ID;"; + String sqlString = "SELECT jbid_io.NAME, jbid_io_creden.TEXT FROM" + + " (jbid_io_creden INNER JOIN jbid_io ON jbid_io_creden.IDENTITY_OBJECT_ID = jbid_io.ID)" + + " INNER JOIN (SELECT jbid_io_attr.IDENTITY_OBJECT_ID FROM jbid_io_attr" + + " WHERE jbid_io_attr.IDENTITY_OBJECT_ID NOT IN (SELECT jbid_io_attr.IDENTITY_OBJECT_ID FROM jbid_io_attr WHERE NAME = 'passwordSalt128')" + + " GROUP BY jbid_io_attr.IDENTITY_OBJECT_ID) jia ON jbid_io_creden.IDENTITY_OBJECT_ID = jia.IDENTITY_OBJECT_ID;"; Query nativeQuery = entityManager.createNativeQuery(sqlString); List result = nativeQuery.getResultList(); @@ -90,7 +87,7 @@ public void processUpgrade(String s, String s1) { User user = picketLinkIDMService.getIdentitySession().getPersistenceManager().findUser(userName); picketLinkIDMService.getExtendedAttributeManager().addAttribute(userName, PASSWORD_SALT_USER_ATTRIBUTE, saltString); picketLinkIDMService.getExtendedAttributeManager().updatePassword(user, passwordHash); - int count = updatedPasswords.getAndIncrement(); + int count = updatedPasswords.incrementAndGet(); if (count % 50 == 0 || count == result.size()) { LOG.info("{}/{} passwords have been updated", count, result.size()); }