You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lenya.apache.org by an...@apache.org on 2005/04/12 22:36:54 UTC
svn commit: r161113 -
lenya/trunk/src/java/org/apache/lenya/cms/usecase/AbstractUsecase.java
Author: andreas
Date: Tue Apr 12 13:36:53 2005
New Revision: 161113
URL: http://svn.apache.org/viewcvs?view=rev&rev=161113
Log:
AbstractUsecase: moved commit/rollback to finally clause
Modified:
lenya/trunk/src/java/org/apache/lenya/cms/usecase/AbstractUsecase.java
Modified: lenya/trunk/src/java/org/apache/lenya/cms/usecase/AbstractUsecase.java
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/java/org/apache/lenya/cms/usecase/AbstractUsecase.java?view=diff&r1=161112&r2=161113
==============================================================================
--- lenya/trunk/src/java/org/apache/lenya/cms/usecase/AbstractUsecase.java (original)
+++ lenya/trunk/src/java/org/apache/lenya/cms/usecase/AbstractUsecase.java Tue Apr 12 13:36:53 2005
@@ -197,23 +197,35 @@
* @see org.apache.lenya.cms.usecase.Usecase#execute()
*/
public final void execute() throws UsecaseException {
+ Exception exception = null;
try {
clearErrorMessages();
clearInfoMessages();
doExecute();
dumpErrorMessages();
-
- if (getErrorMessages().size() == 0) {
- getUnitOfWork().commit();
- }
-
} catch (LockException e) {
+ exception = e;
addErrorMessage("The operation could not be completed because an involved object was changed by another user.");
} catch (Exception e) {
+ exception = e;
getLogger().error(e.getMessage(), e);
addErrorMessage(e.getMessage() + " - Please consult the logfiles.");
if (getLogger().isDebugEnabled()) {
throw new UsecaseException(e);
+ }
+ } finally {
+ try {
+ if (getErrorMessages().isEmpty() && exception == null) {
+ getUnitOfWork().commit();
+ } else {
+ getUnitOfWork().rollback();
+ }
+ } catch (ServiceException e1) {
+ getLogger().error("Service could not be obtained: ", e1);
+ } catch (TransactionException e1) {
+ getLogger().error("Exception during commit or rollback: ", e1);
+ addErrorMessage("Exception during commit or rollback: " + e1.getMessage()
+ + " (see logfiles for details)");
}
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@lenya.apache.org
For additional commands, e-mail: commits-help@lenya.apache.org