Keep setSingleAttribute from deleting all other attributes of the user being updated.
This commit is contained in:
1 parent
33963f8aa7
commit
98bf095471
3 files changed
+31
-5
No files matched your search
@@ -140,9 +140,10 @@ public class UserAdapter implements UserModel, JpaModel<UserEntity> {
|
||||
|
||||
if (firstExistingAttrId != null) {
|
||||
// Remove attributes through HQL to avoid StaleUpdateException
|
||||
Query query = em.createNamedQuery("deleteUserAttributesOtherThan");
|
||||
query.setParameter("attrId", firstExistingAttrId);
|
||||
Query query = em.createNamedQuery("deleteUserAttributesByNameAndUserOtherThan");
|
||||
query.setParameter("name", name);
|
||||
query.setParameter("userId", user.getId());
|
||||
query.setParameter("attrId", firstExistingAttrId);
|
||||
int numUpdated = query.executeUpdate();
|
||||
|
||||
// Remove attribute from local entity
|
||||
|
||||
@@ -43,7 +43,7 @@ import java.util.Set;
|
||||
@NamedQuery(name="getAttributesByNameAndValue", query="select attr from UserAttributeEntity attr where attr.name = :name and attr.value = :value"),
|
||||
@NamedQuery(name="deleteUserAttributesByRealm", query="delete from UserAttributeEntity attr where attr.user IN (select u from UserEntity u where u.realmId=:realmId)"),
|
||||
@NamedQuery(name="deleteUserAttributesByNameAndUser", query="delete from UserAttributeEntity attr where attr.user.id = :userId and attr.name = :name"),
|
||||
@NamedQuery(name="deleteUserAttributesOtherThan", query="delete from UserAttributeEntity attr where attr.user.id = :userId and attr.id <> :attrId"),
|
||||
@NamedQuery(name="deleteUserAttributesByNameAndUserOtherThan", query="delete from UserAttributeEntity attr where attr.user.id = :userId and attr.name = :name and attr.id <> :attrId"),
|
||||
@NamedQuery(name="deleteUserAttributesByRealmAndLink", query="delete from UserAttributeEntity attr where attr.user IN (select u from UserEntity u where u.realmId=:realmId and u.federationLink=:link)")
|
||||
})
|
||||
@Table(name="USER_ATTRIBUTE")
|
||||
|
||||
Reference in new issue
Block a user