jvanzyl     2002/07/03 14:51:29

  Modified:    src/java/org/apache/maven MavenUtils.java
  Log:
  Unwiring the utils from all packages except 'project' package. I wasn't here
  to -1 this.
  
  Revision  Changes    Path
  1.27      +41 -13    jakarta-turbine-maven/src/java/org/apache/maven/MavenUtils.java
  
  Index: MavenUtils.java
  ===================================================================
  RCS file: /home/cvs/jakarta-turbine-maven/src/java/org/apache/maven/MavenUtils.java,v
  retrieving revision 1.26
  retrieving revision 1.27
  diff -u -r1.26 -r1.27
  --- MavenUtils.java   17 Jun 2002 15:53:58 -0000      1.26
  +++ MavenUtils.java   3 Jul 2002 21:51:29 -0000       1.27
  @@ -60,10 +60,14 @@
   import java.io.FileInputStream;
   import java.util.Iterator;
   
  +import java.beans.IntrospectionException;
  +
   import org.apache.commons.lang.Strings;
   
  -import org.apache.maven.build.BeanReader;
  -import org.apache.maven.build.ProjectDescriptor;
  +import org.apache.commons.betwixt.io.BeanReader;
  +import org.apache.commons.betwixt.XMLIntrospector;
  +import org.apache.commons.betwixt.strategy.DecapitalizeNameMapper;
  +
   import org.apache.maven.project.Project;
   import org.apache.maven.project.Profile;
   import org.apache.maven.project.Workspace;
  @@ -80,12 +84,6 @@
   public class MavenUtils
   {
       /**
  -     * Maven project class name.
  -     */
  -    private static final String PROJECT_CLASS = 
  -        "org.apache.maven.project.Project";
  -    
  -    /**
        * Create a Project object given a file descriptor.
        *
        * @param projectDescriptor a maven project.xml
  @@ -95,7 +93,7 @@
       public static Project getProject(String projectDescriptor)
           throws Exception
       {
  -        return new ProjectDescriptor(projectDescriptor).getProject();
  +        return getProject( new File( projectDescriptor ) );
       }
   
       /**
  @@ -108,7 +106,8 @@
       public static Project getProject(File projectDescriptor)
           throws Exception
       {
  -        return new ProjectDescriptor(projectDescriptor).getProject();
  +        BeanReader beanReader = createBeanReader( Project.class );
  +        return (Project) beanReader.parse( new FileInputStream( projectDescriptor ) 
);
       }
   
       /**
  @@ -134,7 +133,7 @@
       public static Profile getProfile(File profileDescriptor)
           throws Exception
       {
  -        BeanReader reader = new BeanReader(Profile.class);
  +        BeanReader reader = createBeanReader(Profile.class);
           Profile profile = (Profile) reader.parse(
               new FileInputStream(profileDescriptor));
           
  @@ -176,7 +175,7 @@
           throws Exception
       {
           // Create our workspace.
  -        BeanReader workspaceReader = new BeanReader(Workspace.class);
  +        BeanReader workspaceReader = createBeanReader(Workspace.class);
           Workspace workspace = (Workspace) workspaceReader.parse(
               new FileInputStream(workspaceDescriptor));
           
  @@ -244,5 +243,34 @@
           }
   
           return files;
  +    }
  +
  +    /** 
  +     * Creates a new instance of BeanReader 
  +     *
  +     * @param clazz the class to register with the reader
  +     * @throws IntrospectionException when an error occurs trying to determine
  +     *      properties of the class provided
  +     */
  +    public static BeanReader createBeanReader(Class clazz) 
  +        throws IntrospectionException
  +    {
  +        BeanReader beanReader = new BeanReader();
  +        
  +        XMLIntrospector introspector = new XMLIntrospector();
  +
  +        // set elements for attributes to true
  +        introspector.setAttributesForPrimitives(false);
  +
  +        // wrap collections in an XML element
  +        //introspector.setWrapCollectionsInElement(true);
  +
  +        // turn bean elements into lower case
  +        introspector.setNameMapper(new DecapitalizeNameMapper());
  +
  +        beanReader.setXMLIntrospector(introspector);
  +        beanReader.registerBeanClass( clazz );
  +        
  +        return beanReader;
       }
   }
  
  
  

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to