Author: ningjiang Date: Mon Dec 7 12:50:12 2009 New Revision: 887914 URL: http://svn.apache.org/viewvc?rev=887914&view=rev Log: CAMEL-2264 support to specify the jndi properties file location in org.apache.camel.guice.Main
Added: camel/trunk/examples/camel-example-guice-jms/src/main/resources/guicejndi.properties (props changed) - copied unchanged from r887825, camel/trunk/examples/camel-example-guice-jms/src/main/resources/jndi.properties Removed: camel/trunk/examples/camel-example-guice-jms/src/main/resources/jndi.properties Modified: camel/trunk/components/camel-guice/src/main/java/org/apache/camel/guice/Main.java camel/trunk/examples/camel-example-guice-jms/pom.xml camel/trunk/examples/camel-example-guice-jms/src/main/java/org/apache/camel/example/guice/jms/OSGiCamelContextProvider.java camel/trunk/examples/camel-example-guice-jms/src/test/java/org/apache/camel/example/guice/jms/IntegrationTest.java Modified: camel/trunk/components/camel-guice/src/main/java/org/apache/camel/guice/Main.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-guice/src/main/java/org/apache/camel/guice/Main.java?rev=887914&r1=887913&r2=887914&view=diff ============================================================================== --- camel/trunk/components/camel-guice/src/main/java/org/apache/camel/guice/Main.java (original) +++ camel/trunk/components/camel-guice/src/main/java/org/apache/camel/guice/Main.java Mon Dec 7 12:50:12 2009 @@ -16,7 +16,10 @@ */ package org.apache.camel.guice; +import java.net.URL; +import java.util.LinkedList; import java.util.Map; +import java.util.Properties; import java.util.Set; import javax.naming.Context; @@ -33,6 +36,7 @@ import org.apache.camel.CamelContext; import org.apache.camel.ProducerTemplate; import org.apache.camel.impl.MainSupport; +import org.apache.camel.util.ObjectHelper; import org.apache.camel.view.ModelFileGenerator; import org.guiceyfruit.Injectors; @@ -45,18 +49,28 @@ public class Main extends MainSupport { private static Main instance; private Injector injector; - - + private String jndiProperties; + public Main() { -/* - addOption(new ParameterOption("a", "applicationContext", - "Sets the classpath based spring ApplicationContext", "applicationContext") { + + addOption(new ParameterOption("j", "jndiProperties", + "Sets the classpath based jndi properties file location", "jndiProperties") { + @Override protected void doProcess(String arg, String parameter, LinkedList<String> remainingArgs) { - setApplicationContextUri(parameter); + setJndiProperties(parameter); + } }); -*/ + + } + + public void setJndiProperties(String properties) { + this.jndiProperties = properties; + } + + public String getJndiProperties() { + return this.jndiProperties; } public static void main(String... args) throws Exception { @@ -88,7 +102,18 @@ // Implementation methods // ------------------------------------------------------------------------- protected Injector getInjectorFromContext() throws Exception { - Context context = new InitialContext(); + Context context = null; + URL jndiPropertiesUrl = null; + if (ObjectHelper.isNotEmpty(jndiProperties)) { + jndiPropertiesUrl = this.getClass().getResource(jndiProperties); + } + if (jndiPropertiesUrl != null) { + Properties properties = new Properties(); + properties.load(jndiPropertiesUrl.openStream()); + context = new InitialContext(properties); + } else { + context = new InitialContext(); + } return (Injector) context.lookup(Injector.class.getName()); } Modified: camel/trunk/examples/camel-example-guice-jms/pom.xml URL: http://svn.apache.org/viewvc/camel/trunk/examples/camel-example-guice-jms/pom.xml?rev=887914&r1=887913&r2=887914&view=diff ============================================================================== --- camel/trunk/examples/camel-example-guice-jms/pom.xml (original) +++ camel/trunk/examples/camel-example-guice-jms/pom.xml Mon Dec 7 12:50:12 2009 @@ -103,6 +103,8 @@ <arguments> <argument>-duration</argument> <argument>5s</argument> + <argument>-jndiProperties</argument> + <argument>/guicejndi.properties</argument> </arguments> </configuration> </plugin> Modified: camel/trunk/examples/camel-example-guice-jms/src/main/java/org/apache/camel/example/guice/jms/OSGiCamelContextProvider.java URL: http://svn.apache.org/viewvc/camel/trunk/examples/camel-example-guice-jms/src/main/java/org/apache/camel/example/guice/jms/OSGiCamelContextProvider.java?rev=887914&r1=887913&r2=887914&view=diff ============================================================================== --- camel/trunk/examples/camel-example-guice-jms/src/main/java/org/apache/camel/example/guice/jms/OSGiCamelContextProvider.java (original) +++ camel/trunk/examples/camel-example-guice-jms/src/main/java/org/apache/camel/example/guice/jms/OSGiCamelContextProvider.java Mon Dec 7 12:50:12 2009 @@ -16,24 +16,21 @@ */ package org.apache.camel.example.guice.jms; -import java.net.URL; import java.util.Properties; import java.util.Set; import javax.naming.Context; -import javax.naming.NamingException; import com.google.inject.Inject; import com.google.inject.Injector; import com.google.inject.Provider; import com.google.inject.ProvisionException; + import org.apache.camel.CamelContext; import org.apache.camel.RoutesBuilder; import org.apache.camel.impl.DefaultCamelContext; import org.apache.camel.impl.JndiRegistry; import org.apache.camel.osgi.CamelContextFactory; -import org.apache.camel.osgi.CompositeRegistry; -import org.apache.camel.spi.Registry; import org.guiceyfruit.jndi.JndiBindings; import org.guiceyfruit.jndi.internal.JndiContext; import org.osgi.framework.BundleContext; @@ -63,12 +60,9 @@ } } - // Add the JndiRegistry to the camel context - protected void updateRegistry(DefaultCamelContext camelContext) { - CompositeRegistry compositeRegistry = new CompositeRegistry(); - compositeRegistry.addRegistry(new JndiRegistry(getJndiContext())); - compositeRegistry.addRegistry(camelContext.getRegistry()); - camelContext.setRegistry(compositeRegistry); + // set the JndiRegistry to the camel context + protected void updateRegistry(DefaultCamelContext camelContext) { + camelContext.setRegistry(new JndiRegistry(getJndiContext())); } public CamelContext get() { Propchange: camel/trunk/examples/camel-example-guice-jms/src/main/resources/guicejndi.properties ------------------------------------------------------------------------------ svn:eol-style = native Propchange: camel/trunk/examples/camel-example-guice-jms/src/main/resources/guicejndi.properties ------------------------------------------------------------------------------ svn:keywords = Rev Date Propchange: camel/trunk/examples/camel-example-guice-jms/src/main/resources/guicejndi.properties ------------------------------------------------------------------------------ svn:mergeinfo = Propchange: camel/trunk/examples/camel-example-guice-jms/src/main/resources/guicejndi.properties ------------------------------------------------------------------------------ svn:mime-type = text/plain Modified: camel/trunk/examples/camel-example-guice-jms/src/test/java/org/apache/camel/example/guice/jms/IntegrationTest.java URL: http://svn.apache.org/viewvc/camel/trunk/examples/camel-example-guice-jms/src/test/java/org/apache/camel/example/guice/jms/IntegrationTest.java?rev=887914&r1=887913&r2=887914&view=diff ============================================================================== --- camel/trunk/examples/camel-example-guice-jms/src/test/java/org/apache/camel/example/guice/jms/IntegrationTest.java (original) +++ camel/trunk/examples/camel-example-guice-jms/src/test/java/org/apache/camel/example/guice/jms/IntegrationTest.java Mon Dec 7 12:50:12 2009 @@ -26,6 +26,6 @@ public void testCamelRulesDeployCorrectlyInGuice() throws Exception { // let's boot up the Guicey JNDI context for 2 seconds to check that it works OK - Main.main("-duration", "2s", "-o", "target/site/cameldoc"); + Main.main("-duration", "2s", "-o", "target/site/cameldoc", "-j", "/guicejndi.properties"); } } \ No newline at end of file