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>"<extension>-"</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>"<extension>-"</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>