Author: tchemit Date: 2011-07-04 23:36:06 +0200 (Mon, 04 Jul 2011) New Revision: 85 Url: http://nuiton.org/repositories/revision/nuiton-web/85 Log: remove the first topia transaction interceptor Removed: trunk/nuiton-struts2/src/main/java/org/nuiton/web/struts2/interceptor/CloseTopiaTransactionInterceptor.java Deleted: trunk/nuiton-struts2/src/main/java/org/nuiton/web/struts2/interceptor/CloseTopiaTransactionInterceptor.java =================================================================== --- trunk/nuiton-struts2/src/main/java/org/nuiton/web/struts2/interceptor/CloseTopiaTransactionInterceptor.java 2011-07-04 21:35:36 UTC (rev 84) +++ trunk/nuiton-struts2/src/main/java/org/nuiton/web/struts2/interceptor/CloseTopiaTransactionInterceptor.java 2011-07-04 21:36:06 UTC (rev 85) @@ -1,76 +0,0 @@ -/* - * #%L - * Nuiton Web :: Nuiton Struts 2 - * - * $Id$ - * $HeadURL$ - * %% - * Copyright (C) 2010 - 2011 CodeLutin - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Lesser Public License for more details. - * - * You should have received a copy of the GNU General Lesser Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. - * #L% - */ -package org.nuiton.web.struts2.interceptor; - -import com.opensymphony.xwork2.ActionInvocation; -import com.opensymphony.xwork2.interceptor.AbstractInterceptor; -import org.nuiton.topia.TopiaContext; -import org.nuiton.web.struts2.TopiaTransactionAware; - -/** - * A interceptor to close the topia transaction in the action (after the result). - * <p/> - * In that way no need to walk inside entities (for lazy problem) and no need - * also to close the opened transaction. - * <p/> - * The action must implements the contract {@link TopiaTransactionAware}. - * - * @author tchemit <chemit@codelutin.com> - * @see TopiaTransactionAware - * @since 1.2 - */ -public class CloseTopiaTransactionInterceptor extends AbstractInterceptor { - - private static final long serialVersionUID = 1L; - - @Override - public String intercept(ActionInvocation invocation) throws Exception { - - TopiaTransactionAware transactionAware = null; - - Object action = invocation.getProxy().getAction(); - - if (action instanceof TopiaTransactionAware) { - transactionAware = (TopiaTransactionAware) action; - } - - try { - return invocation.invoke(); - } finally { - if (transactionAware != null) { - - // we are on a action with a internal topia transaction - TopiaContext transaction = transactionAware.getTransaction(); - - if (transaction != null && !transaction.isClosed()) { - - // close the opened transaction - transaction.closeContext(); - } - } - } - - } -}