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 2003/07/28 15:27:00 UTC
cvs commit: avalon-sandbox/meta/tools/src/java/org/apache/avalon/meta/info/builder/tags ContextTag.java
mcconnell 2003/07/28 06:26:59
Modified: merlin/assembly/src/java/org/apache/avalon/assembly/appliance/impl
ContextBuilder.java
merlin/composition/src/java/org/apache/avalon/composition/model/impl
DefaultContextModel.java
merlin/merlin-platform/tutorials/context_casting build.xml
meta/api/src/java/org/apache/avalon/meta/info
ContextDescriptor.java
meta/api/src/test/org/apache/avalon/meta/info/test
ContextDescriptorTestCase.java TypeTestCase.java
meta/impl/src/java/org/apache/avalon/meta/info/builder
XMLLegacyCreator.java XMLTypeCreator.java
meta/impl/src/java/org/apache/avalon/meta/info/writer
XMLTypeWriter.java
meta/tools/src/java/org/apache/avalon/meta/info/builder/tags
ContextTag.java
Log:
Update of the context descriptor so that it does not reference ReferenceDescriptor, but simply reference the interface type-safe classname.
Revision Changes Path
1.5 +17 -16 avalon-sandbox/merlin/assembly/src/java/org/apache/avalon/assembly/appliance/impl/ContextBuilder.java
Index: ContextBuilder.java
===================================================================
RCS file: /home/cvs/avalon-sandbox/merlin/assembly/src/java/org/apache/avalon/assembly/appliance/impl/ContextBuilder.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- ContextBuilder.java 19 Jul 2003 01:54:35 -0000 1.4
+++ ContextBuilder.java 28 Jul 2003 13:26:53 -0000 1.5
@@ -144,7 +144,8 @@
// entries declared within a service definition if one exists
//
- EntryDescriptor[] entries = getMergedEntries( services, descriptor );
+ //EntryDescriptor[] entries = getMergedEntries( services, descriptor );
+ EntryDescriptor[] entries = descriptor.getEntries();
//
// commence population of the map
@@ -284,20 +285,20 @@
return map;
}
- private static EntryDescriptor[] getMergedEntries(
- ServiceRepository services, ContextDescriptor descriptor )
- throws IllegalArgumentException
- {
- try
- {
- Service service = services.getService( descriptor.getReference() );
- EntryDescriptor[] result = descriptor.merge( service.getEntries() );
- return result;
- } catch( UnknownServiceException e )
- {
- return descriptor.getEntries();
- }
- }
+ //private static EntryDescriptor[] getMergedEntries(
+ // ServiceRepository services, ContextDescriptor descriptor )
+ // throws IllegalArgumentException
+ //{
+ // try
+ // {
+ // Service service = services.getService( descriptor.getReference() );
+ // EntryDescriptor[] result = descriptor.merge( service.getEntries() );
+ // return result;
+ // } catch( UnknownServiceException e )
+ // {
+ // return descriptor.getEntries();
+ // }
+ //}
/**
* Internal utility to get a context value or null if the context key
1.7 +2 -2 avalon-sandbox/merlin/composition/src/java/org/apache/avalon/composition/model/impl/DefaultContextModel.java
Index: DefaultContextModel.java
===================================================================
RCS file: /home/cvs/avalon-sandbox/merlin/composition/src/java/org/apache/avalon/composition/model/impl/DefaultContextModel.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- DefaultContextModel.java 26 Jul 2003 16:28:21 -0000 1.6
+++ DefaultContextModel.java 28 Jul 2003 13:26:53 -0000 1.7
@@ -427,7 +427,7 @@
Class castingClass = null;
final String castingClassName =
- descriptor.getReference().getClassname();
+ descriptor.getContextInterfaceClassname();
if( castingClassName != null )
{
1.2 +6 -3 avalon-sandbox/merlin/merlin-platform/tutorials/context_casting/build.xml
Index: build.xml
===================================================================
RCS file: /home/cvs/avalon-sandbox/merlin/merlin-platform/tutorials/context_casting/build.xml,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- build.xml 10 Jun 2003 02:12:22 -0000 1.1
+++ build.xml 28 Jul 2003 13:26:54 -0000 1.2
@@ -14,12 +14,15 @@
<property environment="env"/>
<property name="merlin.home" value="${env.MERLIN_HOME}"/>
- <property name="framework.jar"
- value="${merlin.home}/lib/shared/avalon-framework-4.1.4.jar" />
+ <property name="framework-api.jar"
+ value="${merlin.home}/lib/shared/avalon-framework-api-SNAPSHOT.jar" />
+ <property name="framework-impl.jar"
+ value="${merlin.home}/lib/system/avalon-framework-impl-SNAPSHOT.jar" />
<path id="project.class.path">
<pathelement path="${java.class.path}" />
- <pathelement location="${framework.jar}"/>
+ <pathelement location="${framework-api.jar}"/>
+ <pathelement location="${framework-impl.jar}"/>
<fileset dir="${classes.dir}"/>
</path>
1.8 +36 -18 avalon-sandbox/meta/api/src/java/org/apache/avalon/meta/info/ContextDescriptor.java
Index: ContextDescriptor.java
===================================================================
RCS file: /home/cvs/avalon-sandbox/meta/api/src/java/org/apache/avalon/meta/info/ContextDescriptor.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- ContextDescriptor.java 24 Jul 2003 12:12:00 -0000 1.7
+++ ContextDescriptor.java 28 Jul 2003 13:26:55 -0000 1.8
@@ -115,11 +115,17 @@
public static final String STRATEGY_KEY =
"urn:avalon:context.strategy";
+ /**
+ * Context interface classname.
+ */
+ public static final String AVALON_CONTEXT_CLASSNAME =
+ "org.apache.avalon.framework.context.Context";
+
//---------------------------------------------------------
// immutable state
//---------------------------------------------------------
- private final ReferenceDescriptor m_reference;
+ private final String m_classname;
private final EntryDescriptor[] m_entries;
@@ -128,25 +134,34 @@
//---------------------------------------------------------
/**
+ * Create a standard descriptor without attributes.
+ * @param classname the classname of a castable interface
+ * @param entries the set of entries required within the context
+ */
+ public ContextDescriptor( final EntryDescriptor[] entries )
+ {
+ this( null, entries, null );
+ }
+
+ /**
* Create a descriptor without attributes.
- * @param reference the classname of the context class
+ * @param classname the classname of a castable interface
* @param entries the set of entries required within the context
*/
- public ContextDescriptor( final ReferenceDescriptor reference,
+ public ContextDescriptor( final String classname,
final EntryDescriptor[] entries )
{
- this( reference, entries, null );
+ this( classname, entries, null );
}
/**
* Create a descriptor.
- * @param reference the reference descriptor describing the context type
+ * @param classname the classname of a castable interface
* @param entries the set of entries required within the context
* @param attributes supplimentary attributes associated with the context
- * @exception NullPointerException if type or entries argument is null
- * @exception IllegalArgumentException if the classname format is invalid
+ * @exception NullPointerException if the entries argument is null
*/
- public ContextDescriptor( final ReferenceDescriptor reference,
+ public ContextDescriptor( final String classname,
final EntryDescriptor[] entries,
final Properties attributes )
throws NullPointerException, IllegalArgumentException
@@ -157,12 +172,15 @@
{
throw new NullPointerException( "entries" );
}
- if ( null == reference )
+
+ if ( null == classname )
+ {
+ m_classname = AVALON_CONTEXT_CLASSNAME;
+ }
+ else
{
- throw new NullPointerException( "reference" );
+ m_classname = classname;
}
-
- m_reference = reference;
m_entries = entries;
}
@@ -171,15 +189,15 @@
//---------------------------------------------------------
/**
- * Return the reference decription for the context
+ * Return the classname of the context
* object interface that the supplied context argument
* supports under a type-safe cast.
*
* @return the reference descriptor.
*/
- public ReferenceDescriptor getReference()
+ public String getContextInterfaceClassname()
{
- return m_reference;
+ return m_classname;
}
/**
@@ -277,7 +295,7 @@
if( isEqual )
{
ContextDescriptor entity = (ContextDescriptor) other;
- isEqual = isEqual && m_reference.equals( entity.m_reference );
+ isEqual = isEqual && m_classname.equals( entity.m_classname );
for( int i=0; i<m_entries.length; i++ )
{
isEqual = isEqual && m_entries[i].equals( entity.m_entries[i] );
@@ -294,7 +312,7 @@
{
int hash = super.hashCode();
hash >>>= 7;
- hash ^= m_reference.hashCode();
+ hash ^= m_classname.hashCode();
for( int i=0; i<m_entries.length; i++ )
{
hash >>>= 7;
1.4 +4 -4 avalon-sandbox/meta/api/src/test/org/apache/avalon/meta/info/test/ContextDescriptorTestCase.java
Index: ContextDescriptorTestCase.java
===================================================================
RCS file: /home/cvs/avalon-sandbox/meta/api/src/test/org/apache/avalon/meta/info/test/ContextDescriptorTestCase.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- ContextDescriptorTestCase.java 10 Jul 2003 21:01:10 -0000 1.3
+++ ContextDescriptorTestCase.java 28 Jul 2003 13:26:56 -0000 1.4
@@ -63,7 +63,7 @@
*/
public class ContextDescriptorTestCase extends AbstractDescriptorTestCase
{
- private ReferenceDescriptor m_reference;
+ private String m_classname;
private EntryDescriptor[] m_entries;
public ContextDescriptorTestCase( String name )
@@ -73,7 +73,7 @@
protected Descriptor getDescriptor()
{
- return new ContextDescriptor( m_reference, m_entries, getProperties() );
+ return new ContextDescriptor( m_classname, m_entries, getProperties() );
}
protected void checkDescriptor( Descriptor desc )
@@ -81,7 +81,7 @@
super.checkDescriptor( desc );
ContextDescriptor ctxd = (ContextDescriptor) desc;
- assertEquals( m_reference, ctxd.getReference() );
+ assertEquals( m_classname, ctxd.getContextInterfaceClassname() );
assertEquals( m_entries.length, ctxd.getEntries().length );
EntryDescriptor[] entries = ctxd.getEntries();
@@ -126,7 +126,7 @@
public void setUp()
{
- m_reference = new ReferenceDescriptor( ContextDescriptorTestCase.class.getName(), new Version( 1, 0, 0 ) );
+ m_classname = "org.apache.avalon.playground.MyContext";
m_entries = new EntryDescriptor[]{
new EntryDescriptor( "key", String.class.getName() )
};
1.4 +2 -1 avalon-sandbox/meta/api/src/test/org/apache/avalon/meta/info/test/TypeTestCase.java
Index: TypeTestCase.java
===================================================================
RCS file: /home/cvs/avalon-sandbox/meta/api/src/test/org/apache/avalon/meta/info/test/TypeTestCase.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- TypeTestCase.java 18 Jul 2003 08:26:30 -0000 1.3
+++ TypeTestCase.java 28 Jul 2003 13:26:57 -0000 1.4
@@ -89,7 +89,8 @@
m_loggers = new CategoryDescriptor[] {
new CategoryDescriptor("name", new Properties())
};
- m_context = new ContextDescriptor(m_reference, new EntryDescriptor[0]);
+ m_context = new ContextDescriptor(
+ TypeTestCase.class.getName(), new EntryDescriptor[0]);
m_services = new ServiceDescriptor[] {
new ServiceDescriptor(m_reference)
};
1.9 +5 -8 avalon-sandbox/meta/impl/src/java/org/apache/avalon/meta/info/builder/XMLLegacyCreator.java
Index: XMLLegacyCreator.java
===================================================================
RCS file: /home/cvs/avalon-sandbox/meta/impl/src/java/org/apache/avalon/meta/info/builder/XMLLegacyCreator.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- XMLLegacyCreator.java 24 Jul 2003 12:12:01 -0000 1.8
+++ XMLLegacyCreator.java 28 Jul 2003 13:26:57 -0000 1.9
@@ -207,9 +207,6 @@
private ContextDescriptor buildPhoenixContext()
{
- ReferenceDescriptor reference =
- createReference( "org.apache.avalon.framework.context.Context" );
-
EntryDescriptor name =
new EntryDescriptor(
ContextDescriptor.NAME_KEY,
@@ -224,15 +221,15 @@
"java.io.File", false, false, "app.home" );
return new ContextDescriptor(
- reference, new EntryDescriptor[]{ name, partition, home }, null );
+ null, new EntryDescriptor[]{ name, partition, home }, null );
}
/**
* A utility method to build an array of {@link ServiceDescriptor}
- * objects from specified configuraiton.
+ * objects from specified configuration.
*
- * @param servicesSet the services configuration
- * @return the created ServiceDescriptor
+ * @param depSet the set of dependency configurations
+ * @return the created dependency descriptor
* @throws ConfigurationException if an error occurs
*/
protected DependencyDescriptor[] buildBlockDependencies( final Configuration depSet )
1.10 +2 -3 avalon-sandbox/meta/impl/src/java/org/apache/avalon/meta/info/builder/XMLTypeCreator.java
Index: XMLTypeCreator.java
===================================================================
RCS file: /home/cvs/avalon-sandbox/meta/impl/src/java/org/apache/avalon/meta/info/builder/XMLTypeCreator.java,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- XMLTypeCreator.java 26 Jul 2003 11:10:11 -0000 1.9
+++ XMLTypeCreator.java 28 Jul 2003 13:26:58 -0000 1.10
@@ -386,8 +386,7 @@
final Properties attributes =
buildAttributes( context.getChild( "attributes" ) );
- ReferenceDescriptor reference =
- buildReferenceDescriptor( context, Context.class.getName() );
+ String reference = context.getAttribute( "type", null );
return new ContextDescriptor( reference, entrys, attributes );
}
1.12 +2 -2 avalon-sandbox/meta/impl/src/java/org/apache/avalon/meta/info/writer/XMLTypeWriter.java
Index: XMLTypeWriter.java
===================================================================
RCS file: /home/cvs/avalon-sandbox/meta/impl/src/java/org/apache/avalon/meta/info/writer/XMLTypeWriter.java,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- XMLTypeWriter.java 26 Jul 2003 11:10:11 -0000 1.11
+++ XMLTypeWriter.java 28 Jul 2003 13:26:58 -0000 1.12
@@ -235,7 +235,7 @@
final ContextDescriptor context )
throws IOException
{
- final String type = context.getReference().getClassname();
+ final String type = context.getContextInterfaceClassname();
final EntryDescriptor[] entrys = context.getEntries();
final int count = context.getAttributeNames().length;
1.3 +4 -7 avalon-sandbox/meta/tools/src/java/org/apache/avalon/meta/info/builder/tags/ContextTag.java
Index: ContextTag.java
===================================================================
RCS file: /home/cvs/avalon-sandbox/meta/tools/src/java/org/apache/avalon/meta/info/builder/tags/ContextTag.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- ContextTag.java 11 Jul 2003 04:49:33 -0000 1.2
+++ ContextTag.java 28 Jul 2003 13:26:58 -0000 1.3
@@ -122,11 +122,9 @@
{
final JavaMethod[] methods =
getLifecycleMethods( "contextualize", CONTEXT_CLASS );
- if( methods.length == 0 )//null == method )
+ if( methods.length == 0 )
{
- return new ContextDescriptor(
- new ReferenceDescriptor( CONTEXT_CLASS ),
- new EntryDescriptor[0], null );
+ return new ContextDescriptor( null, new EntryDescriptor[0] );
}
else
{
@@ -157,8 +155,7 @@
}
final EntryDescriptor[] entries =
(EntryDescriptor[])list.toArray( new EntryDescriptor[ list.size() ] );
- return new ContextDescriptor(
- new ReferenceDescriptor( type ), entries, null );
+ return new ContextDescriptor( type, entries );
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: cvs-unsubscribe@avalon.apache.org
For additional commands, e-mail: cvs-help@avalon.apache.org