You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by gp...@apache.org on 2011/05/18 00:00:58 UTC

svn commit: r1104588 [1/2] - in /myfaces/extensions/cdi/trunk: core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/ core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/activation/ core/api/src/main/java/org/apache/myfaces/ex...

Author: gpetracek
Date: Tue May 17 22:00:54 2011
New Revision: 1104588

URL: http://svn.apache.org/viewvc?rev=1104588&view=rev
Log:
EXTCDI-174 @ExpressionActivated and EXTCDI-187 refactoring to the new activation package

Added:
    myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/activation/
    myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/activation/AbstractClassDeactivator.java
      - copied, changed from r1104291, myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/AbstractClassDeactivator.java
    myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/activation/ClassDeactivator.java
      - copied, changed from r1104291, myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/ClassDeactivator.java
    myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/activation/Deactivatable.java
      - copied, changed from r1104291, myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/Deactivatable.java
    myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/activation/ExpressionActivated.java
    myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/activation/ProjectStageActivated.java
      - copied, changed from r1104291, myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/projectstage/ProjectStageActivated.java
    myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/interpreter/
    myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/interpreter/ExpressionInterpreter.java
    myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/activation/
    myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/activation/ActivationExtension.java
      - copied, changed from r1104291, myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/projectstage/ProjectStageActivationExtension.java
    myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/activation/PropertyExpressionInterpreter.java
    myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/activation/SimpleOperationEnum.java
    myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/activation/
    myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/activation/ExpressionActivationExtensionTest.java
    myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/activation/ProjectStageActivationExtensionTest.java
      - copied, changed from r1104291, myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/projectstage/ProjectStageActivationExtensionTest.java
    myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/activation/PropertyExpressionInterpreterTest.java
    myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/activation/testbeans/
      - copied from r1104291, myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/projectstage/testbeans/
    myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/activation/testbeans/ExpressionActivatedTestBean.java
    myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/activation/testbeans/ExpressionActivatedTestBeanImpl.java
    myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/activation/testbeans/ExpressionActivatedTestBeanMockImpl.java
    myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/activation/testbeans/ExpressionActivatedTestInfoBean.java
    myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/activation/testbeans/ExpressionActivatedTestInfoBeanImpl.java
    myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/activation/testbeans/ExpressionActivatedTestInfoBeanMockImpl.java
    myfaces/extensions/cdi/trunk/core/impl/src/test/resources/myfaces-extcdi.properties
Removed:
    myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/AbstractClassDeactivator.java
    myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/ClassDeactivator.java
    myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/Deactivatable.java
    myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/projectstage/ProjectStageActivated.java
    myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/projectstage/ProjectStageActivationExtension.java
    myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/projectstage/ProjectStageActivationExtensionTest.java
    myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/projectstage/testbeans/
Modified:
    myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/config/ConfiguredValueResolver.java
    myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/CodiDeactivatorExtension.java
    myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/config/AbstractConfiguredValueResolver.java
    myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/util/ClassDeactivation.java
    myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/util/ClassDeactivatorAggregator.java
    myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/util/ClassDeactivatorStorage.java
    myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/util/ConfiguredArtifactUtils.java
    myfaces/extensions/cdi/trunk/core/impl/src/main/resources/META-INF/services/javax.enterprise.inject.spi.Extension
    myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/activation/testbeans/MyMailService.java
    myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/activation/testbeans/MyMailServiceImpl.java
    myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/activation/testbeans/MyMailServiceMockImpl.java
    myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/config/ConfigTest.java
    myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/config/TestClassDeactivator.java
    myfaces/extensions/cdi/trunk/core/impl/src/test/resources/META-INF/beans.xml
    myfaces/extensions/cdi/trunk/core/impl/src/test/resources/META-INF/services/javax.enterprise.inject.spi.Extension
    myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/CodiViewHandler.java
    myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/ViewConfigExtension.java
    myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/ViewControllerActionListener.java
    myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/listener/action/CodiActionListener.java
    myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/listener/phase/CodiLifecycleFactoryWrapper.java
    myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/listener/phase/PhaseListenerExtension.java
    myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/listener/request/CodiFacesContextFactory.java
    myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/navigation/CodiNavigationHandler.java
    myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/scope/conversation/CodiRenderKitFactory.java
    myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/scope/conversation/GroupedConversationContextExtension.java
    myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/scope/conversation/WindowContextAwareViewHandler.java
    myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/security/SecurityAwareViewHandler.java
    myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/security/SecurityViolationAwareActionListener.java
    myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/test/java/org/apache/myfaces/extensions/cdi/jsf/test/impl/projectstage/ProjectStageProducerTest.java
    myfaces/extensions/cdi/trunk/jee-modules/jsf20-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf2/impl/ProjectStageObserver.java
    myfaces/extensions/cdi/trunk/jee-modules/jsf20-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf2/impl/listener/phase/CodiLifecycleFactoryWrapper.java
    myfaces/extensions/cdi/trunk/jee-modules/jsf20-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf2/impl/listener/request/CodiFacesContextFactory.java
    myfaces/extensions/cdi/trunk/jee-modules/jsf20-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf2/impl/listener/system/CodiJsf2SystemEventListener.java
    myfaces/extensions/cdi/trunk/jee-modules/jsf20-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf2/impl/navigation/CodiNavigationHandler.java
    myfaces/extensions/cdi/trunk/jee-modules/jsf20-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf2/impl/scope/conversation/CodiRenderKitFactory.java
    myfaces/extensions/cdi/trunk/jee-modules/jsf20-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf2/impl/scope/mapped/MappedJsf2ScopeExtension.java
    myfaces/extensions/cdi/trunk/jee-modules/jsf20-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf2/impl/scope/view/ViewScopedExtension.java
    myfaces/extensions/cdi/trunk/jee-modules/jsf20-module/impl/src/test/java/org.apache.myfaces.extensions.cdi.jsf2.test.impl/projectstage/ProjectStageProducerTest.java

Copied: myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/activation/AbstractClassDeactivator.java (from r1104291, myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/AbstractClassDeactivator.java)
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/activation/AbstractClassDeactivator.java?p2=myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/activation/AbstractClassDeactivator.java&p1=myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/AbstractClassDeactivator.java&r1=1104291&r2=1104588&rev=1104588&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/AbstractClassDeactivator.java (original)
+++ myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/activation/AbstractClassDeactivator.java Tue May 17 22:00:54 2011
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.myfaces.extensions.cdi.core.api;
+package org.apache.myfaces.extensions.cdi.core.api.activation;
 
 import java.util.Set;
 import java.util.HashSet;

