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]

Reply via email to