logo       

[picocontainer-scm] [picocontainer] [3117] java/nanocontainer/trunk/contain: msg#00008

java.picocontainer.cvs

Subject: [picocontainer-scm] [picocontainer] [3117] java/nanocontainer/trunk/container: upgrade to JRuby 0.9.2.

Revision
3117
Author
proyal
Date
2006-12-14 17:38:22 -0600 (Thu, 14 Dec 2006)

Log Message

upgrade to JRuby 0.9.2. Use new syntax ditching include_class

Modified Paths

Diff

Modified: java/nanocontainer/trunk/container/pom.xml (3116 => 3117)

--- java/nanocontainer/trunk/container/pom.xml	2006-12-12 15:54:39 UTC (rev 3116)
+++ java/nanocontainer/trunk/container/pom.xml	2006-12-14 23:38:22 UTC (rev 3117)
@@ -27,7 +27,7 @@
     <dependency>
       <groupId>org.jruby</groupId>
       <artifactId>jruby</artifactId>
-      <version>0.9.1-SNAPSHOT</version>
+      <version>0.9.2</version>
       <optional>true</optional>
     </dependency>
     <dependency>

Modified: java/nanocontainer/trunk/container/src/java/org/nanocontainer/script/jruby/nanobuilder.rb (3116 => 3117)

--- java/nanocontainer/trunk/container/src/java/org/nanocontainer/script/jruby/nanobuilder.rb	2006-12-12 15:54:39 UTC (rev 3116)
+++ java/nanocontainer/trunk/container/src/java/org/nanocontainer/script/jruby/nanobuilder.rb	2006-12-14 23:38:22 UTC (rev 3117)
@@ -14,13 +14,13 @@
 # Nanocontainer for configuring containers and components.
 #
 module Nano
-  include_class 'org.picocontainer.Parameter'
-  include_class 'org.nanocontainer.reflection.DefaultNanoPicoContainer'
-  include_class 'org.picocontainer.defaults.ComponentParameter'
-  include_class 'org.picocontainer.defaults.ConstantParameter'
-  include_class 'org.nanocontainer.script.jruby.JRubyContainerBuilder'
-  include_class 'org.nanocontainer.script.ClassPathElementHelper'
-  include_class 'org.nanocontainer.script.ComponentElementHelper'
+  Parameter = org.picocontainer.Parameter
+  DefaultNanoPicoContainer = org.nanocontainer.reflection.DefaultNanoPicoContainer
+  ComponentParameter = org.picocontainer.defaults.ComponentParameter
+  ConstantParameter = org.picocontainer.defaults.ConstantParameter
+  JRubyContainerBuilder = org.nanocontainer.script.jruby.JRubyContainerBuilder
+  ClassPathElementHelper = org.nanocontainer.script.ClassPathElementHelper
+  ComponentElementHelper = org.nanocontainer.script.ComponentElementHelper
 
   MARKUP_EXCEPTION_PREFIX = JRubyContainerBuilder::MARKUP_EXCEPTION_PREFIX
 

Modified: java/nanocontainer/trunk/container/src/test/org/nanocontainer/script/jruby/JRubyContainerBuilderTestCase.java (3116 => 3117)

--- java/nanocontainer/trunk/container/src/test/org/nanocontainer/script/jruby/JRubyContainerBuilderTestCase.java	2006-12-12 15:54:39 UTC (rev 3116)
+++ java/nanocontainer/trunk/container/src/test/org/nanocontainer/script/jruby/JRubyContainerBuilderTestCase.java	2006-12-14 23:38:22 UTC (rev 3117)
@@ -1,9 +1,5 @@
 package org.nanocontainer.script.jruby;
 
-import java.io.*;
-import java.net.URLClassLoader;
-import java.net.URL;
-
 import org.jmock.Mock;
 import org.nanocontainer.NanoPicoContainer;
 import org.nanocontainer.TestHelper;
@@ -11,7 +7,12 @@
 import org.nanocontainer.reflection.DefaultNanoPicoContainer;
 import org.nanocontainer.script.AbstractScriptedContainerBuilderTestCase;
 import org.nanocontainer.script.NanoContainerMarkupException;
-import org.nanocontainer.script.groovy.*;
+import org.nanocontainer.script.groovy.A;
+import org.nanocontainer.script.groovy.B;
+import org.nanocontainer.script.groovy.HasParams;
+import org.nanocontainer.script.groovy.ParentAssemblyScope;
+import org.nanocontainer.script.groovy.SomeAssemblyScope;
+import org.nanocontainer.script.groovy.X;
 import org.picocontainer.ComponentAdapter;
 import org.picocontainer.MutablePicoContainer;
 import org.picocontainer.PicoContainer;
@@ -22,24 +23,30 @@
 import org.picocontainer.defaults.SetterInjectionComponentAdapterFactory;
 import org.picocontainer.defaults.UnsatisfiableDependenciesException;
 
