mcconnell 2003/02/17 04:04:34
Modified: assembly/src/java/org/apache/avalon/assembly/engine
EngineClassLoader.java
Log:
Modified the newInstance utility operation to take the name of the partition that is
being created. This is used to provide the sub-partition name to the appliance
repository which in turn uses the name to establish the appliance URL.
Revision Changes Path
1.35 +10 -4
avalon-sandbox/assembly/src/java/org/apache/avalon/assembly/engine/EngineClassLoader.java
Index: EngineClassLoader.java
===================================================================
RCS file:
/home/cvs/avalon-sandbox/assembly/src/java/org/apache/avalon/assembly/engine/EngineClassLoader.java,v
retrieving revision 1.34
retrieving revision 1.35
diff -u -r1.34 -r1.35
--- EngineClassLoader.java 16 Feb 2003 10:59:04 -0000 1.34
+++ EngineClassLoader.java 17 Feb 2003 12:04:33 -0000 1.35
@@ -654,6 +654,7 @@
/**
* Creation of a subsidiary engine.
+ * @param name the name to assign to the manager
* @param base the URL from which classpath declarations
* shall be resolved
* @param extensions the declaration of supplimentary extension directories
@@ -661,14 +662,15 @@
* @return the new engine
*/
public EngineClassLoader newInstance(
- URL base, LibraryDescriptor extensions, ClasspathDescriptor classpath )
+ String name, URL base, LibraryDescriptor extensions, ClasspathDescriptor
classpath )
throws EngineException
{
- return newInstance( base, extensions, classpath, new URL[0] );
+ return newInstance( name, base, extensions, classpath, new URL[0] );
}
/**
* Creation of a subsidiary engine.
+ * @param name the name to assign to the manager
* @param base the URL from which classpath declarations
* shall be resolved
* @param extensions the declaration of supplimentary extension directories
@@ -677,12 +679,15 @@
* @return the new engine
*/
public EngineClassLoader newInstance(
- URL base, LibraryDescriptor extensions, ClasspathDescriptor classpath, URL[]
urls )
+ String name, URL base, LibraryDescriptor extensions, ClasspathDescriptor
classpath, URL[] urls )
throws EngineException
{
try
{
EngineClassLoader engine = new EngineClassLoader( urls, this );
+ DefaultApplianceRepository manager =
+ new DefaultApplianceRepository( this, m_manager, name );
+
engine.enableLogging( getLogger() );
DefaultLocator context = new DefaultLocator();
context.put( "urn:assembly:home", m_home );
@@ -692,6 +697,7 @@
context.put( "urn:assembly:engine.classpath", classpath );
context.put( "urn:assembly:logging.manager", m_logging );
context.put( "urn:assembly:threads.manager", m_pool );
+ context.put( "urn:assembly:appliance.repository", manager );
context.makeReadOnly();
engine.contextualize( context );
engine.initialize();
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]