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/24 14:12:03 UTC
cvs commit: avalon-sandbox/meta/tools/src/test/org/apache/avalon/playground Primary.java Secondary.java
mcconnell 2003/07/24 05:12:02
Modified: meta .cvsignore
meta/api/src/java/org/apache/avalon/meta/info
ContextDescriptor.java InfoDescriptor.java
meta/api/src/test/org/apache/avalon/meta/info/test
AbstractDescriptorTestCase.java
CategoryDescriptorTestCase.java
DependencyDescriptorTestCase.java
ExtensionDescriptorTestCase.java
InfoDescriptorTestCase.java
ReferenceDescriptorTestCase.java
ServiceDescriptorTestCase.java
StageDescriptorTestCase.java
meta/impl/src/java/org/apache/avalon/meta/info/builder
TypeBuilder.java XMLLegacyCreator.java
XMLTypeCreator.java
meta/impl/src/java/org/apache/avalon/meta/info/writer
XMLTypeWriter.java
meta/impl/src/test/org/apache/avalon/meta/classic
ClassicTestCase.java
meta/impl/src/test/org/apache/avalon/meta/compat
CompatTestCase.java
meta/impl/src/test/org/apache/avalon/meta/legacy
LegacyTestCase.java
meta/site/xdocs/tools ant.xml
meta/site/xdocs/tools/maven index.xml
meta/site/xdocs/tools/tags context.xml dependency.xml
entry.xml extension.xml index.xml logger.xml
service.xml stage.xml type.xml
meta/tools/src/java/org/apache/avalon/meta/info/builder/tags
TypeTag.java
meta/tools/src/java/org/apache/avalon/meta/info/builder/tags/legacy
FortressComponentTag.java
meta/tools/src/test/org/apache/avalon/meta MetaTestCase.java
meta/tools/src/test/org/apache/avalon/playground
Primary.java Secondary.java
Added: meta/tools/src/java/org/apache/avalon/meta/info/builder/tags
SchemaTag.java
Log:
Code cleanup (removing unnecessary includes), move in-line declarations of keys used in legacy mapping to static fields, addition of configuration schema tag management and inclusion of support for legacy Phoenix schema mapping.
Revision Changes Path
1.4 +2 -1 avalon-sandbox/meta/.cvsignore
Index: .cvsignore
===================================================================
RCS file: /home/cvs/avalon-sandbox/meta/.cvsignore,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- .cvsignore 14 Jul 2003 22:30:01 -0000 1.3
+++ .cvsignore 24 Jul 2003 12:12:00 -0000 1.4
@@ -3,4 +3,5 @@
build.properties
target
build.xml
-build.xml
\ No newline at end of file
+build.xml
+.*
\ No newline at end of file
1.7 +52 -1 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.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- ContextDescriptor.java 14 Jul 2003 04:31:58 -0000 1.6
+++ ContextDescriptor.java 24 Jul 2003 12:12:00 -0000 1.7
@@ -74,12 +74,59 @@
*/
public class ContextDescriptor extends Descriptor
{
+ //---------------------------------------------------------
+ // static
+ //---------------------------------------------------------
+
+ /**
+ * The context entry key for accessing a component name.
+ */
+ public static final String NAME_KEY =
+ "urn:avalon:name";
+
+ /**
+ * The context entry key for accessing a component partition name.
+ */
+ public static final String PARTITION_KEY =
+ "urn:avalon:partition";
+
+ /**
+ * The context entry key for accessing a component home directory.
+ */
+ public static final String HOME_KEY =
+ "urn:avalon:home";
+
+ /**
+ * The context entry key for accessing a component temporary directory.
+ */
+ public static final String TEMP_KEY =
+ "urn:avalon:temp";
+
+ /**
+ * The context entry key for accessing a component classloader.
+ */
+ public static final String CLASSLOADER_KEY =
+ "urn:avalon:classloader";
+
+ /**
+ * Context attribute key used to declare a custom contextualization
+ * interface.
+ */
public static final String STRATEGY_KEY =
"urn:avalon:context.strategy";
+ //---------------------------------------------------------
+ // immutable state
+ //---------------------------------------------------------
+
private final ReferenceDescriptor m_reference;
+
private final EntryDescriptor[] m_entries;
+ //---------------------------------------------------------
+ // constructors
+ //---------------------------------------------------------
+
/**
* Create a descriptor without attributes.
* @param reference the classname of the context class
@@ -118,6 +165,10 @@
m_reference = reference;
m_entries = entries;
}
+
+ //---------------------------------------------------------
+ // implementation
+ //---------------------------------------------------------
/**
* Return the reference decription for the context
1.7 +30 -2 avalon-sandbox/meta/api/src/java/org/apache/avalon/meta/info/InfoDescriptor.java
Index: InfoDescriptor.java
===================================================================
RCS file: /home/cvs/avalon-sandbox/meta/api/src/java/org/apache/avalon/meta/info/InfoDescriptor.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- InfoDescriptor.java 12 Jul 2003 13:34:27 -0000 1.6
+++ InfoDescriptor.java 24 Jul 2003 12:12:00 -0000 1.7
@@ -76,6 +76,10 @@
*/
public final class InfoDescriptor extends Descriptor
{
+ //-------------------------------------------------------------------
+ // static
+ //-------------------------------------------------------------------
+
public static final String TRANSIENT = "transient";
public static final String SINGLETON = "singleton";
@@ -84,6 +88,9 @@
public static final String POOLED = "pooled";
+ //-------------------------------------------------------------------
+ // immutable state
+ //-------------------------------------------------------------------
/**
* The short name of the Component Type. Useful for displaying
@@ -108,6 +115,15 @@
private final String m_lifestyle;
/**
+ * The component configuration schema.
+ */
+ private final String m_schema;
+
+ //-------------------------------------------------------------------
+ // constructor
+ //-------------------------------------------------------------------
+
+ /**
* Creation of a new component descriptor using a supplied name, key, version
* and attribute set.
*
@@ -117,7 +133,7 @@
public InfoDescriptor( final String classname )
throws IllegalArgumentException
{
- this( null, classname, null, null, null );
+ this( null, classname, null, null, null, null );
}
/**
@@ -134,6 +150,7 @@
final String classname,
final Version version,
final String lifestyle,
+ final String schema,
final Properties attributes )
throws IllegalArgumentException
{
@@ -148,6 +165,7 @@
m_classname = classname;
m_version = version;
+ m_schema = schema;
if ( lifestyle == null )
{
@@ -203,6 +221,16 @@
public String getName()
{
return m_name;
+ }
+
+ /**
+ * Return the configuration schema.
+ *
+ * @return the schema declaration (possibly null)
+ */
+ public String getConfigurationSchema()
+ {
+ return m_schema;
}
/**
1.5 +3 -1 avalon-sandbox/meta/api/src/test/org/apache/avalon/meta/info/test/AbstractDescriptorTestCase.java
Index: AbstractDescriptorTestCase.java
===================================================================
RCS file: /home/cvs/avalon-sandbox/meta/api/src/test/org/apache/avalon/meta/info/test/AbstractDescriptorTestCase.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- AbstractDescriptorTestCase.java 10 Jul 2003 21:01:10 -0000 1.4
+++ AbstractDescriptorTestCase.java 24 Jul 2003 12:12:00 -0000 1.5
@@ -49,11 +49,13 @@
*/
package org.apache.avalon.meta.info.test;
-import junit.framework.TestCase;
import org.apache.avalon.meta.info.Descriptor;
import java.io.*;
import java.util.Properties;
+
+import junit.framework.TestCase;
+
/**
* AbstractDescriptorTestCase does XYZ
1.4 +0 -6 avalon-sandbox/meta/api/src/test/org/apache/avalon/meta/info/test/CategoryDescriptorTestCase.java
Index: CategoryDescriptorTestCase.java
===================================================================
RCS file: /home/cvs/avalon-sandbox/meta/api/src/test/org/apache/avalon/meta/info/test/CategoryDescriptorTestCase.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- CategoryDescriptorTestCase.java 11 Jul 2003 13:02:27 -0000 1.3
+++ CategoryDescriptorTestCase.java 24 Jul 2003 12:12:00 -0000 1.4
@@ -49,14 +49,8 @@
*/
package org.apache.avalon.meta.info.test;
-import junit.framework.TestCase;
import org.apache.avalon.meta.info.CategoryDescriptor;
import org.apache.avalon.meta.info.Descriptor;
-import org.apache.avalon.meta.info.ContextDescriptor;
-import org.apache.avalon.meta.info.EntryDescriptor;
-
-import java.io.*;
-import java.util.Properties;
/**
* CategoryTestCase does XYZ
1.2 +0 -1 avalon-sandbox/meta/api/src/test/org/apache/avalon/meta/info/test/DependencyDescriptorTestCase.java
Index: DependencyDescriptorTestCase.java
===================================================================
RCS file: /home/cvs/avalon-sandbox/meta/api/src/test/org/apache/avalon/meta/info/test/DependencyDescriptorTestCase.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- DependencyDescriptorTestCase.java 10 Jul 2003 21:01:10 -0000 1.1
+++ DependencyDescriptorTestCase.java 24 Jul 2003 12:12:00 -0000 1.2
@@ -49,7 +49,6 @@
*/
package org.apache.avalon.meta.info.test;
-import junit.framework.TestCase;
import org.apache.avalon.meta.info.Descriptor;
import org.apache.avalon.meta.info.DependencyDescriptor;
import org.apache.avalon.meta.info.ReferenceDescriptor;
1.3 +0 -3 avalon-sandbox/meta/api/src/test/org/apache/avalon/meta/info/test/ExtensionDescriptorTestCase.java
Index: ExtensionDescriptorTestCase.java
===================================================================
RCS file: /home/cvs/avalon-sandbox/meta/api/src/test/org/apache/avalon/meta/info/test/ExtensionDescriptorTestCase.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- ExtensionDescriptorTestCase.java 18 Jul 2003 08:26:30 -0000 1.2
+++ ExtensionDescriptorTestCase.java 24 Jul 2003 12:12:00 -0000 1.3
@@ -49,11 +49,8 @@
*/
package org.apache.avalon.meta.info.test;
-import junit.framework.TestCase;
import org.apache.avalon.meta.info.Descriptor;
import org.apache.avalon.meta.info.ExtensionDescriptor;
-import org.apache.avalon.meta.info.ReferenceDescriptor;
-import org.apache.avalon.framework.Version;
/**
* ExtensionDescriptorTestCase does XYZ
1.4 +24 -12 avalon-sandbox/meta/api/src/test/org/apache/avalon/meta/info/test/InfoDescriptorTestCase.java
Index: InfoDescriptorTestCase.java
===================================================================
RCS file: /home/cvs/avalon-sandbox/meta/api/src/test/org/apache/avalon/meta/info/test/InfoDescriptorTestCase.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- InfoDescriptorTestCase.java 11 Jul 2003 15:50:04 -0000 1.3
+++ InfoDescriptorTestCase.java 24 Jul 2003 12:12:00 -0000 1.4
@@ -49,14 +49,10 @@
*/
package org.apache.avalon.meta.info.test;
-import junit.framework.TestCase;
import org.apache.avalon.meta.info.InfoDescriptor;
import org.apache.avalon.meta.info.Descriptor;
import org.apache.avalon.framework.Version;
-import java.io.*;
-import java.util.Properties;
-
/**
* InfoDescriptorTestCase does XYZ
*
@@ -69,6 +65,7 @@
private final String m_classname = InfoDescriptorTestCase.class.getName();
private final Version m_version = Version.getVersion("1.2.3");
private final String m_lifestyle = InfoDescriptor.SINGLETON;
+ private final String m_schema = "schema";
public InfoDescriptorTestCase ( String name )
{
@@ -78,7 +75,7 @@
protected Descriptor getDescriptor()
{
return new InfoDescriptor(
- m_name, m_classname, m_version, m_lifestyle, getProperties());
+ m_name, m_classname, m_version, m_lifestyle, m_schema, getProperties());
}
protected void checkDescriptor( Descriptor desc )
@@ -89,13 +86,15 @@
assertEquals( m_classname, info.getClassname() );
assertEquals( m_version, info.getVersion() );
assertEquals( m_lifestyle, info.getLifestyle() );
+ assertEquals( m_schema, info.getConfigurationSchema() );
}
public void testConstructor()
{
try
{
- new InfoDescriptor( m_name, null, m_version, m_lifestyle, getProperties() );
+ new InfoDescriptor(
+ m_name, null, m_version, m_lifestyle, m_schema, getProperties() );
fail("Did not throw the proper NullPointerException");
}
catch (NullPointerException npe)
@@ -105,7 +104,9 @@
try
{
- new InfoDescriptor( m_name, "foo/fake/ClassName", m_version, m_lifestyle, getProperties());
+ new InfoDescriptor(
+ m_name, "foo/fake/ClassName", m_version, m_lifestyle,
+ m_schema, getProperties());
fail("Did not throw the proper IllegalArgumentException");
}
catch (IllegalArgumentException iae)
@@ -115,14 +116,25 @@
try
{
- new InfoDescriptor( m_name, m_classname, m_version, InfoDescriptor.POOLED, getProperties() );
- new InfoDescriptor( m_name, m_classname, m_version, InfoDescriptor.SINGLETON, getProperties() );
- new InfoDescriptor( m_name, m_classname, m_version, InfoDescriptor.THREAD, getProperties() );
- new InfoDescriptor( m_name, m_classname, m_version, InfoDescriptor.TRANSIENT, getProperties() );
+ new InfoDescriptor(
+ m_name, m_classname, m_version, InfoDescriptor.POOLED,
+ m_schema, getProperties() );
+ new InfoDescriptor(
+ m_name, m_classname, m_version, InfoDescriptor.SINGLETON,
+ m_schema, getProperties() );
+ new InfoDescriptor(
+ m_name, m_classname, m_version, InfoDescriptor.THREAD,
+ m_schema, getProperties() );
+ new InfoDescriptor(
+ m_name, m_classname, m_version, InfoDescriptor.TRANSIENT,
+ m_schema, getProperties() );
// All these should pass.
- new InfoDescriptor( m_name, m_classname, m_version, "Fake Lifestyle", getProperties() );
+ new InfoDescriptor(
+ m_name, m_classname, m_version, "Fake Lifestyle",
+ m_schema, getProperties() );
+
fail( "Did not throw the proper IllegalArgumentException" );
}
catch ( IllegalArgumentException iae )
1.3 +0 -1 avalon-sandbox/meta/api/src/test/org/apache/avalon/meta/info/test/ReferenceDescriptorTestCase.java
Index: ReferenceDescriptorTestCase.java
===================================================================
RCS file: /home/cvs/avalon-sandbox/meta/api/src/test/org/apache/avalon/meta/info/test/ReferenceDescriptorTestCase.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- ReferenceDescriptorTestCase.java 12 Jul 2003 21:12:06 -0000 1.2
+++ ReferenceDescriptorTestCase.java 24 Jul 2003 12:12:00 -0000 1.3
@@ -52,7 +52,6 @@
import junit.framework.TestCase;
import org.apache.avalon.framework.Version;
import org.apache.avalon.meta.info.ReferenceDescriptor;
-import org.apache.avalon.meta.info.EntryDescriptor;
import java.io.*;
1.2 +0 -1 avalon-sandbox/meta/api/src/test/org/apache/avalon/meta/info/test/ServiceDescriptorTestCase.java
Index: ServiceDescriptorTestCase.java
===================================================================
RCS file: /home/cvs/avalon-sandbox/meta/api/src/test/org/apache/avalon/meta/info/test/ServiceDescriptorTestCase.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- ServiceDescriptorTestCase.java 11 Jul 2003 20:12:21 -0000 1.1
+++ ServiceDescriptorTestCase.java 24 Jul 2003 12:12:00 -0000 1.2
@@ -49,7 +49,6 @@
*/
package org.apache.avalon.meta.info.test;
-import junit.framework.TestCase;
import org.apache.avalon.meta.info.*;
import org.apache.avalon.framework.Version;
1.3 +0 -2 avalon-sandbox/meta/api/src/test/org/apache/avalon/meta/info/test/StageDescriptorTestCase.java
Index: StageDescriptorTestCase.java
===================================================================
RCS file: /home/cvs/avalon-sandbox/meta/api/src/test/org/apache/avalon/meta/info/test/StageDescriptorTestCase.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- StageDescriptorTestCase.java 18 Jul 2003 08:26:30 -0000 1.2
+++ StageDescriptorTestCase.java 24 Jul 2003 12:12:00 -0000 1.3
@@ -49,9 +49,7 @@
*/
package org.apache.avalon.meta.info.test;
-import junit.framework.TestCase;
import org.apache.avalon.meta.info.*;
-import org.apache.avalon.framework.Version;
/**
* ServiceDescriptorTestCase does XYZ
1.7 +1 -2 avalon-sandbox/meta/impl/src/java/org/apache/avalon/meta/info/builder/TypeBuilder.java
Index: TypeBuilder.java
===================================================================
RCS file: /home/cvs/avalon-sandbox/meta/impl/src/java/org/apache/avalon/meta/info/builder/TypeBuilder.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- TypeBuilder.java 23 Jul 2003 20:20:14 -0000 1.6
+++ TypeBuilder.java 24 Jul 2003 12:12:01 -0000 1.7
@@ -58,7 +58,6 @@
import org.apache.avalon.framework.configuration.DefaultConfiguration;
import org.apache.avalon.framework.configuration.ConfigurationException;
import org.apache.avalon.meta.ConfigurationBuilder;
-import org.apache.excalibur.configuration.ConfigurationUtil;
import org.xml.sax.InputSource;
/**
1.8 +35 -15 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.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- XMLLegacyCreator.java 18 Jul 2003 08:26:30 -0000 1.7
+++ XMLLegacyCreator.java 24 Jul 2003 12:12:01 -0000 1.8
@@ -149,32 +149,39 @@
Configuration configuration = null;
configuration = info.getChild( "block" );
+
final InfoDescriptor descriptor =
- buildInfoDescriptor( classname, configuration );
+ buildInfoDescriptor( classname, configuration );
configuration = info.getChild( "loggers" );
final CategoryDescriptor[] loggers = new CategoryDescriptor[0];
- final ContextDescriptor context = buildPhoenixContext( );
+ final ContextDescriptor context =
+ buildPhoenixContext();
configuration = info.getChild( "services" );
- final ServiceDescriptor[] services = buildBlockServices( configuration );
+ final ServiceDescriptor[] services =
+ buildBlockServices( configuration );
configuration = info.getChild( "dependencies" );
- final DependencyDescriptor[] dependencies = buildBlockDependencies( configuration );
+ final DependencyDescriptor[] dependencies =
+ buildBlockDependencies( configuration );
configuration = info.getChild( "stages" );
- final StageDescriptor[] phases = buildStages( configuration );
+ final StageDescriptor[] phases =
+ buildStages( configuration );
configuration = info.getChild( "extensions" );
- final ExtensionDescriptor[] extensions = buildExtensions( configuration );
+ final ExtensionDescriptor[] extensions =
+ buildExtensions( configuration );
return new Type(
- descriptor, loggers, context, services, dependencies, phases, extensions );
+ descriptor, loggers, context, services, dependencies,
+ phases, extensions );
}
/**
* A utility method to build a {@link InfoDescriptor}
- * object from specified configuraiton data and classname.
+ * object from specified configuration data and classname.
*
* @param classname The classname of Component (used to create descriptor)
* @param info the component info configuration fragment
@@ -187,24 +194,35 @@
{
final String name =
info.getChild( "name" ).getValue( null );
+ final String schema =
+ info.getChild( "schema-type" ).getValue( null );
final Version version =
buildVersion( info.getChild( "version" ).getValue( "1.0" ) );
final Properties attributes =
buildAttributes( info.getChild( "attributes" ) );
final String lifestyle = InfoDescriptor.SINGLETON;
- return new InfoDescriptor( name, classname, version, lifestyle, attributes );
+ return new InfoDescriptor(
+ name, classname, version, lifestyle, schema, attributes );
}
private ContextDescriptor buildPhoenixContext()
{
ReferenceDescriptor reference =
createReference( "org.apache.avalon.framework.context.Context" );
+
EntryDescriptor name =
- new EntryDescriptor( "urn:avalon:name", "java.lang.String", false, false, "block.name" );
+ new EntryDescriptor(
+ ContextDescriptor.NAME_KEY,
+ "java.lang.String", false, false, "block.name" );
EntryDescriptor partition =
- new EntryDescriptor( "urn:avalon:partition", "java.lang.String", false, false, "app.name" );
+ new EntryDescriptor(
+ ContextDescriptor.PARTITION_KEY,
+ "java.lang.String", false, false, "app.name" );
EntryDescriptor home =
- new EntryDescriptor( "urn:avalon:home", "java.io.File", false, false, "app.home" );
+ new EntryDescriptor(
+ ContextDescriptor.PARTITION_KEY,
+ "java.io.File", false, false, "app.home" );
+
return new ContextDescriptor(
reference, new EntryDescriptor[]{ name, partition, home }, null );
}
@@ -224,10 +242,12 @@
final ArrayList dependencies = new ArrayList();
for( int i = 0; i < deps.length; i++ )
{
- final DependencyDescriptor dependency = buildBlockDependency( deps[ i ] );
+ final DependencyDescriptor dependency =
+ buildBlockDependency( deps[ i ] );
dependencies.add( dependency );
}
- return (DependencyDescriptor[])dependencies.toArray( new DependencyDescriptor[ 0 ] );
+ return (DependencyDescriptor[])dependencies.toArray(
+ new DependencyDescriptor[ 0 ] );
}
1.8 +5 -2 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.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- XMLTypeCreator.java 18 Jul 2003 08:26:30 -0000 1.7
+++ XMLTypeCreator.java 24 Jul 2003 12:12:01 -0000 1.8
@@ -449,11 +449,14 @@
info.getChild( "name" ).getValue( null );
final Version version =
buildVersion( info.getChild( "version" ).getValue( "1.0" ) );
+ final String schema =
+ info.getChild( "schema" ).getValue( null );
final Properties attributes =
buildAttributes( info.getChild( "attributes" ) );
final String lifestyle =
buildLifestyle( info, attributes );
- return new InfoDescriptor( name, classname, version, lifestyle, attributes );
+ return new InfoDescriptor(
+ name, classname, version, lifestyle, schema, attributes );
}
/**
1.10 +8 -1 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.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- XMLTypeWriter.java 18 Jul 2003 08:26:31 -0000 1.9
+++ XMLTypeWriter.java 24 Jul 2003 12:12:01 -0000 1.10
@@ -153,6 +153,13 @@
writer.write( info.getVersion().toString() );
writer.write( "</version>");
+ if( info.getConfigurationSchema() != null )
+ {
+ writer.write( "\n <schema>");
+ writer.write( info.getConfigurationSchema() );
+ writer.write( "</schema>");
+ }
+
writer.write( "\n <lifestyle>");
writer.write( info.getLifestyle() );
writer.write( "</lifestyle>" );
1.3 +0 -2 avalon-sandbox/meta/impl/src/test/org/apache/avalon/meta/classic/ClassicTestCase.java
Index: ClassicTestCase.java
===================================================================
RCS file: /home/cvs/avalon-sandbox/meta/impl/src/test/org/apache/avalon/meta/classic/ClassicTestCase.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- ClassicTestCase.java 12 Jul 2003 14:12:52 -0000 1.2
+++ ClassicTestCase.java 24 Jul 2003 12:12:01 -0000 1.3
@@ -2,8 +2,6 @@
package org.apache.avalon.meta.classic;
-import java.io.File;
-import java.io.IOException;
import org.apache.avalon.meta.info.Type;
import org.apache.avalon.meta.info.builder.TypeBuilder;
import junit.framework.TestCase;
1.3 +0 -2 avalon-sandbox/meta/impl/src/test/org/apache/avalon/meta/compat/CompatTestCase.java
Index: CompatTestCase.java
===================================================================
RCS file: /home/cvs/avalon-sandbox/meta/impl/src/test/org/apache/avalon/meta/compat/CompatTestCase.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- CompatTestCase.java 12 Jul 2003 14:12:53 -0000 1.2
+++ CompatTestCase.java 24 Jul 2003 12:12:01 -0000 1.3
@@ -2,8 +2,6 @@
package org.apache.avalon.meta.compat;
-import java.io.File;
-import java.io.IOException;
import org.apache.avalon.meta.info.Type;
import org.apache.avalon.meta.info.builder.TypeBuilder;
import junit.framework.TestCase;
1.3 +0 -2 avalon-sandbox/meta/impl/src/test/org/apache/avalon/meta/legacy/LegacyTestCase.java
Index: LegacyTestCase.java
===================================================================
RCS file: /home/cvs/avalon-sandbox/meta/impl/src/test/org/apache/avalon/meta/legacy/LegacyTestCase.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- LegacyTestCase.java 12 Jul 2003 14:12:53 -0000 1.2
+++ LegacyTestCase.java 24 Jul 2003 12:12:01 -0000 1.3
@@ -2,8 +2,6 @@
package org.apache.avalon.meta.legacy;
-import java.io.File;
-import java.io.IOException;
import org.apache.avalon.meta.info.Type;
import org.apache.avalon.meta.info.builder.TypeBuilder;
import junit.framework.TestCase;
1.3 +1 -1 avalon-sandbox/meta/site/xdocs/tools/ant.xml
Index: ant.xml
===================================================================
RCS file: /home/cvs/avalon-sandbox/meta/site/xdocs/tools/ant.xml,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- ant.xml 16 Jul 2003 00:05:55 -0000 1.2
+++ ant.xml 24 Jul 2003 12:12:01 -0000 1.3
@@ -80,7 +80,7 @@
/**
* An example component containing meta info under javadoc tags.
*
- * @avalon.type name="secondary-component" version="2.4" lifestyle="singleton"
+ * @avalon.component name="secondary-component" version="2.4" lifestyle="singleton"
* @avalon.service type="SecondaryService:0.1"
*/
public class Secondary extends AbstractLogEnabled
1.4 +1 -1 avalon-sandbox/meta/site/xdocs/tools/maven/index.xml
Index: index.xml
===================================================================
RCS file: /home/cvs/avalon-sandbox/meta/site/xdocs/tools/maven/index.xml,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- index.xml 15 Jul 2003 23:55:15 -0000 1.3
+++ index.xml 24 Jul 2003 12:12:01 -0000 1.4
@@ -20,7 +20,7 @@
<td>
<p>Generates meta info descriptors for service and component types
based on javadoc tags within the java source files. Source class files
- are scanned for the presence of an @avalon.type or @avalon service tag and if
+ are scanned for the presence of an @avalon.component or @avalon service tag and if
present, a meta descriptor is generated.</p>
<p>Meta info generation process includes:</p>
1.3 +2 -2 avalon-sandbox/meta/site/xdocs/tools/tags/context.xml
Index: context.xml
===================================================================
RCS file: /home/cvs/avalon-sandbox/meta/site/xdocs/tools/tags/context.xml,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- context.xml 16 Jul 2003 00:05:55 -0000 1.2
+++ context.xml 24 Jul 2003 12:12:01 -0000 1.3
@@ -19,7 +19,7 @@
/**
* Example of a component declaring a custom context argument type.
*
- * @avalon.type version="1.3" name="primary-component"
+ * @avalon.component version="1.3" name="primary-component"
*/
public class Primary implements Contextualizable
{
1.3 +2 -2 avalon-sandbox/meta/site/xdocs/tools/tags/dependency.xml
Index: dependency.xml
===================================================================
RCS file: /home/cvs/avalon-sandbox/meta/site/xdocs/tools/tags/dependency.xml,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- dependency.xml 16 Jul 2003 00:05:55 -0000 1.2
+++ dependency.xml 24 Jul 2003 12:12:01 -0000 1.3
@@ -19,7 +19,7 @@
/**
* Example of a component declaring multiple service dependencies.
*
- * @avalon.type version="1.0" name="demo"
+ * @avalon.component version="1.0" name="demo"
*/
public class Demo implements Serviceable
{
1.3 +2 -2 avalon-sandbox/meta/site/xdocs/tools/tags/entry.xml
Index: entry.xml
===================================================================
RCS file: /home/cvs/avalon-sandbox/meta/site/xdocs/tools/tags/entry.xml,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- entry.xml 16 Jul 2003 00:05:55 -0000 1.2
+++ entry.xml 24 Jul 2003 12:12:01 -0000 1.3
@@ -20,7 +20,7 @@
/**
* Example of a component declaring a context entry dependencies.
*
- * @avalon.type version="1.0" name="demo"
+ * @avalon.component version="1.0" name="demo"
*/
public class Primary implements Contextualizable
{
1.3 +2 -2 avalon-sandbox/meta/site/xdocs/tools/tags/extension.xml
Index: extension.xml
===================================================================
RCS file: /home/cvs/avalon-sandbox/meta/site/xdocs/tools/tags/extension.xml,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- extension.xml 16 Jul 2003 00:05:55 -0000 1.2
+++ extension.xml 24 Jul 2003 12:12:01 -0000 1.3
@@ -20,7 +20,7 @@
/**
* Example of a component declaring a stage handling capability.
*
- * @avalon.type version="0.1" name="handler"
+ * @avalon.component version="0.1" name="handler"
* @avalon.extension type="org.apache.avalon.plyground.Demonstratable"
*/
public class DemoExtension
1.3 +2 -2 avalon-sandbox/meta/site/xdocs/tools/tags/index.xml
Index: index.xml
===================================================================
RCS file: /home/cvs/avalon-sandbox/meta/site/xdocs/tools/tags/index.xml,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- index.xml 15 Jul 2003 23:40:44 -0000 1.2
+++ index.xml 24 Jul 2003 12:12:01 -0000 1.3
@@ -18,7 +18,7 @@
<subsection name="Tag List">
<table>
<tr><th>Tag</th><th>Scope</th><th>Description</th></tr>
- <tr><td><a href="type.html">@avalon.type</a></td>
+ <tr><td><a href="type.html">@avalon.component</a></td>
<td>class</td><td>Identifies a class as a Type.</td></tr>
<tr><td><a href="attribute.html">@avalon.attribute</a></td>
<td>class</td><td>An attribute associated with a containing type or service.</td></tr>
1.3 +2 -2 avalon-sandbox/meta/site/xdocs/tools/tags/logger.xml
Index: logger.xml
===================================================================
RCS file: /home/cvs/avalon-sandbox/meta/site/xdocs/tools/tags/logger.xml,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- logger.xml 16 Jul 2003 00:05:55 -0000 1.2
+++ logger.xml 24 Jul 2003 12:12:01 -0000 1.3
@@ -19,7 +19,7 @@
/**
* Example of a component declaring the name of a logging channel.
*
- * @avalon.type name="component" version="2.4"
+ * @avalon.component name="component" version="2.4"
*/
public class MyComponent extends AbstractLogEnabled
{
1.3 +2 -2 avalon-sandbox/meta/site/xdocs/tools/tags/service.xml
Index: service.xml
===================================================================
RCS file: /home/cvs/avalon-sandbox/meta/site/xdocs/tools/tags/service.xml,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- service.xml 16 Jul 2003 00:05:55 -0000 1.2
+++ service.xml 24 Jul 2003 12:12:01 -0000 1.3
@@ -20,7 +20,7 @@
/**
* Example of a component declaring export of a set of services.
*
- * @avalon.type version="5.1" name="vault"
+ * @avalon.component version="5.1" name="vault"
* @avalon.service type="net.osm.vault.Vault;
* @avalon.service type="net.osm.vault.KeystoreHandler" version="2.1.1;
*/
1.3 +2 -2 avalon-sandbox/meta/site/xdocs/tools/tags/stage.xml
Index: stage.xml
===================================================================
RCS file: /home/cvs/avalon-sandbox/meta/site/xdocs/tools/tags/stage.xml,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- stage.xml 16 Jul 2003 00:05:55 -0000 1.2
+++ stage.xml 24 Jul 2003 12:12:01 -0000 1.3
@@ -21,7 +21,7 @@
/**
* Example of a component declaring a stage dependency.
*
- * @avalon.type version="0.1" name="extended-component"
+ * @avalon.component version="0.1" name="extended-component"
* @avalon.stage type="org.apache.avalon.playground.Demonstratable"
*/
public class DemoComponent implements Demonstratable
1.2 +2 -2 avalon-sandbox/meta/site/xdocs/tools/tags/type.xml
Index: type.xml
===================================================================
RCS file: /home/cvs/avalon-sandbox/meta/site/xdocs/tools/tags/type.xml,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- type.xml 15 Jul 2003 23:56:51 -0000 1.1
+++ type.xml 24 Jul 2003 12:12:01 -0000 1.2
@@ -20,7 +20,7 @@
/**
* Example of the declaration of named component type.
*
- * @avalon.type version="1.0" name="sample" lifestyle="singleton"
+ * @avalon.component version="1.0" name="sample" lifestyle="singleton"
*/
public class DefaultComponent
{
1.7 +3 -2 avalon-sandbox/meta/tools/src/java/org/apache/avalon/meta/info/builder/tags/TypeTag.java
Index: TypeTag.java
===================================================================
RCS file: /home/cvs/avalon-sandbox/meta/tools/src/java/org/apache/avalon/meta/info/builder/tags/TypeTag.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- TypeTag.java 21 Jul 2003 18:59:23 -0000 1.6
+++ TypeTag.java 24 Jul 2003 12:12:02 -0000 1.7
@@ -140,7 +140,8 @@
final String lifestyle = getLifestyle( tag );
final String type = getJavaClass().getFullyQualifiedName();
final Properties properties = new AttributeTag( getJavaClass() ).getProperties();
- final InfoDescriptor info = new InfoDescriptor( name, type, version, lifestyle, properties );
+ final String schema = new SchemaTag( getJavaClass() ).getConfigurationSchema();
+ final InfoDescriptor info = new InfoDescriptor( name, type, version, lifestyle, schema, properties );
final ServiceDescriptor[] services = new ServicesTag( getJavaClass() ).getServices();
final CategoryDescriptor[] loggers = new LoggerTag( getJavaClass() ).getCategories();
final DependencyDescriptor[] dependencies =
1.1 avalon-sandbox/meta/tools/src/java/org/apache/avalon/meta/info/builder/tags/SchemaTag.java
Index: SchemaTag.java
===================================================================
/*
============================================================================
The Apache Software License, Version 1.1
============================================================================
Copyright (C) 2002-2003 The Apache Software Foundation. All rights reserved.
Redistribution and use in source and binary forms, with or without modifica-
tion, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
3. The end-user documentation included with the redistribution, if any, must
include the following acknowledgment: "This product includes software
developed by the Apache Software Foundation (http://www.apache.org/)."
Alternately, this acknowledgment may appear in the software itself, if
and wherever such third-party acknowledgments normally appear.
4. The names "Jakarta", "Apache Avalon", "Avalon Framework" and
"Apache Software Foundation" must not be used to endorse or promote
products derived from this software without prior written
permission. For written permission, please contact apache@apache.org.
5. Products derived from this software may not be called "Apache", nor may
"Apache" appear in their name, without prior written permission of the
Apache Software Foundation.
THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
APACHE SOFTWARE FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLU-
DING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
This software consists of voluntary contributions made by many individuals
on behalf of the Apache Software Foundation. For more information on the
Apache Software Foundation, please see <http://www.apache.org/>.
*/
package org.apache.avalon.meta.info.builder.tags;
import com.thoughtworks.qdox.model.DocletTag;
import com.thoughtworks.qdox.model.JavaClass;
import com.thoughtworks.qdox.model.JavaMethod;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.Set;
/**
* A doclet tag handler supporting 'logger' tags.
*
* @author <a href="mailto:dev@avalon.apache.org">Avalon Development Team</a>
* @version $Revision: 1.1 $ $Date: 2003/07/24 12:12:02 $
*/
public class SchemaTag extends AbstractTag
{
/**
* The default logger class.
*/
protected static final String CONFIGURATION_CLASS =
"org.apache.avalon.framework.configuration.Configuration";
/**
* The javadoc key for the logger tag.
*/
protected static final String KEY = "configuration";
/**
* The javadoc parameter name for the logging channel name
*/
public static final String SCHEMA_PARAM = "schema";
private JavaMethod[] m_methods;
/**
* The configuration schema tag constructor.
* @param clazz the javadoc class descriptor.
*/
public SchemaTag( final JavaClass clazz )
{
super( clazz );
setMethods();
}
/**
* Return a schema descriptor string if present
* @return the set of logger descriptos
*/
public String getConfigurationSchema()
{
if( m_methods.length > 0 )
{
final DocletTag[] tags =
m_methods[0].getTagsByName( getNS() + Tags.DELIMITER + KEY );
if( tags.length > 0 )
{
DocletTag tag = tags[0];
return getNamedParameter( tag, SCHEMA_PARAM, null );
}
}
return null;
}
/**
* Set the value of the composition method.
*/
private void setMethods()
{
m_methods = getLifecycleMethods( "configure", CONFIGURATION_CLASS );
}
}
1.4 +1 -2 avalon-sandbox/meta/tools/src/java/org/apache/avalon/meta/info/builder/tags/legacy/FortressComponentTag.java
Index: FortressComponentTag.java
===================================================================
RCS file: /home/cvs/avalon-sandbox/meta/tools/src/java/org/apache/avalon/meta/info/builder/tags/legacy/FortressComponentTag.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- FortressComponentTag.java 15 Jul 2003 22:45:06 -0000 1.3
+++ FortressComponentTag.java 24 Jul 2003 12:12:02 -0000 1.4
@@ -52,7 +52,6 @@
import org.apache.avalon.meta.info.builder.tags.AbstractTag;
import org.apache.avalon.meta.info.Type;
-import com.thoughtworks.qdox.model.DocletTag;
import com.thoughtworks.qdox.model.JavaClass;
/**
1.6 +0 -1 avalon-sandbox/meta/tools/src/test/org/apache/avalon/meta/MetaTestCase.java
Index: MetaTestCase.java
===================================================================
RCS file: /home/cvs/avalon-sandbox/meta/tools/src/test/org/apache/avalon/meta/MetaTestCase.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- MetaTestCase.java 14 Jul 2003 20:14:24 -0000 1.5
+++ MetaTestCase.java 24 Jul 2003 12:12:02 -0000 1.6
@@ -18,7 +18,6 @@
import org.apache.avalon.meta.info.CategoryDescriptor;
import org.apache.avalon.meta.info.DependencyDescriptor;
import org.apache.avalon.meta.info.ServiceDescriptor;
-import org.apache.avalon.meta.info.writer.*;
import org.apache.avalon.meta.info.builder.tags.TypeTag;
import org.apache.avalon.meta.info.builder.tags.ServiceTag;
import com.thoughtworks.qdox.model.JavaClass;
1.3 +1 -1 avalon-sandbox/meta/tools/src/test/org/apache/avalon/playground/Primary.java
Index: Primary.java
===================================================================
RCS file: /home/cvs/avalon-sandbox/meta/tools/src/test/org/apache/avalon/playground/Primary.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- Primary.java 14 Jul 2003 20:14:24 -0000 1.2
+++ Primary.java 24 Jul 2003 12:12:02 -0000 1.3
@@ -11,7 +11,7 @@
* of the namespace compating mechanism.
*
*
- * @avalon.type name="primary-component" lifestyle="singleton"
+ * @avalon.component name="primary-component" lifestyle="singleton"
* version="1.3"
* @avalon.service type="org.apache.avalon.playground.PrimaryService"
* version="9.8"
1.3 +1 -1 avalon-sandbox/meta/tools/src/test/org/apache/avalon/playground/Secondary.java
Index: Secondary.java
===================================================================
RCS file: /home/cvs/avalon-sandbox/meta/tools/src/test/org/apache/avalon/playground/Secondary.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- Secondary.java 14 Jul 2003 20:14:24 -0000 1.2
+++ Secondary.java 24 Jul 2003 12:12:02 -0000 1.3
@@ -8,7 +8,7 @@
import org.apache.avalon.framework.service.ServiceException;
/**
- * @avalon.type name="secondary-component" version="2.4"
+ * @avalon.component name="secondary-component" version="2.4"
* @avalon.service type="org.apache.avalon.playground.SecondaryService" version="0.1"
*/
public class Secondary extends AbstractLogEnabled implements Serviceable, SecondaryService
---------------------------------------------------------------------
To unsubscribe, e-mail: cvs-unsubscribe@avalon.apache.org
For additional commands, e-mail: cvs-help@avalon.apache.org