Copied: myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/activation/ClassDeactivator.java (from r1104291, myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/ClassDeactivator.java)
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/activation/ClassDeactivator.java?p2=myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/activation/ClassDeactivator.java&p1=myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/ClassDeactivator.java&r1=1104291&r2=1104588&rev=1104588&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/ClassDeactivator.java (original)
+++ myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/activation/ClassDeactivator.java Tue May 17 22:00:54 2011
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.myfaces.extensions.cdi.core.api;
+package org.apache.myfaces.extensions.cdi.core.api.activation;
 
 import java.util.Set;
 import java.io.Serializable;

Copied: myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/activation/Deactivatable.java (from r1104291, myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/Deactivatable.java)
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/activation/Deactivatable.java?p2=myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/activation/Deactivatable.java&p1=myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/Deactivatable.java&r1=1104291&r2=1104588&rev=1104588&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/Deactivatable.java (original)
+++ myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/activation/Deactivatable.java Tue May 17 22:00:54 2011
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.myfaces.extensions.cdi.core.api;
+package org.apache.myfaces.extensions.cdi.core.api.activation;
 
 /**
  * Interface to allow easier detection of deactivatable classes.

Added: myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/activation/ExpressionActivated.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/activation/ExpressionActivated.java?rev=1104588&view=auto
==============================================================================
--- myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/activation/ExpressionActivated.java (added)
+++ myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/activation/ExpressionActivated.java Tue May 17 22:00:54 2011
@@ -0,0 +1,42 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.extensions.cdi.core.api.activation;
+
+import org.apache.myfaces.extensions.cdi.core.api.interpreter.ExpressionInterpreter;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+@Retention(RetentionPolicy.RUNTIME)
+@Target({ElementType.TYPE})
+public @interface ExpressionActivated
+{
+    /**
+     * Expression which signals if the annotated bean should be active or not
+     * @return expression-string which will be interpreted
+     */
+    String value();
+
+    /**
+     * @return class of the interpeter which should be used (default leads to a simple config-property interpreter
+     */
+    Class<? extends ExpressionInterpreter> interpreter() default ExpressionInterpreter.class;
+}

Copied: myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/activation/ProjectStageActivated.java (from r1104291, myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/projectstage/ProjectStageActivated.java)
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/activation/ProjectStageActivated.java?p2=myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/activation/ProjectStageActivated.java&p1=myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/projectstage/ProjectStageActivated.java&r1=1104291&r2=1104588&rev=1104588&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/projectstage/ProjectStageActivated.java (original)
+++ myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/activation/ProjectStageActivated.java Tue May 17 22:00:54 2011
@@ -16,7 +16,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.myfaces.extensions.cdi.core.api.projectstage;
+package org.apache.myfaces.extensions.cdi.core.api.activation;
+
+import org.apache.myfaces.extensions.cdi.core.api.projectstage.ProjectStage;
 
 import java.lang.annotation.ElementType;
 import java.lang.annotation.Retention;
