You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by st...@apache.org on 2011/02/21 14:31:38 UTC
svn commit: r1072964 - in /myfaces/extensions/cdi/trunk/core/impl/src:
main/java/org/apache/myfaces/extensions/cdi/core/impl/projectstage/
main/java/org/apache/myfaces/extensions/cdi/core/impl/util/
test/java/org/apache/myfaces/extensions/cdi/core/test...
Author: struberg
Date: Mon Feb 21 13:31:38 2011
New Revision: 1072964
URL: http://svn.apache.org/viewvc?rev=1072964&view=rev
Log:
EXTCDI-143 fix faces.PROJECT_STAGE and javax.faces.PROJECT_STAGE detection
this unintentionally got dropped with EXTCDI-121
Modified:
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/ConfiguredArtifactUtils.java
myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/projectstage/ProjectStageProducerTest.java
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=1072964&r1=1072963&r2=1072964&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 Mon Feb 21 13:31:38 2011
@@ -164,15 +164,36 @@ public class ProjectStageProducer implem
}
+ /**
+ * We need to lookup a few environment variables in a specific order
+ * <ol>
+ * <li>javax.faces.PROJECT_STAGE</li>
+ * <li>faces.PROJECT_STAGE</li>
+ * </ol>
+ *
+ * For more information see <a href="https://issues.apache.org/jira/browse/MYFACES-2545">MYFACES-2545</a>
+ * @return the resolved {@link ProjectStage} or <code>null</code> if none defined.
+ */
protected ProjectStage resolveProjectStage()
{
- String stageName = CodiUtils
- .lookupFromEnvironment(ProjectStage.class.getSimpleName(), String.class); //we have to use a string here
+ //we have to use a string here
+ String stageName = CodiUtils.lookupFromEnvironment("javax.faces.PROJECT_STAGE", String.class);
+
+ if (stageName == null)
+ {
+ stageName = CodiUtils.lookupFromEnvironment("faces.PROJECT_STAGE", String.class);
+ }
+
+ if (stageName == null)
+ {
+ stageName = CodiUtils.lookupFromEnvironment("ProjectStage", String.class);
+ }
if (stageName != null)
{
return ProjectStage.valueOf(stageName);
}
+
return null;
}
}
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=1072964&r1=1072963&r2=1072964&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 Mon Feb 21 13:31:38 2011
@@ -68,7 +68,11 @@ public class ConfiguredArtifactUtils
if(cachedValueMap != null)
{
List<String> result = new ArrayList<String>();
- result.addAll(cachedValueMap.get(key));
+ Set<String> cachedValues = cachedValueMap.get(key);
+ if (cachedValues != null && !cachedValues.isEmpty())
+ {
+ result.addAll(cachedValues);
+ }
return (List<T>)result;
}
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=1072964&r1=1072963&r2=1072964&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 Mon Feb 21 13:31:38 2011
@@ -30,23 +30,31 @@ public class ProjectStageProducerTest
{
/**
- * This test checks if the manual {@link ProjectStage} detection via
- * {@link ProjectStageProducer} works properly.
- *
+ * Test a ProjectStage which got set by the <i>javax.faces.ProjectStage</i>
* @throws Exception
*/
@Test
- public void testManualDetection() throws Exception
+ public void testProjectStageSetByEnvironment() throws Exception
{
- ProjectStageProducer psp = ProjectStageProducer.getInstance();
- Assert.assertNotNull(psp);
+ String envName = "faces.PROJECT_STAGE";
+ String oldEnvVal = "" + System.getProperty(envName);
+ try
+ {
+ System.setProperty(envName, "SystemTest");
- // first manually reset the ProjectStage
- ProjectStageProducer.setProjectStage(null);
+ ProjectStageProducer psp = ProjectStageProducer.getInstance();
+ Assert.assertNotNull(psp);
- ProjectStage ps = psp.getProjectStage();
- Assert.assertNotNull(ps);
- Assert.assertEquals(ps, ProjectStage.Production);
- Assert.assertTrue(ps == ProjectStage.Production);
+ ProjectStageProducer.setProjectStage(null);
+
+ ProjectStage ps = psp.getProjectStage();
+ Assert.assertNotNull(ps);
+ Assert.assertEquals(ps, ProjectStage.SystemTest);
+ Assert.assertTrue(ps == ProjectStage.SystemTest);
+ }
+ finally
+ {
+ System.setProperty(envName, oldEnvVal);
+ }
}
}