Author: mcconnell Date: Thu Jul 1 08:26:36 2004 New Revision: 22428 Modified: avalon/trunk/runtime/composition/impl/src/java/org/apache/avalon/composition/data/builder/XMLContainmentProfileCreator.java avalon/trunk/runtime/meta/tools/src/java/org/apache/avalon/meta/info/ant/MetaTask.java Log: fix some things in the handling of includes - and update the meta task to read in properties concerning postfix selection
Modified: avalon/trunk/runtime/composition/impl/src/java/org/apache/avalon/composition/data/builder/XMLContainmentProfileCreator.java ============================================================================== --- avalon/trunk/runtime/composition/impl/src/java/org/apache/avalon/composition/data/builder/XMLContainmentProfileCreator.java (original) +++ avalon/trunk/runtime/composition/impl/src/java/org/apache/avalon/composition/data/builder/XMLContainmentProfileCreator.java Thu Jul 1 08:26:36 2004 @@ -262,7 +262,8 @@ } return (Artifact[]) list.toArray( new Artifact[0] ); - } + } + /** * Convert a configuration fragement with an 'artifact' or 'id' @@ -271,42 +272,21 @@ private Artifact createResourceDirective( Configuration config ) throws ConfigurationException { - String spec = config.getAttribute( "artifact", null ); - if( null != spec ) - { - // - // we are dealing with the new artifact protocol - // within which the # identifies the version - // - - return Artifact.createArtifact( spec ); - } - else - { - String id = config.getAttribute( "id", null ); - if( null == id ) - { - final String error = - "Missing 'artifact' or 'id' attribute."; - throw new ConfigurationException( error ); - } - else - { - // - // check for the depricated version attribute and use - // the depricated technical of [group]:[name];[version] - // + String id = config.getAttribute( "id" ); + + // + // check for the depricated version attribute and use + // the depricated technical of [group]:[name];[version] + // - String version = config.getAttribute( "version", null ); - if( version == null ) - { - return Artifact.createArtifact( id ); - } - else - { - return Artifact.createArtifact( id + ";" + version ); - } - } + final String version = config.getAttribute( "version", null ); + if( version == null ) + { + return Artifact.createArtifact( id ); + } + else + { + return Artifact.createArtifact( id + ";" + version ); } } @@ -562,13 +542,20 @@ // final String name = getBlockIncludeName( config ); - - if( config.getAttribute( "id", null ) != null ) - { - Artifact artifact = createResourceDirective( config ); - TargetDirective[] targets = createTargetDirectives( config ); - return new BlockCompositionDirective( name, artifact, targets ); - } + if( null != config.getAttribute( "artifact", null ) ) + { + String spec = config.getAttribute( "artifact" ); + Artifact artifact = Artifact.createArtifact( "artifact:" + spec ); + TargetDirective[] targets = createTargetDirectives( config ); + return new BlockCompositionDirective( name, artifact, targets ); + } + else if( null != config.getAttribute( "id", null ) ) + { + System.out.println( "Using deprecated include format (see attrifact attribute)."); + Artifact artifact = createResourceDirective( config ); + TargetDirective[] targets = createTargetDirectives( config ); + return new BlockCompositionDirective( name, artifact, targets ); + } else { final String path = getBlockIncludePath( config ); Modified: avalon/trunk/runtime/meta/tools/src/java/org/apache/avalon/meta/info/ant/MetaTask.java ============================================================================== --- avalon/trunk/runtime/meta/tools/src/java/org/apache/avalon/meta/info/ant/MetaTask.java (original) +++ avalon/trunk/runtime/meta/tools/src/java/org/apache/avalon/meta/info/ant/MetaTask.java Thu Jul 1 08:26:36 2004 @@ -92,7 +92,7 @@ /** * The preferred postfix value. */ - private String m_postfix = ".xinfo"; + private String m_postfix = "xinfo"; /** * Variable that indicates whether the output @@ -140,18 +140,33 @@ */ public void setPostfix( String postfix ) { - if( postfix.equalsIgnoreCase( "xtype" ) - || postfix.equalsIgnoreCase( "xinfo" ) ) - { - m_postfix = "." + postfix; - } - else - { - final String error = - "Illegal postfix value: " + postfix + ". " - + "Recognized values include 'xinfo' and 'xtype'."; - throw new BuildException( error ); - } + m_postfix = validatePostfix( postfix ); + } + + private String getPostfix() + { + String postfix = getProject().getProperty( "avalon.meta.postfix" ); + if( null != postfix ) + { + return validatePostfix( postfix ); + } + return m_postfix; + } + + private String validatePostfix( String postfix ) + { + if( postfix.equalsIgnoreCase( "xtype" ) + || postfix.equalsIgnoreCase( "xinfo" ) ) + { + return postfix.toLowerCase(); + } + else + { + final String error = + "Illegal postfix value: " + postfix + ". " + + "Recognized values include 'xinfo' and 'xtype'."; + throw new BuildException( error ); + } } public void addConfigured( FileSet fileset ) @@ -469,7 +484,7 @@ } else { - filename += m_postfix; + filename += "." + getPostfix(); } return new File( m_destDir, filename ).getCanonicalFile(); } --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]