use Invoker for every reflection needs

git-svn-id: https://svn.apache.org/repos/asf/maven/shared/trunk@1596006 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/main/java/org/apache/maven/shared/dependency/graph/internal/Invoker.java b/src/main/java/org/apache/maven/shared/dependency/graph/internal/Invoker.java
index bd1e79a..e7df4bf 100644
--- a/src/main/java/org/apache/maven/shared/dependency/graph/internal/Invoker.java
+++ b/src/main/java/org/apache/maven/shared/dependency/graph/internal/Invoker.java
@@ -33,6 +33,12 @@
         // do not instantiate
     }
 
+    public static Object invoke( Object object, String method )
+        throws DependencyGraphBuilderException
+    {
+        return invoke( object.getClass(), object, method );
+    }
+
     public static Object invoke( Class<?> objectClazz, Object object, String method )
         throws DependencyGraphBuilderException
     {
diff --git a/src/main/java/org/apache/maven/shared/dependency/graph/internal/Maven31DependencyGraphBuilder.java b/src/main/java/org/apache/maven/shared/dependency/graph/internal/Maven31DependencyGraphBuilder.java
index dbc387a..a737f9b 100644
--- a/src/main/java/org/apache/maven/shared/dependency/graph/internal/Maven31DependencyGraphBuilder.java
+++ b/src/main/java/org/apache/maven/shared/dependency/graph/internal/Maven31DependencyGraphBuilder.java
@@ -93,11 +93,10 @@
         throws DependencyGraphBuilderException

     {

         ProjectBuildingRequest projectBuildingRequest =

-            (ProjectBuildingRequest) Invoker.invoke( project.getClass(), project, "getProjectBuildingRequest" );

+            (ProjectBuildingRequest) Invoker.invoke( project, "getProjectBuildingRequest" );

 

         RepositorySystemSession session =

-            (RepositorySystemSession) Invoker.invoke( ProjectBuildingRequest.class, projectBuildingRequest,

-                                                      "getRepositorySession" );

+            (RepositorySystemSession) Invoker.invoke( projectBuildingRequest, "getRepositorySession" );

 

         /*

          * if ( Boolean.TRUE != ( (Boolean) session.getConfigProperties().get(

diff --git a/src/main/java/org/apache/maven/shared/dependency/graph/internal/Maven3DependencyGraphBuilder.java b/src/main/java/org/apache/maven/shared/dependency/graph/internal/Maven3DependencyGraphBuilder.java
index bd93bfe..c391768 100644
--- a/src/main/java/org/apache/maven/shared/dependency/graph/internal/Maven3DependencyGraphBuilder.java
+++ b/src/main/java/org/apache/maven/shared/dependency/graph/internal/Maven3DependencyGraphBuilder.java
@@ -39,7 +39,6 @@
 import org.sonatype.aether.graph.Dependency;
 import org.sonatype.aether.version.VersionConstraint;
 
-import java.lang.reflect.InvocationTargetException;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
@@ -93,7 +92,7 @@
         throws DependencyGraphBuilderException
     {
         ProjectBuildingRequest projectBuildingRequest =
-            (ProjectBuildingRequest) invoke( project, "getProjectBuildingRequest" );
+            (ProjectBuildingRequest) Invoker.invoke( project, "getProjectBuildingRequest" );
 
         DependencyResolutionRequest request =
             new DefaultDependencyResolutionRequest( project, projectBuildingRequest.getRepositorySession() );
@@ -170,27 +169,6 @@
         return reactorDeps;
     }
 
-    private Object invoke( Object object, String method )
-        throws DependencyGraphBuilderException
-    {
-        try
-        {
-            return object.getClass().getMethod( method ).invoke( object );
-        }
-        catch ( IllegalAccessException e )
-        {
-            throw new DependencyGraphBuilderException( e.getMessage(), e );
-        }
-        catch ( InvocationTargetException e )
-        {
-            throw new DependencyGraphBuilderException( e.getMessage(), e );
-        }
-        catch ( NoSuchMethodException e )
-        {
-            throw new DependencyGraphBuilderException( e.getMessage(), e );
-        }
-    }
-
     private Artifact getDependencyArtifact( Dependency dep )
     {
         org.sonatype.aether.artifact.Artifact artifact = dep.getArtifact();