+import java.io.File;
+import java.io.IOException;
+import java.io.Reader;
+import java.io.StringReader;
+import java.io.StringWriter;
+import java.net.URL;
+import java.net.URLClassLoader;
+
 /**
  * @author Nick Sieger
  * @author Paul Hammant
  * @author Chris Bailey
  * @author Mauro Talevi
- *
  */
 public class JRubyContainerBuilderTestCase extends AbstractScriptedContainerBuilderTestCase {
     private static final String ASSEMBLY_SCOPE = "SOME_SCOPE";
 
 
-
     public void testContainerCanBeBuiltWithParentGlobal() {
-        Reader script = new StringReader("" +
-                "include_class 'java.lang.StringBuffer'\n" +
-                "container(:parent => $parent) { \n" +
-                "  component(StringBuffer)\n" +
-                "}");
+        Reader script = new StringReader(
+                                         "StringBuffer = java.lang.StringBuffer\n" +
+                                         "container(:parent => $parent) { \n" +
+                                         "  component(StringBuffer)\n" +
+                                         "}");
         PicoContainer parent = new DefaultPicoContainer();
         PicoContainer pico = buildContainer(script, parent, ASSEMBLY_SCOPE);
         //PicoContainer.getParent() is now ImmutablePicoContainer
@@ -50,11 +57,11 @@
 
     public void testContainerCanBeBuiltWithComponentImplementation() {
         X.reset();
-        Reader script = new StringReader("" +
-                "include_class 'org.nanocontainer.script.groovy.A'\n" +
-                "container {\n" +
-                "    component(A)\n" +
-                "}");
+        Reader script = new StringReader(
+                                         "A = org.nanocontainer.script.groovy.A\n" +
+                                         "container {\n" +
+                                         "    component(A)\n" +
+                                         "}");
 
         PicoContainer pico = buildContainer(script, null, ASSEMBLY_SCOPE);
         // LifecyleContainerBuilder starts the container
@@ -64,10 +71,10 @@
     }
 
     public void testContainerCanBeBuiltWithComponentInstance() {
-        Reader script = new StringReader("" +
-                "container { \n" +
-                "  component(:key => 'string', :instance => 'foo')\n" +
-                "}");
+        Reader script = new StringReader(
+                                         "container { \n" +
+                                         "  component(:key => 'string', :instance => 'foo')\n" +
+                                         "}");
 
         PicoContainer pico = buildContainer(script, null, "SOME_SCOPE");
 
@@ -75,12 +82,14 @@
     }
 
     public void testBuildingWithPicoSyntax() {
-        Reader script = new StringReader("" +
-                "$parent.registerComponentImplementation('foo', Java::JavaClass.for_name('java.lang.String'))\n"  +
-                "include_class 'org.picocontainer.defaults.DefaultPicoContainer'\n" +
-                "pico = DefaultPicoContainer.new($parent)\n" +
-                "pico.registerComponentImplementation(Java::JavaClass.for_name('org.nanocontainer.script.groovy.A'))\n" +
-                "pico");
+        Reader script = new StringReader(
+                                         "$parent.registerComponentImplementation('foo', Java::JavaClass.for_name('java.lang.String'))\n"
+                                         +
+                                         "DefaultPicoContainer = org.picocontainer.defaults.DefaultPicoContainer\n" +
+                                         "pico = DefaultPicoContainer.new($parent)\n" +
+                                         "pico.registerComponentImplementation(Java::JavaClass.for_name('org.nanocontainer.script.groovy.A'))\n"
+                                         +
+                                         "pico");
 
         PicoContainer parent = new DefaultPicoContainer();
         PicoContainer pico = buildContainer(script, parent, "SOME_SCOPE");
@@ -91,12 +100,12 @@
     }
 
     public void testContainerBuiltWithMultipleComponentInstances() {
-        Reader script = new StringReader("" +
-                "container {\n" +
-                "    component(:key => 'a', :instance => 'apple')\n" +
-                "    component(:key => 'b', :instance => 'banana')\n" +
-                "    component(:instance => 'noKeySpecified')\n" +
-                "}");
+        Reader script = new StringReader(
+                                         "container {\n" +
+                                         "    component(:key => 'a', :instance => 'apple')\n" +
+                                         "    component(:key => 'b', :instance => 'banana')\n" +
+                                         "    component(:instance => 'noKeySpecified')\n" +
+                                         "}");
 
         PicoContainer pico = buildContainer(script, null, ASSEMBLY_SCOPE);
         assertEquals("apple", pico.getComponentInstance("a"));
@@ -105,25 +114,26 @@
     }
 
     public void testShouldFailWhenNeitherClassNorInstanceIsSpecifiedForComponent() {
-        Reader script = new StringReader("" +
-                "container {\n" +
-                "  component(:key => 'a')\n" +
-                "}");
+        Reader script = new StringReader(
+                                         "container {\n" +
+                                         "  component(:key => 'a')\n" +
+                                         "}");
 
         try {
             buildContainer(script, null, ASSEMBLY_SCOPE);
             fail("NanoContainerMarkupException should have been raised");
-        } catch (NanoContainerMarkupException e) {
+        } catch(NanoContainerMarkupException e) {
             // expected
         }
     }
 
     public void testAcceptsConstantParametersForComponent() {
-        Reader script = new StringReader("" +
-                "include_class 'org.nanocontainer.script.groovy.HasParams'\n" +
-                "container {\n" +
-                "    component(:key => 'byClass', :class => HasParams, :parameters => [ 'a', 'b', constant('c')])\n" +
-                "}");
+        Reader script = new StringReader(
+                                         "HasParams = org.nanocontainer.script.groovy.HasParams\n" +
+                                         "container {\n" +
+                                         "    component(:key => 'byClass', :class => HasParams, :parameters => [ 'a', 'b', constant('c')])\n"
+                                         +
+                                         "}");
 
         PicoContainer pico = buildContainer(script, null, ASSEMBLY_SCOPE);
         HasParams byClass = (HasParams) pico.getComponentInstance("byClass");
@@ -131,10 +141,11 @@
     }
 
     public void testAcceptsComponentClassNameAsString() {
-        Reader script = new StringReader("" +
-                "container {\n" +
-                "    component(:key => 'byClassString', :class => 'org.nanocontainer.script.groovy.HasParams', :parameters => [ 'c', 'a', 't' ])\n" +
-                "}");
+        Reader script = new StringReader(
+                                         "container {\n" +
+                                         "    component(:key => 'byClassString', :class => 'org.nanocontainer.script.groovy.HasParams', :parameters => [ 'c', 'a', 't' ])\n"
+                                         +
+                                         "}");
 
         PicoContainer pico = buildContainer(script, null, ASSEMBLY_SCOPE);
         HasParams byClassString = (HasParams) pico.getComponentInstance("byClassString");
@@ -142,15 +153,15 @@
     }
 
     public void testAcceptsComponentParametersForComponent() {
-        Reader script = new StringReader("" +
-                "include_class 'org.nanocontainer.script.groovy.A'\n" +
-                "include_class 'org.nanocontainer.script.groovy.B'\n" +
-                "container {\n" +
-                "    component(:key => 'a1', :class => A)\n" +
-                "    component(:key => 'a2', :class => A)\n" +
-                "    component(:key => 'b1', :class => B, :parameters => [ key('a1') ])\n" +
-                "    component(:key => 'b2', :class => B, :parameters => key('a2'))\n" +
-                "}");
+        Reader script = new StringReader(
+                                         "A = org.nanocontainer.script.groovy.A\n" +
+                                         "B = org.nanocontainer.script.groovy.B\n" +
+                                         "container {\n" +
+                                         "    component(:key => 'a1', :class => A)\n" +
+                                         "    component(:key => 'a2', :class => A)\n" +
+                                         "    component(:key => 'b1', :class => B, :parameters => [ key('a1') ])\n" +
+                                         "    component(:key => 'b2', :class => B, :parameters => key('a2'))\n" +
+                                         "}");
 
         PicoContainer pico = buildContainer(script, null, ASSEMBLY_SCOPE);
         A a1 = (A) pico.getComponentInstance("a1");
@@ -170,13 +181,13 @@
     }
 
     public void testAcceptsComponentParameterWithClassNameKey() {
-        Reader script = new StringReader("" +
-                "include_class 'org.nanocontainer.script.groovy.A'\n" +
-                "include_class 'org.nanocontainer.script.groovy.B'\n" +
-                "container {\n" +
-                "    component(:class => A)\n" +
-                "    component(:key => B, :class => B, :parameters => key(A))\n" +
-                "}");
+        Reader script = new StringReader(
+                                         "A = org.nanocontainer.script.groovy.A\n" +
+                                         "B = org.nanocontainer.script.groovy.B\n" +
+                                         "container {\n" +
+                                         "    component(:class => A)\n" +
+                                         "    component(:key => B, :class => B, :parameters => key(A))\n" +
+                                         "}");
 
         PicoContainer pico = buildContainer(script, null, ASSEMBLY_SCOPE);
         A a = (A) pico.getComponentInstance(A.class);
@@ -189,13 +200,13 @@
 
     public void testInstantiateBasicComponentInDeeperTree() {
         X.reset();
-        Reader script = new StringReader("" +
-                "include_class 'org.nanocontainer.script.groovy.A'\n" +
-                "container {\n" +
-                "  container {\n" +
-                "    component(A)\n" +
-                "  }\n" +
-                "}");
+        Reader script = new StringReader(
+                                         "A = org.nanocontainer.script.groovy.A\n" +
+                                         "container {\n" +
+                                         "  container {\n" +
+                                         "    component(A)\n" +
+                                         "  }\n" +
+                                         "}");
 
         PicoContainer pico = buildContainer(script, null, ASSEMBLY_SCOPE);
         pico.dispose();
@@ -203,30 +214,31 @@
     }
 
     public void testCustomComponentAdapterFactoryCanBeSpecified() {
-        Reader script = new StringReader("" +
-                "include_class 'org.nanocontainer.script.groovy.A'\n" +
-                "container(:component_adapter_factory => $assembly_scope) {\n" +
-                "    component(A)\n" +
-                "}");
+        Reader script = new StringReader(
+                                         "A = org.nanocontainer.script.groovy.A\n" +
+                                         "container(:component_adapter_factory => $assembly_scope) {\n" +
+                                         "    component(A)\n" +
+                                         "}");
 
         A a = new A();
         Mock cafMock = mock(ComponentAdapterFactory.class);
-        cafMock.expects(once()).method("createComponentAdapter").with(same(A.class), same(A.class), eq(null)).will(returnValue(new InstanceComponentAdapter(A.class, a)));
-        PicoContainer pico = buildContainer(script, null, (ComponentAdapterFactory) cafMock.proxy());
+        cafMock.expects(once()).method("createComponentAdapter").with(same(A.class), same(A.class), eq(null))
+            .will(returnValue(new InstanceComponentAdapter(A.class, a)));
+        PicoContainer pico = buildContainer(script, null, cafMock.proxy());
         assertSame(a, pico.getComponentInstanceOfType(A.class));
     }
 
     public void testCustomComponentMonitorCanBeSpecified() {
-        Reader script = new StringReader("" +
-                "include_class 'org.nanocontainer.script.groovy.A'\n" +
-                "include_class 'java.io.StringWriter'\n" +
-                "include_class 'org.picocontainer.monitors.WriterComponentMonitor'\n" +
-                "writer = StringWriter.new\n" +
-                "monitor = WriterComponentMonitor.new(writer) \n"+
-                "container(:component_monitor => monitor) {\n" +
-                "    component(A)\n" +
-                "    component(:key => StringWriter, :instance => writer)\n" +
-                "}");
+        Reader script = new StringReader(
+                                         "A = org.nanocontainer.script.groovy.A\n" +
+                                         "StringWriter = java.io.StringWriter\n" +
+                                         "WriterComponentMonitor = org.picocontainer.monitors.WriterComponentMonitor\n" +
+                                         "writer = StringWriter.new\n" +
+                                         "monitor = WriterComponentMonitor.new(writer) \n" +
+                                         "container(:component_monitor => monitor) {\n" +
+                                         "    component(A)\n" +
+                                         "    component(:key => StringWriter, :instance => writer)\n" +
+                                         "}");
 
         PicoContainer pico = buildContainer(script, null, ASSEMBLY_SCOPE);
         StringWriter writer = (StringWriter) pico.getComponentInstanceOfType(StringWriter.class);
@@ -234,17 +246,18 @@
     }
 
     public void testCustomComponentMonitorCanBeSpecifiedWhenCAFIsSpecified() {
-        Reader script = new StringReader("" +
-                "include_class 'org.nanocontainer.script.groovy.A'\n" +
-                "include_class 'java.io.StringWriter'\n" +
-                "include_class 'org.picocontainer.monitors.WriterComponentMonitor'\n" +
-                "include_class 'org.picocontainer.defaults.DefaultComponentAdapterFactory'\n" +
-                "writer = StringWriter.new\n" +
-                "monitor = WriterComponentMonitor.new(writer) \n"+
-                "container(:component_adapter_factory => DefaultComponentAdapterFactory.new, :component_monitor => monitor) {\n" +
-                "    component(A)\n" +
-                "    component(:key => StringWriter, :instance => writer)\n" +
-                "}");
+        Reader script = new StringReader(
+                                         "A = org.nanocontainer.script.groovy.A\n" +
+                                         "StringWriter = java.io.StringWriter\n" +
+                                         "WriterComponentMonitor = org.picocontainer.monitors.WriterComponentMonitor\n" +
+                                         "DefaultComponentAdapterFactory = org.picocontainer.defaults.DefaultComponentAdapterFactory\n" +
+                                         "writer = StringWriter.new\n" +
+                                         "monitor = WriterComponentMonitor.new(writer) \n" +
+                                         "container(:component_adapter_factory => DefaultComponentAdapterFactory.new, :component_monitor => monitor) {\n"
+                                         +
+                                         "    component(A)\n" +
+                                         "    component(:key => StringWriter, :instance => writer)\n" +
+                                         "}");
 
         PicoContainer pico = buildContainer(script, null, ASSEMBLY_SCOPE);
         StringWriter writer = (StringWriter) pico.getComponentInstanceOfType(StringWriter.class);
@@ -253,16 +266,16 @@
 
     public void testCustomComponentMonitorCanBeSpecifiedWhenParentIsSpecified() {
         DefaultNanoPicoContainer parent = new DefaultNanoPicoContainer();
-        Reader script = new StringReader("" +
-                "include_class 'org.nanocontainer.script.groovy.A'\n" +
-                "include_class 'java.io.StringWriter'\n" +
-                "include_class 'org.picocontainer.monitors.WriterComponentMonitor'\n" +
-                "writer = StringWriter.new\n" +
-                "monitor = WriterComponentMonitor.new(writer) \n"+
-                "container(:parent => $parent, :component_monitor => monitor) {\n" +
-                "    component(A)\n" +
-                "    component(:key => StringWriter, :instance => writer)\n" +
-                "}");
+        Reader script = new StringReader(
+                                         "A = org.nanocontainer.script.groovy.A\n" +
+                                         "StringWriter = java.io.StringWriter\n" +
+                                         "WriterComponentMonitor = org.picocontainer.monitors.WriterComponentMonitor\n" +
+                                         "writer = StringWriter.new\n" +
+                                         "monitor = WriterComponentMonitor.new(writer) \n" +
+                                         "container(:parent => $parent, :component_monitor => monitor) {\n" +
+                                         "    component(A)\n" +
+                                         "    component(:key => StringWriter, :instance => writer)\n" +
+                                         "}");
 
         PicoContainer pico = buildContainer(script, parent, ASSEMBLY_SCOPE);
         StringWriter writer = (StringWriter) pico.getComponentInstanceOfType(StringWriter.class);
@@ -271,17 +284,18 @@
 
     public void testCustomComponentMonitorCanBeSpecifiedWhenParentAndCAFAreSpecified() {
         DefaultNanoPicoContainer parent = new DefaultNanoPicoContainer();
-        Reader script = new StringReader("" +
-                "include_class 'org.nanocontainer.script.groovy.A'\n" +
-                "include_class 'java.io.StringWriter'\n" +
-                "include_class 'org.picocontainer.monitors.WriterComponentMonitor'\n" +
-                "include_class 'org.picocontainer.defaults.DefaultComponentAdapterFactory'\n" +
-                "writer = StringWriter.new\n" +
-                "monitor = WriterComponentMonitor.new(writer) \n"+
-                "container(:parent => $parent, :component_adapter_factory => DefaultComponentAdapterFactory.new, :component_monitor => monitor) {\n" +
-                "    component(A)\n" +
-                "    component(:key => StringWriter, :instance => writer)\n" +
-                "}");
+        Reader script = new StringReader(
+                                         "A = org.nanocontainer.script.groovy.A\n" +
+                                         "StringWriter = java.io.StringWriter\n" +
+                                         "WriterComponentMonitor = org.picocontainer.monitors.WriterComponentMonitor\n" +
+                                         "DefaultComponentAdapterFactory = org.picocontainer.defaults.DefaultComponentAdapterFactory\n" +
+                                         "writer = StringWriter.new\n" +
+                                         "monitor = WriterComponentMonitor.new(writer) \n" +
+                                         "container(:parent => $parent, :component_adapter_factory => DefaultComponentAdapterFactory.new, :component_monitor => monitor) {\n"
+                                         +
+                                         "    component(A)\n" +
+                                         "    component(:key => StringWriter, :instance => writer)\n" +
+                                         "}");
 
         PicoContainer pico = buildContainer(script, parent, ASSEMBLY_SCOPE);
         StringWriter writer = (StringWriter) pico.getComponentInstanceOfType(StringWriter.class);
@@ -290,38 +304,38 @@
 
     public void testInstantiateWithImpossibleComponentDependenciesConsideringTheHierarchy() {
         X.reset();
-        Reader script = new StringReader("" +
-                "include_class 'org.nanocontainer.script.groovy.A'\n" +
-                "include_class 'org.nanocontainer.script.groovy.B'\n" +
-                "include_class 'org.nanocontainer.script.groovy.C'\n" +
-                "container {\n" +
-                "    component(B)\n" +
-                "    container() {\n" +
-                "        component(A)\n" +
-                "    }\n" +
-                "    component(C)\n" +
-                "}");
+        Reader script = new StringReader(
+                                         "A = org.nanocontainer.script.groovy.A\n" +
+                                         "B = org.nanocontainer.script.groovy.B\n" +
+                                         "C = org.nanocontainer.script.groovy.C\n" +
+                                         "container {\n" +
+                                         "    component(B)\n" +
+                                         "    container() {\n" +
+                                         "        component(A)\n" +
+                                         "    }\n" +
+                                         "    component(C)\n" +
+                                         "}");
 
         try {
             buildContainer(script, null, ASSEMBLY_SCOPE);
             fail("Should not have been able to instansiate component tree due to visibility/parent reasons.");
-        } catch (UnsatisfiableDependenciesException expected) {
+        } catch(UnsatisfiableDependenciesException expected) {
         }
     }
 
     public void testInstantiateWithChildContainerAndStartStopAndDisposeOrderIsCorrect() {
         X.reset();
-        Reader script = new StringReader("" +
-                "include_class 'org.nanocontainer.script.groovy.A'\n" +
-                "include_class 'org.nanocontainer.script.groovy.B'\n" +
-                "include_class 'org.nanocontainer.script.groovy.C'\n" +
-                "container {\n" +
-                "    component(A)\n" +
-                "    container() {\n" +
-                "         component(B)\n" +
-                "    }\n" +
-                "    component(C)\n" +
-                "}\n");
+        Reader script = new StringReader(
+                                         "A = org.nanocontainer.script.groovy.A\n" +
+                                         "B = org.nanocontainer.script.groovy.B\n" +
+                                         "C = org.nanocontainer.script.groovy.C\n" +
+                                         "container {\n" +
+                                         "    component(A)\n" +
+                                         "    container() {\n" +
+                                         "         component(B)\n" +
+                                         "    }\n" +
+                                         "    component(C)\n" +
+                                         "}\n");
 
         // A and C have no no dependancies. B Depends on A.
         PicoContainer pico = buildContainer(script, null, ASSEMBLY_SCOPE);
@@ -335,11 +349,11 @@
         DefaultNanoPicoContainer parent = new DefaultNanoPicoContainer();
         parent.registerComponentInstance("hello", "world");
 
-        Reader script = new StringReader("" +
-                "include_class 'org.nanocontainer.script.groovy.A'\n" +
-                "container(:parent => $parent) {\n" +
-                "    component(A)\n" +
-                "}\n");
+        Reader script = new StringReader(
+                                         "A = org.nanocontainer.script.groovy.A\n" +
+                                         "container(:parent => $parent) {\n" +
+                                         "    component(A)\n" +
+                                         "}\n");
 
         PicoContainer pico = buildContainer(script, parent, ASSEMBLY_SCOPE);
         // Should be able to get instance that was registered in the parent container
@@ -350,14 +364,14 @@
         DefaultNanoPicoContainer parent = new DefaultNanoPicoContainer();
         parent.registerComponentImplementation("a", A.class);
 
-        String source = "" +
-        "include_class 'org.nanocontainer.script.groovy.B'\n" +
-        "include_class 'org.nanocontainer.script.groovy.SomeAssemblyScope'\n" +
-        "container(:parent => $parent) {\n" +
-        "  if $assembly_scope.kind_of?(SomeAssemblyScope)\n "+
-        "    component(B)\n" +
-        "  end\n "+
-        "}\n";
+        String source =
+                        "B = org.nanocontainer.script.groovy.B\n" +
+                        "SomeAssemblyScope = org.nanocontainer.script.groovy.SomeAssemblyScope\n" +
+                        "container(:parent => $parent) {\n" +
+                        "  if $assembly_scope.kind_of?(SomeAssemblyScope)\n " +
+                        "    component(B)\n" +
+                        "  end\n " +
+                        "}\n";
 
         Reader script = new StringReader(source);
 
@@ -370,24 +384,24 @@
     }
 
     public void testBuildContainerWithParentAndChildAssemblyScopes() throws IOException {
-        String scriptValue = "" +
-                "include_class 'org.nanocontainer.script.groovy.A'\n" +
-                "include_class 'org.nanocontainer.script.groovy.B'\n" +
-                "include_class 'org.nanocontainer.script.groovy.ParentAssemblyScope'\n" +
-                "include_class 'org.nanocontainer.script.groovy.SomeAssemblyScope'\n" +
-                "container(:parent => $parent) {\n" +
-                "  puts 'assembly_scope:'+$assembly_scope.inspect\n " +
-                "  case $assembly_scope\n" +
-                "  when ParentAssemblyScope\n "+
-                "    puts 'parent scope'\n " +
-                "    component(A)\n" +
-                "  when SomeAssemblyScope\n "+
-                "    puts 'child scope'\n " +
-                "    component(B)\n" +
-                "  else \n" +
-                "     raise 'Invalid Scope: ' +  $assembly_scope.inspect\n" +
-                "  end\n "+
-                "}\n";
+        String scriptValue =
+                             "A = org.nanocontainer.script.groovy.A\n" +
+                             "B = org.nanocontainer.script.groovy.B\n" +
+                             "ParentAssemblyScope = org.nanocontainer.script.groovy.ParentAssemblyScope\n" +
+                             "SomeAssemblyScope = org.nanocontainer.script.groovy.SomeAssemblyScope\n" +
+                             "container(:parent => $parent) {\n" +
+                             "  puts 'assembly_scope:'+$assembly_scope.inspect\n " +
+                             "  case $assembly_scope\n" +
+                             "  when ParentAssemblyScope\n " +
+                             "    puts 'parent scope'\n " +
+                             "    component(A)\n" +
+                             "  when SomeAssemblyScope\n " +
+                             "    puts 'child scope'\n " +
+                             "    component(B)\n" +
+                             "  else \n" +
+                             "     raise 'Invalid Scope: ' +  $assembly_scope.inspect\n" +
+                             "  end\n " +
+                             "}\n";
 
         Reader script = new StringReader(scriptValue);
         NanoPicoContainer parent = new DefaultNanoPicoContainer(
@@ -395,36 +409,37 @@
         assertNotNull(parent.getComponentAdapterOfType(A.class));
 
         script = new StringReader(scriptValue);
-        PicoContainer pico = buildContainer(script, parent,  new SomeAssemblyScope());
+        PicoContainer pico = buildContainer(script, parent, new SomeAssemblyScope());
         assertNotNull(pico.getComponentInstance(B.class));
     }
 
     public void FAILING_testBuildContainerWithParentAttributesPropagatesComponentAdapterFactory() {
-        DefaultNanoPicoContainer parent = new DefaultNanoPicoContainer(new SetterInjectionComponentAdapterFactory() );
+        DefaultNanoPicoContainer parent = new DefaultNanoPicoContainer(new SetterInjectionComponentAdapterFactory());
         Reader script = new StringReader("container(:parent => $parent)\n");
 
         MutablePicoContainer pico = (MutablePicoContainer) buildContainer(script, parent, ASSEMBLY_SCOPE);
         // Should be able to get instance that was registered in the parent container
         ComponentAdapter componentAdapter = pico.registerComponentImplementation(String.class);
-        assertTrue("ComponentAdapter should be originally defined by parent" , componentAdapter instanceof SetterInjectionComponentAdapter);
+        assertTrue("ComponentAdapter should be originally defined by parent",
+                   componentAdapter instanceof SetterInjectionComponentAdapter);
     }
 
     public void testExceptionThrownWhenParentAttributeDefinedWithinChild() {
-        DefaultNanoPicoContainer parent = new DefaultNanoPicoContainer(new SetterInjectionComponentAdapterFactory() );
-        Reader script = new StringReader("" +
-                "include_class 'org.nanocontainer.script.groovy.A'\n" +
-                "include_class 'org.nanocontainer.script.groovy.B'\n" +
-                "container() {\n" +
-                "    component(A)\n" +
-                "    container(:parent => $parent) {\n" +
-                "         component(B)\n" +
-                "    }\n" +
-                "}\n");
+        DefaultNanoPicoContainer parent = new DefaultNanoPicoContainer(new SetterInjectionComponentAdapterFactory());
+        Reader script = new StringReader(
+                                         "A = org.nanocontainer.script.groovy.A\n" +
+                                         "B = org.nanocontainer.script.groovy.B\n" +
+                                         "container() {\n" +
+                                         "    component(A)\n" +
+                                         "    container(:parent => $parent) {\n" +
+                                         "         component(B)\n" +
+                                         "    }\n" +
+                                         "}\n");
 
         try {
             buildContainer(script, parent, ASSEMBLY_SCOPE);
             fail("NanoContainerMarkupException should have been thrown.");
-        } catch (NanoContainerMarkupException ignore) {
+        } catch(NanoContainerMarkupException ignore) {
             // expected
         }
     }
@@ -433,28 +448,28 @@
     public void testSpuriousAttributes() {
         DefaultNanoPicoContainer parent = new DefaultNanoPicoContainer();
 
-        Reader script = new StringReader("" +
-                "container(:jim => 'Jam', :foo => 'bar')");
-            try {
-                buildContainer(script, parent, ASSEMBLY_SCOPE);
-                //fail("Should throw exception upon spurious attributes?");
-            } catch (NanoContainerMarkupException ex) {
-                //ok?
-            }
+        Reader script = new StringReader(
+                                         "container(:jim => 'Jam', :foo => 'bar')");
+        try {
+            buildContainer(script, parent, ASSEMBLY_SCOPE);
+            //fail("Should throw exception upon spurious attributes?");
+        } catch(NanoContainerMarkupException ex) {
+            //ok?
+        }
     }
 
     public void testWithDynamicClassPathThatDoesNotExist() {
         DefaultNanoPicoContainer parent = new DefaultNanoPicoContainer();
         try {
-            Reader script = new StringReader("" +
-                    "container {\n" +
-                    "  classPathElement(:path => 'this/path/does/not/exist.jar')\n" +
-                    "  component(:class => \"FooBar\")\n" +
-                    "}");
+            Reader script = new StringReader(
+                                             "container {\n" +
+                                             "  classPathElement(:path => 'this/path/does/not/exist.jar')\n" +
+                                             "  component(:class => \"FooBar\")\n" +
+                                             "}");
 
             buildContainer(script, parent, ASSEMBLY_SCOPE);
             fail("should have barfed with bad path exception");
-        } catch (NanoContainerMarkupException e) {
+        } catch(NanoContainerMarkupException e) {
             // excpected
         }
 
@@ -463,38 +478,38 @@
     public void testWithDynamicClassPath() {
         DefaultNanoPicoContainer parent = new DefaultNanoPicoContainer();
         Reader script = new StringReader(
-                "include_class 'org.nanocontainer.TestHelper'\n"
-                        + "testCompJar = TestHelper.getTestCompJarFile()\n"
-                        + "compJarPath = testCompJar.getCanonicalPath()\n"
-                        + "container {\n"
-                        + "  classPathElement(:path => compJarPath)\n"
-                        + "  component(:class => \"TestComp\")\n"
-                        + "}" + "");
+            "TestHelper = org.nanocontainer.TestHelper\n"
+            + "testCompJar = TestHelper.getTestCompJarFile()\n"
+            + "compJarPath = testCompJar.getCanonicalPath()\n"
+            + "container {\n"
+            + "  classPathElement(:path => compJarPath)\n"
+            + "  component(:class => \"TestComp\")\n"
+            + "}" );
 
         MutablePicoContainer pico = (MutablePicoContainer) buildContainer(script, parent, ASSEMBLY_SCOPE);
 
-        assertTrue(pico.getComponentInstances().size() == 1);
+        assertEquals(1, pico.getComponentInstances().size());
         assertEquals("TestComp", pico.getComponentInstances().get(0).getClass()
-                .getName());
+            .getName());
     }
 
     public void testWithDynamicClassPathWithPermissions() {
         DefaultNanoPicoContainer parent = new DefaultNanoPicoContainer();
         Reader script = new StringReader(
-                "include_class 'org.nanocontainer.TestHelper'\n" +
-                        "include_class 'java.net.SocketPermission'\n"
-                        + "testCompJar = TestHelper.getTestCompJarFile()\n"
-                        + "compJarPath = testCompJar.getCanonicalPath()\n"
-                        + "container {\n"
-                        + "  classPathElement(:path => compJarPath) {\n"
-                        + "    grant(:perm => SocketPermission.new('google.com','connect'))\n"
-                        + "  }\n"
-                        + "  component(:class => \"TestComp\")\n"
-                        + "}" + "");
+            "TestHelper = org.nanocontainer.TestHelper\n" +
+            "SocketPermission = java.net.SocketPermission\n"
+            + "testCompJar = TestHelper.getTestCompJarFile()\n"
+            + "compJarPath = testCompJar.getCanonicalPath()\n"
+            + "container {\n"
+            + "  classPathElement(:path => compJarPath) {\n"
+            + "    grant(:perm => SocketPermission.new('google.com','connect'))\n"
+            + "  }\n"
+            + "  component(:class => \"TestComp\")\n"
+            + "}" );
 
-        MutablePicoContainer pico = (MutablePicoContainer)buildContainer(script, parent, ASSEMBLY_SCOPE);
+        MutablePicoContainer pico = (MutablePicoContainer) buildContainer(script, parent, ASSEMBLY_SCOPE);
 
-        assertTrue(pico.getComponentInstances().size() == 1);
+        assertEquals(1, pico.getComponentInstances().size());
         // can't actually test the permission under JUNIT control. We're just
         // testing the syntax here.
     }
@@ -502,41 +517,41 @@
     public void testGrantPermissionInWrongPlace() {
         DefaultNanoPicoContainer parent = new DefaultNanoPicoContainer();
         try {
-            Reader script = new StringReader("" +
-                "include_class 'org.nanocontainer.TestHelper'\n" +
-                    "include_class 'java.net.SocketPermission'\n" +
-                    "testCompJar = TestHelper.getTestCompJarFile()\n" +
-                    "container {\n" +
-                    "  grant(:perm => SocketPermission.new('google.com','connect'))\n" +
-                    "}" +
-                    "");
+            Reader script = new StringReader(
+                "TestHelper = org.nanocontainer.TestHelper\n" +
+                "SocketPermission = java.net.SocketPermission\n" +
+                "testCompJar = TestHelper.getTestCompJarFile()\n" +
+                "container {\n" +
+                "  grant(:perm => SocketPermission.new('google.com','connect'))\n" +
+                "}");
 
             buildContainer(script, parent, ASSEMBLY_SCOPE);
             fail("should barf with [Don't know how to create a 'grant' child] exception");
-        } catch (PicoCompositionException e) {
+        } catch(PicoCompositionException e) {
             String message = e.getCause().getMessage();
-            assertTrue(message.indexOf("undefined method `grant' for #<Nano::Container:") > -1);
+            assertNotNull(message);
+            assertTrue(message.contains("undefined method `grant' for #<Nano::Container:"));
         }
 
     }
 
 
-    public void testWithParentClassPathPropagatesWithNoParentContainer()throws IOException {
+    public void testWithParentClassPathPropagatesWithNoParentContainer() throws IOException {
         File testCompJar = TestHelper.getTestCompJarFile();
 
-        URLClassLoader classLoader = new URLClassLoader(new URL[] {testCompJar.toURL()}, this.getClass().getClassLoader());
+        URLClassLoader classLoader = new URLClassLoader(new URL[]{testCompJar.toURL()},
+                                                        this.getClass().getClassLoader());
         Class testComp = null;
 
         try {
             testComp = classLoader.loadClass("TestComp");
-        } catch (ClassNotFoundException ex) {
+        } catch(ClassNotFoundException ex) {
             fail("Unable to load test component from the jar using a url classloader");
         }
         Reader script = new StringReader(
-                          ""
-                        + "container(:parent => $parent) {\n"
-                        + "  component(:class => \"TestComp\")\n"
-                        + "}");
+            "container(:parent => $parent) {\n"
+            + "  component(:class => \"TestComp\")\n"
+            + "}");
 
         PicoContainer pico = buildContainer(new JRubyContainerBuilder(script, classLoader), null, null);
         assertNotNull(pico);
@@ -545,8 +560,6 @@
 
     }
 
-
-
 //    public void testExceptionThrownWhenParentAttributeDefinedWithinChild() {
 //        DefaultNanoPicoContainer parent = new DefaultNanoPicoContainer(new SetterInjectionComponentAdapterFactory() );
 //        Reader script = new StringReader("" +


To unsubscribe from this list please visit:

http://xircles.codehaus.org/manage_email

<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise