Author: jeff.yuchang
Date: 2009-06-15 08:57:41 -0400 (Mon, 15 Jun 2009)
New Revision: 611
Modified:
idm/trunk/idm-hibernate/src/main/java/org/jboss/identity/idm/impl/store/hibernate/HibernateIdentityStoreImpl.java
Log:
* JBID-129, fix the ConcurrentModificationException.
Modified:
idm/trunk/idm-hibernate/src/main/java/org/jboss/identity/idm/impl/store/hibernate/HibernateIdentityStoreImpl.java
===================================================================
---
idm/trunk/idm-hibernate/src/main/java/org/jboss/identity/idm/impl/store/hibernate/HibernateIdentityStoreImpl.java 2009-06-15
06:30:34 UTC (rev 610)
+++
idm/trunk/idm-hibernate/src/main/java/org/jboss/identity/idm/impl/store/hibernate/HibernateIdentityStoreImpl.java 2009-06-15
12:57:41 UTC (rev 611)
@@ -508,16 +508,18 @@
try
{
- // Remove all related relationships
- for (HibernateIdentityObjectRelationship relationship :
hibernateObject.getFromRelationships())
+
+ // Remove all related relationships
+ HibernateIdentityObjectRelationship[] from = new
HibernateIdentityObjectRelationship[hibernateObject.getFromRelationships().size()];
+ for (HibernateIdentityObjectRelationship relationship :
hibernateObject.getFromRelationships().toArray(from))
{
relationship.getFromIdentityObject().getFromRelationships().remove(relationship);
relationship.getToIdentityObject().getToRelationships().remove(relationship);
-
hibernateSession.delete(relationship);
}
-
- for (HibernateIdentityObjectRelationship relationship :
hibernateObject.getToRelationships())
+
+ HibernateIdentityObjectRelationship[] to = new
HibernateIdentityObjectRelationship[hibernateObject.getToRelationships().size()];
+ for (HibernateIdentityObjectRelationship relationship :
hibernateObject.getToRelationships().toArray(to))
{
relationship.getFromIdentityObject().getFromRelationships().remove(relationship);
relationship.getToIdentityObject().getToRelationships().remove(relationship);
Show replies by date