You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@avalon.apache.org by do...@apache.org on 2002/07/06 02:58:39 UTC
cvs commit: jakarta-avalon-excalibur/containerkit/src/java/org/apache/excalibur/containerkit/verifier AssemblyVerifier.java MetaDataVerifier.java
donaldp 2002/07/05 17:58:39
Modified: containerkit/src/java/org/apache/excalibur/containerkit/dependency
DependencyMap.java
containerkit/src/java/org/apache/excalibur/containerkit/kernel
AbstractServiceKernel.java ComponentEntry.java
SimpleResourceProvider.java
SimpleServiceKernel.java
containerkit/src/java/org/apache/excalibur/containerkit/lifecycle/impl
AbstractResourceProvider.java
containerkit/src/java/org/apache/excalibur/containerkit/verifier
AssemblyVerifier.java MetaDataVerifier.java
Added: containerkit/src/java/org/apache/excalibur/containerkit/metadata
Association.java ComponentPolicy.java
Removed: containerkit/src/java/org/apache/excalibur/containerkit/metadata
ComponentMetaData.java DependencyMetaData.java
Log:
Rename ComponentMetaData to ComponentProfile
Rename Dependency�MetaData to Association
Revision Changes Path
1.7 +34 -34 jakarta-avalon-excalibur/containerkit/src/java/org/apache/excalibur/containerkit/dependency/DependencyMap.java
Index: DependencyMap.java
===================================================================
RCS file: /home/cvs/jakarta-avalon-excalibur/containerkit/src/java/org/apache/excalibur/containerkit/dependency/DependencyMap.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- DependencyMap.java 3 Jul 2002 19:02:28 -0000 1.6
+++ DependencyMap.java 6 Jul 2002 00:58:38 -0000 1.7
@@ -8,8 +8,8 @@
package org.apache.excalibur.containerkit.dependency;
import java.util.ArrayList;
-import org.apache.excalibur.containerkit.metadata.ComponentMetaData;
-import org.apache.excalibur.containerkit.metadata.DependencyMetaData;
+import org.apache.excalibur.containerkit.metadata.ComponentPolicy;
+import org.apache.excalibur.containerkit.metadata.Association;
import org.apache.excalibur.containerkit.metainfo.DependencyDescriptor;
/**
@@ -76,57 +76,57 @@
*
* @param component the component
*/
- public void add( final ComponentMetaData component )
+ public void add( final ComponentPolicy component )
{
m_components.add( component );
}
/**
- * Get the serilized graph of {@link ComponentMetaData} objects
+ * Get the serilized graph of {@link ComponentPolicy} objects
* required when starting up all the components. This makes sure
* that all providers occur before their coresponding
* consumers in graph.
*
* @return the ordered list of components
*/
- public ComponentMetaData[] getStartupGraph()
+ public ComponentPolicy[] getStartupGraph()
{
return walkGraph( true );
}
/**
- * Get the serilized graph of {@link ComponentMetaData} objects
+ * Get the serilized graph of {@link ComponentPolicy} objects
* required when shutting down all the components. This makes
* sure that all consumers occur before their coresponding
* providers in graph.
*
* @return the ordered list of components
*/
- public ComponentMetaData[] getShutdownGraph()
+ public ComponentPolicy[] getShutdownGraph()
{
return walkGraph( false );
}
/**
- * Get the serilized graph of {@link ComponentMetaData} objects
+ * Get the serilized graph of {@link ComponentPolicy} objects
* that use services of specified component.
*
* @param component the component
* @return the ordered list of consumers
*/
- public ComponentMetaData[] getConsumerGraph( final ComponentMetaData component )
+ public ComponentPolicy[] getConsumerGraph( final ComponentPolicy component )
{
return getComponentGraph( component, false );
}
/**
- * Get the serilized graph of {@link ComponentMetaData} objects
+ * Get the serilized graph of {@link ComponentPolicy} objects
* that provide specified component with services.
*
* @param component the component
* @return the ordered list of providers
*/
- public ComponentMetaData[] getProviderGraph( final ComponentMetaData component )
+ public ComponentPolicy[] getProviderGraph( final ComponentPolicy component )
{
return getComponentGraph( component, true );
}
@@ -138,7 +138,7 @@
* @param providers true if traversing providers, false if consumers
* @return the list of components in graph
*/
- private ComponentMetaData[] getComponentGraph( final ComponentMetaData component, final boolean providers )
+ private ComponentPolicy[] getComponentGraph( final ComponentPolicy component, final boolean providers )
{
final ArrayList result = new ArrayList();
visitcomponent( component,
@@ -146,8 +146,8 @@
new ArrayList(),
result );
- final ComponentMetaData[] returnValue = new ComponentMetaData[ result.size() ];
- return (ComponentMetaData[])result.toArray( returnValue );
+ final ComponentPolicy[] returnValue = new ComponentPolicy[ result.size() ];
+ return (ComponentPolicy[])result.toArray( returnValue );
}
/**
@@ -158,7 +158,7 @@
* @param providers true if forward dependencys traced, false if dependencies reversed
* @return the ordered node names
*/
- private ComponentMetaData[] walkGraph( final boolean providers )
+ private ComponentPolicy[] walkGraph( final boolean providers )
{
final ArrayList result = new ArrayList();
final ArrayList done = new ArrayList();
@@ -166,16 +166,16 @@
final int size = m_components.size();
for( int i = 0; i < size; i++ )
{
- final ComponentMetaData component =
- (ComponentMetaData)m_components.get( i );
+ final ComponentPolicy component =
+ (ComponentPolicy)m_components.get( i );
visitcomponent( component,
providers,
done,
result );
}
- final ComponentMetaData[] returnValue = new ComponentMetaData[ result.size() ];
- return (ComponentMetaData[])result.toArray( returnValue );
+ final ComponentPolicy[] returnValue = new ComponentPolicy[ result.size() ];
+ return (ComponentPolicy[])result.toArray( returnValue );
}
/**
@@ -187,7 +187,7 @@
* @param order the order in which nodes have already been
* traversed
*/
- private void visitcomponent( final ComponentMetaData component,
+ private void visitcomponent( final ComponentPolicy component,
final boolean providers,
final ArrayList done,
final ArrayList order )
@@ -217,7 +217,7 @@
*
* @param component the ComponentMetaData
*/
- private void visitProviders( final ComponentMetaData component,
+ private void visitProviders( final ComponentPolicy component,
final ArrayList done,
final ArrayList order )
{
@@ -226,16 +226,16 @@
for( int i = 0; i < descriptors.length; i++ )
{
- final DependencyMetaData dependency =
+ final Association dependency =
component.getDependency( descriptors[ i ].getRole() );
- // added != null clause to catch cases where an optional
- // dependency exists and the dependecy has not been bound
+ // added != null clause to catch cases where an optional
+ // dependency exists and the dependecy has not been bound
// to a provider
- if( dependency != null )
+ if( dependency != null )
{
- final ComponentMetaData other =
+ final ComponentPolicy other =
getComponent( dependency.getProviderName() );
visitcomponent( other, true, done, order );
}
@@ -248,7 +248,7 @@
*
* @param component the ComponentMetaData
*/
- private void visitConsumers( final ComponentMetaData component,
+ private void visitConsumers( final ComponentPolicy component,
final ArrayList done,
final ArrayList order )
{
@@ -257,9 +257,9 @@
final int size = m_components.size();
for( int i = 0; i < size; i++ )
{
- final ComponentMetaData other =
- (ComponentMetaData)m_components.get( i );
- final DependencyMetaData[] roles = other.getDependencies();
+ final ComponentPolicy other =
+ (ComponentPolicy)m_components.get( i );
+ final Association[] roles = other.getDependencies();
for( int j = 0; j < roles.length; j++ )
{
@@ -285,13 +285,13 @@
* @param name the name of component
* @return the component
*/
- private ComponentMetaData getComponent( final String name )
+ private ComponentPolicy getComponent( final String name )
{
final int size = m_components.size();
for( int i = 0; i < size; i++ )
{
- final ComponentMetaData component =
- (ComponentMetaData)m_components.get( i );
+ final ComponentPolicy component =
+ (ComponentPolicy)m_components.get( i );
if( component.getName().equals( name ) )
{
return component;
1.13 +10 -10 jakarta-avalon-excalibur/containerkit/src/java/org/apache/excalibur/containerkit/kernel/AbstractServiceKernel.java
Index: AbstractServiceKernel.java
===================================================================
RCS file: /home/cvs/jakarta-avalon-excalibur/containerkit/src/java/org/apache/excalibur/containerkit/kernel/AbstractServiceKernel.java,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- AbstractServiceKernel.java 25 Jun 2002 07:42:41 -0000 1.12
+++ AbstractServiceKernel.java 6 Jul 2002 00:58:38 -0000 1.13
@@ -17,7 +17,7 @@
import org.apache.excalibur.containerkit.dependency.DependencyMap;
import org.apache.excalibur.containerkit.lifecycle.LifecycleHelper;
import org.apache.excalibur.containerkit.lifecycle.ResourceProvider;
-import org.apache.excalibur.containerkit.metadata.ComponentMetaData;
+import org.apache.excalibur.containerkit.metadata.ComponentPolicy;
/**
* The <code>AbstractServiceKernel</code> defines an application scope through
@@ -88,7 +88,7 @@
protected final void startupAllComponents()
throws Exception
{
- final ComponentMetaData[] components = m_dependencyMap.getStartupGraph();
+ final ComponentPolicy[] components = m_dependencyMap.getStartupGraph();
processComponents( true, components );
}
@@ -99,7 +99,7 @@
protected final void shutdownAllComponents()
throws Exception
{
- final ComponentMetaData[] components = m_dependencyMap.getShutdownGraph();
+ final ComponentPolicy[] components = m_dependencyMap.getShutdownGraph();
processComponents( false, components );
}
@@ -112,7 +112,7 @@
throws Exception
{
final ComponentEntry entry = (ComponentEntry)m_entrys.get( name );
- final ComponentMetaData[] components =
+ final ComponentPolicy[] components =
m_dependencyMap.getProviderGraph( entry.getMetaData() );
processComponents( true, components );
}
@@ -126,7 +126,7 @@
throws Exception
{
final ComponentEntry entry = (ComponentEntry)m_entrys.get( name );
- final ComponentMetaData[] components =
+ final ComponentPolicy[] components =
m_dependencyMap.getConsumerGraph( entry.getMetaData() );
processComponents( false, components );
}
@@ -138,7 +138,7 @@
*
* @param component the component
*/
- protected final void addComponent( final ComponentMetaData component )
+ protected final void addComponent( final ComponentPolicy component )
{
final String name = component.getName();
final ComponentEntry entry = new ComponentEntry( component );
@@ -169,7 +169,7 @@
* through the phases
*/
private void processComponents( final boolean startup,
- final ComponentMetaData[] components )
+ final ComponentPolicy[] components )
throws Exception
{
processComponentsNotice( components, startup );
@@ -193,7 +193,7 @@
* @throws Exception if there is error processing any of the components
* through the phases
*/
- private void processComponent( final ComponentMetaData component,
+ private void processComponent( final ComponentPolicy component,
final boolean startup )
throws Exception
{
@@ -250,7 +250,7 @@
* @param order the order the components will be processed in
* @param startup true if application startup phase, false if shutdown phase
*/
- private void processComponentsNotice( final ComponentMetaData[] order,
+ private void processComponentsNotice( final ComponentPolicy[] order,
final boolean startup )
{
if( getLogger().isInfoEnabled() )
1.8 +8 -8 jakarta-avalon-excalibur/containerkit/src/java/org/apache/excalibur/containerkit/kernel/ComponentEntry.java
Index: ComponentEntry.java
===================================================================
RCS file: /home/cvs/jakarta-avalon-excalibur/containerkit/src/java/org/apache/excalibur/containerkit/kernel/ComponentEntry.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- ComponentEntry.java 25 Jun 2002 05:38:21 -0000 1.7
+++ ComponentEntry.java 6 Jul 2002 00:58:38 -0000 1.8
@@ -7,7 +7,7 @@
*/
package org.apache.excalibur.containerkit.kernel;
-import org.apache.excalibur.containerkit.metadata.ComponentMetaData;
+import org.apache.excalibur.containerkit.metadata.ComponentPolicy;
/**
* This is the structure that components are contained within when
@@ -20,10 +20,10 @@
public class ComponentEntry
{
/**
- * The {@link ComponentMetaData} that describes
+ * The {@link ComponentPolicy} that describes
* this component.
*/
- private final ComponentMetaData m_metaData;
+ private final ComponentPolicy m_metaData;
/**
* The instance of this component.
@@ -32,18 +32,18 @@
/**
* Creation of a new <code>ComponentEntry</code> instance.
- * @param metaData the {@link ComponentMetaData} instance defining the component.
+ * @param metaData the {@link ComponentPolicy} instance defining the component.
*/
- public ComponentEntry( final ComponentMetaData metaData )
+ public ComponentEntry( final ComponentPolicy metaData )
{
m_metaData = metaData;
}
/**
- * Returns the underlying {@link ComponentMetaData} instance.
+ * Returns the underlying {@link ComponentPolicy} instance.
* @return the component meta data instance
*/
- public ComponentMetaData getMetaData()
+ public ComponentPolicy getMetaData()
{
return m_metaData;
}
1.2 +5 -5 jakarta-avalon-excalibur/containerkit/src/java/org/apache/excalibur/containerkit/kernel/SimpleResourceProvider.java
Index: SimpleResourceProvider.java
===================================================================
RCS file: /home/cvs/jakarta-avalon-excalibur/containerkit/src/java/org/apache/excalibur/containerkit/kernel/SimpleResourceProvider.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- SimpleResourceProvider.java 25 Jun 2002 07:43:24 -0000 1.1
+++ SimpleResourceProvider.java 6 Jul 2002 00:58:38 -0000 1.2
@@ -8,7 +8,7 @@
package org.apache.excalibur.containerkit.kernel;
import org.apache.excalibur.containerkit.lifecycle.impl.AbstractResourceProvider;
-import org.apache.excalibur.containerkit.metadata.ComponentMetaData;
+import org.apache.excalibur.containerkit.metadata.ComponentPolicy;
import org.apache.excalibur.containerkit.metainfo.ComponentInfo;
import org.apache.excalibur.containerkit.metainfo.ComponentDescriptor;
import org.apache.avalon.framework.logger.Logger;
@@ -29,7 +29,7 @@
m_serviceKernel = serviceKernel;
}
- protected ComponentMetaData getMetaData( Object entry )
+ protected ComponentPolicy getMetaData( Object entry )
{
return ( (ComponentEntry)entry ).getMetaData();
}
@@ -50,7 +50,7 @@
public Object createObject( final Object entry )
throws Exception
{
- final ComponentMetaData component = getMetaData( entry );
+ final ComponentPolicy component = getMetaData( entry );
final ComponentInfo info = component.getComponentInfo();
final ComponentDescriptor descriptor = info.getComponentDescriptor();
final String implementationKey = descriptor.getImplementationKey();
@@ -61,7 +61,7 @@
public Logger createLogger( final Object entry )
throws Exception
{
- final ComponentMetaData component = getMetaData( entry );
+ final ComponentPolicy component = getMetaData( entry );
return getLogger().getChildLogger( component.getName() );
}
}
1.4 +9 -9 jakarta-avalon-excalibur/containerkit/src/java/org/apache/excalibur/containerkit/kernel/SimpleServiceKernel.java
Index: SimpleServiceKernel.java
===================================================================
RCS file: /home/cvs/jakarta-avalon-excalibur/containerkit/src/java/org/apache/excalibur/containerkit/kernel/SimpleServiceKernel.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- SimpleServiceKernel.java 27 Jun 2002 04:06:36 -0000 1.3
+++ SimpleServiceKernel.java 6 Jul 2002 00:58:38 -0000 1.4
@@ -15,8 +15,8 @@
import org.apache.avalon.framework.logger.Logger;
import org.apache.excalibur.containerkit.infobuilder.ComponentInfoBuilder;
import org.apache.excalibur.containerkit.lifecycle.ResourceProvider;
-import org.apache.excalibur.containerkit.metadata.ComponentMetaData;
-import org.apache.excalibur.containerkit.metadata.DependencyMetaData;
+import org.apache.excalibur.containerkit.metadata.ComponentPolicy;
+import org.apache.excalibur.containerkit.metadata.Association;
import org.apache.excalibur.containerkit.metainfo.ComponentInfo;
/**
@@ -78,15 +78,15 @@
final String impl = component.getAttribute( "impl" );
final Configuration config = component.getChild( "config" );
final ComponentInfo info = getComponentInfo( impl );
- final DependencyMetaData[] dependencies =
+ final Association[] dependencies =
parseDependencies( component.getChildren( "provide" ) );
- final ComponentMetaData metaData =
- new ComponentMetaData( name, dependencies, null, config, info );
+ final ComponentPolicy metaData =
+ new ComponentPolicy( name, dependencies, null, config, info );
addComponent( metaData );
}
- private DependencyMetaData[] parseDependencies( final Configuration[] provides )
+ private Association[] parseDependencies( final Configuration[] provides )
throws ConfigurationException
{
final ArrayList dependencies = new ArrayList();
@@ -95,10 +95,10 @@
final Configuration provide = provides[ i ];
final String role = provide.getAttribute( "role" );
final String provider = provide.getAttribute( "name" );
- final DependencyMetaData metaData = new DependencyMetaData( role, provider );
+ final Association metaData = new Association( role, provider );
dependencies.add( metaData );
}
- return (DependencyMetaData[])dependencies.toArray( new DependencyMetaData[ dependencies.size() ] );
+ return (Association[])dependencies.toArray( new Association[ dependencies.size() ] );
}
private ComponentInfo getComponentInfo( final String impl )
1.9 +13 -13 jakarta-avalon-excalibur/containerkit/src/java/org/apache/excalibur/containerkit/lifecycle/impl/AbstractResourceProvider.java
Index: AbstractResourceProvider.java
===================================================================
RCS file: /home/cvs/jakarta-avalon-excalibur/containerkit/src/java/org/apache/excalibur/containerkit/lifecycle/impl/AbstractResourceProvider.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- AbstractResourceProvider.java 4 Jul 2002 03:54:41 -0000 1.8
+++ AbstractResourceProvider.java 6 Jul 2002 00:58:38 -0000 1.9
@@ -23,8 +23,8 @@
import org.apache.avalon.framework.service.ServiceManager;
import org.apache.avalon.framework.configuration.Configuration;
import org.apache.excalibur.containerkit.lifecycle.ResourceProvider;
-import org.apache.excalibur.containerkit.metadata.ComponentMetaData;
-import org.apache.excalibur.containerkit.metadata.DependencyMetaData;
+import org.apache.excalibur.containerkit.metadata.ComponentPolicy;
+import org.apache.excalibur.containerkit.metadata.Association;
import org.apache.excalibur.containerkit.metainfo.ComponentInfo;
import org.apache.excalibur.containerkit.metainfo.ContextDescriptor;
import org.apache.excalibur.containerkit.metainfo.EntryDescriptor;
@@ -85,7 +85,7 @@
public Parameters createParameters( Object entry )
throws Exception
{
- final ComponentMetaData component = getMetaData( entry );
+ final ComponentPolicy component = getMetaData( entry );
final Parameters parameters = component.getParameters();
if( null == parameters )
{
@@ -108,7 +108,7 @@
public Configuration createConfiguration( Object entry )
throws Exception
{
- final ComponentMetaData component = getMetaData( entry );
+ final ComponentPolicy component = getMetaData( entry );
final Configuration configuration = component.getConfiguration();
if( null == configuration )
{
@@ -136,16 +136,16 @@
}
/**
- * Return the {@link ComponentMetaData} for specified component entry.
- * This implementation assumes that entry is instance of {@link org.apache.excalibur.containerkit.metadata.ComponentMetaData}
+ * Return the {@link ComponentPolicy} for specified component entry.
+ * This implementation assumes that entry is instance of {@link org.apache.excalibur.containerkit.metadata.ComponentPolicy}
* but subclasses should overide this method if this assumption does not hold true.
*
* @param entry the component entry
* @return the ComponentMetaData
*/
- protected ComponentMetaData getMetaData( final Object entry )
+ protected ComponentPolicy getMetaData( final Object entry )
{
- return (ComponentMetaData)entry;
+ return (ComponentPolicy)entry;
}
/**
@@ -158,7 +158,7 @@
public final Context createContext( final Object componentEntry )
throws Exception
{
- final ComponentMetaData component = getMetaData( componentEntry );
+ final ComponentPolicy component = getMetaData( componentEntry );
final String componentName = component.getName();
final ContextDescriptor descriptor =
@@ -306,15 +306,15 @@
private Map createServiceMap( final Object componentEntry )
throws Exception
{
- final ComponentMetaData component = getMetaData( componentEntry );
+ final ComponentPolicy component = getMetaData( componentEntry );
final ComponentInfo info = component.getComponentInfo();
- final DependencyMetaData[] dependencies = component.getDependencies();
+ final Association[] dependencies = component.getDependencies();
final HashMap services = new HashMap();
for( int i = 0; i < dependencies.length; i++ )
{
- final DependencyMetaData dependency = dependencies[ i ];
+ final Association dependency = dependencies[ i ];
final String role = dependency.getRole();
final String providerName = dependency.getProviderName();
final boolean optional = info.getDependency( role ).isOptional();
1.1 jakarta-avalon-excalibur/containerkit/src/java/org/apache/excalibur/containerkit/metadata/Association.java
Index: Association.java
===================================================================
/*
* Copyright (C) The Apache Software Foundation. All rights reserved.
*
* This software is published under the terms of the Apache Software License
* version 1.1, a copy of which has been included with this distribution in
* the LICENSE.txt file.
*/
package org.apache.excalibur.containerkit.metadata;
/**
* The DependencyMetaData is the mapping of a component as a dependency
* of another component. Each component declares dependencies (via ComponentInfo)
* and for each dependency there must be a coressponding DependencyMetaData which
* has a matching role. The name value in DependencyMetaData object must refer
* to another Component that implements a service as specified in DependencyInfo.
*
* <p>Note that it is invalid to have circular dependencies.</p>
*
* @author <a href="mailto:peter@apache.org">Peter Donald</a>
* @author <a href="mailto:mcconnell@apache.org">Stephen McConnell</a>
* @version $Revision: 1.1 $ $Date: 2002/07/06 00:58:38 $
*/
public final class Association
{
/**
* The name that the client component will use to access a dependency.
*/
private final String m_role;
/**
* the name of the component metadata instance that represents a component
* type that is capable of fullfilling the dependency.
*/
private final String m_providerName;
/**
* Create MetaData with specified name and role.
*
* @param role the name client uses to access component
* @param providerName the name of <code>ComponentMetaData</code> instance
* that is associated as a service provider
*/
public Association( final String role,
final String providerName )
{
m_role = role;
m_providerName = providerName;
}
/**
* Return the name that will be used by a component instance to access a
* dependent service.
*
* @return the name that the client component will use to access dependency.
* @see org.apache.avalon.framework.service.ServiceManager#lookup( String )
*/
public String getRole()
{
return m_role;
}
/**
* Return the name of a <code>ComponentMetaData</code> instance that will used to
* fulfill the dependency.
*
* @return the name of the Component that will provide the dependency.
*/
public String getProviderName()
{
return m_providerName;
}
}
1.1 jakarta-avalon-excalibur/containerkit/src/java/org/apache/excalibur/containerkit/metadata/ComponentPolicy.java
Index: ComponentPolicy.java
===================================================================
/*
* Copyright (C) The Apache Software Foundation. All rights reserved.
*
* This software is published under the terms of the Apache Software License
* version 1.1, a copy of which has been included with this distribution in
* the LICENSE.txt file.
*/
package org.apache.excalibur.containerkit.metadata;
import org.apache.avalon.framework.configuration.Configuration;
import org.apache.avalon.framework.parameters.Parameters;
import org.apache.excalibur.containerkit.metainfo.ComponentInfo;
/**
* Each component declared in the application is represented by
* a ComponentPolicy. Note that this does not necessarily imply
* that there is only one instance of actual component. The
* ComponentMetaData could represent a pool of components, a single
* component or a component prototype that is reused to create
* new components as needed.
*
* @author <a href="mailto:peter@apache.org">Peter Donald</a>
* @author <a href="mailto:mcconnell@apache.org">Stephen McConnell</a>
* @version $Revision: 1.1 $ $Date: 2002/07/06 00:58:38 $
*/
public class ComponentPolicy
{
/**
* The name of the component metadata instance. This is an
* abstract name used during assembly.
*/
private final String m_name;
/**
* The resolution of any dependencies required by
* the component type.
*/
private final Association[] m_dependencies;
/**
* The info object for component type.
*/
private final ComponentInfo m_componentInfo;
/**
* The parameters for component (if any).
*/
private final Parameters m_parameters;
/**
* The configuration for component (if any).
*/
private final Configuration m_configuration;
/**
* Create a ComponentPolicy.
*
* @param name the abstract name of component meta data instance
* @param dependencies the meta data for any dependencies
* @param componentInfo the component componentInfo desribing the component type
*/
public ComponentPolicy( final String name,
final Association[] dependencies,
final Parameters parameters,
final Configuration configuration,
final ComponentInfo componentInfo )
{
if( null == name )
{
throw new NullPointerException( "name" );
}
if( null == dependencies )
{
throw new NullPointerException( "dependencies" );
}
if( null == componentInfo )
{
throw new NullPointerException( "componentInfo" );
}
m_name = name;
m_dependencies = dependencies;
m_parameters = parameters;
m_configuration = configuration;
m_componentInfo = componentInfo;
}
/**
* Return the name of component profile.
*
* @return the name of the component profile.
*/
public String getName()
{
return m_name;
}
/**
* Return the info for component.
*
* @return the info for component type.
*/
public ComponentInfo getComponentInfo()
{
return m_componentInfo;
}
/**
* Return the dependency for component.
*
* @return the dependency for component.
*/
public Association[] getDependencies()
{
return m_dependencies;
}
/**
* Return the Parameters for Component (if any).
*
* @return the Parameters for Component (if any).
*/
public Parameters getParameters()
{
return m_parameters;
}
/**
* Return the Configuration for Component (if any).
*
* @return the Configuration for Component (if any).
*/
public Configuration getConfiguration()
{
return m_configuration;
}
/**
* Return the dependency for component with specified role.
*
* @return the dependency for component with specified role.
*/
public Association getDependency( final String role )
{
for( int i = 0; i < m_dependencies.length; i++ )
{
if( m_dependencies[ i ].getRole().equals( role ) )
{
return m_dependencies[ i ];
}
}
return null;
}
}
1.25 +31 -31 jakarta-avalon-excalibur/containerkit/src/java/org/apache/excalibur/containerkit/verifier/AssemblyVerifier.java
Index: AssemblyVerifier.java
===================================================================
RCS file: /home/cvs/jakarta-avalon-excalibur/containerkit/src/java/org/apache/excalibur/containerkit/verifier/AssemblyVerifier.java,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -r1.24 -r1.25
--- AssemblyVerifier.java 23 Jun 2002 14:58:26 -0000 1.24
+++ AssemblyVerifier.java 6 Jul 2002 00:58:39 -0000 1.25
@@ -12,8 +12,8 @@
import org.apache.avalon.excalibur.i18n.ResourceManager;
import org.apache.avalon.excalibur.i18n.Resources;
import org.apache.avalon.framework.logger.AbstractLogEnabled;
-import org.apache.excalibur.containerkit.metadata.ComponentMetaData;
-import org.apache.excalibur.containerkit.metadata.DependencyMetaData;
+import org.apache.excalibur.containerkit.metadata.ComponentPolicy;
+import org.apache.excalibur.containerkit.metadata.Association;
import org.apache.excalibur.containerkit.metainfo.ComponentInfo;
import org.apache.excalibur.containerkit.metainfo.DependencyDescriptor;
import org.apache.excalibur.containerkit.metainfo.ServiceDescriptor;
@@ -60,7 +60,7 @@
* @param components the Components that make up assembly
* @throws VerifyException if an error occurs
*/
- public void verifyAssembly( final ComponentMetaData[] components )
+ public void verifyAssembly( final ComponentPolicy[] components )
throws VerifyException
{
String message = null;
@@ -92,7 +92,7 @@
* @param components the ComponentMetaData objects for the components
* @throws VerifyException if an error occurs
*/
- public void verifyValidDependencies( final ComponentMetaData[] components )
+ public void verifyValidDependencies( final ComponentPolicy[] components )
throws VerifyException
{
for( int i = 0; i < components.length; i++ )
@@ -107,12 +107,12 @@
* @param components the ComponentMetaData objects for the components
* @throws VerifyException if an circular dependency error occurs
*/
- protected void verifyNoCircularDependencies( final ComponentMetaData[] components )
+ protected void verifyNoCircularDependencies( final ComponentPolicy[] components )
throws VerifyException
{
for( int i = 0; i < components.length; i++ )
{
- final ComponentMetaData component = components[ i ];
+ final ComponentPolicy component = components[ i ];
final Stack stack = new Stack();
stack.push( component );
@@ -129,15 +129,15 @@
* @param stack the ???
* @throws VerifyException if an error occurs
*/
- protected void verifyNoCircularDependencies( final ComponentMetaData component,
- final ComponentMetaData[] components,
+ protected void verifyNoCircularDependencies( final ComponentPolicy component,
+ final ComponentPolicy[] components,
final Stack stack )
throws VerifyException
{
- final ComponentMetaData[] dependencies = getDependencies( component, components );
+ final ComponentPolicy[] dependencies = getDependencies( component, components );
for( int i = 0; i < dependencies.length; i++ )
{
- final ComponentMetaData dependency = dependencies[ i ];
+ final ComponentPolicy dependency = dependencies[ i ];
if( stack.contains( dependency ) )
{
final String trace = getDependencyTrace( dependency, stack );
@@ -162,7 +162,7 @@
* @param stack the Stack
* @return the path of dependency
*/
- protected String getDependencyTrace( final ComponentMetaData component,
+ protected String getDependencyTrace( final ComponentPolicy component,
final Stack stack )
{
final StringBuffer sb = new StringBuffer();
@@ -173,7 +173,7 @@
final int top = size - 1;
for( int i = top; i >= 0; i-- )
{
- final ComponentMetaData other = (ComponentMetaData)stack.get( i );
+ final ComponentPolicy other = (ComponentPolicy)stack.get( i );
if( top != i )
{
sb.append( ", " );
@@ -201,20 +201,20 @@
* @param components the total set of components in application
* @return the dependencies of component
*/
- protected ComponentMetaData[] getDependencies( final ComponentMetaData component,
- final ComponentMetaData[] components )
+ protected ComponentPolicy[] getDependencies( final ComponentPolicy component,
+ final ComponentPolicy[] components )
{
final ArrayList dependencies = new ArrayList();
- final DependencyMetaData[] deps = component.getDependencies();
+ final Association[] deps = component.getDependencies();
for( int i = 0; i < deps.length; i++ )
{
final String name = deps[ i ].getProviderName();
- final ComponentMetaData other = getComponentMetaData( name, components );
+ final ComponentPolicy other = getComponentMetaData( name, components );
dependencies.add( other );
}
- return (ComponentMetaData[])dependencies.toArray( new ComponentMetaData[ 0 ] );
+ return (ComponentPolicy[])dependencies.toArray( new ComponentPolicy[ 0 ] );
}
/**
@@ -223,7 +223,7 @@
* @param components the ComponentMetaData objects for the components
* @throws VerifyException if an error occurs
*/
- protected void verifyDependencyReferences( final ComponentMetaData[] components )
+ protected void verifyDependencyReferences( final ComponentPolicy[] components )
throws VerifyException
{
for( int i = 0; i < components.length; i++ )
@@ -239,12 +239,12 @@
* @param others the ComponentMetaData objects for the other components
* @throws VerifyException if an error occurs
*/
- protected void verifyDependencyReferences( final ComponentMetaData component,
- final ComponentMetaData[] others )
+ protected void verifyDependencyReferences( final ComponentPolicy component,
+ final ComponentPolicy[] others )
throws VerifyException
{
final ComponentInfo info = component.getComponentInfo();
- final DependencyMetaData[] roles = component.getDependencies();
+ final Association[] roles = component.getDependencies();
for( int i = 0; i < roles.length; i++ )
{
@@ -254,7 +254,7 @@
info.getDependency( roleName ).getService();
//Get the other component that is providing service
- final ComponentMetaData provider = getComponentMetaData( providerName, others );
+ final ComponentPolicy provider = getComponentMetaData( providerName, others );
if( null == provider )
{
final String message =
@@ -287,8 +287,8 @@
* @param components the array of components to search
* @return the Component if found, else null
*/
- protected ComponentMetaData getComponentMetaData( final String name,
- final ComponentMetaData[] components )
+ protected ComponentPolicy getComponentMetaData( final String name,
+ final ComponentPolicy[] components )
{
for( int i = 0; i < components.length; i++ )
{
@@ -307,7 +307,7 @@
* @param components the Components metadata
* @throws VerifyException if an error occurs
*/
- protected void verifyValidNames( final ComponentMetaData[] components )
+ protected void verifyValidNames( final ComponentPolicy[] components )
throws VerifyException
{
for( int i = 0; i < components.length; i++ )
@@ -352,7 +352,7 @@
* @param components the Components
* @throws VerifyException if an error occurs
*/
- protected void checkNamesUnique( final ComponentMetaData[] components )
+ protected void checkNamesUnique( final ComponentPolicy[] components )
throws VerifyException
{
for( int i = 0; i < components.length; i++ )
@@ -370,7 +370,7 @@
* @param index the index of component in array (so we can skip it)
* @throws VerifyException if names are not unique
*/
- private void verifyUniqueName( final ComponentMetaData[] components,
+ private void verifyUniqueName( final ComponentPolicy[] components,
final String name,
final int index )
throws VerifyException
@@ -395,11 +395,11 @@
* @param component the ComponentMetaData describing the component
* @throws VerifyException if an error occurs
*/
- protected void verifyDependenciesMap( final ComponentMetaData component )
+ protected void verifyDependenciesMap( final ComponentPolicy component )
throws VerifyException
{
//Make sure all role entries specified in config file are valid
- final DependencyMetaData[] dependencySet = component.getDependencies();
+ final Association[] dependencySet = component.getDependencies();
for( int i = 0; i < dependencySet.length; i++ )
{
@@ -424,7 +424,7 @@
for( int i = 0; i < dependencies.length; i++ )
{
final DependencyDescriptor dependency = dependencies[ i ];
- final DependencyMetaData role = component.getDependency( dependency.getRole() );
+ final Association role = component.getDependency( dependency.getRole() );
//If there is no Role then the user has failed
//to specify a needed dependency.
1.6 +8 -8 jakarta-avalon-excalibur/containerkit/src/java/org/apache/excalibur/containerkit/verifier/MetaDataVerifier.java
Index: MetaDataVerifier.java
===================================================================
RCS file: /home/cvs/jakarta-avalon-excalibur/containerkit/src/java/org/apache/excalibur/containerkit/verifier/MetaDataVerifier.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- MetaDataVerifier.java 25 Jun 2002 07:41:37 -0000 1.5
+++ MetaDataVerifier.java 6 Jul 2002 00:58:39 -0000 1.6
@@ -14,7 +14,7 @@
import org.apache.avalon.framework.logger.AbstractLogEnabled;
import org.apache.avalon.framework.logger.Logger;
import org.apache.avalon.framework.service.Serviceable;
-import org.apache.excalibur.containerkit.metadata.ComponentMetaData;
+import org.apache.excalibur.containerkit.metadata.ComponentPolicy;
import org.apache.excalibur.containerkit.metainfo.ComponentInfo;
import org.apache.excalibur.containerkit.metainfo.ContextDescriptor;
import org.apache.excalibur.containerkit.metainfo.ServiceDescriptor;
@@ -85,7 +85,7 @@
* @param classLoader the ClassLoader to load component from
* @throws VerifyException if an error occurs
*/
- public void verifyType( final ComponentMetaData component,
+ public void verifyType( final ComponentPolicy component,
final ClassLoader classLoader )
throws VerifyException
{
@@ -100,7 +100,7 @@
* @param component the ComponentMetaData object for the components
* @throws VerifyException if an error occurs
*/
- public void verifyType( final ComponentMetaData component,
+ public void verifyType( final ComponentPolicy component,
final Class clazz )
throws VerifyException
{
@@ -124,7 +124,7 @@
* @param clazz the class implementing component
* @throws VerifyException if fails verification check
*/
- protected void verifyContextPresence( final ComponentMetaData component,
+ protected void verifyContextPresence( final ComponentPolicy component,
final Class clazz )
throws VerifyException
{
@@ -156,7 +156,7 @@
* @param clazz the class implementing component
* @throws VerifyException if fails verification check
*/
- protected void verifyDependencyPresence( final ComponentMetaData component,
+ protected void verifyDependencyPresence( final ComponentPolicy component,
final Class clazz )
throws VerifyException
{
@@ -225,7 +225,7 @@
* @throws VerifyException if unable to aquire class object
*/
private Class getClass( final ClassLoader classLoader,
- final ComponentMetaData component )
+ final ComponentPolicy component )
throws VerifyException
{
Class clazz = null;
@@ -251,7 +251,7 @@
* @param component the component
* @return the classname for component
*/
- private String getClassname( final ComponentMetaData component )
+ private String getClassname( final ComponentPolicy component )
{
return component.getComponentInfo().getComponentDescriptor().getImplementationKey();
}
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>