[CVS nano] Unified stringkey and classkey to key. renamed impl parameter to class.

Aslak Hellesoy <rinkrank-yCVjj/[email protected]> Sat, 22 Nov 2003 10:11:23 -0600
Newsgroups gmane.comp.java.nanocontainer.cvs
Message-ID <[email protected]>
Commit in nano on MAIN

nanocontainer/.cvsignore +1 1.2 -> 1.3

/project.xml +5 -5 1.14 -> 1.15

nanocontainer/src/test/org/nanocontainer/JythonCompositionNanoContainerTestCase.java +2 -2 1.3 -> 1.4

/XmlCompositionNanoContainerTestCase.java +15 -15 1.3 -> 1.4

reflection/src/java/org/picoextras/reflection/DefaultReflectionFrontEnd.java -7 1.1 -> 1.2

/ReflectionFrontEnd.java -2 1.1 -> 1.2

script/src/java/org/picoextras/script/rhino/DefaultNanoRhinoScriptable.java +1 -1 1.1 -> 1.2

script/src/java/org/picoextras/script/xml/DefaultXmlFrontEnd.java +7 -14 1.1 -> 1.2

script/src/test/org/picoextras/script/xml/DefaultXmlFrontEndTestCase.java +8 -9 1.1 -> 1.2

+39 -55

9 modified files

Unified stringkey and classkey to key. renamed impl parameter to class.

----------

nano /nanocontainer

.cvsignore 1.2 -> 1.3

diff -u -r1.2 -r1.3
--- .cvsignore 4 Nov 2003 16:34:29 -0000 1.2
+++ .cvsignore 22 Nov 2003 16:11:22 -0000 1.3
@@ -1,4 +1,5 @@

target

+cachedir

junit*
*.log
*.iws

----------

nano /nanocontainer

project.xml 1.14 -> 1.15

diff -u -r1.14 -r1.15
--- project.xml 17 Nov 2003 23:38:40 -0000 1.14
+++ project.xml 22 Nov 2003 16:11:22 -0000 1.15
@@ -7,19 +7,19 @@

<dependencies>
<dependency>

- <groupId>${pom.groupId}</groupId>
- <artifactId>picocontainer-testmodel</artifactId>

+ <groupId>picocontainer</groupId>
+ <artifactId>picoextras-testmodel</artifactId>

<version>${pom.currentVersion}</version>
</dependency>

<dependency>

- <groupId>${pom.groupId}</groupId>
- <artifactId>picocontainer-reflection</artifactId>

+ <groupId>picocontainer</groupId>
+ <artifactId>picoextras-reflection</artifactId>

<version>${pom.currentVersion}</version>
</dependency>

<dependency>

- <groupId>${pom.groupId}</groupId>

+ <groupId>picocontainer</groupId>

<artifactId>picoextras-script</artifactId>
<version>${pom.currentVersion}</version>
</dependency>

----------

nano /nanocontainer /src /test /org /nanocontainer

JythonCompositionNanoContainerTestCase.java 1.3 -> 1.4

diff -u -r1.3 -r1.4
--- JythonCompositionNanoContainerTestCase.java 17 Nov 2003 20:59:05 -0000 1.3
+++ JythonCompositionNanoContainerTestCase.java 22 Nov 2003 16:11:22 -0000 1.4
@@ -23,7 +23,7 @@

* @author Paul Hammant
* @author Ward Cunningham
* @author Mike Royle

- * @version $Revision: 1.3 $

+ * @version $Revision: 1.4 $

*/
public class JythonCompositionNanoContainerTestCase extends TestCase {

@@ -101,7 +101,7 @@

"wsc.setHost('foobar.com')\n" +
"wsc.setPort(4321)\n" +
"rootContainer.getPicoContainer().registerComponentInstance(wsc)\n" +

- "rootContainer.registerComponentWithClassKey('org.picoextras.testmodel.WebServer','" + XmlCompositionNanoContainerTestCase.OverriddenWebServerImpl.class.getName() + "')\n"

+ "rootContainer.registerComponent('org.picoextras.testmodel.WebServer','" + XmlCompositionNanoContainerTestCase.OverriddenWebServerImpl.class.getName() + "')\n"

), new MockMonitor());

assertEquals("WebServerConfigBean and WebServerImpl expected", 2, nano.getRootContainer().getComponentInstances().size());

----------

nano /nanocontainer /src /test /org /nanocontainer

XmlCompositionNanoContainerTestCase.java 1.3 -> 1.4

