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());
}
}
}