[jboss-cvs] jboss-seam/src/main/org/jboss/seam/jsf ...
Gavin King
gavin.king at jboss.com
Wed May 30 14:53:47 EDT 2007
User: gavin
Date: 07/05/30 14:53:47
Modified: src/main/org/jboss/seam/jsf
AbstractSeamPhaseListener.java
SeamPhaseListener.java
SeamPortletPhaseListener.java
Log:
apply JBSEAM-1144
make Transaction management be a component that implements UserTransaction
no longer need to roll back txns at end of request, due to JBAS-3242 being fixed
Revision Changes Path
1.47 +28 -25 jboss-seam/src/main/org/jboss/seam/jsf/AbstractSeamPhaseListener.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: AbstractSeamPhaseListener.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/src/main/org/jboss/seam/jsf/AbstractSeamPhaseListener.java,v
retrieving revision 1.46
retrieving revision 1.47
diff -u -b -r1.46 -r1.47
--- AbstractSeamPhaseListener.java 19 May 2007 16:44:53 -0000 1.46
+++ AbstractSeamPhaseListener.java 30 May 2007 18:53:46 -0000 1.47
@@ -29,10 +29,10 @@
import org.jboss.seam.core.Pages;
import org.jboss.seam.core.PersistenceContexts;
import org.jboss.seam.core.Switcher;
+import org.jboss.seam.core.Transaction;
import org.jboss.seam.core.Validation;
import org.jboss.seam.log.LogProvider;
import org.jboss.seam.log.Logging;
-import org.jboss.seam.util.Transactions;
public abstract class AbstractSeamPhaseListener implements PhaseListener
{
@@ -43,10 +43,25 @@
{
return ANY_PHASE;
}
+
+ protected void afterProcessValidations(FacesContext facesContext)
+ {
+ Validation.instance().afterProcessValidations(facesContext);
+ }
+
+ /**
+ * Set up the Seam contexts, except for the conversation
+ * context
+ */
+ protected void beforeRestoreView(FacesContext facesContext)
+ {
+ Lifecycle.beginRequest( facesContext.getExternalContext() );
+ }
+
/**
* Restore the page and conversation contexts during a JSF request
*/
- public void afterRestoreView(FacesContext facesContext)
+ protected void afterRestoreView(FacesContext facesContext)
{
Lifecycle.resumePage();
Map parameters = facesContext.getExternalContext().getRequestParameterMap();
@@ -108,7 +123,7 @@
}
}
- public void beforePhase(PhaseEvent event)
+ public void raiseEventsBeforePhase(PhaseEvent event)
{
if ( Contexts.isApplicationContextActive() )
{
@@ -143,7 +158,7 @@
}
}
- public void afterPhase(PhaseEvent event)
+ public void raiseEventsAfterPhase(PhaseEvent event)
{
if ( Contexts.isApplicationContextActive() )
{
@@ -151,12 +166,6 @@
}
}
- /*protected void beforeUpdateModelValues(PhaseEvent event)
- {
- Pages.instance().applyViewRootValues( event.getFacesContext() );
- Manager.instance().setUpdateModelValuesCalled(true);
- }*/
-
/**
* Give the subclasses an opportunity to do stuff
*/
@@ -169,7 +178,7 @@
{
try
{
- if ( Transactions.isTransactionMarkedRollback() )
+ if ( Transaction.instance().isMarkedRollback() )
{
FacesMessages.instance().addFromResourceBundleOrDefault(
FacesMessage.SEVERITY_WARN,
@@ -185,10 +194,6 @@
{
FacesContext facesContext = event.getFacesContext();
- /*if ( !Manager.instance().isUpdateModelValuesCalled() )
- {
- Pages.instance().applyRequestParameterValues(facesContext);
- }*/
if ( Contexts.isPageContextActive() )
{
@@ -289,16 +294,18 @@
if (exists) log.warn("There should only be one Seam phase listener per application");
exists=true;
}
+
+
/////////Do not really belong here:
void begin(PhaseId phaseId)
{
try
{
- if ( !Transactions.isTransactionActiveOrMarkedRollback() )
+ if ( !Transaction.instance().isActiveOrMarkedRollback() )
{
log.debug("beginning transaction prior to phase: " + phaseId);
- Transactions.getUserTransaction().begin();
+ Transaction.instance().begin();
}
}
catch (Exception e)
@@ -311,15 +318,15 @@
{
try
{
- if ( Transactions.isTransactionActive() )
+ if ( Transaction.instance().isActive() )
{
log.debug("committing transaction after phase: " + phaseId);
- Transactions.getUserTransaction().commit();
+ Transaction.instance().commit();
}
- else if ( Transactions.isTransactionMarkedRollback() )
+ else if ( Transaction.instance().isMarkedRollback() )
{
log.debug("rolling back transaction after phase: " + phaseId);
- Transactions.getUserTransaction().rollback();
+ Transaction.instance().rollback();
}
}
catch (Exception e)
@@ -328,8 +335,4 @@
}
}
- protected void afterProcessValidations(FacesContext facesContext)
- {
- Validation.instance().afterProcessValidations(facesContext);
- }
}
1.100 +11 -16 jboss-seam/src/main/org/jboss/seam/jsf/SeamPhaseListener.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: SeamPhaseListener.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/src/main/org/jboss/seam/jsf/SeamPhaseListener.java,v
retrieving revision 1.99
retrieving revision 1.100
diff -u -b -r1.99 -r1.100
--- SeamPhaseListener.java 27 Mar 2007 02:24:20 -0000 1.99
+++ SeamPhaseListener.java 30 May 2007 18:53:46 -0000 1.100
@@ -23,7 +23,7 @@
/**
* Manages the Seam contexts associated with a JSF request.
*
- * Manages the thread/context associations throughoutt the
+ * Manages the thread/context associations throughout the
* lifecycle of the JSF request.
*
* @author Gavin King
@@ -34,7 +34,6 @@
private static final LogProvider log = Logging.getLogProvider(SeamPhaseListener.class);
- @Override
public void beforePhase(PhaseEvent event)
{
log.trace( "before phase: " + event.getPhaseId() );
@@ -44,23 +43,20 @@
try
{
- //delegate to subclass:
- handleTransactionsBeforePhase(event);
-
if ( event.getPhaseId() == RESTORE_VIEW )
{
- Lifecycle.beginRequest( event.getFacesContext().getExternalContext() );
+ beforeRestoreView( event.getFacesContext() );
}
- else if ( event.getPhaseId() == RENDER_RESPONSE )
+
+ //delegate tx management to subclass:
+ handleTransactionsBeforePhase(event);
+
+ if ( event.getPhaseId() == RENDER_RESPONSE )
{
beforeRender(event);
}
- /*else if ( event.getPhaseId() == UPDATE_MODEL_VALUE )
- {
- beforeUpdateModelValues(event);
- }*/
- super.beforePhase(event);
+ raiseEventsBeforePhase(event);
}
catch (Exception e)
@@ -78,7 +74,6 @@
}
- @Override
public void afterPhase(PhaseEvent event)
{
log.trace( "after phase: " + event.getPhaseId() );
@@ -86,7 +81,7 @@
try
{
- super.afterPhase(event);
+ raiseEventsAfterPhase(event);
FacesContext facesContext = event.getFacesContext();
@@ -107,7 +102,7 @@
//can add messages
FacesMessages.afterPhase();
- //delegate to subclass:
+ //delegate tx management to subclass:
handleTransactionsAfterPhase(event);
if ( event.getPhaseId() == RENDER_RESPONSE )
1.22 +6 -20 jboss-seam/src/main/org/jboss/seam/jsf/SeamPortletPhaseListener.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: SeamPortletPhaseListener.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/src/main/org/jboss/seam/jsf/SeamPortletPhaseListener.java,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -b -r1.21 -r1.22
--- SeamPortletPhaseListener.java 27 Mar 2007 02:24:20 -0000 1.21
+++ SeamPortletPhaseListener.java 30 May 2007 18:53:46 -0000 1.22
@@ -36,43 +36,37 @@
private static final LogProvider log = Logging.getLogProvider( SeamPortletPhaseListener.class );
- @Override
public void beforePhase(PhaseEvent event)
{
log.trace( "before phase: " + event.getPhaseId() );
Lifecycle.setPhaseId( event.getPhaseId() );
- //delegate to subclass:
- handleTransactionsBeforePhase(event);
-
FacesContext facesContext = event.getFacesContext();
if ( event.getPhaseId() == RESTORE_VIEW || event.getPhaseId() == RENDER_RESPONSE )
{
- Lifecycle.beginRequest( facesContext.getExternalContext() );
+ beforeRestoreView(facesContext);
}
+ //delegate to subclass:
+ handleTransactionsBeforePhase(event);
+
if ( event.getPhaseId() == RENDER_RESPONSE )
{
afterRestoreView( facesContext );
beforeRender(event);
}
- /*else if ( event.getPhaseId()== UPDATE_MODEL_VALUE )
- {
- beforeUpdateModelValues(event);
- }*/
- super.beforePhase(event);
+ raiseEventsBeforePhase(event);
}
- @Override
public void afterPhase(PhaseEvent event)
{
log.trace( "after phase: " + event.getPhaseId() );
- super.afterPhase(event);
+ raiseEventsAfterPhase(event);
FacesContext facesContext = event.getFacesContext();
@@ -140,14 +134,6 @@
}
}
- /*private static void setResponseHeader(Object response, String conversationIdParameter, String conversationId)
- {
- if (response instanceof HttpServletResponse)
- {
- ( (HttpServletResponse) response ).setHeader(conversationIdParameter, conversationId);
- }
- }*/
-
protected void handleTransactionsAfterPhase(PhaseEvent event) {}
protected void handleTransactionsBeforePhase(PhaseEvent event) {}
More information about the jboss-cvs-commits
mailing list