diff -u -r1.3 -r1.4
--- XmlCompositionNanoContainerTestCase.java 17 Nov 2003 23:13:50 -0000 1.3
+++ XmlCompositionNanoContainerTestCase.java 22 Nov 2003 16:11:22 -0000 1.4
@@ -30,7 +30,7 @@

* @author Aslak Helles&oslash;y
* @author Paul Hammant
* @author Ward Cunningham

- * @version $Revision: 1.3 $

+ * @version $Revision: 1.4 $

*/
public class XmlCompositionNanoContainerTestCase extends TestCase {

@@ -45,11 +45,11 @@

NanoContainer nano = new XmlCompositionNanoContainer(new StringReader("" +
"<container>" +

- " <component impl='org.nanocontainer.Xxx$A'/>" +

+ " <component class='org.nanocontainer.Xxx$A'/>" +

" <container>" +

- " <component impl='org.nanocontainer.Xxx$B'/>" +

+ " <component class='org.nanocontainer.Xxx$B'/>" +

" </container>" +

- " <component impl='org.nanocontainer.Xxx$C'/>" +

+ " <component class='org.nanocontainer.Xxx$C'/>" +

"</container>"), new MockMonitor());
nano.stopComponentsDepthFirst();
nano.disposeComponentsDepthFirst();

@@ -67,10 +67,10 @@

new XmlCompositionNanoContainer(new StringReader("" +
"<container>" +
" <container>" +

- " <component impl='org.nanocontainer.Xxx$A'/>" +

+ " <component class='org.nanocontainer.Xxx$A'/>" +

" </container>" +

- " <component impl='org.nanocontainer.Xxx$B'/>" +
- " <component impl='org.nanocontainer.Xxx$C'/>" +

+ " <component class='org.nanocontainer.Xxx$B'/>" +
+ " <component class='org.nanocontainer.Xxx$C'/>" +

"</container>"), new MockMonitor());
fail("Should not have been able to instansiate component tree due to visibility/parent reasons.");
} catch (NoSatisfiableConstructorsException e) {

@@ -85,7 +85,7 @@

NanoContainer nano = new XmlCompositionNanoContainer(new StringReader("" +
"<container xmlfrontend='org.nanocontainer.BespokeXmlFrontEnd'>" +

- " <component impl='org.nanocontainer.Xxx$A'/>" +

+ " <component class='org.nanocontainer.Xxx$A'/>" +

"</container>"), new MockMonitor());
nano.stopComponentsDepthFirst();
nano.disposeComponentsDepthFirst();

@@ -100,7 +100,7 @@

NanoContainer nano = null;
nano = new XmlCompositionNanoContainer(new StringReader("" +
"<container componentadaptor='" + OverriddenComponentAdapterFactory.class.getName() + "'>" +

- " <component typekey='org.picoextras.testmodel.WebServerConfig' impl='org.picoextras.testmodel.DefaultWebServerConfig'/>" +

+ " <component typekey='org.picoextras.testmodel.WebServerConfig' class='org.picoextras.testmodel.DefaultWebServerConfig'/>" +

"</container>"), new MockMonitor());

Object wsc = nano.getRootContainer().getComponentInstance(WebServerConfig.class);

@@ -129,7 +129,7 @@

" </org.picoextras.testmodel.WebServerConfigStub>" +
" </pseudocomponent>" +
" <component typekey='org.picoextras.testmodel.WebServer' " +

- " impl='org.picoextras.testmodel.WebServerImpl'/>" +

+ " class='org.picoextras.testmodel.WebServerImpl'/>" +

"</container>"), new MockMonitor());

assertEquals("WebServerConfigBean and WebServerImpl expected", 2, nano.getRootContainer().getComponentInstances().size());

@@ -150,7 +150,7 @@

" </org.picoextras.testmodel.WebServerConfigBean>" +
" </pseudocomponent>" +
" <component typekey='org.picoextras.testmodel.WebServer' " +

- " impl='org.picoextras.testmodel.WebServerImpl'/>" +

+ " class='org.picoextras.testmodel.WebServerImpl'/>" +

"</container>"), new MockMonitor());

assertEquals("WebServerConfigBean and WebServerImpl expected", 2, nano.getRootContainer().getComponentInstances().size());

@@ -178,7 +178,7 @@

NanoContainer nano = new XmlCompositionNanoContainer(new StringReader("" +
"<container container='"+OverriddenDefaultLifecyclePicoContainer.class.getName()+"'>" +

- " <component impl='org.nanocontainer.Xxx$A'/>" +

+ " <component class='org.nanocontainer.Xxx$A'/>" +

"</container>"), new MockMonitor());
nano.stopComponentsDepthFirst();
nano.disposeComponentsDepthFirst();

@@ -224,9 +224,9 @@

