- Revision
- 790
- Author
- mward
- Date
- 2008-08-27 23:41:41 -0500 (Wed, 27 Aug 2008)
Log Message
Updated RubyPicoContextContainerFactory.createRegistrar to return a RubyScriptedRegistrar
Modified Paths
- trunk/examples/jruby-example/src/main/webapp/WEB-INF/web.xml
- trunk/waffle-core/src/main/java/org/codehaus/waffle/context/pico/PicoContextContainerFactory.java
- trunk/waffle-ruby/src/main/java/org/codehaus/waffle/context/pico/RubyPicoContextContainerFactory.java
- trunk/waffle-ruby/src/main/java/org/codehaus/waffle/registrar/pico/RubyScriptedRegistrar.java
Diff
Modified: trunk/examples/jruby-example/src/main/webapp/WEB-INF/web.xml (789 => 790)
--- trunk/examples/jruby-example/src/main/webapp/WEB-INF/web.xml 2008-08-28 04:14:57 UTC (rev 789) +++ trunk/examples/jruby-example/src/main/webapp/WEB-INF/web.xml 2008-08-28 04:41:41 UTC (rev 790) @@ -45,10 +45,10 @@ </context-param> <!-- Define a relative path to the ruby script directory (for development) --> + <!-- TODO: this needs to be more forgiving --> <context-param> <param-name>org.codehaus.waffle.ruby.path</param-name> - <param-value>dir:../../../target/waffle-jruby-example-1.2-SNAPSHOT/WEB-INF/classes/org/codehaus/waffle</param-value> - <!-- TODO: this needs to be more forgiving --> + <param-value>dir:../../../examples/jruby-example/src/main/ruby/</param-value> </context-param> <listener>
Modified: trunk/waffle-core/src/main/java/org/codehaus/waffle/context/pico/PicoContextContainerFactory.java (789 => 790)
--- trunk/waffle-core/src/main/java/org/codehaus/waffle/context/pico/PicoContextContainerFactory.java 2008-08-28 04:14:57 UTC (rev 789) +++ trunk/waffle-core/src/main/java/org/codehaus/waffle/context/pico/PicoContextContainerFactory.java 2008-08-28 04:41:41 UTC (rev 790) @@ -88,4 +88,20 @@ private MutablePicoContainer buildMutablePicoContainer(PicoContainer parent) { return new DefaultPicoContainer(picoComponentMonitor, picoLifecycleStrategy, parent); } + + protected ComponentMonitor getPicoComponentMonitor() { + return picoComponentMonitor; + } + + protected LifecycleStrategy getPicoLifecycleStrategy() { + return picoLifecycleStrategy; + } + + protected RegistrarMonitor getRegistrarMonitor() { + return registrarMonitor; + } + + protected ParameterResolver getParameterResolver() { + return parameterResolver; + } }
Modified: trunk/waffle-ruby/src/main/java/org/codehaus/waffle/context/pico/RubyPicoContextContainerFactory.java (789 => 790)
--- trunk/waffle-ruby/src/main/java/org/codehaus/waffle/context/pico/RubyPicoContextContainerFactory.java 2008-08-28 04:14:57 UTC (rev 789) +++ trunk/waffle-ruby/src/main/java/org/codehaus/waffle/context/pico/RubyPicoContextContainerFactory.java 2008-08-28 04:41:41 UTC (rev 790) @@ -8,7 +8,9 @@ import org.codehaus.waffle.i18n.MessageResources; import org.codehaus.waffle.monitor.ContextMonitor; import org.codehaus.waffle.monitor.RegistrarMonitor; +import org.codehaus.waffle.registrar.Registrar; import org.codehaus.waffle.registrar.pico.ParameterResolver; +import org.codehaus.waffle.registrar.pico.RubyScriptedRegistrar; import org.jruby.Ruby; import static org.picocontainer.Characteristics.CACHE; import org.picocontainer.MutablePicoContainer; @@ -19,6 +21,10 @@ import java.io.InputStreamReader; import java.util.ArrayList; +/** + * @author Michael Ward + * @author Mauro Talevi + */ public class RubyPicoContextContainerFactory extends ScriptedPicoContextContainerFactory { public RubyPicoContextContainerFactory(MessageResources messageResources, @@ -47,6 +53,21 @@ picoContainer.as(CACHE).addComponent(RubyScriptLoader.class); } + @Override + protected Registrar createRegistrar(ContextContainer contextContainer) { // todo we need tests for this ... can this be refactored cleaner? + MutablePicoContainer delegateContainer = (MutablePicoContainer) contextContainer.getDelegate(); + RegistrarMonitor registrarMonitor = getRegistrarMonitor(); + + Registrar registrar = new RubyScriptedRegistrar(delegateContainer, + getParameterResolver(), + getPicoLifecycleStrategy(), + registrarMonitor, + getPicoComponentMonitor()); + + getContextMonitor().registrarCreated(registrar, registrarMonitor); + return registrar; + } + private void loadRubyScriptFromClassLoader(String fileName, Ruby runtime) { BufferedReader bufferedReader = null; InputStream inputStream = null;
Modified: trunk/waffle-ruby/src/main/java/org/codehaus/waffle/registrar/pico/RubyScriptedRegistrar.java (789 => 790)
--- trunk/waffle-ruby/src/main/java/org/codehaus/waffle/registrar/pico/RubyScriptedRegistrar.java 2008-08-28 04:14:57 UTC (rev 789) +++ trunk/waffle-ruby/src/main/java/org/codehaus/waffle/registrar/pico/RubyScriptedRegistrar.java 2008-08-28 04:41:41 UTC (rev 790) @@ -7,7 +7,6 @@ import org.picocontainer.ComponentMonitor; import org.picocontainer.LifecycleStrategy; import org.picocontainer.MutablePicoContainer; -import org.picocontainer.behaviors.Cached; /** * Pico-based ScriptedRegistrar that allows to register Ruby scripts @@ -29,5 +28,4 @@ this.registerCachedComponentAdapter(new RubyScriptComponentAdapter(key, className)); } - }
To unsubscribe from this list please visit:
