You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avalon.apache.org by do...@apache.org on 2001/11/12 14:03:11 UTC

cvs commit: jakarta-avalon-excalibur/src/scratchpad/org/apache/avalon/excalibur/extension/test ExtensionTestCase.java

donaldp     01/11/12 05:03:11

  Modified:    src/scratchpad/org/apache/avalon/excalibur/extension
                        Extension.java ExtensionUtil.java
               src/scratchpad/org/apache/avalon/excalibur/extension/test
                        ExtensionTestCase.java
  Log:
  Move getRequired/Available Extensions back into Extension class.
  
  Revision  Changes    Path
  1.2       +119 -1    jakarta-avalon-excalibur/src/scratchpad/org/apache/avalon/excalibur/extension/Extension.java
  
  Index: Extension.java
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-excalibur/src/scratchpad/org/apache/avalon/excalibur/extension/Extension.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- Extension.java	2001/09/03 03:21:02	1.1
  +++ Extension.java	2001/11/12 13:03:11	1.2
  @@ -30,7 +30,7 @@
    *
    * @author <a href="mailto:craigmcc@apache.org">Craig R. McClanahan</a>
    * @author <a href="mailto:donaldp@apache.org">Peter Donald</a>
  - * @version $Revision: 1.1 $ $Date: 2001/09/03 03:21:02 $
  + * @version $Revision: 1.2 $ $Date: 2001/11/12 13:03:11 $
    */
   public final class Extension
   {
  @@ -74,6 +74,124 @@
        * of the optional package.
        */
       private DeweyDecimal  m_implementationVersion;
  +
  +
  +    /**
  +     * Return an array of <code>Extension</code> objects representing optional
  +     * packages that are available in the JAR file associated with the
  +     * specified <code>Manifest</code>.  If there are no such optional
  +     * packages, a zero-length array is returned.
  +     *
  +     * @param manifest Manifest to be parsed
  +     */
  +    public static Extension[] getAvailableExtensions( final Manifest manifest )
  +    {
  +        if( null == manifest ) return new Extension[ 0 ];
  +
  +        final ArrayList results = new ArrayList();
  +
  +        final Attributes mainAttributes = manifest.getMainAttributes();
  +        if( null != mainAttributes )
  +        {
  +            final Extension extension = getExtension( "", mainAttributes );
  +            if( null != extension ) results.add( extension );
  +        }
  +
  +        final Map entries = manifest.getEntries();
  +        final Iterator keys = entries.keySet().iterator();
  +        while( keys.hasNext() )
  +        {
  +            final String key = (String)keys.next();
  +            final Attributes attributes = (Attributes)entries.get( key );
  +            final Extension extension = getExtension( "", attributes );
  +            if( null != extension ) results.add( extension );
  +        }
  +
  +        return (Extension[])results.toArray( new Extension[ 0 ] );
  +    }
  +
  +    /**
  +     * Return the set of <code>Extension</code> objects representing optional
  +     * packages that are required by the application contained in the JAR
  +     * file associated with the specified <code>Manifest</code>.  If there
  +     * are no such optional packages, a zero-length list is returned.
  +     *
  +     * @param manifest Manifest to be parsed
  +     */
  +    public static Extension[] getRequiredExtensions( final Manifest manifest )
  +    {
  +        final ArrayList results = new ArrayList();
  +        final Attributes mainAttributes = manifest.getMainAttributes();
  +
  +        if( null != mainAttributes )
  +        {
  +            getRequired( mainAttributes, results );
  +        }
  +
  +        final Map entries = manifest.getEntries();
  +        final Iterator keys = entries.keySet().iterator();
  +        while( keys.hasNext() )
  +        {
  +            final String key = (String)keys.next();
  +            final Attributes attributes = (Attributes)entries.get( key );
  +            getRequired( mainAttributes, results );
  +        }
  +
  +        return (Extension[])results.toArray( new Extension[ 0 ] );
  +    }
  +
  +    /**
  +     * Add required optional packages defined in the specified attributes entry, if any.
  +     *
  +     * @param attributes Attributes to be parsed
  +     * @param required list to add required optional packages to
  +     */
  +    private static void getRequired( final Attributes attributes,
  +                                     final ArrayList required )
  +    {
  +        final String names = attributes.getValue( Name.EXTENSION_LIST );
  +        if( null == names ) return;
  +
  +        final String[] extentions = StringUtil.split( names, " " );
  +        for( int i = 0; i < extentions.length; i++ )
  +        {
  +            final String prefix = extentions[ i ] + "-";
  +            final Extension extension = getExtension( prefix, attributes );
  +
  +            if( null != extension )
  +            {
  +                required.add( extension );
  +            }
  +        }
  +    }
  +
  +    /**
  +     * Extract an Extension from Attributes.
  +     * Prefix indicates the prefix checked for each string.
  +     * Usually the prefix is <em>"&lt;extension&gt;-"</em> if looking for a
  +     * <b>Required</b> extension. If you are looking for an <b>Available</b> extension
  +     * then the prefix is <em>""</em>.
  +     *
  +     * @param prefix the prefix for each attribute name
  +     * @param attributes Attributes to searched
  +     * @return the new Extension object, or null
  +     */
  +    private static Extension getExtension( final String prefix, final Attributes attributes )
  +    {
  +        final String name = attributes.getValue( prefix + Name.EXTENSION_NAME );
  +        if( null == name ) return null;
  +
  +        final String specVendor = attributes.getValue( prefix + Name.SPECIFICATION_VENDOR );
  +        final String specVersion = attributes.getValue( prefix + Name.SPECIFICATION_VERSION );
  +
  +        final String impVersion = attributes.getValue( prefix + Name.IMPLEMENTATION_VERSION );
  +        final String impVendor = attributes.getValue( prefix + Name.IMPLEMENTATION_VENDOR );
  +        final String impVendorId = attributes.getValue( prefix + Name.IMPLEMENTATION_VENDOR_ID );
  +        final String impURL = attributes.getValue( prefix + Name.IMPLEMENTATION_URL );
  +
  +        return new Extension( name, specVersion, specVendor, impVersion,
  +                              impVendor, impVendorId, impURL );
  +    }
   
       /**
        * The constructor to create Extension object.
  
  
  
  1.5       +1 -118    jakarta-avalon-excalibur/src/scratchpad/org/apache/avalon/excalibur/extension/ExtensionUtil.java
  
  Index: ExtensionUtil.java
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-excalibur/src/scratchpad/org/apache/avalon/excalibur/extension/ExtensionUtil.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- ExtensionUtil.java	2001/10/25 16:04:59	1.4
  +++ ExtensionUtil.java	2001/11/12 13:03:11	1.5
  @@ -34,7 +34,7 @@
    *
    * @author <a href="mailto:craigmcc@apache.org">Craig R. McClanahan</a>
    * @author <a href="mailto:donaldp@apache.org">Peter Donald</a>
  - * @version $Revision: 1.4 $ $Date: 2001/10/25 16:04:59 $
  + * @version $Revision: 1.5 $ $Date: 2001/11/12 13:03:11 $
    */
   public final class ExtensionUtil
   {
  @@ -93,122 +93,5 @@
           }
   
           return results;
  -    }
  -
  -    /**
  -     * Return an array of <code>Extension</code> objects representing optional
  -     * packages that are available in the JAR file associated with the
  -     * specified <code>Manifest</code>.  If there are no such optional
  -     * packages, a zero-length array is returned.
  -     *
  -     * @param manifest Manifest to be parsed
  -     */
  -    public static Extension[] getAvailableExtensions( final Manifest manifest )
  -    {
  -        if( null == manifest ) return new Extension[ 0 ];
  -
  -        final ArrayList results = new ArrayList();
  -
  -        final Attributes mainAttributes = manifest.getMainAttributes();
  -        if( null != mainAttributes )
  -        {
  -            final Extension extension = getExtension( "", mainAttributes );
  -            if( null != extension ) results.add( extension );
  -        }
  -
  -        final Map entries = manifest.getEntries();
  -        final Iterator keys = entries.keySet().iterator();
  -        while( keys.hasNext() )
  -        {
  -            final String key = (String)keys.next();
  -            final Attributes attributes = (Attributes)entries.get( key );
  -            final Extension extension = getExtension( "", attributes );
  -            if( null != extension ) results.add( extension );
  -        }
  -
  -        return (Extension[])results.toArray( new Extension[ 0 ] );
  -    }
  -
  -    /**
  -     * Return the set of <code>Extension</code> objects representing optional
  -     * packages that are required by the application contained in the JAR
  -     * file associated with the specified <code>Manifest</code>.  If there
  -     * are no such optional packages, a zero-length list is returned.
  -     *
  -     * @param manifest Manifest to be parsed
  -     */
  -    public static Extension[] getRequiredExtensions( final Manifest manifest )
  -    {
  -        final ArrayList results = new ArrayList();
  -        final Attributes mainAttributes = manifest.getMainAttributes();
  -
  -        if( null != mainAttributes )
  -        {
  -            getRequired( mainAttributes, results );
  -        }
  -
  -        final Map entries = manifest.getEntries();
  -        final Iterator keys = entries.keySet().iterator();
  -        while( keys.hasNext() )
  -        {
  -            final String key = (String)keys.next();
  -            final Attributes attributes = (Attributes)entries.get( key );
  -            getRequired( mainAttributes, results );
  -        }
  -
  -        return (Extension[])results.toArray( new Extension[ 0 ] );
  -    }
  -
  -    /**
  -     * Add required optional packages defined in the specified attributes entry, if any.
  -     *
  -     * @param attributes Attributes to be parsed
  -     * @param required list to add required optional packages to
  -     */
  -    private static void getRequired( final Attributes attributes,
  -                                     final ArrayList required )
  -    {
  -        final String names = attributes.getValue( Name.EXTENSION_LIST );
  -        if( null == names ) return;
  -
  -        final String[] extentions = StringUtil.split( names, " " );
  -        for( int i = 0; i < extentions.length; i++ )
  -        {
  -            final String prefix = extentions[ i ] + "-";
  -            final Extension extension = getExtension( prefix, attributes );
  -
  -            if( null != extension )
  -            {
  -                required.add( extension );
  -            }
  -        }
  -    }
  -
  -    /**
  -     * Extract an Extension from Attributes.
  -     * Prefix indicates the prefix checked for each string.
  -     * Usually the prefix is <em>"&lt;extension&gt;-"</em> if looking for a
  -     * <b>Required</b> extension. If you are looking for an <b>Available</b> extension
  -     * then the prefix is <em>""</em>.
  -     *
  -     * @param prefix the prefix for each attribute name
  -     * @param attributes Attributes to searched
  -     * @return the new Extension object, or null
  -     */
  -    private static Extension getExtension( final String prefix, final Attributes attributes )
  -    {
  -        final String name = attributes.getValue( prefix + Name.EXTENSION_NAME );
  -        if( null == name ) return null;
  -
  -        final String specVendor = attributes.getValue( prefix + Name.SPECIFICATION_VENDOR );
  -        final String specVersion = attributes.getValue( prefix + Name.SPECIFICATION_VERSION );
  -
  -        final String impVersion = attributes.getValue( prefix + Name.IMPLEMENTATION_VERSION );
  -        final String impVendor = attributes.getValue( prefix + Name.IMPLEMENTATION_VENDOR );
  -        final String impVendorId = attributes.getValue( prefix + Name.IMPLEMENTATION_VENDOR_ID );
  -        final String impURL = attributes.getValue( prefix + Name.IMPLEMENTATION_URL );
  -
  -        return new Extension( name, specVersion, specVendor, impVersion,
  -                              impVendor, impVendorId, impURL );
       }
   }
  
  
  
  1.3       +14 -14    jakarta-avalon-excalibur/src/scratchpad/org/apache/avalon/excalibur/extension/test/ExtensionTestCase.java
  
  Index: ExtensionTestCase.java
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-excalibur/src/scratchpad/org/apache/avalon/excalibur/extension/test/ExtensionTestCase.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- ExtensionTestCase.java	2001/09/03 07:54:02	1.2
  +++ ExtensionTestCase.java	2001/11/12 13:03:11	1.3
  @@ -18,7 +18,7 @@
    * TestCases for Extension. 
    *
    * @author <a href="mailto:donaldp@apache.org">Peter Donald</a>
  - * @version $Revision: 1.2 $ $Date: 2001/09/03 07:54:02 $
  + * @version $Revision: 1.3 $ $Date: 2001/11/12 13:03:11 $
    */
   public class ExtensionTestCase 
       extends TestCase
  @@ -79,7 +79,7 @@
           throws Exception
       {
           final Manifest manifest = getManifest( "manifest-1.mf" );
  -        final Extension[] available = ExtensionUtil.getAvailableExtensions( manifest );
  +        final Extension[] available = Extension.getAvailableExtensions( manifest );
   
           assertEquals( "Available Count", 1, available.length );
           assertEquals( "Available Name", MF1_NAME, available[ 0 ].getExtensionName() );
  @@ -97,7 +97,7 @@
           throws Exception
       {
           final Manifest manifest = getManifest( "manifest-2.mf" );
  -        final Extension[] available = ExtensionUtil.getAvailableExtensions( manifest );
  +        final Extension[] available = Extension.getAvailableExtensions( manifest );
   
           assertEquals( "Available Count", 1, available.length );
           assertEquals( "Available Name", MF2_NAME, available[ 0 ].getExtensionName() );
  @@ -110,7 +110,7 @@
           assertEquals( "Available ImpVersion", MF2_IVERSION, 
                         available[ 0 ].getImplementationVersion().toString() );
   
  -        final Extension[] required = ExtensionUtil.getRequiredExtensions( manifest );
  +        final Extension[] required = Extension.getRequiredExtensions( manifest );
           assertEquals( "Available Count", 1, required.length );
           assertEquals( "required Name", MFR1_NAME, required[ 0 ].getExtensionName() );
           assertEquals( "required SpecVendor", MFR1_SVENDOR, required[ 0 ].getSpecificationVendor() );
  @@ -127,7 +127,7 @@
           throws Exception
       {
           final Manifest manifest = getManifest( "manifest-3.mf" );
  -        final Extension[] available = ExtensionUtil.getAvailableExtensions( manifest );
  +        final Extension[] available = Extension.getAvailableExtensions( manifest );
   
           assertEquals( "Available Count", 1, available.length );
           assertEquals( "Available Name", MF3_NAME, available[ 0 ].getExtensionName() );
  @@ -140,7 +140,7 @@
           assertEquals( "Available ImpVersion", MF3_IVERSION, 
                         available[ 0 ].getImplementationVersion().toString() );
   
  -        final Extension[] required = ExtensionUtil.getRequiredExtensions( manifest );
  +        final Extension[] required = Extension.getRequiredExtensions( manifest );
           assertEquals( "Required Count", 1, required.length );
       }
   
  @@ -148,7 +148,7 @@
           throws Exception
       {
           final Manifest manifest = getManifest( "manifest-4.mf" );
  -        final Extension[] available = ExtensionUtil.getAvailableExtensions( manifest );
  +        final Extension[] available = Extension.getAvailableExtensions( manifest );
   
           assertEquals( "Available Count", 1, available.length );
           assertEquals( "Available Name", MF4_NAME, available[ 0 ].getExtensionName() );
  @@ -161,7 +161,7 @@
           assertEquals( "Available ImpVersion", MF4_IVERSION, 
                         available[ 0 ].getImplementationVersion().toString() );
   
  -        final Extension[] required = ExtensionUtil.getRequiredExtensions( manifest );
  +        final Extension[] required = Extension.getRequiredExtensions( manifest );
           assertEquals( "Available Count", 0, required.length );
       }
   
  @@ -175,13 +175,13 @@
           final Manifest manifest6 = getManifest( "manifest-6.mf" );
           final Manifest manifest7 = getManifest( "manifest-7.mf" );
   
  -        final Extension req1 = ExtensionUtil.getRequiredExtensions( manifest2 )[ 0 ];
  -        final Extension req2 = ExtensionUtil.getRequiredExtensions( manifest5 )[ 0 ];
  -        final Extension req3 = ExtensionUtil.getRequiredExtensions( manifest6 )[ 0 ];
  -        final Extension req4 = ExtensionUtil.getRequiredExtensions( manifest7 )[ 0 ];
  +        final Extension req1 = Extension.getRequiredExtensions( manifest2 )[ 0 ];
  +        final Extension req2 = Extension.getRequiredExtensions( manifest5 )[ 0 ];
  +        final Extension req3 = Extension.getRequiredExtensions( manifest6 )[ 0 ];
  +        final Extension req4 = Extension.getRequiredExtensions( manifest7 )[ 0 ];
   
  -        final Extension avail3 = ExtensionUtil.getAvailableExtensions( manifest3 )[ 0 ];
  -        final Extension avail4 = ExtensionUtil.getAvailableExtensions( manifest4 )[ 0 ];
  +        final Extension avail3 = Extension.getAvailableExtensions( manifest3 )[ 0 ];
  +        final Extension avail4 = Extension.getAvailableExtensions( manifest4 )[ 0 ];
   
           assertTrue( "avail3.isCompatibleWith( req1 )", avail3.isCompatibleWith( req1 ) );
           assertTrue( "avail4.isCompatibleWith( req1 )", avail4.isCompatibleWith( req1 ) );
  
  
  

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>