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 2010/12/29 08:09:51 UTC
svn commit: r1053556 - in /myfaces/extensions/cdi/trunk:
core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/
core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/projectstage/
core/impl/src/main/java/org/apache/myfaces/e...
Author: gpetracek
Date: Wed Dec 29 07:09:50 2010
New Revision: 1053556
URL: http://svn.apache.org/viewvc?rev=1053556&view=rev
Log:
EXTCDI-18 and EXTCDI-37
Added:
myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/projectstage/
myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/projectstage/JsfProjectStageProducer.java
myfaces/extensions/cdi/trunk/jee-modules/jsf20-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf2/impl/projectstage/JsfProjectStageProducer.java
- copied, changed from r1053502, myfaces/extensions/cdi/trunk/jee-modules/jsf20-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf2/impl/projectstage/Jsf2ProjectStageProducer.java
Removed:
myfaces/extensions/cdi/trunk/jee-modules/jsf20-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf2/impl/projectstage/Jsf2ProjectStageProducer.java
Modified:
myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/CodiInformationExtension.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/main/java/org/apache/myfaces/extensions/cdi/core/impl/projectstage/ProjectStageProducer.java
myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/util/CodiUtils.java
myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/projectstage/ProjectStageProducerTest.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
Modified: myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/CodiInformationExtension.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/CodiInformationExtension.java?rev=1053556&r1=1053555&r2=1053556&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/CodiInformationExtension.java (original)
+++ myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/CodiInformationExtension.java Wed Dec 29 07:09:50 2010
@@ -35,7 +35,7 @@ public class CodiInformationExtension im
protected final Logger logger = Logger.getLogger(CodiInformationExtension.class.getName());
@SuppressWarnings({"UnusedDeclaration"})
- public void setBeanManager(@Observes AfterDeploymentValidation afterDeploymentValidation)
+ public void logStartupInfo(@Observes AfterDeploymentValidation afterDeploymentValidation)
{
if(!isActivated())
{
Modified: 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/projectstage/ProjectStageActivationExtension.java?rev=1053556&r1=1053555&r2=1053556&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/projectstage/ProjectStageActivationExtension.java Wed Dec 29 07:09:50 2010
@@ -19,6 +19,7 @@
package org.apache.myfaces.extensions.cdi.core.impl.projectstage;
import javax.enterprise.event.Observes;
+import javax.enterprise.inject.spi.AfterDeploymentValidation;
import javax.enterprise.inject.spi.Extension;
import javax.enterprise.inject.spi.ProcessAnnotatedType;
@@ -39,20 +40,10 @@ import org.apache.myfaces.extensions.cdi
*/
public class ProjectStageActivationExtension implements Extension, Deactivatable
{
- private ProjectStage projectStage = null;
-
- protected ProjectStage getProjectStage()
+ protected void initProjectStage(@Observes AfterDeploymentValidation afterDeploymentValidation)
{
- if (projectStage == null)
- {
- // we have to do this manually since we don't have any
- // injection mechanism in place at this point since
- // the CDI container has not yet been started...
- ProjectStageProducer psp = new ProjectStageProducer();
- psp.determineProjectStage();
- projectStage = psp.getProjectStage();
- }
- return projectStage;
+ //trigger initialization
+ ProjectStageProducer.getInstance();
}
/**
@@ -84,7 +75,7 @@ public class ProjectStageActivationExten
{
if (activatedIn != null && activatedIn.length > 0)
{
- ProjectStage ps = getProjectStage();
+ ProjectStage ps = ProjectStageProducer.getInstance().getProjectStage();
for (Class<? extends ProjectStage> activated : activatedIn)
{
if (ps.getClass().equals(activated))
Modified: myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/projectstage/ProjectStageProducer.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/projectstage/ProjectStageProducer.java?rev=1053556&r1=1053555&r2=1053556&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/projectstage/ProjectStageProducer.java (original)
+++ myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/projectstage/ProjectStageProducer.java Wed Dec 29 07:09:50 2010
@@ -20,16 +20,13 @@ package org.apache.myfaces.extensions.cd
import org.apache.myfaces.extensions.cdi.core.api.projectstage.ProjectStage;
+import org.apache.myfaces.extensions.cdi.core.api.util.ClassUtils;
import org.apache.myfaces.extensions.cdi.core.impl.util.CodiUtils;
-import org.apache.myfaces.extensions.cdi.core.impl.util.JndiUtils;
-import javax.enterprise.context.ApplicationScoped;
import javax.enterprise.context.Dependent;
import javax.enterprise.inject.Default;
import javax.enterprise.inject.Produces;
-import javax.inject.Inject;
-import java.io.IOException;
-import java.util.logging.Logger;
+import javax.enterprise.inject.Typed;
/**
* <p>Produces {@link ProjectStage} configurations.</p>
@@ -55,19 +52,18 @@ import java.util.logging.Logger;
*
* TODO move jsf specific parts
*/
-@ApplicationScoped
+@Typed()
public class ProjectStageProducer
{
+ private final static String PROJECTSTAGE_PRODUCER_PROPERTY_KEY
+ = "org.apache.myfaces.extensions.cdi.ProjectStageProducer";
- /** JNDI path for the ProjectStage */
- public final static String PROJECT_STAGE_JNDI_NAME = "java:comp/env/jsf/ProjectStage";
+ private static final String PROJECTSTAGE_PRODUCER_JNDI_NAME = "java:comp/env/myfaces-codi/ProjectStageProducer";
- /** System Property to set the ProjectStage, if not present via the standard way */
- public final static String JSF_PROJECT_STAGE_SYSTEM_PROPERTY_NAME = "faces.PROJECT_STAGE";
+ private final static String PROJECTSTAGE_PROPERTY_KEY
+ = "org.apache.myfaces.extensions.cdi.ProjectStage";
- private final static String PROJECTSTAGE_PRODUCER_PROPERTY_KEY= "extcdi.projectStageProducer";
-
- private final static Logger log = Logger.getLogger(ProjectStageProducer.class.getName());
+ private static final String PROJECTSTAGE_JNDI_NAME = "java:comp/env/myfaces-codi/ProjectStage";
/**
* ProjectStageProducers must only be created by subclassing producers
@@ -84,15 +80,29 @@ public class ProjectStageProducer
/**
* for the singleton factory
*/
- private static ProjectStageProducer psp;
+ private static ProjectStageProducer projectStageProducer;
/**
* We can only produce @Dependent scopes since an enum is final.
* @return current ProjectStage
*/
- @Produces @Dependent @Default
+ @Produces
+ @Dependent
+ @Default
public ProjectStage getProjectStage()
{
+ if(projectStage == null)
+ {
+ synchronized (ProjectStageProducer.class)
+ {
+ projectStage = resolveProjectStage();
+ }
+
+ if(projectStage == null)
+ {
+ projectStage = ProjectStage.Production;
+ }
+ }
return projectStage;
}
@@ -103,33 +113,40 @@ public class ProjectStageProducer
* <p></p>
*
* @return the ProjectStageProducer instance.
- * @throws IOException
- * @throws ClassNotFoundException
- * @throws IllegalAccessException
- * @throws InstantiationException
*/
public synchronized static ProjectStageProducer getInstance()
- throws IOException, ClassNotFoundException, IllegalAccessException, InstantiationException
{
- if (psp == null)
+ if (projectStageProducer == null)
{
+ projectStageProducer = CodiUtils.lookupFromEnvironment(
+ PROJECTSTAGE_PRODUCER_PROPERTY_KEY, PROJECTSTAGE_PRODUCER_JNDI_NAME, ProjectStageProducer.class);
+
+ if(projectStageProducer == null)
+ {
+ //workaround to avoid the usage of a service loader
+ projectStageProducer = ClassUtils.tryToInstantiateClassForName(
+ "org.apache.myfaces.extensions.cdi.jsf2.impl.projectstage.JsfProjectStageProducer",
+ ProjectStageProducer.class);
+ }
- String pspClassName = CodiUtils.getCodiProperty(PROJECTSTAGE_PRODUCER_PROPERTY_KEY);
- if (pspClassName != null && pspClassName.length() > 0)
+ if(projectStageProducer == null)
{
- Class<ProjectStageProducer> pspClass = (Class<ProjectStageProducer>) Class.forName(pspClassName);
- psp = pspClass.newInstance();
+ //workaround to avoid the usage of a service loader
+ projectStageProducer = ClassUtils.tryToInstantiateClassForName(
+ "org.apache.myfaces.extensions.cdi.jsf.impl.projectstage.JsfProjectStageProducer",
+ ProjectStageProducer.class);
}
- if (psp == null)
+ if (projectStageProducer == null)
{
// if we still didn't find a customised ProjectStageProducer,
// then we take the default one.
- psp = new ProjectStageProducer();
+ projectStageProducer = new ProjectStageProducer();
}
+ projectStageProducer.init();
}
- return psp;
+ return projectStageProducer;
}
/**
@@ -142,28 +159,11 @@ public class ProjectStageProducer
projectStage = ps;
}
- /**
- * Read the configuration from the stated places.
- * This can be overloaded to implement own lookup mechanisms.
- *
- * This will only determine the ProjectStage if it is not yet set.
- */
- @Inject
- public void determineProjectStage()
+ private void init()
{
if (projectStage == null)
{
- projectStage = determineCustomProjectStage();
- }
-
- if (projectStage == null)
- {
- projectStage = getProjectStageFromJNDI();
- }
-
- if (projectStage == null)
- {
- projectStage = getProjectStageFromEnvironment();
+ projectStage = resolveProjectStage();
}
// the last resort is setting it to Production
@@ -174,19 +174,10 @@ public class ProjectStageProducer
}
- /**
- * This can get used to provide additional ProjectStage
- * lookup mechanisms.
- * @return the detected {@link ProjectStage} or <code>null</code> if non was found.
- */
- protected ProjectStage determineCustomProjectStage()
+ protected ProjectStage resolveProjectStage()
{
- return null;
- }
-
- protected ProjectStage getProjectStageFromEnvironment()
- {
- String stageName = System.getProperty(JSF_PROJECT_STAGE_SYSTEM_PROPERTY_NAME);
+ String stageName = CodiUtils
+ .lookupFromEnvironment(PROJECTSTAGE_PROPERTY_KEY, PROJECTSTAGE_JNDI_NAME, String.class);
if (stageName != null)
{
@@ -194,27 +185,4 @@ public class ProjectStageProducer
}
return null;
}
-
- protected ProjectStage getProjectStageFromJNDI()
- {
- ProjectStage ps = null;
- String stageName = null;
-
- try
- {
- stageName = JndiUtils.lookup(PROJECT_STAGE_JNDI_NAME, String.class);
- }
- catch (RuntimeException jndiException)
- {
- // no-op
- }
-
- if (stageName != null)
- {
- ps = ProjectStage.valueOf(stageName);
- }
-
- return ps;
- }
-
}
Modified: myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/util/CodiUtils.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/util/CodiUtils.java?rev=1053556&r1=1053555&r2=1053556&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/util/CodiUtils.java (original)
+++ myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/util/CodiUtils.java Wed Dec 29 07:09:50 2010
@@ -49,9 +49,6 @@ import java.util.Set;
*/
public class CodiUtils
{
- //TODO change source
- public static final String CODI_PROPERTIES = "/META-INF/extcdi/extcdi.properties";
-
private static final Object[] EMPTY_OBJECT_ARRAY = new Object[0];
public static <T> T createNewInstanceOfBean(CreationalContext<T> creationalContext, Bean<T> bean)
@@ -167,27 +164,6 @@ public class CodiUtils
return props;
}
- /**
- * Lookup the given property from the default CODI properties file.
- *
- * @param propertyName
- * @return the value of the property or <code>null</code> it it doesn't exist.
- * @throws IOException
- * @throws IllegalArgumentException if the standard CODI properties file couldn't get found
- */
- public static String getCodiProperty(String propertyName) throws IOException
- {
- String value = null;
- Properties props = getProperties(CODI_PROPERTIES);
-
- if (props != null)
- {
- value = props.getProperty(propertyName);
- }
-
- return value;
- }
-
public static ProjectStage getCurrentProjectStage()
{
return getContextualReferenceByClass(ProjectStage.class);
@@ -454,26 +430,32 @@ public class CodiUtils
public static <T> T lookupFromEnvironment(String systemPropertyName, String jndiName , Class<T> targetType)
{
- String className = System.getProperty(systemPropertyName);
- if (className != null)
+ String configuredValue = System.getProperty(systemPropertyName);
+ if (configuredValue != null)
{
- return tryToInstantiateClassForName(className, targetType);
+ if(String.class.isAssignableFrom(targetType))
+ {
+ return (T)configuredValue;
+ }
+ return tryToInstantiateClassForName(configuredValue, targetType);
}
- String classDeactivatorName = null;
-
try
{
- classDeactivatorName = JndiUtils.lookup(jndiName, String.class);
+ configuredValue = JndiUtils.lookup(jndiName, String.class);
}
catch (RuntimeException jndiException)
{
// noop - lookup did not work
}
- if (classDeactivatorName != null)
+ if (configuredValue != null)
{
- return tryToInstantiateClassForName(classDeactivatorName, targetType);
+ if(String.class.isAssignableFrom(targetType))
+ {
+ return (T)configuredValue;
+ }
+ return tryToInstantiateClassForName(configuredValue, targetType);
}
return null;
Modified: myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/projectstage/ProjectStageProducerTest.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/projectstage/ProjectStageProducerTest.java?rev=1053556&r1=1053555&r2=1053556&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/projectstage/ProjectStageProducerTest.java (original)
+++ myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/projectstage/ProjectStageProducerTest.java Wed Dec 29 07:09:50 2010
@@ -44,8 +44,6 @@ public class ProjectStageProducerTest
// first manually reset the ProjectStage
ProjectStageProducer.setProjectStage(null);
- psp.determineProjectStage();
-
ProjectStage ps = psp.getProjectStage();
Assert.assertNotNull(ps);
Assert.assertEquals(ps, ProjectStage.Production);
Added: myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/projectstage/JsfProjectStageProducer.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/projectstage/JsfProjectStageProducer.java?rev=1053556&view=auto
==============================================================================
--- myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/projectstage/JsfProjectStageProducer.java (added)
+++ myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/projectstage/JsfProjectStageProducer.java Wed Dec 29 07:09:50 2010
@@ -0,0 +1,59 @@
+/*
+ * 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.jsf.impl.projectstage;
+
+import org.apache.myfaces.extensions.cdi.core.api.projectstage.ProjectStage;
+import org.apache.myfaces.extensions.cdi.core.impl.projectstage.ProjectStageProducer;
+import org.apache.myfaces.extensions.cdi.core.impl.util.CodiUtils;
+
+import javax.enterprise.inject.Typed;
+
+/**
+ * @author Gerhard Petracek
+ */
+@Typed()
+public class JsfProjectStageProducer extends ProjectStageProducer
+{
+ /** JNDI path for the ProjectStage */
+ private final static String PROJECT_STAGE_JNDI_NAME = "java:comp/env/jsf/ProjectStage";
+
+ /** System Property to set the ProjectStage, if not present via the standard way */
+ private final static String JSF_PROJECT_STAGE_SYSTEM_PROPERTY_NAME = "faces.PROJECT_STAGE";
+
+ @Override
+ protected ProjectStage resolveProjectStage()
+ {
+ ProjectStage projectStage = super.resolveProjectStage();
+
+ if(projectStage != null)
+ {
+ return projectStage;
+ }
+
+ String stageName = CodiUtils
+ .lookupFromEnvironment(JSF_PROJECT_STAGE_SYSTEM_PROPERTY_NAME, PROJECT_STAGE_JNDI_NAME, String.class);
+
+ if (stageName != null)
+ {
+ return ProjectStage.valueOf(stageName);
+ }
+
+ return null;
+ }
+}
Copied: myfaces/extensions/cdi/trunk/jee-modules/jsf20-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf2/impl/projectstage/JsfProjectStageProducer.java (from r1053502, myfaces/extensions/cdi/trunk/jee-modules/jsf20-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf2/impl/projectstage/Jsf2ProjectStageProducer.java)
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/jee-modules/jsf20-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf2/impl/projectstage/JsfProjectStageProducer.java?p2=myfaces/extensions/cdi/trunk/jee-modules/jsf20-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf2/impl/projectstage/JsfProjectStageProducer.java&p1=myfaces/extensions/cdi/trunk/jee-modules/jsf20-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf2/impl/projectstage/Jsf2ProjectStageProducer.java&r1=1053502&r2=1053556&rev=1053556&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/jee-modules/jsf20-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf2/impl/projectstage/Jsf2ProjectStageProducer.java (original)
+++ myfaces/extensions/cdi/trunk/jee-modules/jsf20-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf2/impl/projectstage/JsfProjectStageProducer.java Wed Dec 29 07:09:50 2010
@@ -19,24 +19,32 @@
package org.apache.myfaces.extensions.cdi.jsf2.impl.projectstage;
import org.apache.myfaces.extensions.cdi.core.api.projectstage.ProjectStage;
-import org.apache.myfaces.extensions.cdi.core.impl.projectstage.ProjectStageProducer;
+import javax.enterprise.inject.Typed;
import javax.faces.context.FacesContext;
/**
- * This is a JSF-2 specific version of the {@link ProjectStageProducer}.
+ * This is a JSF-2 specific version of the
+ * {@link org.apache.myfaces.extensions.cdi.core.impl.projectstage.ProjectStageProducer}.
* In addition to it's parent class, it will first try to pickup the
* JSF ProjectStage from the Application. If this returns the JSF
* {@link javax.faces.application.ProjectStage#Production}, we'll go on
* and try to figure out our own EXTCDI
* {@link org.apache.myfaces.extensions.cdi.core.api.projectstage.ProjectStage}s
*/
-public class Jsf2ProjectStageProducer extends ProjectStageProducer
+@Typed()
+public class JsfProjectStageProducer extends
+ org.apache.myfaces.extensions.cdi.jsf.impl.projectstage.JsfProjectStageProducer
{
@Override
- protected ProjectStage determineCustomProjectStage()
+ protected ProjectStage resolveProjectStage()
{
- ProjectStage codiProjectStage = null;
+ ProjectStage projectStage = super.resolveProjectStage();
+
+ if(projectStage != null)
+ {
+ return projectStage;
+ }
javax.faces.application.ProjectStage jsfProjectStage =
FacesContext.getCurrentInstance().getApplication().getProjectStage();
@@ -47,22 +55,18 @@ public class Jsf2ProjectStageProducer ex
switch(jsfProjectStage)
{
case UnitTest:
- codiProjectStage = ProjectStage.UnitTest;
- break;
-
+ return ProjectStage.UnitTest;
case Development:
- codiProjectStage = ProjectStage.Development;
- break;
+ return ProjectStage.Development;
case SystemTest:
- codiProjectStage = ProjectStage.SystemTest;
- break;
+ return ProjectStage.SystemTest;
default:
// we cannot match others, so codiProjectStage remains null in the default case
}
}
- return codiProjectStage;
+ return null;
}
}
Modified: myfaces/extensions/cdi/trunk/jee-modules/jsf20-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf2/impl/scope/mapped/MappedJsf2ScopeExtension.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/jee-modules/jsf20-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf2/impl/scope/mapped/MappedJsf2ScopeExtension.java?rev=1053556&r1=1053555&r2=1053556&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/jee-modules/jsf20-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf2/impl/scope/mapped/MappedJsf2ScopeExtension.java (original)
+++ myfaces/extensions/cdi/trunk/jee-modules/jsf20-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf2/impl/scope/mapped/MappedJsf2ScopeExtension.java Wed Dec 29 07:09:50 2010
@@ -95,7 +95,7 @@ public class MappedJsf2ScopeExtension im
private void logConvertedBean(AnnotatedType annotatedType, Class<? extends Annotation> jsf2ScopeAnnotation)
{
- ProjectStage projectStage = getCurrentProjectStage();
+ ProjectStage projectStage = ProjectStageProducer.getInstance().getProjectStage();
if (projectStage == ProjectStage.Development)
{
@@ -117,7 +117,7 @@ public class MappedJsf2ScopeExtension im
if(managedBeanAnnotation.eager())
{
- ProjectStage projectStage = getCurrentProjectStage();
+ ProjectStage projectStage = ProjectStageProducer.getInstance().getProjectStage();
if (projectStage == ProjectStage.Development)
{
@@ -130,26 +130,6 @@ public class MappedJsf2ScopeExtension im
return false;
}
- private ProjectStage getCurrentProjectStage()
- {
- try
- {
- ProjectStageProducer projectStageProducer = ProjectStageProducer.getInstance();
-
- //noinspection ConstantConditions
- projectStageProducer.determineProjectStage();
- return projectStageProducer.getProjectStage();
- }
- catch (Exception e)
- {
- if (!(e instanceof RuntimeException))
- {
- throw new RuntimeException(e);
- }
- throw (RuntimeException)e;
- }
- }
-
public boolean isActivated()
{
return ClassDeactivation.isClassActivated(getClass());
Modified: myfaces/extensions/cdi/trunk/jee-modules/jsf20-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf2/impl/scope/view/ViewScopedExtension.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/jee-modules/jsf20-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf2/impl/scope/view/ViewScopedExtension.java?rev=1053556&r1=1053555&r2=1053556&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/jee-modules/jsf20-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf2/impl/scope/view/ViewScopedExtension.java (original)
+++ myfaces/extensions/cdi/trunk/jee-modules/jsf20-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf2/impl/scope/view/ViewScopedExtension.java Wed Dec 29 07:09:50 2010
@@ -76,7 +76,6 @@ public class ViewScopedExtension impleme
// at this time
ProjectStageProducer psp = ProjectStageProducer.getInstance();
- psp.determineProjectStage();
ProjectStage projectStage = psp.getProjectStage();
if (projectStage == ProjectStage.UnitTest)