Author: struberg Date: Wed Aug 29 19:40:44 2012 New Revision: 1378692 URL: http://svn.apache.org/viewvc?rev=1378692&view=rev Log: MSHARED-236 move Reflector from sandbox to proper
also fix a few license headers and improve unit test helpers Added: maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/reflection/ - copied from r1378653, maven/sandbox/trunk/plexus-utils-commons-bridge/plexus-utils-commons-bridge/src/main/java/org/codehaus/plexus/util/reflection/ maven/shared/trunk/maven-shared-utils/src/test/java/org/apache/maven/shared/utils/reflection/ - copied from r1378653, maven/sandbox/trunk/plexus-utils-commons-bridge/plexus-utils-tck/src/test/java/org/codehaus/plexus/util/reflection/ maven/shared/trunk/maven-shared-utils/src/test/java/org/apache/maven/shared/utils/testhelpers/ExceptionHelper.java (with props) Modified: maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/io/ScanConductor.java maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/reflection/Reflector.java maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/reflection/ReflectorException.java maven/shared/trunk/maven-shared-utils/src/test/java/org/apache/maven/shared/utils/reflection/ReflectorTest.java maven/shared/trunk/maven-shared-utils/src/test/java/org/apache/maven/shared/utils/reflection/ReflectorTestHelper.java maven/shared/trunk/maven-shared-utils/src/test/java/org/apache/maven/shared/utils/testhelpers/FileTestHelper.java Modified: maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/io/ScanConductor.java URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/io/ScanConductor.java?rev=1378692&r1=1378691&r2=1378692&view=diff ============================================================================== --- maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/io/ScanConductor.java (original) +++ maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/io/ScanConductor.java Wed Aug 29 19:40:44 2012 @@ -1,5 +1,25 @@ package org.apache.maven.shared.utils.io; +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + + import java.io.File; /** Modified: maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/reflection/Reflector.java URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/reflection/Reflector.java?rev=1378692&r1=1378653&r2=1378692&view=diff ============================================================================== --- maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/reflection/Reflector.java (original) +++ maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/reflection/Reflector.java Wed Aug 29 19:40:44 2012 @@ -1,4 +1,4 @@ -package org.codehaus.plexus.util.reflection; +package org.apache.maven.shared.utils.reflection; /* * Licensed to the Apache Software Foundation (ASF) under one @@ -667,4 +667,4 @@ public final class Reflector return methodMap; } -} \ No newline at end of file +} Modified: maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/reflection/ReflectorException.java URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/reflection/ReflectorException.java?rev=1378692&r1=1378653&r2=1378692&view=diff ============================================================================== --- maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/reflection/ReflectorException.java (original) +++ maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/reflection/ReflectorException.java Wed Aug 29 19:40:44 2012 @@ -1,4 +1,4 @@ -package org.codehaus.plexus.util.reflection; +package org.apache.maven.shared.utils.reflection; /* * Licensed to the Apache Software Foundation (ASF) under one @@ -71,4 +71,4 @@ public class ReflectorException { super( msg, root ); } -} \ No newline at end of file +} Modified: maven/shared/trunk/maven-shared-utils/src/test/java/org/apache/maven/shared/utils/reflection/ReflectorTest.java URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-shared-utils/src/test/java/org/apache/maven/shared/utils/reflection/ReflectorTest.java?rev=1378692&r1=1378653&r2=1378692&view=diff ============================================================================== --- maven/shared/trunk/maven-shared-utils/src/test/java/org/apache/maven/shared/utils/reflection/ReflectorTest.java (original) +++ maven/shared/trunk/maven-shared-utils/src/test/java/org/apache/maven/shared/utils/reflection/ReflectorTest.java Wed Aug 29 19:40:44 2012 @@ -1,4 +1,4 @@ -package org.codehaus.plexus.util.reflection; +package org.apache.maven.shared.utils.reflection; /* * Licensed to the Apache Software Foundation (ASF) under one @@ -19,36 +19,23 @@ package org.codehaus.plexus.util.reflect * under the License. */ -import org.apache.maven.tck.FixPlexusBugs; -import org.apache.maven.tck.ReproducesPlexusBug; -import org.junit.Rule; import org.junit.Test; import java.lang.reflect.Constructor; -import static org.apache.maven.tck.TckMatchers.*; import static org.hamcrest.CoreMatchers.*; import static org.junit.Assert.assertThat; import static org.junit.Assert.fail; +import static org.apache.maven.shared.utils.testhelpers.ExceptionHelper.*; + /** * @author Stephen Connolly */ public class ReflectorTest { - @Rule - public FixPlexusBugs fixPlexusBugs = new FixPlexusBugs(); - private Reflector reflector = new Reflector(); - @Test - @ReproducesPlexusBug( "Should actually be a utility class" ) - public void notUtilityClass() - throws Exception - { - assertThat( Reflector.class, allOf( isFinalClass(), hasDefaultConstructor(), not( isUtilityClass() ) ) ); - } - //// newInstance( Class, Object[] ) @Test( expected = NullPointerException.class ) @@ -94,8 +81,7 @@ public class ReflectorTest } @Test( expected = IllegalArgumentException.class ) - @ReproducesPlexusBug( - "Looking up constructors by signature has an unlabelled continue, so finds the wrong constructor" ) + // // @ReproducesPlexusBug( "Looking up constructors by signature has an unlabelled continue, so finds the wrong constructor" ) public void newInstancePackageConstructor() throws Exception { @@ -103,8 +89,7 @@ public class ReflectorTest } @Test( expected = IllegalArgumentException.class ) - @ReproducesPlexusBug( - "Looking up constructors by signature has an unlabelled continue, so finds the wrong constructor" ) + // // @ReproducesPlexusBug( "Looking up constructors by signature has an unlabelled continue, so finds the wrong constructor" ) public void newInstancePackageConstructorThrowsSomething() throws Exception { @@ -112,8 +97,7 @@ public class ReflectorTest } @Test( expected = IllegalArgumentException.class ) - @ReproducesPlexusBug( - "Looking up constructors by signature has an unlabelled continue, so finds the wrong constructor" ) + // // @ReproducesPlexusBug("Looking up constructors by signature has an unlabelled continue, so finds the wrong constructor" ) public void newInstanceProtectedConstructor() throws Exception { @@ -121,8 +105,7 @@ public class ReflectorTest } @Test( expected = IllegalArgumentException.class ) - @ReproducesPlexusBug( - "Looking up constructors by signature has an unlabelled continue, so finds the wrong constructor" ) + // // @ReproducesPlexusBug( "Looking up constructors by signature has an unlabelled continue, so finds the wrong constructor" ) public void newInstanceProtectedConstructorThrowsSomething() throws Exception { @@ -204,7 +187,7 @@ public class ReflectorTest } @Test( expected = IllegalArgumentException.class ) - @ReproducesPlexusBug( "Looking up methods by signature has an unlabelled continue, so finds the wrong method" ) + // @ReproducesPlexusBug( "Looking up methods by signature has an unlabelled continue, so finds the wrong method" ) public void getSingletonPackageMethod() throws Exception { @@ -212,7 +195,7 @@ public class ReflectorTest } @Test( expected = IllegalArgumentException.class ) - @ReproducesPlexusBug( "Looking up methods by signature has an unlabelled continue, so finds the wrong method" ) + // @ReproducesPlexusBug( "Looking up methods by signature has an unlabelled continue, so finds the wrong method" ) public void getSingletonPackageMethodThrowsSomething() throws Exception { @@ -220,7 +203,7 @@ public class ReflectorTest } @Test( expected = IllegalArgumentException.class ) - @ReproducesPlexusBug( "Looking up methods by signature has an unlabelled continue, so finds the wrong method" ) + // @ReproducesPlexusBug( "Looking up methods by signature has an unlabelled continue, so finds the wrong method" ) public void getSingletonProtectedMethod() throws Exception { @@ -228,7 +211,7 @@ public class ReflectorTest } @Test( expected = IllegalArgumentException.class ) - @ReproducesPlexusBug( "Looking up methods by signature has an unlabelled continue, so finds the wrong method" ) + // @ReproducesPlexusBug( "Looking up methods by signature has an unlabelled continue, so finds the wrong method" ) public void getSingletonProtectedMethodThrowsSomething() throws Exception { @@ -833,7 +816,7 @@ public class ReflectorTest } @Test( expected = IllegalArgumentException.class ) - @ReproducesPlexusBug( "Looking up methods by signature has an unlabelled continue, so finds the wrong method" ) + // @ReproducesPlexusBug( "Looking up methods by signature has an unlabelled continue, so finds the wrong method" ) public void invokeStaticClassInvalidSignature() throws Exception { @@ -848,7 +831,7 @@ public class ReflectorTest } @Test( expected = IllegalArgumentException.class ) - @ReproducesPlexusBug( "Looking up methods by signature has an unlabelled continue, so finds the wrong method" ) + // @ReproducesPlexusBug( "Looking up methods by signature has an unlabelled continue, so finds the wrong method" ) public void invokeStaticPackageMethod() throws Exception { @@ -856,7 +839,7 @@ public class ReflectorTest } @Test( expected = IllegalArgumentException.class ) - @ReproducesPlexusBug( "Looking up methods by signature has an unlabelled continue, so finds the wrong method" ) + // @ReproducesPlexusBug( "Looking up methods by signature has an unlabelled continue, so finds the wrong method" ) public void invokeStaticPackageMethodThrowsSomething() throws Exception { @@ -864,7 +847,7 @@ public class ReflectorTest } @Test( expected = IllegalArgumentException.class ) - @ReproducesPlexusBug( "Looking up methods by signature has an unlabelled continue, so finds the wrong method" ) + // @ReproducesPlexusBug( "Looking up methods by signature has an unlabelled continue, so finds the wrong method" ) public void invokeStaticProtectedMethod() throws Exception { @@ -872,7 +855,7 @@ public class ReflectorTest } @Test( expected = IllegalArgumentException.class ) - @ReproducesPlexusBug( "Looking up methods by signature has an unlabelled continue, so finds the wrong method" ) + // @ReproducesPlexusBug( "Looking up methods by signature has an unlabelled continue, so finds the wrong method" ) public void invokeStaticProtectedMethodThrowsSomething() throws Exception { @@ -951,7 +934,7 @@ public class ReflectorTest } @Test( expected = ReflectorException.class ) - @ReproducesPlexusBug( "Looking up methods by signature has an unlabelled continue, so finds the wrong method" ) + // @ReproducesPlexusBug( "Looking up methods by signature has an unlabelled continue, so finds the wrong method" ) public void getConstructorPrivate() throws Exception { @@ -1014,7 +997,7 @@ public class ReflectorTest } @Test - @ReproducesPlexusBug( "Should only access public properties" ) + // @ReproducesPlexusBug( "Should only access public properties" ) public void getObjectPropertyViaPrivateField() throws Exception { @@ -1026,7 +1009,7 @@ public class ReflectorTest } @Test - @ReproducesPlexusBug( "Should only access public properties" ) + // @ReproducesPlexusBug( "Should only access public properties" ) public void getObjectPropertyViaPackageField() throws Exception { @@ -1038,7 +1021,7 @@ public class ReflectorTest } @Test - @ReproducesPlexusBug( "Should only access public properties" ) + // @ReproducesPlexusBug( "Should only access public properties" ) public void getObjectPropertyViaProtectedField() throws Exception { @@ -1183,7 +1166,7 @@ public class ReflectorTest } @Test( expected = ReflectorException.class ) - @ReproducesPlexusBug( "Looking up methods by signature has an unlabelled continue, so finds the wrong method" ) + // @ReproducesPlexusBug( "Looking up methods by signature has an unlabelled continue, so finds the wrong method" ) public void getMethodPrivate() throws Exception { Modified: maven/shared/trunk/maven-shared-utils/src/test/java/org/apache/maven/shared/utils/reflection/ReflectorTestHelper.java URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-shared-utils/src/test/java/org/apache/maven/shared/utils/reflection/ReflectorTestHelper.java?rev=1378692&r1=1378653&r2=1378692&view=diff ============================================================================== --- maven/shared/trunk/maven-shared-utils/src/test/java/org/apache/maven/shared/utils/reflection/ReflectorTestHelper.java (original) +++ maven/shared/trunk/maven-shared-utils/src/test/java/org/apache/maven/shared/utils/reflection/ReflectorTestHelper.java Wed Aug 29 19:40:44 2012 @@ -1,4 +1,4 @@ -package org.codehaus.plexus.util.reflection; +package org.apache.maven.shared.utils.reflection; /* * Licensed to the Apache Software Foundation (ASF) under one @@ -21,11 +21,8 @@ package org.codehaus.plexus.util.reflect /** - * Created by IntelliJ IDEA. - * User: stephenc - * Date: 03/08/2011 - * Time: 13:37 - * To change this template use File | Settings | File Templates. + * + * @author stephenc */ class ReflectorTestHelper { Added: maven/shared/trunk/maven-shared-utils/src/test/java/org/apache/maven/shared/utils/testhelpers/ExceptionHelper.java URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-shared-utils/src/test/java/org/apache/maven/shared/utils/testhelpers/ExceptionHelper.java?rev=1378692&view=auto ============================================================================== --- maven/shared/trunk/maven-shared-utils/src/test/java/org/apache/maven/shared/utils/testhelpers/ExceptionHelper.java (added) +++ maven/shared/trunk/maven-shared-utils/src/test/java/org/apache/maven/shared/utils/testhelpers/ExceptionHelper.java Wed Aug 29 19:40:44 2012 @@ -0,0 +1,67 @@ +package org.apache.maven.shared.utils.testhelpers; + +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + + +import org.hamcrest.BaseMatcher; +import org.hamcrest.Description; +import org.hamcrest.Matcher; + + +public class ExceptionHelper +{ + + /** + * A matcher that verifies that the a root cause of an exception is of the specified type. + * + * @param cause the type of exception that caused this. + * @return A matcher that verifies that the a root cause of an exception is of the specified type. + */ + public static Matcher<Throwable> hasCause( Class<? extends Throwable> cause ) + { + return new HasCause( cause ); + } + + private static class HasCause + extends BaseMatcher<Throwable> + { + private final Class<? extends Throwable> cause; + + public HasCause( Class<? extends Throwable> cause ) + { + this.cause = cause; + } + + public boolean matches( Object item ) + { + Throwable throwable = (Throwable) item; + while ( throwable != null && !cause.isInstance( throwable ) ) + { + throwable = throwable.getCause(); + } + return cause.isInstance( throwable ); + } + + public void describeTo( Description description ) + { + description.appendText( "was caused by a " ).appendValue( cause ).appendText( " being thrown" ); + } + } +} Propchange: maven/shared/trunk/maven-shared-utils/src/test/java/org/apache/maven/shared/utils/testhelpers/ExceptionHelper.java ------------------------------------------------------------------------------ svn:eol-style = native Modified: maven/shared/trunk/maven-shared-utils/src/test/java/org/apache/maven/shared/utils/testhelpers/FileTestHelper.java URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-shared-utils/src/test/java/org/apache/maven/shared/utils/testhelpers/FileTestHelper.java?rev=1378692&r1=1378691&r2=1378692&view=diff ============================================================================== --- maven/shared/trunk/maven-shared-utils/src/test/java/org/apache/maven/shared/utils/testhelpers/FileTestHelper.java (original) +++ maven/shared/trunk/maven-shared-utils/src/test/java/org/apache/maven/shared/utils/testhelpers/FileTestHelper.java Wed Aug 29 19:40:44 2012 @@ -1,5 +1,25 @@ package org.apache.maven.shared.utils.testhelpers; +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + + import org.apache.maven.shared.utils.io.FileUtils; import org.apache.maven.shared.utils.io.IOUtil; import org.junit.rules.TemporaryFolder;