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 2002/07/13 15:39:00 UTC
cvs commit: jakarta-avalon-excalibur/assembly/src/java/org/apache/excalibur/merlin/model ContainerDescriptor.java
mcconnell 2002/07/13 06:39:00
Modified: assembly build.xml
assembly/src/java/org/apache/excalibur/merlin/container
DefaultContainer.java ProfileRegistry.java
assembly/src/java/org/apache/excalibur/merlin/kernel
DefaultKernel.java
assembly/src/java/org/apache/excalibur/merlin/model
ContainerDescriptor.java
Log:
added support for dynamic container and component profile addition to the mata dat model
Revision Changes Path
1.18 +3 -3 jakarta-avalon-excalibur/assembly/build.xml
Index: build.xml
===================================================================
RCS file: /home/cvs/jakarta-avalon-excalibur/assembly/build.xml,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -r1.17 -r1.18
--- build.xml 12 Jul 2002 20:35:11 -0000 1.17
+++ build.xml 13 Jul 2002 13:39:00 -0000 1.18
@@ -268,9 +268,9 @@
<target name="patch">
<replace
- token="getContextDescriptor"
- value="getContext" dir="src/java">
- <include name="org/apache/excalibur/**/*.*"/>
+ token="getComponentProfiles"
+ value="getComponents" dir="src/java">
+ <include name="org/apache/excalibur/merlin/**/*.*"/>
</replace>
</target>
1.5 +5 -2 jakarta-avalon-excalibur/assembly/src/java/org/apache/excalibur/merlin/container/DefaultContainer.java
Index: DefaultContainer.java
===================================================================
RCS file: /home/cvs/jakarta-avalon-excalibur/assembly/src/java/org/apache/excalibur/merlin/container/DefaultContainer.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- DefaultContainer.java 12 Jul 2002 19:09:26 -0000 1.4
+++ DefaultContainer.java 13 Jul 2002 13:39:00 -0000 1.5
@@ -221,7 +221,7 @@
//
getLogger().debug("explicit profile registration");
- ComponentProfile[] children = m_descriptor.getComponentProfiles();
+ ComponentProfile[] children = m_descriptor.getComponents();
for( int i=0; i<children.length; i++ )
{
m_profiles.register( children[i] );
@@ -370,6 +370,8 @@
{
((Controller)iterator.next()).startup();
}
+
+ getLogger().info("container startup complete");
}
public void shutdown()
@@ -388,6 +390,7 @@
((Controller)iterator.next()).shutdown();
}
stop();
+ getLogger().info("container shutdown complete");
}
//=======================================================================
1.5 +3 -3 jakarta-avalon-excalibur/assembly/src/java/org/apache/excalibur/merlin/container/ProfileRegistry.java
Index: ProfileRegistry.java
===================================================================
RCS file: /home/cvs/jakarta-avalon-excalibur/assembly/src/java/org/apache/excalibur/merlin/container/ProfileRegistry.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- ProfileRegistry.java 12 Jul 2002 19:09:26 -0000 1.4
+++ ProfileRegistry.java 13 Jul 2002 13:39:00 -0000 1.5
@@ -114,7 +114,7 @@
public Profile[] getProviders( ServiceDesignator designator )
{
ArrayList list = new ArrayList();
- ComponentProfile[] local = m_descriptor.getComponentProfiles();
+ ComponentProfile[] local = m_descriptor.getComponents();
for( int i=0; i<local.length; i++ )
{
Profile profile = local[i];
@@ -155,7 +155,7 @@
*/
public void assembleProfiles() throws Exception
{
- Profile[] profiles = m_descriptor.getComponentProfiles();
+ Profile[] profiles = m_descriptor.getComponents();
for( int i=0; i<profiles.length; i++ )
{
Profile profile = profiles[i];
1.14 +4 -1 jakarta-avalon-excalibur/assembly/src/java/org/apache/excalibur/merlin/kernel/DefaultKernel.java
Index: DefaultKernel.java
===================================================================
RCS file: /home/cvs/jakarta-avalon-excalibur/assembly/src/java/org/apache/excalibur/merlin/kernel/DefaultKernel.java,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- DefaultKernel.java 13 Jul 2002 00:09:45 -0000 1.13
+++ DefaultKernel.java 13 Jul 2002 13:39:00 -0000 1.14
@@ -233,6 +233,8 @@
getLogger().error( error, e );
throw new KernelException( error, e );
}
+
+ getLogger().info("startup complete");
}
public void shutdown()
@@ -241,5 +243,6 @@
if( getLogger().isInfoEnabled() )
getLogger().info("shutdown");
m_container.shutdown();
+ getLogger().info("shutdown complete");
}
}
1.3 +34 -26 jakarta-avalon-excalibur/assembly/src/java/org/apache/excalibur/merlin/model/ContainerDescriptor.java
Index: ContainerDescriptor.java
===================================================================
RCS file: /home/cvs/jakarta-avalon-excalibur/assembly/src/java/org/apache/excalibur/merlin/model/ContainerDescriptor.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- ContainerDescriptor.java 12 Jul 2002 19:09:27 -0000 1.2
+++ ContainerDescriptor.java 13 Jul 2002 13:39:00 -0000 1.3
@@ -40,13 +40,13 @@
/**
* The component described within the scope of the container.
*/
- //private final ArrayList m_components = new ArrayList();
- private final ComponentProfile[] m_components;
+ private final ArrayList m_components = new ArrayList();
/**
* The component described within the scope of the container.
*/
- private final ContainerDescriptor[] m_containers;
+ //private final ContainerDescriptor[] m_containers;
+ private final ArrayList m_containers = new ArrayList();
/**
* Create a ContainerDescriptor instance.
@@ -66,16 +66,14 @@
m_name = name;
m_loggers = loggers;
m_classpath = classpath;
- m_components = components;
- m_containers = containers;
for( int i=0; i<containers.length; i++ )
{
- containers[i].getCategoryDescriptor().setParent( loggers );
+ addContainer( containers[i] );
}
for( int i=0; i<components.length; i++ )
{
- components[i].getCategoryDescriptor().setParent( loggers );
+ addComponent( components[i] );
}
}
@@ -110,25 +108,42 @@
}
/**
- * Add a container to this container.
+ * Add a component profile to this container.
*
- * @parent the container to add
+ * @param component the component profile to add to the container
*/
- //public void addComponent( ComponentProfile component )
- //{
- // m_components.add( component );
- // component.getCategoryDescriptor().setParent( getCategoryDescriptor() );
- //}
+ public void addComponent( ComponentProfile component )
+ {
+ if( !m_components.contains( component ) )
+ {
+ m_components.add( component );
+ component.getCategoryDescriptor().setParent( getCategoryDescriptor() );
+ }
+ }
/**
* Return the set of component descriptors contained within this container.
*
* @return the target descriptors
*/
- public ComponentProfile[] getComponentProfiles()
+ public ComponentProfile[] getComponents()
+ {
+ return (ComponentProfile[]) m_components.toArray( new ComponentProfile[0] );
+ }
+
+ /**
+ * Add a container profile to this container.
+ *
+ * @parent the container to add
+ */
+ public void addContainer( ContainerDescriptor container )
{
- //return (ComponentProfile[]) m_components.toArray( new ComponentProfile[0] );
- return m_components;
+ if( !m_containers.contains( container ) )
+ {
+ m_containers.add( container );
+ container.getCategoryDescriptor().setParent( getCategoryDescriptor() );
+ container.setParent( this );
+ }
}
/**
@@ -138,10 +153,9 @@
*/
public ContainerDescriptor[] getContainers()
{
- return m_containers;
+ return (ContainerDescriptor[]) m_containers.toArray( new ContainerDescriptor[0] );
}
-
/**
* Set the parent container.
*
@@ -154,12 +168,6 @@
throw new IllegalStateException("parent");
m_parent = parent;
-
- ContainerDescriptor[] containers = getContainers();
- for( int i=0; i<containers.length; i++ )
- {
- containers[i].setParent( this );
- }
}
/**
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>