CVS: jcontainer/loom/engine/src/java/org/jcontainer/loom/components/assembler Assembler.java,1.13,1.14

Peter Donald <pdonald-yCVjj/[email protected]> Wed, 5 Nov 2003 01:27:10 -0600
Newsgroups gmane.comp.java.jcontainer.cvs
Message-ID <[email protected]>
Update of /cvsroot/jcontainer/jcontainer/loom/engine/src/java/org/jcontainer/loom/components/assembler
In directory hogshead.codehaus.org:/tmp/cvs-serv20491/src/java/org/jcontainer/loom/components/assembler

Modified Files:
	Assembler.java 
Log Message:
Add in sample test case that does what I consider  "good" practices


Index: Assembler.java
===================================================================
RCS file: /cvsroot/jcontainer/jcontainer/loom/engine/src/java/org/jcontainer/loom/components/assembler/Assembler.java,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -d -r1.13 -r1.14
--- Assembler.java	3 Nov 2003 06:43:15 -0000	1.13
+++ Assembler.java	5 Nov 2003 07:27:08 -0000	1.14
@@ -305,14 +305,26 @@
         final ArrayList dependencies = new ArrayList();
         for( int j = 0; j < provides.length; j++ )
         {
-            final Configuration provide = provides[ j ];
-            final String requiredName = provide.getAttribute( "name" );
-            final String alias = provide.getAttribute( "alias", requiredName );
-            final String key = provide.getAttribute( "role" );
-
-            dependencies.add( new DependencyDirective( key, requiredName, alias ) );
+            final DependencyDirective directive = buildDependency( provides[ j ] );
+            dependencies.add( directive );
         }
 
         return (DependencyDirective[])dependencies.toArray( new DependencyDirective[ dependencies.size() ] );
+    }
+
+    /**
+     * Parse a dependency directive from provide.
+     *
+     * @param provide the provide element
+     * @return the directive
+     * @throws ConfigurationException if element malformed
+     */
+    DependencyDirective buildDependency( final Configuration provide )
+        throws ConfigurationException
+    {
+        final String requiredName = provide.getAttribute( "name" );
+        final String alias = provide.getAttribute( "alias", requiredName );
+        final String key = provide.getAttribute( "role" );
+        return new DependencyDirective( key, requiredName, alias );
     }
 }