Refactor code

git-svn-id: https://svn.apache.org/repos/asf/maven/shared/trunk@1500534 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/main/java/org/apache/maven/shared/project/utils/ProjectUtils.java b/src/main/java/org/apache/maven/shared/project/utils/ProjectUtils.java
index 232bc6e..3492ad0 100644
--- a/src/main/java/org/apache/maven/shared/project/utils/ProjectUtils.java
+++ b/src/main/java/org/apache/maven/shared/project/utils/ProjectUtils.java
@@ -1,7 +1,6 @@
 package org.apache.maven.shared.project.utils;

 

 import java.io.File;

-import java.io.FileNotFoundException;

 import java.io.FileReader;

 import java.io.IOException;

 import java.util.Collections;

@@ -122,23 +121,10 @@
         {

             File moduleFile = getModuleFile( project, module );

 

-            FileReader moduleReader = null; 

-            

+            Model model = null;

             try

             {

-                moduleReader = new FileReader( moduleFile );

-                

-                Model model = reader.read( moduleReader );

-                

-                if ( model.getParent() != null && model.getParent().getId().equals( project.getId() ) )

-                {

-                    return false;

-                }

-            }

-            catch ( FileNotFoundException e )

-            {

-                // TODO Auto-generated catch block

-                e.printStackTrace();

+                model = readModel( reader, moduleFile );

             }

             catch ( IOException e )

             {

@@ -150,15 +136,36 @@
                 // TODO Auto-generated catch block

                 e.printStackTrace();

             }

-            finally

+

+            if ( model.getParent() != null && model.getParent().getId().equals( project.getId() ) )

             {

-                IOUtil.close( moduleReader );

+                return false;

             }

-            

+

         }

         return true;

     }

 

+    private static Model readModel( MavenXpp3Reader reader, File moduleFile ) throws IOException, XmlPullParserException

+    {

+        FileReader moduleReader = null;

+        

+        Model model = null;

+        

+        try

+        {

+            moduleReader = new FileReader( moduleFile );

+            

+            model = reader.read( moduleReader );

+        }

+        finally

+        {

+            IOUtil.close( moduleReader );

+        }

+        

+        return model;

+    }

+

     public static File getModuleFile( MavenProject project, String module )

     {

         File moduleFile = new File( project.getBasedir(), module );

@@ -179,21 +186,30 @@
      */

     public static Map<String, String> getAllModules( MavenProject project )

     {

-        Map<String, String> modules = new LinkedHashMap<String, String>();

+        Model model = project.getModel();

+        

+        Map<String, String> modules = getAllModules( model );

+        

+        return Collections.unmodifiableMap( modules );

+    }

 

-        for ( String module : project.getModel().getModules() )

+    private static Map<String, String> getAllModules( Model model )

+    {

+        Map<String, String> modules = new LinkedHashMap<String, String>();

+        

+        for ( String module : model.getModules() )

         {

             modules.put( module, "project" ); // id?

         }

 

-        for ( Profile profile : project.getModel().getProfiles() )

+        for ( Profile profile : model.getProfiles() )

         {

             for ( String module : profile.getModules() )

             {

                 modules.put( module, "profile(id:" + profile.getId() + ")" );

             }

         }

-        return Collections.unmodifiableMap( modules );

+        return modules;

     }

     

     // Don't make this method public, it has nothing to do with a MavenProject.