try {
nano = new XmlCompositionNanoContainer(new StringReader("" +
"<container>" +

- " <component stringkey='one' impl='java.util.ArrayList'/>" +
- " <component stringkey='two' impl='java.util.Vector'/>" +
- " <component impl='"+CollectionNeedingComponent.class.getName()+"'>" +

+ " <component stringkey='one' class='java.util.ArrayList'/>" +
+ " <component stringkey='two' class='java.util.Vector'/>" +
+ " <component class='"+CollectionNeedingComponent.class.getName()+"'>" +

" <hint stringkey='one'/>" +
" </component>" +
"</container>"), new MockMonitor());

----------

nano /reflection /src /java /org /picoextras /reflection

DefaultReflectionFrontEnd.java 1.1 -> 1.2

diff -u -r1.1 -r1.2
--- DefaultReflectionFrontEnd.java 17 Nov 2003 21:04:17 -0000 1.1
+++ DefaultReflectionFrontEnd.java 22 Nov 2003 16:11:22 -0000 1.2
@@ -83,13 +83,6 @@

picoContainer.registerComponentImplementation(key, componentImplementation);
}

- public void registerComponentWithClassKey(String classKey, String componentImplementationClassName) throws ClassNotFoundException {
- Class typeKey = getClassLoader().loadClass(classKey);
- Class componentImplementation = getClassLoader().loadClass(componentImplementationClassName);
- picoContainer.registerComponentImplementation(typeKey, componentImplementation);
- }
-
-

