Repository: maven-surefire
Updated Branches:
  refs/heads/master cf64b1137 -> 78dca27ef


[SUREFIRE] refactoring


Project: http://git-wip-us.apache.org/repos/asf/maven-surefire/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven-surefire/commit/7d9c438d
Tree: http://git-wip-us.apache.org/repos/asf/maven-surefire/tree/7d9c438d
Diff: http://git-wip-us.apache.org/repos/asf/maven-surefire/diff/7d9c438d

Branch: refs/heads/master
Commit: 7d9c438defa0fe847d2b4c14173a8b4098b6c4c6
Parents: cf64b11
Author: Tibor17 <[email protected]>
Authored: Sun Jul 5 09:32:29 2015 +0200
Committer: Tibor17 <[email protected]>
Committed: Thu Jul 23 23:28:00 2015 +0200

----------------------------------------------------------------------
 .../booterclient/output/ForkClient.java         |  3 +--
 .../maven/surefire/util/DefaultScanResult.java  | 12 ++++------
 .../maven/surefire/util/ReflectionUtils.java    |  5 ++--
 .../apache/maven/surefire/util/ScanResult.java  |  2 +-
 .../common/junit4/JUnit4RunListenerFactory.java | 24 ++++++++++----------
 .../maven/surefire/junit/JUnit3Provider.java    |  2 +-
 .../maven/surefire/junit4/JUnit4Provider.java   | 19 ++++++++--------
 7 files changed, 32 insertions(+), 35 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/7d9c438d/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/output/ForkClient.java
----------------------------------------------------------------------
diff --git 
a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/output/ForkClient.java
 
b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/output/ForkClient.java
index b6bbd55..cea1824 100644
--- 
a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/output/ForkClient.java
+++ 
b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/output/ForkClient.java
@@ -209,8 +209,7 @@ public class ForkClient
         throws IOException
     {
         BufferedReader stringReader = new BufferedReader( new StringReader( s 
) );
-        String s1;
-        while ( ( s1 = stringReader.readLine() ) != null )
+        for ( String s1 = stringReader.readLine(); s1 != null; s1 = 
stringReader.readLine() )
         {
             consumeLine( s1 );
         }

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/7d9c438d/surefire-api/src/main/java/org/apache/maven/surefire/util/DefaultScanResult.java
----------------------------------------------------------------------
diff --git 
a/surefire-api/src/main/java/org/apache/maven/surefire/util/DefaultScanResult.java
 
b/surefire-api/src/main/java/org/apache/maven/surefire/util/DefaultScanResult.java
index ae05d0d..ab4c8b2 100644
--- 
a/surefire-api/src/main/java/org/apache/maven/surefire/util/DefaultScanResult.java
+++ 
b/surefire-api/src/main/java/org/apache/maven/surefire/util/DefaultScanResult.java
@@ -102,16 +102,16 @@ public class DefaultScanResult
         return new TestsToRun( result );
     }
 
-    public List getClassesSkippedByValidation( ScannerFilter scannerFilter, 
ClassLoader testClassLoader )
+    public List<Class<?>> getClassesSkippedByValidation( ScannerFilter 
scannerFilter, ClassLoader testClassLoader )
     {
-        List<Class> result = new ArrayList<Class>();
+        List<Class<?>> result = new ArrayList<Class<?>>();
 
         int size = size();
         for ( int i = 0; i < size; i++ )
         {
             String className = getClassName( i );
 
-            Class testClass = loadClass( testClassLoader, className );
+            Class<?> testClass = loadClass( testClassLoader, className );
 
             if ( scannerFilter != null && !scannerFilter.accept( testClass ) )
             {
@@ -122,18 +122,16 @@ public class DefaultScanResult
         return result;
     }
 
-    private static Class loadClass( ClassLoader classLoader, String className )
+    private static Class<?> loadClass( ClassLoader classLoader, String 
className )
     {
-        Class testClass;
         try
         {
-            testClass = classLoader.loadClass( className );
+            return classLoader.loadClass( className );
         }
         catch ( ClassNotFoundException e )
         {
             throw new RuntimeException( "Unable to create test class '" + 
className + "'", e );
         }
-        return testClass;
     }
 
     public DefaultScanResult append( DefaultScanResult other )

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/7d9c438d/surefire-api/src/main/java/org/apache/maven/surefire/util/ReflectionUtils.java
----------------------------------------------------------------------
diff --git 
a/surefire-api/src/main/java/org/apache/maven/surefire/util/ReflectionUtils.java
 
b/surefire-api/src/main/java/org/apache/maven/surefire/util/ReflectionUtils.java
index 0d6f7dc..bba1a59 100644
--- 
a/surefire-api/src/main/java/org/apache/maven/surefire/util/ReflectionUtils.java
+++ 
b/surefire-api/src/main/java/org/apache/maven/surefire/util/ReflectionUtils.java
@@ -101,13 +101,12 @@ public class ReflectionUtils
         }
     }
 
-    public static Object instantiate( ClassLoader classLoader, String 
classname )
+    public static <T> T instantiate( ClassLoader classLoader, String 
classname, Class<T> returnType )
     {
         try
         {
-
             Class clazz = loadClass( classLoader, classname );
-            return clazz.newInstance();
+            return returnType.cast( clazz.newInstance() );
         }
         catch ( InstantiationException e )
         {

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/7d9c438d/surefire-api/src/main/java/org/apache/maven/surefire/util/ScanResult.java
----------------------------------------------------------------------
diff --git 
a/surefire-api/src/main/java/org/apache/maven/surefire/util/ScanResult.java 
b/surefire-api/src/main/java/org/apache/maven/surefire/util/ScanResult.java
index 2a73a47..5960ee6 100644
--- a/surefire-api/src/main/java/org/apache/maven/surefire/util/ScanResult.java
+++ b/surefire-api/src/main/java/org/apache/maven/surefire/util/ScanResult.java
@@ -33,7 +33,7 @@ public interface ScanResult
 
     TestsToRun applyFilter( ScannerFilter scannerFilter, ClassLoader 
testClassLoader );
 
-    List getClassesSkippedByValidation( ScannerFilter scannerFilter, 
ClassLoader testClassLoader );
+    List<Class<?>> getClassesSkippedByValidation( ScannerFilter scannerFilter, 
ClassLoader testClassLoader );
 
     void writeTo( Map<String, String> properties );
 }

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/7d9c438d/surefire-providers/common-junit4/src/main/java/org/apache/maven/surefire/common/junit4/JUnit4RunListenerFactory.java
----------------------------------------------------------------------
diff --git 
a/surefire-providers/common-junit4/src/main/java/org/apache/maven/surefire/common/junit4/JUnit4RunListenerFactory.java
 
b/surefire-providers/common-junit4/src/main/java/org/apache/maven/surefire/common/junit4/JUnit4RunListenerFactory.java
index 83a74a0..1cf5417 100644
--- 
a/surefire-providers/common-junit4/src/main/java/org/apache/maven/surefire/common/junit4/JUnit4RunListenerFactory.java
+++ 
b/surefire-providers/common-junit4/src/main/java/org/apache/maven/surefire/common/junit4/JUnit4RunListenerFactory.java
@@ -21,6 +21,8 @@ package org.apache.maven.surefire.common.junit4;
 
 import java.util.LinkedList;
 import java.util.List;
+
+import org.apache.maven.shared.utils.StringUtils;
 import org.apache.maven.surefire.util.ReflectionUtils;
 
 import org.junit.runner.notification.RunListener;
@@ -30,22 +32,20 @@ import org.junit.runner.notification.RunListener;
  */
 public class JUnit4RunListenerFactory
 {
-    public static List<RunListener> createCustomListeners( String 
listenerProperty )
+    public static List<RunListener> createCustomListeners( String listeners )
     {
         List<RunListener> result = new LinkedList<RunListener>();
-        if ( listenerProperty == null )
+        if ( StringUtils.isNotBlank( listeners ) )
         {
-            return result;
+            ClassLoader cl = Thread.currentThread().getContextClassLoader();
+            for ( String listener : listeners.split( "," ) )
+            {
+                if ( StringUtils.isNotBlank( listener ) )
+                {
+                    result.add( ReflectionUtils.instantiate( cl, listener, 
RunListener.class ) );
+                }
+            }
         }
-
-        for ( String thisListenerName : listenerProperty.split( "," ) )
-        {
-            RunListener customRunListener =
-                (RunListener) ReflectionUtils.instantiate( 
Thread.currentThread().getContextClassLoader(),
-                                                           thisListenerName );
-            result.add( customRunListener );
-        }
-
         return result;
     }
 

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/7d9c438d/surefire-providers/surefire-junit3/src/main/java/org/apache/maven/surefire/junit/JUnit3Provider.java
----------------------------------------------------------------------
diff --git 
a/surefire-providers/surefire-junit3/src/main/java/org/apache/maven/surefire/junit/JUnit3Provider.java
 
b/surefire-providers/surefire-junit3/src/main/java/org/apache/maven/surefire/junit/JUnit3Provider.java
index be90068..d520c4f 100644
--- 
a/surefire-providers/surefire-junit3/src/main/java/org/apache/maven/surefire/junit/JUnit3Provider.java
+++ 
b/surefire-providers/surefire-junit3/src/main/java/org/apache/maven/surefire/junit/JUnit3Provider.java
@@ -97,7 +97,7 @@ public class JUnit3Provider
         if ( smClassName != null )
         {
             SecurityManager securityManager =
-                (SecurityManager) ReflectionUtils.instantiate( 
this.getClass().getClassLoader(), smClassName );
+                ReflectionUtils.instantiate( getClass().getClassLoader(), 
smClassName, SecurityManager.class );
             System.setSecurityManager( securityManager );
         }
 

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/7d9c438d/surefire-providers/surefire-junit4/src/main/java/org/apache/maven/surefire/junit4/JUnit4Provider.java
----------------------------------------------------------------------
diff --git 
a/surefire-providers/surefire-junit4/src/main/java/org/apache/maven/surefire/junit4/JUnit4Provider.java
 
b/surefire-providers/surefire-junit4/src/main/java/org/apache/maven/surefire/junit4/JUnit4Provider.java
index 45b907d..7f3d1b6 100644
--- 
a/surefire-providers/surefire-junit4/src/main/java/org/apache/maven/surefire/junit4/JUnit4Provider.java
+++ 
b/surefire-providers/surefire-junit4/src/main/java/org/apache/maven/surefire/junit4/JUnit4Provider.java
@@ -44,6 +44,7 @@ import org.apache.maven.surefire.report.RunListener;
 import org.apache.maven.surefire.report.SimpleReportEntry;
 import org.apache.maven.surefire.suite.RunResult;
 import org.apache.maven.surefire.testset.TestListResolver;
+import org.apache.maven.surefire.testset.TestRequest;
 import org.apache.maven.surefire.testset.TestSetFailedException;
 import org.apache.maven.surefire.util.RunOrderCalculator;
 import org.apache.maven.surefire.util.ScanResult;
@@ -87,11 +88,12 @@ public class JUnit4Provider
         testClassLoader = booterParameters.getTestClassLoader();
         scanResult = booterParameters.getScanResult();
         runOrderCalculator = booterParameters.getRunOrderCalculator();
-        customRunListeners = JUnit4RunListenerFactory.
-            createCustomListeners( 
booterParameters.getProviderProperties().get( "listener" ) );
+        String listeners = booterParameters.getProviderProperties().get( 
"listener" );
+        customRunListeners = JUnit4RunListenerFactory.createCustomListeners( 
listeners );
         jUnit4TestChecker = new JUnit4TestChecker( testClassLoader );
-        testResolver = booterParameters.getTestRequest().getTestListResolver();
-        rerunFailingTestsCount = 
booterParameters.getTestRequest().getRerunFailingTestsCount();
+        TestRequest testRequest = booterParameters.getTestRequest();
+        testResolver = testRequest.getTestListResolver();
+        rerunFailingTestsCount = testRequest.getRerunFailingTestsCount();
     }
 
     public RunResult invoke( Object forkTestSet )
@@ -176,8 +178,8 @@ public class JUnit4Provider
         {
             for ( int i = 0; i < rerunFailingTestsCount && 
!failureListener.getAllFailures().isEmpty(); i++ )
             {
-                Set<ClassMethod> failedTests = 
JUnit4ProviderUtil.generateFailingTests(
-                        failureListener.getAllFailures( ) );
+                Set<ClassMethod> failedTests =
+                    JUnit4ProviderUtil.generateFailingTests( 
failureListener.getAllFailures() );
                 failureListener.reset();
                 if ( !failedTests.isEmpty() )
                 {
@@ -203,7 +205,7 @@ public class JUnit4Provider
     // I am not entirely sure as to why we do this explicit freeing, it's one 
of those
     // pieces of code that just seem to linger on in here ;)
     private static void closeRunNotifier( 
org.junit.runner.notification.RunListener main,
-                                   
List<org.junit.runner.notification.RunListener> others )
+                                   
Iterable<org.junit.runner.notification.RunListener> others )
     {
         RunNotifier notifier = new RunNotifier();
         notifier.removeListener( main );
@@ -225,13 +227,12 @@ public class JUnit4Provider
         return runOrderCalculator.orderTestClasses( scannedClasses );
     }
 
-    @SuppressWarnings( "unchecked" )
     private void upgradeCheck()
         throws TestSetFailedException
     {
         if ( isJUnit4UpgradeCheck() )
         {
-            List<Class> classesSkippedByValidation =
+            Collection<Class<?>> classesSkippedByValidation =
                 scanResult.getClassesSkippedByValidation( jUnit4TestChecker, 
testClassLoader );
             if ( !classesSkippedByValidation.isEmpty() )
             {

Reply via email to