dirkv       01/07/24 14:38:26

  Modified:    src/share/org/apache/slide/common Namespace.java
  Log:
  restart transaction after ObjectAlreadyExistsException
  only rollback when needed
  
  Revision  Changes    Path
  1.35      +13 -7     jakarta-slide/src/share/org/apache/slide/common/Namespace.java
  
  Index: Namespace.java
  ===================================================================
  RCS file: /home/cvs/jakarta-slide/src/share/org/apache/slide/common/Namespace.java,v
  retrieving revision 1.34
  retrieving revision 1.35
  diff -u -r1.34 -r1.35
  --- Namespace.java    2001/07/21 13:22:43     1.34
  +++ Namespace.java    2001/07/24 21:38:26     1.35
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-slide/src/share/org/apache/slide/common/Namespace.java,v 1.34 
2001/07/21 13:22:43 dirkv Exp $
  - * $Revision: 1.34 $
  - * $Date: 2001/07/21 13:22:43 $
  + * $Header: 
/home/cvs/jakarta-slide/src/share/org/apache/slide/common/Namespace.java,v 1.35 
2001/07/24 21:38:26 dirkv Exp $
  + * $Revision: 1.35 $
  + * $Date: 2001/07/24 21:38:26 $
    *
    * ====================================================================
    *
  @@ -93,7 +93,7 @@
    * Namespace class.
    *
    * @author <a href="mailto:[EMAIL PROTECTED]";>Remy Maucherat</a>
  - * @version $Revision: 1.34 $
  + * @version $Revision: 1.35 $
    */
   public final class Namespace {
       
  @@ -682,6 +682,10 @@
               try {
                   rootUri.getStore().createObject(rootUri, rootNode);
               } catch (ObjectAlreadyExistsException e) {
  +                             // abort the failed transaction
  +                getTransactionManager().rollback();
  +                             // start a new one to continue processing
  +                getTransactionManager().begin();
               }
               rootUri.getStore().grantPermission(rootUri, allAccess);
               
  @@ -729,7 +733,8 @@
               // already done before
               Domain.info("Namespace base configuration was already done before");
                try {
  -                     getTransactionManager().rollback();
  +                if (getTransactionManager().getStatus()==Status.STATUS_ACTIVE)
  +                    getTransactionManager().rollback();
                }
                catch (SystemException ex) {
                        Domain.warn("Could not rollback namespace base configuration: 
" + ex.getMessage());
  @@ -740,10 +745,11 @@
               // Log the event, and hope it was already done before.
               Domain.info("Unable to read Namespace base configuration file : " + 
e.getMessage());
                try {
  -                     getTransactionManager().rollback();
  +             if (getTransactionManager().getStatus()==Status.STATUS_ACTIVE)
  +                 getTransactionManager().rollback();
                }
                catch (SystemException ex) {
  -                     Domain.warn("Could not rollback namespace base configuration: 
" + ex.getMessage());
  +                     Domain.warn("Could not rollback namespace base configuration 
after load error: " + ex.getMessage());
                }
           }
       }
  
  
  

Reply via email to