You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@deltaspike.apache.org by gp...@apache.org on 2014/04/08 12:14:37 UTC
git commit: DELTASPIKE-563 deactivatable phase-listeners
Repository: deltaspike
Updated Branches:
refs/heads/master e61dda0f0 -> ccac36f2f
DELTASPIKE-563 deactivatable phase-listeners
Project: http://git-wip-us.apache.org/repos/asf/deltaspike/repo
Commit: http://git-wip-us.apache.org/repos/asf/deltaspike/commit/ccac36f2
Tree: http://git-wip-us.apache.org/repos/asf/deltaspike/tree/ccac36f2
Diff: http://git-wip-us.apache.org/repos/asf/deltaspike/diff/ccac36f2
Branch: refs/heads/master
Commit: ccac36f2f6ace20f499cd82cb7382ce6ff7cc3cc
Parents: e61dda0
Author: gpetracek <gp...@apache.org>
Authored: Tue Apr 8 12:12:03 2014 +0200
Committer: gpetracek <gp...@apache.org>
Committed: Tue Apr 8 12:12:03 2014 +0200
----------------------------------------------------------------------
.../listener/phase/JsfRequestLifecycleBroadcaster.java | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/deltaspike/blob/ccac36f2/deltaspike/modules/jsf/impl/src/main/java/org/apache/deltaspike/jsf/impl/listener/phase/JsfRequestLifecycleBroadcaster.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/jsf/impl/src/main/java/org/apache/deltaspike/jsf/impl/listener/phase/JsfRequestLifecycleBroadcaster.java b/deltaspike/modules/jsf/impl/src/main/java/org/apache/deltaspike/jsf/impl/listener/phase/JsfRequestLifecycleBroadcaster.java
index dfef069..7dd86af 100644
--- a/deltaspike/modules/jsf/impl/src/main/java/org/apache/deltaspike/jsf/impl/listener/phase/JsfRequestLifecycleBroadcaster.java
+++ b/deltaspike/modules/jsf/impl/src/main/java/org/apache/deltaspike/jsf/impl/listener/phase/JsfRequestLifecycleBroadcaster.java
@@ -18,6 +18,9 @@
*/
package org.apache.deltaspike.jsf.impl.listener.phase;
+import org.apache.deltaspike.core.spi.activation.Deactivatable;
+import org.apache.deltaspike.core.util.ClassDeactivationUtils;
+import org.apache.deltaspike.core.util.ProxyUtils;
import org.apache.deltaspike.jsf.api.listener.phase.AfterPhase;
import org.apache.deltaspike.jsf.api.listener.phase.BeforePhase;
import org.apache.deltaspike.jsf.api.listener.phase.JsfPhaseId;
@@ -63,10 +66,18 @@ public class JsfRequestLifecycleBroadcaster
@Inject
protected JsfRequestLifecycleBroadcaster(Instance<PhaseListener> phaseListenerInstance)
{
+ Class phaseListenerClass;
for (PhaseListener currentPhaseListener : phaseListenerInstance)
{
- if (currentPhaseListener.getClass().isAnnotationPresent(JsfPhaseListener.class))
+ phaseListenerClass = ProxyUtils.getUnproxiedClass(currentPhaseListener.getClass());
+
+ if (phaseListenerClass.isAnnotationPresent(JsfPhaseListener.class))
{
+ if (Deactivatable.class.isAssignableFrom(phaseListenerClass) &&
+ !ClassDeactivationUtils.isActivated(phaseListenerClass))
+ {
+ continue;
+ }
this.phaseListeners.add(currentPhaseListener);
}
}