You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@avalon.apache.org by mc...@apache.org on 2004/02/18 01:22:55 UTC

cvs commit: avalon/merlin/kernel/unit/src/java/org/apache/avalon/merlin/unit AbstractMerlinTestCase.java

mcconnell    2004/02/17 16:22:55

  Modified:    merlin   maven.xml project.properties
               merlin/kernel/cli/src/java/org/apache/avalon/merlin/cli
                        Main.java
               merlin/kernel/plugin/src/java/org/apache/avalon/merlin/tools
                        MerlinBean.java
               merlin/kernel/servlet/src/java/org/apache/avalon/merlin/servlet
                        MerlinServlet.java
               merlin/kernel/unit/src/java/org/apache/avalon/merlin/unit
                        AbstractMerlinTestCase.java
  Log:
  Sync. merlin with repo updates.
  
  Revision  Changes    Path
  1.52      +0 -1      avalon/merlin/maven.xml
  
  Index: maven.xml
  ===================================================================
  RCS file: /home/cvs/avalon/merlin/maven.xml,v
  retrieving revision 1.51
  retrieving revision 1.52
  diff -u -r1.51 -r1.52
  --- maven.xml	14 Feb 2004 21:33:55 -0000	1.51
  +++ maven.xml	18 Feb 2004 00:22:54 -0000	1.52
  @@ -540,7 +540,6 @@
   	  </classpath>
   
   	  <link href="${sun.j2se.link}" />
  -	  <link href="${sun.j2ee.link}" />
   	  <link href="${avalon.framework.link}" />
   	  <link href="${avalon.meta.link}" />
   	  <link href="${avalon.repository.link}" />
  
  
  
  1.10      +0 -1      avalon/merlin/project.properties
  
  Index: project.properties
  ===================================================================
  RCS file: /home/cvs/avalon/merlin/project.properties,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- project.properties	14 Feb 2004 21:33:55 -0000	1.9
  +++ project.properties	18 Feb 2004 00:22:54 -0000	1.10
  @@ -43,7 +43,6 @@
   #
   
   sun.j2se.link = http://java.sun.com/j2se/1.4/docs/api/
  -sun.j2ee.link = http://java.sun.com/j2ee/1.4/docs/api/
   avalon.framework.link = http://avalon.apache.org/framework/api/
   avalon.meta.link = http://avalon.apache.org/meta/api/
   avalon.repository.link = http://avalon.apache.org/repository/api/
  
  
  
  1.18      +17 -11    avalon/merlin/kernel/cli/src/java/org/apache/avalon/merlin/cli/Main.java
  
  Index: Main.java
  ===================================================================
  RCS file: /home/cvs/avalon/merlin/kernel/cli/src/java/org/apache/avalon/merlin/cli/Main.java,v
  retrieving revision 1.17
  retrieving revision 1.18
  diff -u -r1.17 -r1.18
  --- Main.java	14 Feb 2004 21:33:56 -0000	1.17
  +++ Main.java	18 Feb 2004 00:22:54 -0000	1.18
  @@ -37,9 +37,10 @@
   import org.apache.avalon.repository.Artifact;
   import org.apache.avalon.repository.provider.Builder;
   import org.apache.avalon.repository.provider.InitialContext;
  +import org.apache.avalon.repository.provider.InitialContextFactory;
   import org.apache.avalon.repository.provider.Factory;
   import org.apache.avalon.repository.RepositoryException;
  -import org.apache.avalon.repository.main.DefaultInitialContext;
  +import org.apache.avalon.repository.main.DefaultInitialContextFactory;
   import org.apache.avalon.repository.main.DefaultBuilder;
   import org.apache.avalon.repository.meta.ArtifactDescriptor;
   import org.apache.avalon.repository.util.RepositoryUtils;
  @@ -209,12 +210,12 @@
               CommandLine line = parser.parse( CL_OPTIONS, args );
   
               File dir = getWorkingDirectory( line );
  -            File system = getMerlinSystemRepository( line );
  +            File cache = getMerlinSystemRepository( line );
               Artifact artifact = getDefaultImplementation( dir, line );
   
               if( line.hasOption( "version" ) )
               {
  -                Main.printVersionInfo( system, artifact );
  +                Main.printVersionInfo( cache, artifact );
                   return;     
               }
               else if( line.hasOption( "help" ) )
  @@ -243,13 +244,18 @@
                   // setup the initial context
                   //
   
  -                ClassLoader parent = Main.class.getClassLoader();
  -                Artifact impl = null; // default
  -                String[] bootstrap = null; // default
  -                
  -                InitialContext context = 
  -                   new DefaultInitialContext( 
  -                     dir, parent, impl, system, bootstrap );
  +                InitialContextFactory factory = 
  +                  new DefaultInitialContextFactory( "merlin", dir );
  +                factory.setCacheDirectory( cache );
  +                InitialContext context = factory.createInitialContext();
  +
  +                //ClassLoader parent = Main.class.getClassLoader();
  +                //Artifact impl = null; // default
  +                //String[] bootstrap = null; // default
  +                //
  +                //InitialContext context = 
  +                //   new DefaultInitialContext( 
  +                //     dir, parent, impl, cache, bootstrap );
   
                   //
                   // process the commandline and do the real work
  
  
  
  1.15      +10 -6     avalon/merlin/kernel/plugin/src/java/org/apache/avalon/merlin/tools/MerlinBean.java
  
  Index: MerlinBean.java
  ===================================================================
  RCS file: /home/cvs/avalon/merlin/kernel/plugin/src/java/org/apache/avalon/merlin/tools/MerlinBean.java,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- MerlinBean.java	25 Jan 2004 13:18:49 -0000	1.14
  +++ MerlinBean.java	18 Feb 2004 00:22:54 -0000	1.15
  @@ -32,9 +32,10 @@
   import org.apache.avalon.repository.Artifact;
   import org.apache.avalon.repository.provider.Builder;
   import org.apache.avalon.repository.provider.InitialContext;
  +import org.apache.avalon.repository.provider.InitialContextFactory;
   import org.apache.avalon.repository.provider.Factory;
   import org.apache.avalon.repository.RepositoryException;
  -import org.apache.avalon.repository.main.DefaultInitialContext;
  +import org.apache.avalon.repository.main.DefaultInitialContextFactory;
   import org.apache.avalon.repository.main.DefaultBuilder;
   
   import org.apache.avalon.util.env.Env;
  @@ -117,10 +118,13 @@
   
           try
           {
  -            InitialContext context = 
  -               new DefaultInitialContext( 
  -                 getMavenRepositoryDirectory(),
  -                 m_hosts );
  +            File basedir = getBaseDirectory();
  +
  +            InitialContextFactory initial = 
  +              new DefaultInitialContextFactory( "merlin", basedir );
  +            initial.setCacheDirectory( getMavenRepositoryDirectory() );
  +            initial.setHosts( m_hosts );
  +            InitialContext context = initial.createInitialContext();
   
               Artifact artifact = 
                 DefaultBuilder.createImplementationArtifact( 
  
  
  
  1.8       +31 -10    avalon/merlin/kernel/servlet/src/java/org/apache/avalon/merlin/servlet/MerlinServlet.java
  
  Index: MerlinServlet.java
  ===================================================================
  RCS file: /home/cvs/avalon/merlin/kernel/servlet/src/java/org/apache/avalon/merlin/servlet/MerlinServlet.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- MerlinServlet.java	10 Feb 2004 17:10:59 -0000	1.7
  +++ MerlinServlet.java	18 Feb 2004 00:22:54 -0000	1.8
  @@ -37,9 +37,10 @@
   import org.apache.avalon.repository.Artifact;
   import org.apache.avalon.repository.provider.Builder;
   import org.apache.avalon.repository.provider.InitialContext;
  +import org.apache.avalon.repository.provider.InitialContextFactory;
   import org.apache.avalon.repository.provider.Factory;
   import org.apache.avalon.repository.RepositoryException;
  -import org.apache.avalon.repository.main.DefaultInitialContext;
  +import org.apache.avalon.repository.main.DefaultInitialContextFactory;
   import org.apache.avalon.repository.main.DefaultBuilder;
   
   import org.apache.avalon.util.exception.ExceptionHelper;
  @@ -84,17 +85,29 @@
       public void init()
           throws ServletException
       {
  -        ClassLoader classloader = MerlinServlet.class.getClassLoader();
  -
           try
           {
  +            //
  +            // get the working directory and classloader
  +            //
  +
  +            ClassLoader classloader = MerlinServlet.class.getClassLoader();
               String path = getServletContext().getRealPath( "." );
               File base = new File( path );
  -            File system = getMerlinSystemRepository();
   
  -            InitialContext context = 
  -                   new DefaultInitialContext( 
  -                     base, classloader, null, system, null );
  +            //
  +            // create the initial context using the merlin system as the 
  +            // initial cache
  +            //
  +
  +            InitialContextFactory initial = 
  +              new DefaultInitialContextFactory( "merlin", base );
  +            initial.setParentClassLoader( classloader );
  +            InitialContext context = initial.createInitialContext();
  +
  +            //
  +            // grab the merlin implmentation artifact descriptor
  +            //
   
               Artifact artifact = 
                 DefaultBuilder.createImplementationArtifact( 
  @@ -104,11 +117,13 @@
                   MERLIN_PROPERTIES, 
                   IMPLEMENTATION_KEY );
   
  +            //
  +            // create and customize the kernel criteria
  +            //
  +
               Builder builder = context.newBuilder( artifact );
               Factory factory = builder.getFactory();
  -
               m_criteria = (KernelCriteria) factory.createDefaultCriteria();
  -
               m_criteria.put( "merlin.server", "true" );
               m_criteria.put( "merlin.info", "true" );
               m_criteria.put( "merlin.debug", "false" );
  @@ -120,8 +135,14 @@
               //
   
               m_kernel = (Kernel) factory.create( m_criteria );
  -            
               System.out.println("kernel established");
  +
  +            //
  +            // publish the root containment model as a context attribute
  +            // (this is basically exposing too much - need to wrap this
  +            // in a holder that allows lookup by service interface and 
  +            // version
  +            //
   
               getServletContext().setAttribute( 
                 "urn:composition:root", m_kernel.getModel() );
  
  
  
  1.25      +9 -5      avalon/merlin/kernel/unit/src/java/org/apache/avalon/merlin/unit/AbstractMerlinTestCase.java
  
  Index: AbstractMerlinTestCase.java
  ===================================================================
  RCS file: /home/cvs/avalon/merlin/kernel/unit/src/java/org/apache/avalon/merlin/unit/AbstractMerlinTestCase.java,v
  retrieving revision 1.24
  retrieving revision 1.25
  diff -u -r1.24 -r1.25
  --- AbstractMerlinTestCase.java	10 Feb 2004 16:31:17 -0000	1.24
  +++ AbstractMerlinTestCase.java	18 Feb 2004 00:22:55 -0000	1.25
  @@ -32,9 +32,10 @@
   import org.apache.avalon.repository.Artifact;
   import org.apache.avalon.repository.provider.Builder;
   import org.apache.avalon.repository.provider.InitialContext;
  +import org.apache.avalon.repository.provider.InitialContextFactory;
   import org.apache.avalon.repository.provider.Factory;
   import org.apache.avalon.repository.RepositoryException;
  -import org.apache.avalon.repository.main.DefaultInitialContext;
  +import org.apache.avalon.repository.main.DefaultInitialContextFactory;
   import org.apache.avalon.repository.main.DefaultBuilder;
   
   import org.apache.avalon.util.env.Env;
  @@ -96,17 +97,20 @@
           try
           {
               File repository = new File( getMavenHome(), "repository" );
  +            File basedir = getBaseDirectory();
   
               Artifact artifact = 
                 DefaultBuilder.createImplementationArtifact( 
                   classloader, 
                   getMerlinHome(),
  -                getBaseDirectory(), 
  +                basedir, 
                   MERLIN_PROPERTIES, 
                   IMPLEMENTATION_KEY );
   
  -            InitialContext context = 
  -               new DefaultInitialContext( repository );
  +            InitialContextFactory icFactory = 
  +              new DefaultInitialContextFactory( "merlin", basedir );
  +            icFactory.setCacheDirectory( repository );
  +            InitialContext context = icFactory.createInitialContext();
   
               Builder builder = new DefaultBuilder( context, artifact );
               m_classloader = builder.getClassLoader();
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: cvs-unsubscribe@avalon.apache.org
For additional commands, e-mail: cvs-help@avalon.apache.org