public void registerComponent(
Object key,
String componentImplementationClassName,

----------

nano /reflection /src /java /org /picoextras /reflection

ReflectionFrontEnd.java 1.1 -> 1.2

diff -u -r1.1 -r1.2
--- ReflectionFrontEnd.java 17 Nov 2003 21:04:17 -0000 1.1
+++ ReflectionFrontEnd.java 22 Nov 2003 16:11:22 -0000 1.2
@@ -28,8 +28,6 @@

void registerComponent(Object key, String componentImplementationClassName) throws ClassNotFoundException;

- void registerComponentWithClassKey(String classKey, String componentImplementationClassName) throws ClassNotFoundException;
-

void registerComponent(
Object key,
String componentImplementationClassName,

----------

nano /script /src /java /org /picoextras /script /rhino

DefaultNanoRhinoScriptable.java 1.1 -> 1.2

diff -u -r1.1 -r1.2
--- DefaultNanoRhinoScriptable.java 17 Nov 2003 23:13:51 -0000 1.1
+++ DefaultNanoRhinoScriptable.java 22 Nov 2003 16:11:22 -0000 1.2
@@ -63,7 +63,7 @@

public static void jsFunction_addComponentWithClassKey(Context cx, Scriptable thisObj, Object[] args, Function funObj) throws ClassNotFoundException {
DefaultNanoRhinoScriptable rhino = (DefaultNanoRhinoScriptable) thisObj;

- rhino.reflectionFrontEnd.registerComponentWithClassKey((String) args[0], (String) args[1]);

+ rhino.reflectionFrontEnd.registerComponent((String) args[0], (String) args[1]);

}

public static void jsFunction_addComponentInstance(Context cx, Scriptable thisObj, Object[] args, Function funObj) throws ClassNotFoundException {

----------

nano /script /src /java /org /picoextras /script /xml

DefaultXmlFrontEnd.java 1.1 -> 1.2

diff -u -r1.1 -r1.2
--- DefaultXmlFrontEnd.java 17 Nov 2003 23:13:51 -0000 1.1
+++ DefaultXmlFrontEnd.java 22 Nov 2003 16:11:22 -0000 1.2
@@ -33,7 +33,7 @@

*
* @author Paul Hammant
* @author Aslak Helles&oslash;y

- * @version $Revision: 1.1 $

+ * @version $Revision: 1.2 $

*/
public class DefaultXmlFrontEnd implements XmlFrontEnd {

@@ -134,30 +134,23 @@

}
}

- private void registerComponent(ReflectionFrontEnd pico, Element componentElement) throws ClassNotFoundException {
- String className = componentElement.getAttribute("impl");
- String stringKey = componentElement.getAttribute("stringkey");
- String typeKey = componentElement.getAttribute("typekey");

+ private void registerComponent(ReflectionFrontEnd reflectionFrontEnd, Element componentElement) throws ClassNotFoundException {
+ String className = componentElement.getAttribute("class");
+ String stringKey = componentElement.getAttribute("key");

ArrayList hints = new ArrayList();
NodeList children = componentElement.getChildNodes();
for (int i = 0; i < children.getLength(); i++) {
Node child = children.item(i);
if (child.getNodeName() == "hint") {

- hints.add(((Element) child).getAttribute("stringkey"));

+ hints.add(((Element) child).getAttribute("key"));

}
}

-
- //TODO we need to have config elements parsing here, and register with params action...

if (stringKey == null || stringKey.equals("")) {
stringKey = className;
}

- if (typeKey == null || typeKey.equals("")) {
- pico.registerComponent(stringKey, className);
- } else {
- pico.registerComponentWithClassKey(typeKey,className);
- }

+ reflectionFrontEnd.registerComponent(stringKey, className);

}

private void registerPseudoComponent(ReflectionFrontEnd pico, Element componentElement) throws ClassNotFoundException, PicoCompositionException {

@@ -169,7 +162,7 @@

}

ReflectionFrontEnd tempContainer = new DefaultReflectionFrontEnd();

- tempContainer.registerComponentWithClassKey(XmlPseudoComponentFactory.class.getName(), factoryClass);

+ tempContainer.registerComponent(XmlPseudoComponentFactory.class.getName(), factoryClass);

XmlPseudoComponentFactory factory = (XmlPseudoComponentFactory) tempContainer.getPicoContainer().getComponentInstances().get(0);

NodeList nl = componentElement.getChildNodes();

----------

nano /script /src /test /org /picoextras /script /xml

DefaultXmlFrontEndTestCase.java 1.1 -> 1.2

diff -u -r1.1 -r1.2
--- DefaultXmlFrontEndTestCase.java 17 Nov 2003 23:13:51 -0000 1.1
+++ DefaultXmlFrontEndTestCase.java 22 Nov 2003 16:11:22 -0000 1.2
@@ -27,7 +27,7 @@

/**
* @author Aslak Helles&oslash;y

- * @version $Revision: 1.1 $

+ * @version $Revision: 1.2 $

*/
public class DefaultXmlFrontEndTestCase extends TestCase {

@@ -38,8 +38,8 @@

public void testCreateSimpleContainer() throws ParserConfigurationException, SAXException, IOException, ClassNotFoundException, PicoCompositionException {
InputSource inputSource = new InputSource(new StringReader(
"<container>" +

- " <component impl='org.picoextras.testmodel.DefaultWebServerConfig'/>" +
- " <component typekey='org.picoextras.testmodel.WebServer' impl='org.picoextras.testmodel.WebServerImpl'/>" +

+ " <component class='org.picoextras.testmodel.DefaultWebServerConfig'/>" +
+ " <component key='org.picoextras.testmodel.WebServer' class='org.picoextras.testmodel.WebServerImpl'/>" +

"</container>"));

XmlFrontEnd inputSourceContainerFactory = new DefaultXmlFrontEnd();

@@ -50,9 +50,9 @@

public void testPicoInPico() throws ParserConfigurationException, SAXException, IOException, ClassNotFoundException, PicoCompositionException {
InputSource inputSource = new InputSource(new StringReader(
"<container>" +

- " <component impl='org.picoextras.testmodel.DefaultWebServerConfig'/>" +

+ " <component class='org.picoextras.testmodel.DefaultWebServerConfig'/>" +

" <container>" +

- " <component typekey='org.picoextras.testmodel.WebServer' impl='org.picoextras.testmodel.WebServerImpl'/>" +

+ " <component key='org.picoextras.testmodel.WebServer' class='org.picoextras.testmodel.WebServerImpl'/>" +

" </container>" +
"</container>"));

@@ -81,12 +81,12 @@

" <classpath>" +
" <element file='" + testCompJar.getCanonicalPath() + "'/>" +
" </classpath>" +

- " <component stringkey='foo' impl='TestComp'/>" +

+ " <component key='foo' class='TestComp'/>" +

" <container>" +
" <classpath>" +
" <element file='" + testCompJar2.getCanonicalPath() + "'/>" +
" </classpath>" +

- " <component stringkey='bar' impl='TestComp2'/>" +

+ " <component key='bar' class='TestComp2'/>" +

" </container>" +
"</container>"));

@@ -110,13 +110,12 @@

try {
InputSource inputSource = new InputSource(new StringReader(
"<container>" +

- " <component impl='Foo'/>" +

+ " <component class='Foo'/>" +

"</container>"));
PicoContainer rootContainer = new DefaultXmlFrontEnd().createPicoContainer(getRootElement(inputSource));
fail("Should have thrown a ClassNotFoundException");
} catch (ClassNotFoundException cnfe) {
}

-

}

public void testInstantiateEmptyXml() throws Exception, SAXException, ParserConfigurationException, IOException {