Author: mcconnell
Date: Wed Jun 30 22:05:40 2004
New Revision: 22400
Modified:
avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/BlockTask.java
avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/PropertyTask.java
Log:
Add the "spec" feature to the property task and update the block task to handle the declaration of imports.
Modified: avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/BlockTask.java
==============================================================================
--- avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/BlockTask.java (original)
+++ avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/BlockTask.java Wed Jun 30 22:05:40 2004
@@ -48,20 +48,25 @@
private static final String MAIN = "main";
private static final String TEST = "test";
- public static class Component
+ public static class Identifiable
{
private String m_name;
- private String m_classname;
- private String m_profile;
- public Component()
+ public void setName( final String name )
{
+ m_name = name;
}
- public void setName( final String name )
+ public String getName()
{
- m_name = name;
+ return m_name;
}
+ }
+
+ public static class Component extends Identifiable
+ {
+ private String m_classname;
+ private String m_profile;
public void setClass( final String classname )
{
@@ -73,11 +78,6 @@
m_profile = profile;
}
- public String getName()
- {
- return m_name;
- }
-
public String getClassname()
{
return m_classname;
@@ -89,9 +89,24 @@
}
}
+ public static class Include extends Identifiable
+ {
+ private String m_artifact;
+
+ public void setArtifact( final String spec )
+ {
+ m_artifact = spec;
+ }
+
+ public String getArtifact()
+ {
+ return m_artifact;
+ }
+ }
+
private String m_target;
private String m_container;
- private List m_components = new ArrayList();
+ private List m_content = new ArrayList();
private boolean m_standalone = true;
public void setName( final String name )
@@ -173,10 +188,17 @@
public Component createComponent()
{
final Component component = new Component();
- m_components.add( component );
+ m_content.add( component );
return component;
}
+ public Include createInclude()
+ {
+ final Include include = new Include();
+ m_content.add( include );
+ return include;
+ }
+
public void init()
{
super.init();
@@ -208,12 +230,19 @@
writer.write( "\n </classloader>" );
writer.write( "\n" );
- Component[] components =
- (Component[]) m_components.toArray( new Component[0] );
+ Identifiable[] components =
+ (Identifiable[]) m_content.toArray( new Identifiable[0] );
for( int i=0; i<components.length; i++ )
{
- Component component = components[i];
- writeComponent( writer, component );
+ Identifiable identifiable = components[i];
+ if( identifiable instanceof Component )
+ {
+ writeComponent( writer, (Component) identifiable );
+ }
+ else if( identifiable instanceof Include )
+ {
+ writeInclude( writer, (Include) identifiable );
+ }
}
writer.write( "\n</container>\n" );
@@ -235,5 +264,14 @@
+ component.getProfile() + "\"\n class=\""
+ component.getClassname() + "\"/>\n" );
}
+ }
+
+ private void writeInclude( final Writer writer, final Include include )
+ throws IOException
+ {
+ writer.write(
+ "\n <include name=\""
+ + include.getName() + "\" artifact=\""
+ + include.getArtifact() + "\"/>\n" );
}
}
Modified: avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/PropertyTask.java
==============================================================================
--- avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/PropertyTask.java (original)
+++ avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/PropertyTask.java Wed Jun 30 22:05:40 2004
@@ -114,6 +114,10 @@
{
return resource.getInfo().getURI();
}
+ else if( m_feature.equals( "spec" ) )
+ {
+ return resource.getInfo().getSpec();
+ }
else if( resource instanceof Definition )
{
final Definition def = (Definition) resource;
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.