@@ -44,7 +46,8 @@ import java.lang.annotation.Target;
 public @interface ProjectStageActivated 
 {
     /**
-     * The {@link ProjectStage}s the which lead to activating this alternative bean.
+     * The {@link org.apache.myfaces.extensions.cdi.core.api.projectstage.ProjectStage}s
+     * the which lead to activating this alternative bean.
      * If the current ProjectStage is not in this list, the bean will get vetoed.
      * @return 1-n project-stages which are allowed for the annotated artifact
      */

Modified: myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/config/ConfiguredValueResolver.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/config/ConfiguredValueResolver.java?rev=1104588&r1=1104587&r2=1104588&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/config/ConfiguredValueResolver.java (original)
+++ myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/config/ConfiguredValueResolver.java Tue May 17 22:00:54 2011
@@ -18,7 +18,7 @@
  */
 package org.apache.myfaces.extensions.cdi.core.api.config;
 
-import org.apache.myfaces.extensions.cdi.core.api.Deactivatable;
+import org.apache.myfaces.extensions.cdi.core.api.activation.Deactivatable;
 
 import java.util.List;
 

Added: myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/interpreter/ExpressionInterpreter.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/interpreter/ExpressionInterpreter.java?rev=1104588&view=auto
==============================================================================
--- myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/interpreter/ExpressionInterpreter.java (added)
+++ myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/interpreter/ExpressionInterpreter.java Tue May 17 22:00:54 2011
@@ -0,0 +1,32 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.extensions.cdi.core.api.interpreter;
+
+/**
+ * @author Gerhard Petracek
+ */
+public interface ExpressionInterpreter<E, R>
+{
+    /**
+     * Evaluates the given expression and returns the result for it
+     * @param expression expression which should be evaluated
+     * @return result of the evaluated expression
+     */
+    R evaluate(E expression);
+}

Modified: myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/CodiDeactivatorExtension.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/CodiDeactivatorExtension.java?rev=1104588&r1=1104587&r2=1104588&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/CodiDeactivatorExtension.java (original)
+++ myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/CodiDeactivatorExtension.java Tue May 17 22:00:54 2011
@@ -19,7 +19,7 @@
 package org.apache.myfaces.extensions.cdi.core.impl;
 
 import static org.apache.myfaces.extensions.cdi.core.impl.util.ClassDeactivation.isClassActivated;
-import org.apache.myfaces.extensions.cdi.core.api.Deactivatable;
+import org.apache.myfaces.extensions.cdi.core.api.activation.Deactivatable;
 import org.apache.myfaces.extensions.cdi.core.api.projectstage.ProjectStage;
 import org.apache.myfaces.extensions.cdi.core.api.startup.CodiStartupBroadcaster;
 

Copied: myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/activation/ActivationExtension.java (from r1104291, myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/projectstage/ProjectStageActivationExtension.java)
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/activation/ActivationExtension.java?p2=myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/activation/ActivationExtension.java&p1=myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/projectstage/ProjectStageActivationExtension.java&r1=1104291&r2=1104588&rev=1104588&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/projectstage/ProjectStageActivationExtension.java (original)
+++ myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/activation/ActivationExtension.java Tue May 17 22:00:54 2011
@@ -16,30 +16,37 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.myfaces.extensions.cdi.core.impl.projectstage;
+package org.apache.myfaces.extensions.cdi.core.impl.activation;
 
 import javax.enterprise.event.Observes;
 import javax.enterprise.inject.spi.AfterDeploymentValidation;
 import javax.enterprise.inject.spi.Extension;
 import javax.enterprise.inject.spi.ProcessAnnotatedType;
 
+import org.apache.myfaces.extensions.cdi.core.api.activation.ExpressionActivated;
+import org.apache.myfaces.extensions.cdi.core.api.activation.ProjectStageActivated;
+import org.apache.myfaces.extensions.cdi.core.api.interpreter.ExpressionInterpreter;
 import org.apache.myfaces.extensions.cdi.core.api.projectstage.ProjectStage;
-import org.apache.myfaces.extensions.cdi.core.api.projectstage.ProjectStageActivated;
 import org.apache.myfaces.extensions.cdi.core.api.startup.CodiStartupBroadcaster;
+import org.apache.myfaces.extensions.cdi.core.api.util.ClassUtils;
+import org.apache.myfaces.extensions.cdi.core.impl.projectstage.ProjectStageProducer;
 import org.apache.myfaces.extensions.cdi.core.impl.util.ClassDeactivation;
-import org.apache.myfaces.extensions.cdi.core.api.Deactivatable;
+import org.apache.myfaces.extensions.cdi.core.api.activation.Deactivatable;
+
+import java.util.logging.Level;
+import java.util.logging.Logger;
 
 
 /**
  * <p>This class implements the logic for handling
  * {@link ProjectStageActivated} annotations.</p>
  * <p>We simply listen for all annotated types to get scanned, and
- * if it has a {@link ProjectStageActivated} annotation but the
+ * if it has a {@link org.apache.myfaces.extensions.cdi.core.api.activation.ProjectStageActivated} annotation but the
  * the current {@link ProjectStage} is not in the list, we simply
  * veto that bean.</p>
  *
  */
-public class ProjectStageActivationExtension implements Extension, Deactivatable
+public class ActivationExtension implements Extension, Deactivatable
 {
     protected void initProjectStage(@Observes AfterDeploymentValidation afterDeploymentValidation)
     {
@@ -51,7 +58,7 @@ public class ProjectStageActivationExten
      * Check if the {@link javax.enterprise.inject.spi.AnnotatedType} is an @Alternative and
      * is not disabled for the current {@link ProjectStage}.
      */
-    protected void vetoAlternativeTypes(@Observes ProcessAnnotatedType<Object> pat)
+    protected void vetoAlternativeTypes(@Observes ProcessAnnotatedType<Object> processAnnotatedType)
     {
         if(!isActivated())
         {
@@ -60,17 +67,61 @@ public class ProjectStageActivationExten
 
         CodiStartupBroadcaster.broadcastStartup();
 
-        if (pat.getAnnotatedType().getJavaClass().isAnnotationPresent(ProjectStageActivated.class))
+        checkProjectStageActivated(processAnnotatedType);
+
+        checkExpressionActivated(processAnnotatedType);
+    }
+
+    private void checkProjectStageActivated(ProcessAnnotatedType<Object> processAnnotatedType)
+    {
+        if (processAnnotatedType.getAnnotatedType().getJavaClass().isAnnotationPresent(ProjectStageActivated.class))
         {
-            Class<? extends ProjectStage>[] activatedIn =
-                    pat.getAnnotatedType().getJavaClass().getAnnotation(ProjectStageActivated.class).value();
-            if (isInProjectStage(activatedIn))
+            Class<? extends ProjectStage>[] activatedIn = processAnnotatedType.getAnnotatedType().getJavaClass()
+                            .getAnnotation(ProjectStageActivated.class).value();
+
+            if (!isInProjectStage(activatedIn))
             {
+                // this alternative shall not get used
+                processAnnotatedType.veto();
+            }
+        }
+    }
+
+    private void checkExpressionActivated(ProcessAnnotatedType<Object> processAnnotatedType)
+    {
+        if (processAnnotatedType.getAnnotatedType().getJavaClass().isAnnotationPresent(ExpressionActivated.class))
+        {
+            ExpressionActivated expressionActivated = processAnnotatedType.getAnnotatedType().getJavaClass()
+                            .getAnnotation(ExpressionActivated.class);
+
+            String expressions = expressionActivated.value();
+
+            Class<? extends ExpressionInterpreter> interpreter = expressionActivated.interpreter();
+
+            if(interpreter.equals(ExpressionInterpreter.class))
+            {
+                interpreter = PropertyExpressionInterpreter.class;
+            }
+
+            ExpressionInterpreter<String, Boolean> expressionInterpreter =
+                    ClassUtils.tryToInstantiateClass(interpreter);
+
+            if(expressionInterpreter == null)
+            {
+                Logger logger = Logger.getLogger(getClass().getName());
+
+                if(logger.isLoggable(Level.WARNING))
+                {
+                    logger.warning("can't instantiate " + interpreter.getClass().getName());
+                }
                 return;
             }
 
-            // otherwise this alternative shall not get used
-            pat.veto();
+            if (!expressionInterpreter.evaluate(expressions))
+            {
+                // this alternative shall not get used
+                processAnnotatedType.veto();
+            }
         }
     }
 

Added: myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/activation/PropertyExpressionInterpreter.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/activation/PropertyExpressionInterpreter.java?rev=1104588&view=auto
==============================================================================
--- myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/activation/PropertyExpressionInterpreter.java (added)
+++ myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/activation/PropertyExpressionInterpreter.java Tue May 17 22:00:54 2011
@@ -0,0 +1,88 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.extensions.cdi.core.impl.activation;
+
+import org.apache.myfaces.extensions.cdi.core.api.activation.ExpressionActivated;
+import org.apache.myfaces.extensions.cdi.core.api.interpreter.ExpressionInterpreter;
+import org.apache.myfaces.extensions.cdi.core.impl.util.CodiUtils;
+
+/**
+ * @author Gerhard Petracek
+ */
+public class PropertyExpressionInterpreter implements ExpressionInterpreter<String, Boolean>
+{
+    /**
+     * {@inheritDoc}
+     */
+    //TODO
+    public Boolean evaluate(String expressions)
+    {
+        boolean result = false;
+        String[] foundExpressions = expressions.split(";");
+
+        SimpleOperationEnum operation;
+        for(String expression : foundExpressions)
+        {
+            result = false;
+            if(expression.contains(SimpleOperationEnum.IS.getValue()))
+            {
+                operation = SimpleOperationEnum.IS;
+            }
+            else if(expression.contains(SimpleOperationEnum.NOT.getValue()))
+            {
+                operation = SimpleOperationEnum.NOT;
+            }
+            else
+            {
+                throw new IllegalStateException("expression: " + expression + " isn't supported by " +
+                        ExpressionActivated.class.getName() +
+                        " supported operations: " + SimpleOperationEnum.getOperations() + "separator: ';'");
+            }
+
+            String[] keyValue = expression.split(operation.getValue());
+
+            String configuredValue = CodiUtils.lookupConfigFromEnvironment(keyValue[0], String.class, "");
+
+            configuredValue = configuredValue.trim();
+
+            if(!"*".equals(keyValue[1]) && "".equals(configuredValue))
+            {
+                continue;
+            }
+
+            if("*".equals(keyValue[1]) && !"".equals(configuredValue))
+            {
+                result = true;
+                continue;
+            }
+
+            if(SimpleOperationEnum.IS.equals(operation) && !keyValue[1].equalsIgnoreCase(configuredValue))
+            {
+                return false;
+            }
+            else if(SimpleOperationEnum.NOT.equals(operation) && keyValue[1].equalsIgnoreCase(configuredValue))
+            {
+                return false;
+            }
+            result = true;
+        }
+
+        return result;
+    }
+}

Added: myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/activation/SimpleOperationEnum.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/activation/SimpleOperationEnum.java?rev=1104588&view=auto
==============================================================================
--- myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/activation/SimpleOperationEnum.java (added)
+++ myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/activation/SimpleOperationEnum.java Tue May 17 22:00:54 2011
@@ -0,0 +1,50 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.extensions.cdi.core.impl.activation;
+
+/**
+ * @author Gerhard Petracek
+ */
+enum SimpleOperationEnum
+{
+    IS("=="), NOT("!=");
+
+    private final String value;
+
+    SimpleOperationEnum(String value)
+    {
+        this.value = value;
+    }
+
+    String getValue()
+    {
+        return value;
+    }
+
+    static String getOperations()
+    {
+        String operations = "";
+
+        for(SimpleOperationEnum operation : SimpleOperationEnum.values())
+        {
+            operations += operation.getValue() + " ";
+        }
+        return operations;
+    }
+}

Modified: myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/config/AbstractConfiguredValueResolver.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/config/AbstractConfiguredValueResolver.java?rev=1104588&r1=1104587&r2=1104588&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/config/AbstractConfiguredValueResolver.java (original)
+++ myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/config/AbstractConfiguredValueResolver.java Tue May 17 22:00:54 2011
@@ -18,9 +18,9 @@
  */
 package org.apache.myfaces.extensions.cdi.core.impl.config;
 
+import org.apache.myfaces.extensions.cdi.core.api.activation.ClassDeactivator;
 import org.apache.myfaces.extensions.cdi.core.api.config.ConfiguredValueResolver;
 import org.apache.myfaces.extensions.cdi.core.api.util.ClassUtils;
-import org.apache.myfaces.extensions.cdi.core.api.ClassDeactivator;
 
 import java.util.List;
 import java.util.ArrayList;

Modified: myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/util/ClassDeactivation.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/util/ClassDeactivation.java?rev=1104588&r1=1104587&r2=1104588&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/util/ClassDeactivation.java (original)
+++ myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/util/ClassDeactivation.java Tue May 17 22:00:54 2011
@@ -18,8 +18,8 @@
  */
 package org.apache.myfaces.extensions.cdi.core.impl.util;
 
-import org.apache.myfaces.extensions.cdi.core.api.AbstractClassDeactivator;
-import org.apache.myfaces.extensions.cdi.core.api.ClassDeactivator;
+import org.apache.myfaces.extensions.cdi.core.api.activation.AbstractClassDeactivator;
+import org.apache.myfaces.extensions.cdi.core.api.activation.ClassDeactivator;
 
 import javax.enterprise.inject.Typed;
 import java.util.logging.Logger;

Modified: myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/util/ClassDeactivatorAggregator.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/util/ClassDeactivatorAggregator.java?rev=1104588&r1=1104587&r2=1104588&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/util/ClassDeactivatorAggregator.java (original)
+++ myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/util/ClassDeactivatorAggregator.java Tue May 17 22:00:54 2011
@@ -19,7 +19,7 @@
 package org.apache.myfaces.extensions.cdi.core.impl.util;
 
 import org.apache.myfaces.extensions.cdi.core.api.Aggregatable;
-import org.apache.myfaces.extensions.cdi.core.api.ClassDeactivator;
+import org.apache.myfaces.extensions.cdi.core.api.activation.ClassDeactivator;
 
 import javax.enterprise.inject.Typed;
 import java.util.Set;

Modified: myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/util/ClassDeactivatorStorage.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/util/ClassDeactivatorStorage.java?rev=1104588&r1=1104587&r2=1104588&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/util/ClassDeactivatorStorage.java (original)
+++ myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/util/ClassDeactivatorStorage.java Tue May 17 22:00:54 2011
@@ -18,7 +18,7 @@
  */
 package org.apache.myfaces.extensions.cdi.core.impl.util;
 
-import org.apache.myfaces.extensions.cdi.core.api.ClassDeactivator;
+import org.apache.myfaces.extensions.cdi.core.api.activation.ClassDeactivator;
 import org.apache.myfaces.extensions.cdi.core.api.util.ClassUtils;
 
 import javax.enterprise.inject.Typed;

Modified: myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/util/ConfiguredArtifactUtils.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/util/ConfiguredArtifactUtils.java?rev=1104588&r1=1104587&r2=1104588&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/util/ConfiguredArtifactUtils.java (original)
+++ myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/util/ConfiguredArtifactUtils.java Tue May 17 22:00:54 2011
@@ -79,7 +79,10 @@ public abstract class ConfiguredArtifact
                 {
                     result.addAll(cachedValues);
                 }
-                return (List<T>)result;
+                if(!result.isEmpty())
+                {
+                    return (List<T>)result;
+                }
             }
             return null;
         }

Modified: myfaces/extensions/cdi/trunk/core/impl/src/main/resources/META-INF/services/javax.enterprise.inject.spi.Extension
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/impl/src/main/resources/META-INF/services/javax.enterprise.inject.spi.Extension?rev=1104588&r1=1104587&r2=1104588&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/core/impl/src/main/resources/META-INF/services/javax.enterprise.inject.spi.Extension (original)
+++ myfaces/extensions/cdi/trunk/core/impl/src/main/resources/META-INF/services/javax.enterprise.inject.spi.Extension Tue May 17 22:00:54 2011
@@ -18,7 +18,7 @@
 #####################################################################################
 
 # support for @ProjectStageActivated
-org.apache.myfaces.extensions.cdi.core.impl.projectstage.ProjectStageActivationExtension
+org.apache.myfaces.extensions.cdi.core.impl.activation.ActivationExtension
 
 # myfaces-codi BeanManager provider
 org.apache.myfaces.extensions.cdi.core.api.provider.BeanManagerProvider

Added: myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/activation/ExpressionActivationExtensionTest.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/activation/ExpressionActivationExtensionTest.java?rev=1104588&view=auto
==============================================================================
--- myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/activation/ExpressionActivationExtensionTest.java (added)
+++ myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/activation/ExpressionActivationExtensionTest.java Tue May 17 22:00:54 2011
@@ -0,0 +1,45 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.extensions.cdi.core.test.impl.activation;
+
+import org.apache.myfaces.extensions.cdi.core.test.impl.activation.testbeans.*;
+import org.apache.myfaces.extensions.cdi.core.test.util.ContainerTestBase;
+import org.testng.Assert;
+import org.testng.annotations.Test;
+
+public class ExpressionActivationExtensionTest extends ContainerTestBase
+{
+    @Test
+    public void testTestBean()
+    {
+        ExpressionActivatedTestBean testBean =  getBeanInstance(ExpressionActivatedTestBean.class);
+        Assert.assertNotNull(testBean);
+
+        Assert.assertTrue(testBean instanceof ExpressionActivatedTestBeanMockImpl);
+    }
+
+    @Test
+    public void testTestInfoBean()
+    {
+        ExpressionActivatedTestInfoBean testBean =  getBeanInstance(ExpressionActivatedTestInfoBean.class);
+        Assert.assertNotNull(testBean);
+
+        Assert.assertTrue(testBean instanceof ExpressionActivatedTestInfoBeanImpl);
+    }
+}

Copied: myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/activation/ProjectStageActivationExtensionTest.java (from r1104291, myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/projectstage/ProjectStageActivationExtensionTest.java)
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/activation/ProjectStageActivationExtensionTest.java?p2=myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/activation/ProjectStageActivationExtensionTest.java&p1=myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/projectstage/ProjectStageActivationExtensionTest.java&r1=1104291&r2=1104588&rev=1104588&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/projectstage/ProjectStageActivationExtensionTest.java (original)
+++ myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/activation/ProjectStageActivationExtensionTest.java Tue May 17 22:00:54 2011
@@ -16,10 +16,10 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.myfaces.extensions.cdi.core.test.impl.projectstage;
+package org.apache.myfaces.extensions.cdi.core.test.impl.activation;
 
-import org.apache.myfaces.extensions.cdi.core.test.impl.projectstage.testbeans.MyMailService;
-import org.apache.myfaces.extensions.cdi.core.test.impl.projectstage.testbeans.MyMailServiceMockImpl;
+import org.apache.myfaces.extensions.cdi.core.test.impl.activation.testbeans.MyMailService;
+import org.apache.myfaces.extensions.cdi.core.test.impl.activation.testbeans.MyMailServiceMockImpl;
 import org.apache.myfaces.extensions.cdi.core.test.util.ContainerTestBase;
 import org.testng.Assert;
 import org.testng.annotations.Test;

Added: myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/activation/PropertyExpressionInterpreterTest.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/activation/PropertyExpressionInterpreterTest.java?rev=1104588&view=auto
==============================================================================
--- myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/activation/PropertyExpressionInterpreterTest.java (added)
+++ myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/activation/PropertyExpressionInterpreterTest.java Tue May 17 22:00:54 2011
@@ -0,0 +1,78 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.extensions.cdi.core.test.impl.activation;
+
+import org.apache.myfaces.extensions.cdi.core.api.interpreter.ExpressionInterpreter;
+import org.apache.myfaces.extensions.cdi.core.impl.activation.PropertyExpressionInterpreter;
+import org.testng.annotations.Test;
+
+import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.fail;
+
+public class PropertyExpressionInterpreterTest
+{
+    @Test
+    public void testSimplePropertyExpressions()
+    {
+        ExpressionInterpreter<String, Boolean> interpreter = new PropertyExpressionInterpreter(){};
+
+        System.setProperty("k.1", "v1");
+        assertEquals(interpreter.evaluate("k.1==v1"), Boolean.TRUE);
+        assertEquals(interpreter.evaluate("k.1==v2"), Boolean.FALSE);
+
+        assertEquals(interpreter.evaluate("k.1!=v1"), Boolean.FALSE);
+        assertEquals(interpreter.evaluate("k.1!=v2"), Boolean.TRUE);
+
+        try
+        {
+            assertEquals(interpreter.evaluate("k.1=v1"), Boolean.TRUE);
+        }
+        catch (IllegalStateException e)
+        {
+            return;
+        }
+
+        fail();
+    }
+
+    @Test
+    public void testSimpleAndRequiredPropertyExpressions()
+    {
+        ExpressionInterpreter<String, Boolean> interpreter = new PropertyExpressionInterpreter(){};
+
+        System.setProperty("k.1", "v1");
+        assertEquals(interpreter.evaluate("k.1==v1;k.1==*"), Boolean.TRUE);
+        assertEquals(interpreter.evaluate("ik.1==*"), Boolean.FALSE);
+
+        assertEquals(interpreter.evaluate("k.1!=v2;k.1==*"), Boolean.TRUE);
+        assertEquals(interpreter.evaluate("ik.1!=v2;ik.1==*"), Boolean.FALSE);
+    }
+
+    @Test
+    public void testMultiplePropertyExpressions()
+    {
+        ExpressionInterpreter<String, Boolean> interpreter = new PropertyExpressionInterpreter(){};
+
+        System.setProperty("k.1", "v1");
+        System.setProperty("k.2", "v2");
+        assertEquals(interpreter.evaluate("k.1==v1;k.2==v2"), Boolean.TRUE);
+        assertEquals(interpreter.evaluate("k.1==v1;k.2==v1"), Boolean.FALSE);
+        assertEquals(interpreter.evaluate("k.1==v2;k.2==v2"), Boolean.FALSE);
+    }
+}

Added: myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/activation/testbeans/ExpressionActivatedTestBean.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/activation/testbeans/ExpressionActivatedTestBean.java?rev=1104588&view=auto
==============================================================================
--- myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/activation/testbeans/ExpressionActivatedTestBean.java (added)
+++ myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/activation/testbeans/ExpressionActivatedTestBean.java Tue May 17 22:00:54 2011
@@ -0,0 +1,25 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.extensions.cdi.core.test.impl.activation.testbeans;
+
+
+public interface ExpressionActivatedTestBean
+{
+    void test();
+}

Added: myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/activation/testbeans/ExpressionActivatedTestBeanImpl.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/activation/testbeans/ExpressionActivatedTestBeanImpl.java?rev=1104588&view=auto
==============================================================================
--- myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/activation/testbeans/ExpressionActivatedTestBeanImpl.java (added)
+++ myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/activation/testbeans/ExpressionActivatedTestBeanImpl.java Tue May 17 22:00:54 2011
@@ -0,0 +1,29 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.extensions.cdi.core.test.impl.activation.testbeans;
+
+import javax.enterprise.context.ApplicationScoped;
+
+@ApplicationScoped
+public class ExpressionActivatedTestBeanImpl implements ExpressionActivatedTestBean
+{
+    public void test()
+    {
+    }
+}

Added: myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/activation/testbeans/ExpressionActivatedTestBeanMockImpl.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/activation/testbeans/ExpressionActivatedTestBeanMockImpl.java?rev=1104588&view=auto
==============================================================================
--- myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/activation/testbeans/ExpressionActivatedTestBeanMockImpl.java (added)
+++ myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/activation/testbeans/ExpressionActivatedTestBeanMockImpl.java Tue May 17 22:00:54 2011
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.extensions.cdi.core.test.impl.activation.testbeans;
+
+import org.apache.myfaces.extensions.cdi.core.api.activation.ExpressionActivated;
+
+import javax.enterprise.context.ApplicationScoped;
+import javax.enterprise.inject.Alternative;
+
+@ApplicationScoped
+
+@Alternative
+@ExpressionActivated("app.db_env!=prod-db")
+public class ExpressionActivatedTestBeanMockImpl implements ExpressionActivatedTestBean
+{
+    public void test()
+    {
+    }
+}

Added: myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/activation/testbeans/ExpressionActivatedTestInfoBean.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/activation/testbeans/ExpressionActivatedTestInfoBean.java?rev=1104588&view=auto
==============================================================================
--- myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/activation/testbeans/ExpressionActivatedTestInfoBean.java (added)
+++ myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/activation/testbeans/ExpressionActivatedTestInfoBean.java Tue May 17 22:00:54 2011
@@ -0,0 +1,25 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.extensions.cdi.core.test.impl.activation.testbeans;
+
+
+public interface ExpressionActivatedTestInfoBean
+{
+    void test();
+}

Added: myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/activation/testbeans/ExpressionActivatedTestInfoBeanImpl.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/activation/testbeans/ExpressionActivatedTestInfoBeanImpl.java?rev=1104588&view=auto
==============================================================================
--- myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/activation/testbeans/ExpressionActivatedTestInfoBeanImpl.java (added)
+++ myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/activation/testbeans/ExpressionActivatedTestInfoBeanImpl.java Tue May 17 22:00:54 2011
@@ -0,0 +1,29 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.extensions.cdi.core.test.impl.activation.testbeans;
+
+import javax.enterprise.context.ApplicationScoped;
+
+@ApplicationScoped
+public class ExpressionActivatedTestInfoBeanImpl implements ExpressionActivatedTestInfoBean
+{
+    public void test()
+    {
+    }
+}

Added: myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/activation/testbeans/ExpressionActivatedTestInfoBeanMockImpl.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/activation/testbeans/ExpressionActivatedTestInfoBeanMockImpl.java?rev=1104588&view=auto
==============================================================================
--- myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/activation/testbeans/ExpressionActivatedTestInfoBeanMockImpl.java (added)
+++ myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/activation/testbeans/ExpressionActivatedTestInfoBeanMockImpl.java Tue May 17 22:00:54 2011
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.extensions.cdi.core.test.impl.activation.testbeans;
+
+import org.apache.myfaces.extensions.cdi.core.api.activation.ExpressionActivated;
+
+import javax.enterprise.context.ApplicationScoped;
+import javax.enterprise.inject.Alternative;
+
+@ApplicationScoped
+
+@Alternative
+@ExpressionActivated("app.server_name==s2")
+public class ExpressionActivatedTestInfoBeanMockImpl implements ExpressionActivatedTestInfoBean
+{
+    public void test()
+    {
+    }
+}

Modified: myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/activation/testbeans/MyMailService.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/activation/testbeans/MyMailService.java?rev=1104588&r1=1104291&r2=1104588&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/activation/testbeans/MyMailService.java (original)
+++ myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/activation/testbeans/MyMailService.java Tue May 17 22:00:54 2011
@@ -1,4 +1,4 @@
-package org.apache.myfaces.extensions.cdi.core.test.impl.projectstage.testbeans;
+package org.apache.myfaces.extensions.cdi.core.test.impl.activation.testbeans;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file

Modified: myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/activation/testbeans/MyMailServiceImpl.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/activation/testbeans/MyMailServiceImpl.java?rev=1104588&r1=1104291&r2=1104588&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/activation/testbeans/MyMailServiceImpl.java (original)
+++ myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/activation/testbeans/MyMailServiceImpl.java Tue May 17 22:00:54 2011
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.myfaces.extensions.cdi.core.test.impl.projectstage.testbeans;
+package org.apache.myfaces.extensions.cdi.core.test.impl.activation.testbeans;
 
 import javax.enterprise.context.SessionScoped;
 import java.io.Serializable;

Modified: myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/activation/testbeans/MyMailServiceMockImpl.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/activation/testbeans/MyMailServiceMockImpl.java?rev=1104588&r1=1104291&r2=1104588&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/activation/testbeans/MyMailServiceMockImpl.java (original)
+++ myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/activation/testbeans/MyMailServiceMockImpl.java Tue May 17 22:00:54 2011
@@ -16,10 +16,10 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.myfaces.extensions.cdi.core.test.impl.projectstage.testbeans;
+package org.apache.myfaces.extensions.cdi.core.test.impl.activation.testbeans;
 
 import org.apache.myfaces.extensions.cdi.core.api.projectstage.ProjectStage;
-import org.apache.myfaces.extensions.cdi.core.api.projectstage.ProjectStageActivated;
+import org.apache.myfaces.extensions.cdi.core.api.activation.ProjectStageActivated;
 
 import javax.enterprise.context.SessionScoped;
 import javax.enterprise.inject.Alternative;

Modified: myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/config/ConfigTest.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/config/ConfigTest.java?rev=1104588&r1=1104587&r2=1104588&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/config/ConfigTest.java (original)
+++ myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/config/ConfigTest.java Tue May 17 22:00:54 2011
@@ -26,7 +26,7 @@ import org.apache.myfaces.extensions.cdi
 import org.apache.myfaces.extensions.cdi.core.impl.util.CodiUtils;
 import org.apache.myfaces.extensions.cdi.core.impl.util.ConfiguredArtifactUtils;
 import org.apache.myfaces.extensions.cdi.core.api.projectstage.ProjectStage;
-import org.apache.myfaces.extensions.cdi.core.api.ClassDeactivator;
+import org.apache.myfaces.extensions.cdi.core.api.activation.ClassDeactivator;
 
 import java.util.Date;
 

Modified: myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/config/TestClassDeactivator.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/config/TestClassDeactivator.java?rev=1104588&r1=1104587&r2=1104588&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/config/TestClassDeactivator.java (original)
+++ myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/config/TestClassDeactivator.java Tue May 17 22:00:54 2011
@@ -18,7 +18,7 @@
  */
 package org.apache.myfaces.extensions.cdi.core.test.impl.config;
 
-import org.apache.myfaces.extensions.cdi.core.api.AbstractClassDeactivator;
+import org.apache.myfaces.extensions.cdi.core.api.activation.AbstractClassDeactivator;
 
 public class TestClassDeactivator extends AbstractClassDeactivator
 {

Modified: myfaces/extensions/cdi/trunk/core/impl/src/test/resources/META-INF/beans.xml
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/impl/src/test/resources/META-INF/beans.xml?rev=1104588&r1=1104587&r2=1104588&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/core/impl/src/test/resources/META-INF/beans.xml (original)
+++ myfaces/extensions/cdi/trunk/core/impl/src/test/resources/META-INF/beans.xml Tue May 17 22:00:54 2011
@@ -21,6 +21,8 @@
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">
     <alternatives>
-        <class>org.apache.myfaces.extensions.cdi.core.test.impl.projectstage.testbeans.MyMailServiceMockImpl</class>
+        <class>org.apache.myfaces.extensions.cdi.core.test.impl.activation.testbeans.MyMailServiceMockImpl</class>
+        <class>org.apache.myfaces.extensions.cdi.core.test.impl.activation.testbeans.ExpressionActivatedTestBeanMockImpl</class>
+        <class>org.apache.myfaces.extensions.cdi.core.test.impl.activation.testbeans.ExpressionActivatedTestInfoBeanMockImpl</class>
     </alternatives>
 </beans>

Modified: myfaces/extensions/cdi/trunk/core/impl/src/test/resources/META-INF/services/javax.enterprise.inject.spi.Extension
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/impl/src/test/resources/META-INF/services/javax.enterprise.inject.spi.Extension?rev=1104588&r1=1104587&r2=1104588&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/core/impl/src/test/resources/META-INF/services/javax.enterprise.inject.spi.Extension (original)
+++ myfaces/extensions/cdi/trunk/core/impl/src/test/resources/META-INF/services/javax.enterprise.inject.spi.Extension Tue May 17 22:00:54 2011
@@ -30,7 +30,7 @@
 #####################################################################################
 
 # support for @ProjectStageActivated
-org.apache.myfaces.extensions.cdi.core.impl.projectstage.ProjectStageActivationExtension
+org.apache.myfaces.extensions.cdi.core.impl.activation.ActivationExtension
 
 # myfaces-codi BeanManager provider
 org.apache.myfaces.extensions.cdi.core.api.provider.BeanManagerProvider

Added: myfaces/extensions/cdi/trunk/core/impl/src/test/resources/myfaces-extcdi.properties
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/impl/src/test/resources/myfaces-extcdi.properties?rev=1104588&view=auto
==============================================================================
--- myfaces/extensions/cdi/trunk/core/impl/src/test/resources/myfaces-extcdi.properties (added)
+++ myfaces/extensions/cdi/trunk/core/impl/src/test/resources/myfaces-extcdi.properties Tue May 17 22:00:54 2011
@@ -0,0 +1,2 @@
+db_env=test-db
+server_name=s1
\ No newline at end of file

Modified: myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/CodiViewHandler.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/CodiViewHandler.java?rev=1104588&r1=1104587&r2=1104588&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/CodiViewHandler.java (original)
+++ myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/CodiViewHandler.java Tue May 17 22:00:54 2011
@@ -18,7 +18,7 @@
  */
 package org.apache.myfaces.extensions.cdi.jsf.impl;
 
-import org.apache.myfaces.extensions.cdi.core.api.Deactivatable;
+import org.apache.myfaces.extensions.cdi.core.api.activation.Deactivatable;
 import org.apache.myfaces.extensions.cdi.core.impl.util.ClassDeactivation;
 import org.apache.myfaces.extensions.cdi.jsf.impl.scope.conversation.WindowContextAwareViewHandler;
 import org.apache.myfaces.extensions.cdi.jsf.impl.security.SecurityAwareViewHandler;

Modified: myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/ViewConfigExtension.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/ViewConfigExtension.java?rev=1104588&r1=1104587&r2=1104588&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/ViewConfigExtension.java (original)
+++ myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/ViewConfigExtension.java Tue May 17 22:00:54 2011
@@ -18,11 +18,11 @@
  */
 package org.apache.myfaces.extensions.cdi.jsf.impl.config.view;
 
+import org.apache.myfaces.extensions.cdi.core.api.activation.Deactivatable;
 import org.apache.myfaces.extensions.cdi.core.api.config.view.ViewConfig;
 import org.apache.myfaces.extensions.cdi.core.api.config.view.View;
 import org.apache.myfaces.extensions.cdi.core.api.startup.CodiStartupBroadcaster;
 import org.apache.myfaces.extensions.cdi.core.impl.util.ClassDeactivation;
-import org.apache.myfaces.extensions.cdi.core.api.Deactivatable;
 import org.apache.myfaces.extensions.cdi.core.impl.util.CodiUtils;
 import org.apache.myfaces.extensions.cdi.jsf.api.config.view.Page;
 import org.apache.myfaces.extensions.cdi.jsf.api.config.view.InlineViewConfigRoot;

Modified: myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/ViewControllerActionListener.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/ViewControllerActionListener.java?rev=1104588&r1=1104587&r2=1104588&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/ViewControllerActionListener.java (original)
+++ myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/ViewControllerActionListener.java Tue May 17 22:00:54 2011
@@ -18,7 +18,7 @@
  */
 package org.apache.myfaces.extensions.cdi.jsf.impl.config.view;
 
-import org.apache.myfaces.extensions.cdi.core.api.Deactivatable;
+import org.apache.myfaces.extensions.cdi.core.api.activation.Deactivatable;
 import org.apache.myfaces.extensions.cdi.core.impl.util.ClassDeactivation;
 import org.apache.myfaces.extensions.cdi.jsf.api.config.view.ViewConfigDescriptor;
 import org.apache.myfaces.extensions.cdi.jsf.impl.config.view.spi.EditableViewConfigDescriptor;

Modified: myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/listener/action/CodiActionListener.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/listener/action/CodiActionListener.java?rev=1104588&r1=1104587&r2=1104588&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/listener/action/CodiActionListener.java (original)
+++ myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/listener/action/CodiActionListener.java Tue May 17 22:00:54 2011
@@ -18,7 +18,7 @@
  */
 package org.apache.myfaces.extensions.cdi.jsf.impl.listener.action;
 
-import org.apache.myfaces.extensions.cdi.core.api.Deactivatable;
+import org.apache.myfaces.extensions.cdi.core.api.activation.Deactivatable;
 import org.apache.myfaces.extensions.cdi.core.impl.util.ClassDeactivation;
 import org.apache.myfaces.extensions.cdi.jsf.impl.security.SecurityViolationAwareActionListener;
 import org.apache.myfaces.extensions.cdi.jsf.impl.config.view.ViewControllerActionListener;

Modified: myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/listener/phase/CodiLifecycleFactoryWrapper.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/listener/phase/CodiLifecycleFactoryWrapper.java?rev=1104588&r1=1104587&r2=1104588&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/listener/phase/CodiLifecycleFactoryWrapper.java (original)
+++ myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/listener/phase/CodiLifecycleFactoryWrapper.java Tue May 17 22:00:54 2011
@@ -18,7 +18,7 @@
  */
 package org.apache.myfaces.extensions.cdi.jsf.impl.listener.phase;
 
-import org.apache.myfaces.extensions.cdi.core.api.Deactivatable;
+import org.apache.myfaces.extensions.cdi.core.api.activation.Deactivatable;
 import org.apache.myfaces.extensions.cdi.core.impl.util.ClassDeactivation;
 
 import javax.faces.lifecycle.LifecycleFactory;

Modified: myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/listener/phase/PhaseListenerExtension.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/listener/phase/PhaseListenerExtension.java?rev=1104588&r1=1104587&r2=1104588&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/listener/phase/PhaseListenerExtension.java (original)
+++ myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/listener/phase/PhaseListenerExtension.java Tue May 17 22:00:54 2011
@@ -18,9 +18,9 @@
  */
 package org.apache.myfaces.extensions.cdi.jsf.impl.listener.phase;
 
+import org.apache.myfaces.extensions.cdi.core.api.activation.ProjectStageActivated;
 import org.apache.myfaces.extensions.cdi.core.api.config.CodiCoreConfig;
 import org.apache.myfaces.extensions.cdi.core.api.projectstage.ProjectStage;
-import org.apache.myfaces.extensions.cdi.core.api.projectstage.ProjectStageActivated;
 import org.apache.myfaces.extensions.cdi.core.api.startup.CodiStartupBroadcaster;
 import org.apache.myfaces.extensions.cdi.core.api.util.ClassUtils;
 import org.apache.myfaces.extensions.cdi.core.api.tools.InvocationOrderComparator;

Modified: myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/listener/request/CodiFacesContextFactory.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/listener/request/CodiFacesContextFactory.java?rev=1104588&r1=1104587&r2=1104588&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/listener/request/CodiFacesContextFactory.java (original)
+++ myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/listener/request/CodiFacesContextFactory.java Tue May 17 22:00:54 2011
@@ -18,7 +18,7 @@
  */
 package org.apache.myfaces.extensions.cdi.jsf.impl.listener.request;
 
-import org.apache.myfaces.extensions.cdi.core.api.Deactivatable;
+import org.apache.myfaces.extensions.cdi.core.api.activation.Deactivatable;
 import org.apache.myfaces.extensions.cdi.core.impl.util.ClassDeactivation;
 
 import javax.faces.context.FacesContextFactory;

Modified: myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/navigation/CodiNavigationHandler.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/navigation/CodiNavigationHandler.java?rev=1104588&r1=1104587&r2=1104588&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/navigation/CodiNavigationHandler.java (original)
+++ myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/navigation/CodiNavigationHandler.java Tue May 17 22:00:54 2011
@@ -18,7 +18,7 @@
  */
 package org.apache.myfaces.extensions.cdi.jsf.impl.navigation;
 
-import org.apache.myfaces.extensions.cdi.core.api.Deactivatable;
+import org.apache.myfaces.extensions.cdi.core.api.activation.Deactivatable;
 import org.apache.myfaces.extensions.cdi.core.impl.util.ClassDeactivation;
 
 import javax.faces.application.NavigationHandler;

Modified: myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/scope/conversation/CodiRenderKitFactory.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/scope/conversation/CodiRenderKitFactory.java?rev=1104588&r1=1104587&r2=1104588&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/scope/conversation/CodiRenderKitFactory.java (original)
+++ myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/scope/conversation/CodiRenderKitFactory.java Tue May 17 22:00:54 2011
@@ -18,7 +18,7 @@
  */
 package org.apache.myfaces.extensions.cdi.jsf.impl.scope.conversation;
 
-import org.apache.myfaces.extensions.cdi.core.api.Deactivatable;
+import org.apache.myfaces.extensions.cdi.core.api.activation.Deactivatable;
 import org.apache.myfaces.extensions.cdi.core.api.startup.CodiStartupBroadcaster;
 import org.apache.myfaces.extensions.cdi.core.impl.util.ClassDeactivation;
 import org.apache.myfaces.extensions.cdi.core.impl.util.CodiUtils;

Modified: myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/scope/conversation/GroupedConversationContextExtension.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/scope/conversation/GroupedConversationContextExtension.java?rev=1104588&r1=1104587&r2=1104588&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/scope/conversation/GroupedConversationContextExtension.java (original)
+++ myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/scope/conversation/GroupedConversationContextExtension.java Tue May 17 22:00:54 2011
@@ -18,7 +18,7 @@
  */
 package org.apache.myfaces.extensions.cdi.jsf.impl.scope.conversation;
 
-import org.apache.myfaces.extensions.cdi.core.api.Deactivatable;
+import org.apache.myfaces.extensions.cdi.core.api.activation.Deactivatable;
 import org.apache.myfaces.extensions.cdi.core.api.scope.conversation.ConversationScoped;
 import org.apache.myfaces.extensions.cdi.core.api.scope.conversation.WindowScoped;
 import org.apache.myfaces.extensions.cdi.core.api.scope.conversation.ViewAccessScoped;

Modified: myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/scope/conversation/WindowContextAwareViewHandler.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/scope/conversation/WindowContextAwareViewHandler.java?rev=1104588&r1=1104587&r2=1104588&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/scope/conversation/WindowContextAwareViewHandler.java (original)
+++ myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/scope/conversation/WindowContextAwareViewHandler.java Tue May 17 22:00:54 2011
@@ -21,7 +21,7 @@ package org.apache.myfaces.extensions.cd
 import org.apache.myfaces.extensions.cdi.jsf.impl.scope.conversation.spi.WindowHandler;
 import org.apache.myfaces.extensions.cdi.jsf.impl.util.ConversationUtils;
 import static org.apache.myfaces.extensions.cdi.jsf.impl.util.ConversationUtils.storeViewIdAsNewViewId;
-import org.apache.myfaces.extensions.cdi.core.api.Deactivatable;
+import org.apache.myfaces.extensions.cdi.core.api.activation.Deactivatable;
 import org.apache.myfaces.extensions.cdi.core.api.scope.conversation.WindowContext;
 import org.apache.myfaces.extensions.cdi.core.impl.util.ClassDeactivation;
 import org.apache.myfaces.extensions.cdi.core.impl.scope.conversation.spi.WindowContextManager;

Modified: myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/security/SecurityAwareViewHandler.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/security/SecurityAwareViewHandler.java?rev=1104588&r1=1104587&r2=1104588&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/security/SecurityAwareViewHandler.java (original)
+++ myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/security/SecurityAwareViewHandler.java Tue May 17 22:00:54 2011
@@ -18,7 +18,7 @@
  */
 package org.apache.myfaces.extensions.cdi.jsf.impl.security;
 
-import org.apache.myfaces.extensions.cdi.core.api.Deactivatable;
+import org.apache.myfaces.extensions.cdi.core.api.activation.Deactivatable;
 import org.apache.myfaces.extensions.cdi.core.api.config.view.ViewConfig;
 import org.apache.myfaces.extensions.cdi.core.api.provider.BeanManagerProvider;
 import org.apache.myfaces.extensions.cdi.core.api.security.AccessDeniedException;