weaver 2004/02/19 13:34:36
Modified: cps project.xml
Added: cps/test/WEB-INF/conf container.groovy
cps/src/java/org/apache/jetspeed/components
NanoComponentManager.java
Log:
created the NanoComponentManager that extends NanoContainer.
The test case currently uses /test/WEB-INF/conf/container.groovy to
assemble the test case container.
Revision Changes Path
1.1 jakarta-jetspeed-2/cps/test/WEB-INF/conf/container.groovy
Index: container.groovy
===================================================================
import org.apache.jetspeed.cps.template.TemplateLocatorComponentImpl
import org.apache.jetspeed.cps.template.TemplateLocatorComponent
import org.picocontainer.defaults.DefaultPicoContainer
import org.apache.commons.configuration.PropertiesConfiguration
container = new DefaultPicoContainer()
PropertiesConfiguration locator1Conf = new PropertiesConfiguration();
locator1Conf.setProperty("roots", " WEB-INF/templates")
locator1Conf.setProperty("template.class",
"org.apache.jetspeed.cps.template.TemplateImpl")
locator1Conf.setProperty("default.type", "layout")
locator1Conf.setProperty("default.template.name", "columns.vm")
locator1Conf.setProperty("default.extension", "vm")
container.registerComponentInstance("locator", new
TemplateLocatorComponentImpl(locator1Conf))
return container
1.13 +14 -0 jakarta-jetspeed-2/cps/project.xml
Index: project.xml
===================================================================
RCS file: /home/cvs/jakarta-jetspeed-2/cps/project.xml,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- project.xml 18 Feb 2004 20:48:55 -0000 1.12
+++ project.xml 19 Feb 2004 21:34:36 -0000 1.13
@@ -140,6 +140,20 @@
<war.bundle.jar>true</war.bundle.jar>
</properties>
</dependency>
+ <dependency>
+ <id>asm</id>
+ <version>1.4.1</version>
+ <properties>
+ <war.bundle.jar>true</war.bundle.jar>
+ </properties>
+ </dependency>
+ <dependency>
+ <id>groovy</id>
+ <version>1.0-beta-4-snapshot</version>
+ <properties>
+ <war.bundle.jar>true</war.bundle.jar>
+ </properties>
+ </dependency>
</dependencies>
<build>
<sourceDirectory>src/java</sourceDirectory>
1.1
jakarta-jetspeed-2/cps/src/java/org/apache/jetspeed/components/NanoComponentManager.java
Index: NanoComponentManager.java
===================================================================
/**
* Created on Feb 19, 2004
*
*
* @author
*/
package org.apache.jetspeed.components;
import java.io.File;
import java.io.IOException;
import java.io.Reader;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import org.nanocontainer.NanoContainer;
import org.nanocontainer.script.ScriptedContainerBuilder;
import org.picocontainer.MutablePicoContainer;
import org.picocontainer.PicoContainer;
import org.picocontainer.defaults.ObjectReference;
import org.picocontainer.defaults.SimpleReference;
/**
* <p>
* NanoComponentManager
* </p>
*
* @author <a href="mailto:[EMAIL PROTECTED]">Scott T. Weaver</a>
* @version $Id: NanoComponentManager.java,v 1.1 2004/02/19 21:34:36 weaver Exp $
*
*/
public class NanoComponentManager extends NanoContainer implements
ComponentManagement, ContainerManagement
{
private MutablePicoContainer rootContainer;
/**
* @param arg0
* @param arg1
* @param arg2
* @throws java.io.IOException
* @throws java.lang.ClassNotFoundException
*/
public NanoComponentManager(File arg0, PicoContainer arg1, ClassLoader arg2)
throws IOException, ClassNotFoundException
{
super(arg0, arg1, arg2);
}
/**
* @param arg0
* @param arg1
* @throws java.io.IOException
* @throws java.lang.ClassNotFoundException
*/
public NanoComponentManager(File arg0, PicoContainer arg1) throws IOException,
ClassNotFoundException
{
super(arg0, arg1);
}
/**
* @param arg0
* @throws java.io.IOException
* @throws java.lang.ClassNotFoundException
*/
public NanoComponentManager(File arg0) throws IOException, ClassNotFoundException
{
super(arg0);
}
/**
* @param arg0
* @param arg1
* @param arg2
* @throws java.lang.ClassNotFoundException
*/
public NanoComponentManager(Reader arg0, String arg1, ClassLoader arg2) throws
ClassNotFoundException
{
super(arg0, arg1, arg2);
}
/**
* @param arg0
* @param arg1
* @throws java.lang.ClassNotFoundException
*/
public NanoComponentManager(Reader arg0, String arg1) throws
ClassNotFoundException
{
super(arg0, arg1);
}
/**
* @param arg0
* @param arg1
* @param arg2
* @param arg3
* @throws java.lang.ClassNotFoundException
*/
public NanoComponentManager(Reader arg0, String arg1, PicoContainer arg2,
ClassLoader arg3) throws ClassNotFoundException
{
super(arg0, arg1, arg2, arg3);
}
/**
* @see
org.apache.jetspeed.components.ComponentManagement#getComponent(java.lang.String)
*/
public Object getComponent(String componentName)
{
return getRootContainer().getComponentInstance(componentName);
}
protected MutablePicoContainer getRootContainer()
{
if(rootContainer == null)
{
ObjectReference containerRef = new SimpleReference();
ScriptedContainerBuilder scb = this.getContainerBuilder();
scb.buildContainer(containerRef, null, "jetspeed");
rootContainer = (MutablePicoContainer) containerRef.get();
}
return rootContainer;
}
/**
* @see
org.apache.jetspeed.components.ComponentManagement#getComponent(java.lang.String,
java.lang.String)
*/
public Object getComponent(String containerName, String componentName)
{
MutablePicoContainer container = (MutablePicoContainer)
getRootContainer().getComponentInstance(containerName);
if(container != null)
{
return container.getComponentInstance(componentName);
}
return null;
}
/**
* @see
org.apache.jetspeed.components.ContainerManagement#getContainer(java.lang.String)
*/
public MutablePicoContainer getContainer(String containerName)
{
return (MutablePicoContainer)
getRootContainer().getComponentInstance(containerName);
}
/**
* @see org.apache.jetspeed.components.ContainerManagement#getDefaultContainer()
*/
public MutablePicoContainer getDefaultContainer()
{
return rootContainer;
}
/**
* @see org.apache.jetspeed.components.ContainerManagement#getContainers()
*/
public Collection getContainers()
{
Iterator itr = rootContainer.getComponentInstances().iterator();
ArrayList list = new ArrayList();
while(itr.hasNext())
{
Object comp = itr.next();
if(comp instanceof PicoContainer)
{
list.add(comp);
}
}
return list;
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]