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