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/10/08 21:29:26 UTC
svn commit: r1180471 - in /myfaces/extensions/cdi/trunk/core/impl/src/test:
java/org/apache/myfaces/extensions/cdi/core/test/impl/config/
java/org/apache/myfaces/extensions/cdi/core/test/impl/serviceloader/
resources/META-INF/services/
Author: gpetracek
Date: Sat Oct 8 19:29:26 2011
New Revision: 1180471
URL: http://svn.apache.org/viewvc?rev=1180471&view=rev
Log:
EXTCDI-231 unit test for custom property-file resolver
Added:
myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/config/PropertyFileResolverForProjectStage.java
Modified:
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/serviceloader/ServiceProviderTest.java
myfaces/extensions/cdi/trunk/core/impl/src/test/resources/META-INF/services/org.apache.myfaces.extensions.cdi.core.api.config.ConfiguredValueResolver
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=1180471&r1=1180470&r2=1180471&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 Sat Oct 8 19:29:26 2011
@@ -63,7 +63,7 @@ public class ConfigTest
super.reset();
}
}.reset();
- System.setProperty("org.apache.myfaces.extensions.cdi.ProjectStage", "Production");
+ System.getProperties().remove("org.apache.myfaces.extensions.cdi.ProjectStage");
System.setProperty("org.apache.myfaces.extensions.cdi.CustomValue", "");
System.setProperty("ext.test.CustomValue", "");
}
@@ -176,6 +176,27 @@ public class ConfigTest
assertEquals(isCustomValue(), "true");
}
+ @Test
+ public void testProjectStageSetPropertyFileAndCustomResolver() throws Exception
+ {
+ try
+ {
+ assertEquals(ProjectStageProducer.getInstance().getProjectStage(), ProjectStage.Production);
+
+ reset();
+
+ PropertyFileResolverForProjectStage.activate();
+ assertEquals(ProjectStageProducer.getInstance().getProjectStage(), ProjectStage.IntegrationTest);
+ }
+ finally
+ {
+ PropertyFileResolverForProjectStage.deactivate();
+ }
+
+ reset();
+ assertEquals(ProjectStageProducer.getInstance().getProjectStage(), ProjectStage.Production);
+ }
+
private String isCustomValue()
{
return CodiUtils.lookupConfigFromEnvironment(null, String.class, "true");
Added: myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/config/PropertyFileResolverForProjectStage.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/PropertyFileResolverForProjectStage.java?rev=1180471&view=auto
==============================================================================
--- myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/config/PropertyFileResolverForProjectStage.java (added)
+++ myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/config/PropertyFileResolverForProjectStage.java Sat Oct 8 19:29:26 2011
@@ -0,0 +1,73 @@
+/*
+ * 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.config;
+
+import org.apache.myfaces.extensions.cdi.core.api.InvocationOrder;
+import org.apache.myfaces.extensions.cdi.core.api.config.ConfiguredValueDescriptor;
+import org.apache.myfaces.extensions.cdi.core.api.util.ConfigUtils;
+import org.apache.myfaces.extensions.cdi.core.impl.config.AbstractConfiguredValueResolver;
+
+import javax.enterprise.inject.Typed;
+import java.util.Collections;
+import java.util.List;
+
+/**
+ * @author Gerhard Petracek
+ */
+@Typed()
+@InvocationOrder(600)
+public class PropertyFileResolverForProjectStage extends AbstractConfiguredValueResolver
+{
+ //ONLY needed for our unit tests to avoid that other tests are influenced
+ private static ThreadLocal<Boolean> active = new ThreadLocal<Boolean>();
+
+ public static void activate()
+ {
+ active.set(Boolean.TRUE);
+ }
+
+ public static void deactivate()
+ {
+ active.set(null);
+ active.remove();
+ }
+
+ @Override
+ public boolean isActivated()
+ {
+ return Boolean.TRUE.equals(active.get());
+ }
+
+ public <K, T> List<T> resolveInstances(ConfiguredValueDescriptor<K, T> descriptor)
+ {
+ String key = "" + descriptor.getKey();
+
+ if(!"ProjectStage".endsWith(key))
+ {
+ return Collections.emptyList();
+ }
+
+ for(String configuredValue : ConfigUtils.getConfiguredValue(key))
+ {
+ add(configuredValue);
+ }
+
+ return getConfiguredValues(descriptor.getTargetType());
+ }
+}
Modified: myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/serviceloader/ServiceProviderTest.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/serviceloader/ServiceProviderTest.java?rev=1180471&r1=1180470&r2=1180471&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/serviceloader/ServiceProviderTest.java (original)
+++ myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/serviceloader/ServiceProviderTest.java Sat Oct 8 19:29:26 2011
@@ -30,6 +30,7 @@ import org.apache.myfaces.extensions.cdi
import org.apache.myfaces.extensions.cdi.core.impl.config.SystemPropertyResolver;
import org.apache.myfaces.extensions.cdi.core.impl.provider.SimpleServiceProvider;
import org.apache.myfaces.extensions.cdi.core.impl.provider.SimpleServiceProviderContext;
+import org.apache.myfaces.extensions.cdi.core.test.impl.config.PropertyFileResolverForProjectStage;
import org.apache.myfaces.extensions.cdi.core.test.impl.config.TestConfiguredValueResolver;
import org.apache.myfaces.extensions.cdi.core.test.impl.config.TestInterface;
import org.testng.Assert;
@@ -142,13 +143,14 @@ public class ServiceProviderTest
Iterator<ConfiguredValueResolver> iterator = extensionList.iterator();
- Assert.assertEquals(extensionList.size(), 5);
+ Assert.assertEquals(extensionList.size(), 6);
Assert.assertTrue(iterator.next() instanceof SystemPropertyResolver);
Assert.assertTrue(iterator.next() instanceof TestConfiguredValueResolver);
Assert.assertTrue(iterator.next() instanceof ServiceLoaderResolver);
Assert.assertTrue(iterator.next() instanceof LocalJndiResolver);
Assert.assertTrue(iterator.next() instanceof PropertyFileResolver);
+ Assert.assertTrue(iterator.next() instanceof PropertyFileResolverForProjectStage);
}
@Test
Modified: myfaces/extensions/cdi/trunk/core/impl/src/test/resources/META-INF/services/org.apache.myfaces.extensions.cdi.core.api.config.ConfiguredValueResolver
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/impl/src/test/resources/META-INF/services/org.apache.myfaces.extensions.cdi.core.api.config.ConfiguredValueResolver?rev=1180471&r1=1180470&r2=1180471&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/core/impl/src/test/resources/META-INF/services/org.apache.myfaces.extensions.cdi.core.api.config.ConfiguredValueResolver (original)
+++ myfaces/extensions/cdi/trunk/core/impl/src/test/resources/META-INF/services/org.apache.myfaces.extensions.cdi.core.api.config.ConfiguredValueResolver Sat Oct 8 19:29:26 2011
@@ -17,4 +17,5 @@
# under the License.
#####################################################################################
-org.apache.myfaces.extensions.cdi.core.test.impl.config.TestConfiguredValueResolver
\ No newline at end of file
+org.apache.myfaces.extensions.cdi.core.test.impl.config.TestConfiguredValueResolver
+org.apache.myfaces.extensions.cdi.core.test.impl.config.PropertyFileResolverForProjectStage
\ No newline at end of file