[jboss-svn-commits] JBL Code SVN: r26808 - in labs/jbossrules/trunk: drools-repository/src/main/java/org/drools/repository and 1 other directory.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Jun 3 05:20:33 EDT 2009


Author: jervisliu
Date: 2009-06-03 05:20:32 -0400 (Wed, 03 Jun 2009)
New Revision: 26808

Modified:
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/files/FileManagerUtils.java
   labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/RulesRepository.java
   labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/VersionableItem.java
Log:
Better handling of InvalidItemStateException for concurrent modification. https://jira.jboss.org/jira/browse/GUVNOR-324, https://jira.jboss.org/jira/browse/GUVNOR-325

Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/files/FileManagerUtils.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/files/FileManagerUtils.java	2009-06-02 17:25:28 UTC (rev 26807)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/files/FileManagerUtils.java	2009-06-03 09:20:32 UTC (rev 26808)
@@ -272,7 +272,7 @@
     @Restrict("#{identity.loggedIn}")
     public void importPackageToRepository(byte[] data,
                                           boolean importAsNew) {
-
+        try {
         repository.importPackageToRepository( data,
                                               importAsNew );
 
@@ -281,7 +281,7 @@
         //This section checks if the repository contains drools v4
         //ruleflows that need to be migrated to drools v5
         //
-        try {
+
             if ( MigrateRepository.needsRuleflowMigration( repository ) ) {
                 MigrateRepository.migrateRuleflows( repository );
             }

Modified: labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/RulesRepository.java
===================================================================
--- labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/RulesRepository.java	2009-06-02 17:25:28 UTC (rev 26807)
+++ labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/RulesRepository.java	2009-06-03 09:20:32 UTC (rev 26808)
@@ -1061,6 +1061,10 @@
     public void save() {
         try {
             this.session.save();
+        } catch ( InvalidItemStateException e ) {
+        	String message = "Your operation was failed because it conflicts with a change made through another user. Please try again.";
+            log.error( "Caught Exception", e );
+            throw new RulesRepositoryException( message, e );
         } catch ( Exception e ) {
             if ( e instanceof RuntimeException ) {
                 throw (RuntimeException) e;

Modified: labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/VersionableItem.java
===================================================================
--- labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/VersionableItem.java	2009-06-02 17:25:28 UTC (rev 26807)
+++ labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/VersionableItem.java	2009-06-03 09:20:32 UTC (rev 26808)
@@ -8,6 +8,7 @@
 import java.util.List;
 import java.util.Map;
 
+import javax.jcr.InvalidItemStateException;
 import javax.jcr.Node;
 import javax.jcr.PathNotFoundException;
 import javax.jcr.Property;
@@ -504,6 +505,10 @@
             }
             throw new RulesRepositoryException( message,
                                                 e );
+        } catch ( InvalidItemStateException e ) {
+        	String message = "Your operation was failed because it conflicts with a change made through another user. Please try again.";
+            log.error( "Caught Exception", e );
+            throw new RulesRepositoryException( message, e );
         } catch ( Exception e ) {
             log.error( "Caught Exception",
                        e );




More information about the jboss-svn-commits mailing list