You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@deltaspike.apache.org by st...@apache.org on 2013/11/22 15:21:16 UTC
git commit: DELTASPIKE-445 add a few other known project stage config
locations
Updated Branches:
refs/heads/master f899ad2e8 -> 562412bb4
DELTASPIKE-445 add a few other known project stage config locations
Project: http://git-wip-us.apache.org/repos/asf/deltaspike/repo
Commit: http://git-wip-us.apache.org/repos/asf/deltaspike/commit/562412bb
Tree: http://git-wip-us.apache.org/repos/asf/deltaspike/tree/562412bb
Diff: http://git-wip-us.apache.org/repos/asf/deltaspike/diff/562412bb
Branch: refs/heads/master
Commit: 562412bb4e5a0fb370951e054562b07e333c6fee
Parents: f899ad2
Author: Mark Struberg <st...@apache.org>
Authored: Fri Nov 22 15:19:38 2013 +0100
Committer: Mark Struberg <st...@apache.org>
Committed: Fri Nov 22 15:20:32 2013 +0100
----------------------------------------------------------------------
.../core/util/ProjectStageProducer.java | 24 +++++++--
.../projectstage/ProjectStageProducerTest.java | 53 +++++++++++++-------
2 files changed, 56 insertions(+), 21 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/deltaspike/blob/562412bb/deltaspike/core/api/src/main/java/org/apache/deltaspike/core/util/ProjectStageProducer.java
----------------------------------------------------------------------
diff --git a/deltaspike/core/api/src/main/java/org/apache/deltaspike/core/util/ProjectStageProducer.java b/deltaspike/core/api/src/main/java/org/apache/deltaspike/core/util/ProjectStageProducer.java
index f2e39bf..7a93ab5 100644
--- a/deltaspike/core/api/src/main/java/org/apache/deltaspike/core/util/ProjectStageProducer.java
+++ b/deltaspike/core/api/src/main/java/org/apache/deltaspike/core/util/ProjectStageProducer.java
@@ -52,10 +52,22 @@ import java.util.logging.Logger;
@ApplicationScoped
public class ProjectStageProducer implements Serializable
{
+ /**
+ * These config keys will get used to detect the ProjectStage.
+ * We iterate through them until we find the first non-empty value.
+ */
+ public static final String[] CONFIG_SETTING_KEYS =
+ {
+ "org.apache.deltaspike.ProjectStage",
+ "javax.faces.PROJECT_STAGE",
+ "faces.PROJECT_STAGE"
+ };
+
protected static final Logger LOG = Logger.getLogger(ProjectStageProducer.class.getName());
private static final long serialVersionUID = -2987762608635612074L;
+
/**
* The detected ProjectStage
*/
@@ -132,11 +144,15 @@ public class ProjectStageProducer implements Serializable
*/
protected ProjectStage resolveProjectStage()
{
- String stageName = ConfigResolver.getPropertyValue("org.apache.deltaspike.ProjectStage");
-
- if (stageName != null)
+ for (String configLocation : CONFIG_SETTING_KEYS)
{
- return ProjectStage.valueOf(stageName);
+ String stageName = ConfigResolver.getPropertyValue(configLocation);
+
+ if (stageName != null && !stageName.isEmpty())
+ {
+ return ProjectStage.valueOf(stageName);
+ }
+
}
return null;
http://git-wip-us.apache.org/repos/asf/deltaspike/blob/562412bb/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/api/projectstage/ProjectStageProducerTest.java
----------------------------------------------------------------------
diff --git a/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/api/projectstage/ProjectStageProducerTest.java b/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/api/projectstage/ProjectStageProducerTest.java
index 6a960dc..db88645 100644
--- a/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/api/projectstage/ProjectStageProducerTest.java
+++ b/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/api/projectstage/ProjectStageProducerTest.java
@@ -34,33 +34,52 @@ public class ProjectStageProducerTest
@Test
public void testProjectStageSetByEnvironment()
{
- String envName = "org.apache.deltaspike.ProjectStage";
- String oldEnvVal = "" + System.getProperty(envName);
+ String[] oldEnvVals = new String[ProjectStageProducer.CONFIG_SETTING_KEYS.length];
+ for (int i = 0; i < ProjectStageProducer.CONFIG_SETTING_KEYS.length; i++)
+ {
+ String envName = ProjectStageProducer.CONFIG_SETTING_KEYS[i];
+ oldEnvVals[i] = "" + System.getProperty(envName);
+
+ // and also clean them now
+ System.setProperty(ProjectStageProducer.CONFIG_SETTING_KEYS[i], "");
+ }
+
try
{
- System.setProperty(envName, "SystemTest");
+ for (int i = 0; i < ProjectStageProducer.CONFIG_SETTING_KEYS.length; i++)
+ {
+ String envName = ProjectStageProducer.CONFIG_SETTING_KEYS[i];
+
+ System.setProperty(envName, "SystemTest");
+
+ ProjectStageProducer psp = ProjectStageProducer.getInstance();
+ Assert.assertNotNull(psp);
- ProjectStageProducer psp = ProjectStageProducer.getInstance();
- Assert.assertNotNull(psp);
+ ProjectStageProducer.setProjectStage(null);
- ProjectStageProducer.setProjectStage(null);
+ ProjectStage ps = psp.getProjectStage();
+ Assert.assertNotNull(ps);
+ Assert.assertEquals(ps, ProjectStage.SystemTest);
+ Assert.assertTrue(ps == ProjectStage.SystemTest);
- ProjectStage ps = psp.getProjectStage();
- Assert.assertNotNull(ps);
- Assert.assertEquals(ps, ProjectStage.SystemTest);
- Assert.assertTrue(ps == ProjectStage.SystemTest);
+ ProjectStageProducer.setProjectStage(null);
+ System.setProperty(envName, "IntegrationTest");
- ProjectStageProducer.setProjectStage(null);
- System.setProperty(envName, "IntegrationTest");
+ ps = psp.getProjectStage();
+ Assert.assertNotNull(ps);
+ Assert.assertEquals(ps, ProjectStage.IntegrationTest);
+ Assert.assertTrue(ps == ProjectStage.IntegrationTest);
- ps = psp.getProjectStage();
- Assert.assertNotNull(ps);
- Assert.assertEquals(ps, ProjectStage.IntegrationTest);
- Assert.assertTrue(ps == ProjectStage.IntegrationTest);
+ System.setProperty(envName, "");
+ }
}
finally
{
- System.setProperty(envName, oldEnvVal);
+ // restore the old env values
+ for (int i = 0; i < ProjectStageProducer.CONFIG_SETTING_KEYS.length; i++)
+ {
+ System.setProperty(ProjectStageProducer.CONFIG_SETTING_KEYS[i], oldEnvVals[i]);
+ }
}
}
}