You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by rf...@apache.org on 2019/10/02 21:08:30 UTC
[maven] branch MNG-6656 updated: [MNG-6656] Applying review comments
This is an automated email from the ASF dual-hosted git repository.
rfscholte pushed a commit to branch MNG-6656
in repository https://gitbox.apache.org/repos/asf/maven.git
The following commit(s) were added to refs/heads/MNG-6656 by this push:
new b19b05c [MNG-6656] Applying review comments
b19b05c is described below
commit b19b05cbf2f30705dffb8c1a541d65096d967d11
Author: rfscholte <rf...@apache.org>
AuthorDate: Wed Oct 2 23:08:34 2019 +0200
[MNG-6656] Applying review comments
---
.../DefaultRepositorySystemSessionFactory.java | 35 ++++++++++--------
.../internal/DefaultBuildPomXMLFilterFactory.java | 2 +-
maven-model-builder/pom.xml | 5 ---
.../maven/model/building/DefaultModelBuilder.java | 43 ++++++++++++----------
.../model/building/DefaultModelCacheManager.java | 16 ++++----
.../apache/maven/model/building/ModelProblem.java | 3 +-
.../StringSearchModelInterpolatorTest.java | 40 ++++++++++----------
.../main/java/org/apache/maven/xml/SAXEvent.java | 2 +-
.../java/org/apache/maven/xml/SAXEventFactory.java | 2 +-
.../java/org/apache/maven/xml/SAXEventUtils.java | 9 ++++-
.../maven/xml/filter/BuildPomXMLFilterFactory.java | 7 ++--
.../maven/xml/filter/ConsumerPomXMLFilter.java | 3 +-
.../org/apache/maven/xml/filter/DependencyKey.java | 6 ++-
.../apache/maven/xml/filter/ParentXMLFilter.java | 1 +
.../xml/filter/ReactorDependencyXMLFilter.java | 2 +-
.../maven/xml/filter/AbstractXMLFilterTests.java | 6 +--
.../maven/xml/filter/ConsumerPomXMLFilterTest.java | 16 ++++----
pom.xml | 6 ---
18 files changed, 106 insertions(+), 98 deletions(-)
diff --git a/maven-core/src/main/java/org/apache/maven/internal/aether/DefaultRepositorySystemSessionFactory.java b/maven-core/src/main/java/org/apache/maven/internal/aether/DefaultRepositorySystemSessionFactory.java
index e4f8439..107c98b 100644
--- a/maven-core/src/main/java/org/apache/maven/internal/aether/DefaultRepositorySystemSessionFactory.java
+++ b/maven-core/src/main/java/org/apache/maven/internal/aether/DefaultRepositorySystemSessionFactory.java
@@ -31,12 +31,15 @@ import java.util.Collections;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Properties;
+import java.util.concurrent.Callable;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
import javax.inject.Inject;
import javax.inject.Named;
import javax.inject.Provider;
import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.sax.SAXSource;
import javax.xml.transform.stream.StreamResult;
@@ -54,6 +57,7 @@ import org.apache.maven.settings.building.SettingsProblem;
import org.apache.maven.settings.crypto.DefaultSettingsDecryptionRequest;
import org.apache.maven.settings.crypto.SettingsDecrypter;
import org.apache.maven.settings.crypto.SettingsDecryptionResult;
+import org.apache.maven.xml.Factories;
import org.apache.maven.xml.filter.ConsumerPomXMLFilterFactory;
import org.codehaus.plexus.configuration.xml.XmlPlexusConfiguration;
import org.codehaus.plexus.logging.Logger;
@@ -280,7 +284,7 @@ public class DefaultRepositorySystemSessionFactory
Collection<FileTransformer> transformers = new ArrayList<>();
if ( "pom".equals( artifact.getExtension() ) )
{
- final TransformerFactory transformerFactory = TransformerFactory.newInstance();
+ final TransformerFactory transformerFactory = Factories.newTransformerFactory();
transformers.add( new FileTransformer()
{
@@ -300,30 +304,29 @@ public class DefaultRepositorySystemSessionFactory
}
catch ( SAXException | ParserConfigurationException e )
{
- e.printStackTrace();
throw new TransformException( "Failed to create a consumerPomXMLFilter", e );
}
final StreamResult result = new StreamResult( pipedOutputStream );
- final Runnable runnable = new Runnable()
+ final Callable<Void> callable = () ->
{
- @Override
- public void run()
+ try ( PipedOutputStream out = pipedOutputStream )
{
- try ( PipedOutputStream out = pipedOutputStream )
- {
- transformerFactory.newTransformer().transform( transformSource, result );
- }
- catch ( TransformerException | IOException e )
- {
- e.printStackTrace();
- throw new RuntimeException( e );
- }
+ transformerFactory.newTransformer().transform( transformSource, result );
}
+ return null;
};
- new Thread( runnable ).start();
+ ExecutorService executorService = Executors.newSingleThreadExecutor();
+ try
+ {
+ executorService.submit( callable ).get();
+ }
+ catch ( InterruptedException | ExecutionException e )
+ {
+ throw new TransformException( "Failed to transform pom", e );
+ }
return pipedInputStream;
}
diff --git a/maven-core/src/main/java/org/apache/maven/xml/internal/DefaultBuildPomXMLFilterFactory.java b/maven-core/src/main/java/org/apache/maven/xml/internal/DefaultBuildPomXMLFilterFactory.java
index e1b5ab5..2728103 100644
--- a/maven-core/src/main/java/org/apache/maven/xml/internal/DefaultBuildPomXMLFilterFactory.java
+++ b/maven-core/src/main/java/org/apache/maven/xml/internal/DefaultBuildPomXMLFilterFactory.java
@@ -104,7 +104,7 @@ public class DefaultBuildPomXMLFilterFactory extends BuildPomXMLFilterFactory
return new RelativeProject( groupId, m.getArtifactId(), version );
}
- private String toVersion( final Model m )
+ private static String toVersion( final Model m )
{
String version = m.getVersion();
if ( version == null && m.getParent() != null )
diff --git a/maven-model-builder/pom.xml b/maven-model-builder/pom.xml
index d9e02f4..511957c 100644
--- a/maven-model-builder/pom.xml
+++ b/maven-model-builder/pom.xml
@@ -88,11 +88,6 @@ under the License.
<artifactId>xmlunit-matchers</artifactId>
<scope>test</scope>
</dependency>
- <dependency>
- <groupId>org.powermock</groupId>
- <artifactId>powermock-reflect</artifactId>
- <scope>test</scope>
- </dependency>
</dependencies>
<build>
diff --git a/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java b/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java
index d60e68d..5efb532 100644
--- a/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java
+++ b/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java
@@ -36,12 +36,15 @@ import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Properties;
+import java.util.concurrent.Callable;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
import javax.inject.Inject;
import javax.inject.Named;
import javax.inject.Provider;
import javax.inject.Singleton;
-import javax.xml.crypto.dsig.TransformException;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
@@ -88,6 +91,7 @@ import org.apache.maven.model.resolution.UnresolvableModelException;
import org.apache.maven.model.resolution.WorkspaceModelResolver;
import org.apache.maven.model.superpom.SuperPomProvider;
import org.apache.maven.model.validation.ModelValidator;
+import org.apache.maven.xml.Factories;
import org.apache.maven.xml.filter.BuildPomXMLFilterFactory;
import org.codehaus.plexus.interpolation.MapBasedValueSource;
import org.codehaus.plexus.interpolation.StringSearchInterpolator;
@@ -770,7 +774,6 @@ public class DefaultModelBuilder
{
try
{
- // TODO: parent might be part of reactor... better read all lineage items like this?
Model parent = lineage.get( 1 ).getModel();
Model child = modelProcessor.read( transformData( lineage.get( 0 ) ), null );
@@ -781,10 +784,9 @@ public class DefaultModelBuilder
// overwrite child
lineage.get( 0 ).setModel( child );
}
- catch ( IOException | TransformException | SAXException | ParserConfigurationException e )
+ catch ( IOException | TransformerException | SAXException | ParserConfigurationException e )
{
- // this is second read, should not happen
- e.printStackTrace();
+ problems.add( new ModelProblemCollectorRequest( Severity.FATAL, Version.V37 ).setException( e ) );
}
}
else
@@ -796,9 +798,9 @@ public class DefaultModelBuilder
}
private InputStream transformData( ModelData modelData )
- throws IOException, TransformException, SAXException, ParserConfigurationException
+ throws IOException, TransformerException, SAXException, ParserConfigurationException
{
- final TransformerFactory transformerFactory = TransformerFactory.newInstance();
+ final TransformerFactory transformerFactory = Factories.newTransformerFactory() ;
final PipedOutputStream pipedOutputStream = new PipedOutputStream();
final PipedInputStream pipedInputStream = new PipedInputStream( pipedOutputStream );
@@ -806,7 +808,7 @@ public class DefaultModelBuilder
// Should always be FileSource for reactor poms
FileSource source = (FileSource) modelData.getSource();
- System.out.println( "transforming " + source.getFile() );
+ // System.out.println( "transforming " + source.getFile() );
final SAXSource transformSource =
new SAXSource( buildPomXMLFilterFactory.get().get( source.getFile().toPath() ),
@@ -814,23 +816,24 @@ public class DefaultModelBuilder
final StreamResult result = new StreamResult( pipedOutputStream );
- final Runnable runnable = new Runnable()
+ final Callable<Void> callable = () ->
{
- @Override
- public void run()
+ try ( PipedOutputStream out = pipedOutputStream )
{
- try ( PipedOutputStream out = pipedOutputStream )
- {
- transformerFactory.newTransformer().transform( transformSource, result );
- }
- catch ( TransformerException | IOException e )
- {
- throw new RuntimeException( e );
- }
+ transformerFactory.newTransformer().transform( transformSource, result );
}
+ return null;
};
- new Thread( runnable ).start();
+ ExecutorService executorService = Executors.newSingleThreadExecutor();
+ try
+ {
+ executorService.submit( callable ).get();
+ }
+ catch ( InterruptedException | ExecutionException e )
+ {
+ throw new TransformerException( "Failed to transform pom", e );
+ }
return pipedInputStream;
}
diff --git a/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelCacheManager.java b/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelCacheManager.java
index f33d713..96ca420 100644
--- a/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelCacheManager.java
+++ b/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelCacheManager.java
@@ -20,9 +20,8 @@ package org.apache.maven.model.building;
*/
import java.nio.file.Path;
-import java.util.Collections;
-import java.util.HashMap;
import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
import javax.inject.Named;
import javax.inject.Singleton;
@@ -39,15 +38,14 @@ import org.apache.maven.xml.filter.DependencyKey;
@Singleton
public class DefaultModelCacheManager implements ModelCacheManager
{
- private static final Map<Path, Model> MODELCACHE = Collections.synchronizedMap( new HashMap<Path, Model>() );
+ private final Map<Path, Model> modelCache = new ConcurrentHashMap<>();
- private static final Map<DependencyKey, Model> DEPKEYMODELCACHE =
- Collections.synchronizedMap( new HashMap<DependencyKey, Model>() );
+ private final Map<DependencyKey, Model> depKeyModelCache = new ConcurrentHashMap<>();
@Override
public void put( Path p, Model m )
{
- MODELCACHE.put( p, m );
+ modelCache.put( p, m );
String groupId = m.getGroupId();
if ( groupId == null && m.getParent() != null )
@@ -56,19 +54,19 @@ public class DefaultModelCacheManager implements ModelCacheManager
}
String artifactId = m.getArtifactId();
- DEPKEYMODELCACHE.put( new DependencyKey( groupId, artifactId ), m );
+ depKeyModelCache.put( new DependencyKey( groupId, artifactId ), m );
}
@Override
public Model get( Path p )
{
- return MODELCACHE.get( p );
+ return modelCache.get( p );
}
@Override
public Model get( DependencyKey k )
{
- return DEPKEYMODELCACHE.get( k );
+ return depKeyModelCache.get( k );
}
}
diff --git a/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelProblem.java b/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelProblem.java
index 2c7a72e..30b6724 100644
--- a/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelProblem.java
+++ b/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelProblem.java
@@ -50,7 +50,8 @@ public interface ModelProblem
BASE,
V20,
V30,
- V31
+ V31,
+ V37
}
/**
diff --git a/maven-model-builder/src/test/java/org/apache/maven/model/interpolation/StringSearchModelInterpolatorTest.java b/maven-model-builder/src/test/java/org/apache/maven/model/interpolation/StringSearchModelInterpolatorTest.java
index b66abca..4cc2508 100644
--- a/maven-model-builder/src/test/java/org/apache/maven/model/interpolation/StringSearchModelInterpolatorTest.java
+++ b/maven-model-builder/src/test/java/org/apache/maven/model/interpolation/StringSearchModelInterpolatorTest.java
@@ -19,25 +19,29 @@ package org.apache.maven.model.interpolation;
* under the License.
*/
-import org.apache.maven.model.InputLocation;
-import org.apache.maven.model.InputSource;
-import org.apache.maven.model.Model;
-import org.apache.maven.model.building.DefaultModelBuildingRequest;
-import org.apache.maven.model.building.ModelBuildingRequest;
-import org.apache.maven.model.building.SimpleProblemCollector;
+import static org.apache.commons.lang3.reflect.FieldUtils.*;
+import static org.hamcrest.CoreMatchers.anyOf;
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
import java.io.File;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Properties;
import java.util.concurrent.Callable;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.Future;
import java.util.concurrent.FutureTask;
-import static org.hamcrest.CoreMatchers.anyOf;
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertThat;
-import static org.powermock.reflect.Whitebox.getField;
-import static org.powermock.reflect.Whitebox.getInternalState;
+import org.apache.maven.model.InputLocation;
+import org.apache.maven.model.InputSource;
+import org.apache.maven.model.Model;
+import org.apache.maven.model.building.DefaultModelBuildingRequest;
+import org.apache.maven.model.building.ModelBuildingRequest;
+import org.apache.maven.model.building.SimpleProblemCollector;
/**
* @author jdcasey
@@ -395,8 +399,7 @@ public class StringSearchModelInterpolatorTest
//noinspection unchecked
Map<Class<?>, ?> cache =
- (Map<Class<?>, ?>) getField( StringSearchModelInterpolator.class, "CACHED_ENTRIES" )
- .get( null );
+ (Map<Class<?>, ?>) readStaticField( StringSearchModelInterpolator.class, "CACHED_ENTRIES", true );
Object objCacheItem = cache.get( Object.class );
Object fileCacheItem = cache.get( File.class );
@@ -404,8 +407,8 @@ public class StringSearchModelInterpolatorTest
assertNotNull( objCacheItem );
assertNotNull( fileCacheItem );
- assertThat( ( (Object[]) getInternalState( objCacheItem, "fields" ) ).length, is( 0 ) );
- assertThat( ( (Object[]) getInternalState( fileCacheItem, "fields" ) ).length, is( 0 ) );
+ assertThat( ( (Object[]) readField( objCacheItem, "fields", true ) ).length, is( 0 ) );
+ assertThat( ( (Object[]) readField( fileCacheItem, "fields", true ) ).length, is( 0 ) );
}
public void testNotInterpolateFile()
@@ -427,14 +430,13 @@ public class StringSearchModelInterpolatorTest
//noinspection unchecked
Map<Class<?>, ?> cache =
- (Map<Class<?>, ?>) getField( StringSearchModelInterpolator.class, "CACHED_ENTRIES" )
- .get( null );
+ (Map<Class<?>, ?>) readStaticField( StringSearchModelInterpolator.class, "CACHED_ENTRIES", true );
Object fileCacheItem = cache.get( File.class );
assertNotNull( fileCacheItem );
- assertThat( ( (Object[]) getInternalState( fileCacheItem, "fields" ) ).length, is( 0 ) );
+ assertThat( ( (Object[]) readField( fileCacheItem, "fields", true ) ).length, is( 0 ) );
}
diff --git a/maven-xml/src/main/java/org/apache/maven/xml/SAXEvent.java b/maven-xml/src/main/java/org/apache/maven/xml/SAXEvent.java
index 07da280..11aad6d 100644
--- a/maven-xml/src/main/java/org/apache/maven/xml/SAXEvent.java
+++ b/maven-xml/src/main/java/org/apache/maven/xml/SAXEvent.java
@@ -25,7 +25,7 @@ import org.xml.sax.SAXException;
* Command pattern to gather events which can be executed later on.
*
* @author Robert Scholte
- * @since
+ * @since 3.7.0
*/
@FunctionalInterface
public interface SAXEvent
diff --git a/maven-xml/src/main/java/org/apache/maven/xml/SAXEventFactory.java b/maven-xml/src/main/java/org/apache/maven/xml/SAXEventFactory.java
index 42739e1..6d525f6 100644
--- a/maven-xml/src/main/java/org/apache/maven/xml/SAXEventFactory.java
+++ b/maven-xml/src/main/java/org/apache/maven/xml/SAXEventFactory.java
@@ -27,7 +27,7 @@ import org.xml.sax.Locator;
* Factory for SAXEvents
*
* @author Robert Scholte
- * @since 4.0.0
+ * @since 3.7.0
*/
public final class SAXEventFactory
{
diff --git a/maven-xml/src/main/java/org/apache/maven/xml/SAXEventUtils.java b/maven-xml/src/main/java/org/apache/maven/xml/SAXEventUtils.java
index 06f4f26..2f3644d 100644
--- a/maven-xml/src/main/java/org/apache/maven/xml/SAXEventUtils.java
+++ b/maven-xml/src/main/java/org/apache/maven/xml/SAXEventUtils.java
@@ -23,7 +23,7 @@ package org.apache.maven.xml;
* Utility class for SAXEvents
*
* @author Robert Scholte
- * @since 4.0.0
+ * @since 3.7.0
*/
public final class SAXEventUtils
{
@@ -31,6 +31,13 @@ public final class SAXEventUtils
{
}
+ /**
+ * Returns the newLocalName prefixed with the namespace of the oldQName if present
+ *
+ * @param oldQName the QName, used for its namespace
+ * @param newLocalName the preferred localName
+ * @return the new QName
+ */
public static String renameQName( String oldQName, String newLocalName )
{
return oldQName.replaceFirst( "[^:]+$", newLocalName );
diff --git a/maven-xml/src/main/java/org/apache/maven/xml/filter/BuildPomXMLFilterFactory.java b/maven-xml/src/main/java/org/apache/maven/xml/filter/BuildPomXMLFilterFactory.java
index 83eafe6..1df17ba 100644
--- a/maven-xml/src/main/java/org/apache/maven/xml/filter/BuildPomXMLFilterFactory.java
+++ b/maven-xml/src/main/java/org/apache/maven/xml/filter/BuildPomXMLFilterFactory.java
@@ -24,8 +24,8 @@ import java.util.Optional;
import java.util.function.Function;
import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.parsers.SAXParserFactory;
+import org.apache.maven.xml.Factories;
import org.xml.sax.SAXException;
import org.xml.sax.XMLReader;
@@ -74,12 +74,13 @@ public abstract class BuildPomXMLFilterFactory
protected XMLReader getParent() throws SAXException, ParserConfigurationException
{
- XMLReader xmlReader = SAXParserFactory.newInstance().newSAXParser().getXMLReader();
+ XMLReader xmlReader = Factories.newXMLReader();
xmlReader.setFeature( "http://xml.org/sax/features/namespaces", true );
return xmlReader;
}
- // For CIFriendly
+ // getters for the 3 magic properties of CIFriendly versions ( https://maven.apache.org/maven-ci-friendly.html )
+
protected abstract Optional<String> getChangelist();
protected abstract Optional<String> getRevision();
diff --git a/maven-xml/src/main/java/org/apache/maven/xml/filter/ConsumerPomXMLFilter.java b/maven-xml/src/main/java/org/apache/maven/xml/filter/ConsumerPomXMLFilter.java
index 9975c22..8993d1d 100644
--- a/maven-xml/src/main/java/org/apache/maven/xml/filter/ConsumerPomXMLFilter.java
+++ b/maven-xml/src/main/java/org/apache/maven/xml/filter/ConsumerPomXMLFilter.java
@@ -27,9 +27,8 @@ import org.xml.sax.helpers.XMLFilterImpl;
* This often means stripping of build-specific information.
* When extra information is required during filtering it is probably a member of the BuildPomXMLFilter
*
- * This filter is used at 2 locations:
+ * This filter is used at 1 locations:
* - {@link org.apache.maven.internal.aether.DefaultRepositorySystemSessionFactory} when publishing pom files.
- * - TODO ???Class when a reactor module is used as dependency. This ensures consistency of dependency handling
*
* @author Robert Scholte
* @since 3.7.0
diff --git a/maven-xml/src/main/java/org/apache/maven/xml/filter/DependencyKey.java b/maven-xml/src/main/java/org/apache/maven/xml/filter/DependencyKey.java
index bf91cf9..6b5e905 100644
--- a/maven-xml/src/main/java/org/apache/maven/xml/filter/DependencyKey.java
+++ b/maven-xml/src/main/java/org/apache/maven/xml/filter/DependencyKey.java
@@ -31,11 +31,15 @@ public class DependencyKey
private final String groupId;
private final String artifactId;
+
+ private final int hashCode;
public DependencyKey( String groupId, String artifactId )
{
this.groupId = groupId;
this.artifactId = artifactId;
+
+ this.hashCode = Objects.hash( artifactId, groupId );
}
public String getGroupId()
@@ -51,7 +55,7 @@ public class DependencyKey
@Override
public int hashCode()
{
- return Objects.hash( artifactId, groupId );
+ return hashCode;
}
@Override
diff --git a/maven-xml/src/main/java/org/apache/maven/xml/filter/ParentXMLFilter.java b/maven-xml/src/main/java/org/apache/maven/xml/filter/ParentXMLFilter.java
index 747a283..7bb744d 100644
--- a/maven-xml/src/main/java/org/apache/maven/xml/filter/ParentXMLFilter.java
+++ b/maven-xml/src/main/java/org/apache/maven/xml/filter/ParentXMLFilter.java
@@ -43,6 +43,7 @@ import org.xml.sax.helpers.XMLFilterImpl;
* </p>
*
* @author Robert Scholte
+ * @since 3.7.0
*/
class ParentXMLFilter
extends XMLFilterImpl
diff --git a/maven-xml/src/main/java/org/apache/maven/xml/filter/ReactorDependencyXMLFilter.java b/maven-xml/src/main/java/org/apache/maven/xml/filter/ReactorDependencyXMLFilter.java
index a568df5..fa8b1e5 100644
--- a/maven-xml/src/main/java/org/apache/maven/xml/filter/ReactorDependencyXMLFilter.java
+++ b/maven-xml/src/main/java/org/apache/maven/xml/filter/ReactorDependencyXMLFilter.java
@@ -30,7 +30,7 @@ import org.xml.sax.helpers.XMLFilterImpl;
* Will apply the version if the dependency is part of the reactor
*
* @author Robert Scholte
- * @since 4.0.0
+ * @since 3.7.0
*/
public class ReactorDependencyXMLFilter extends XMLFilterImpl
{
diff --git a/maven-xml/src/test/java/org/apache/maven/xml/filter/AbstractXMLFilterTests.java b/maven-xml/src/test/java/org/apache/maven/xml/filter/AbstractXMLFilterTests.java
index e406f6c..0d9b779 100644
--- a/maven-xml/src/test/java/org/apache/maven/xml/filter/AbstractXMLFilterTests.java
+++ b/maven-xml/src/test/java/org/apache/maven/xml/filter/AbstractXMLFilterTests.java
@@ -25,7 +25,6 @@ import java.io.StringWriter;
import java.io.Writer;
import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.parsers.SAXParserFactory;
import javax.xml.transform.OutputKeys;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerException;
@@ -33,6 +32,7 @@ import javax.xml.transform.TransformerFactory;
import javax.xml.transform.sax.SAXSource;
import javax.xml.transform.stream.StreamResult;
+import org.apache.maven.xml.Factories;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
import org.xml.sax.XMLFilter;
@@ -50,7 +50,7 @@ public abstract class AbstractXMLFilterTests
{
if( filter.getParent() == null )
{
- filter.setParent( SAXParserFactory.newInstance().newSAXParser().getXMLReader() );
+ filter.setParent( Factories.newXMLReader() );
filter.setFeature( "http://xml.org/sax/features/namespaces", true );
}
}
@@ -82,7 +82,7 @@ public abstract class AbstractXMLFilterTests
Writer writer = new StringWriter();
StreamResult result = new StreamResult( writer );
- TransformerFactory transformerFactory = TransformerFactory.newInstance();
+ TransformerFactory transformerFactory = Factories.newTransformerFactory();
Transformer transformer = transformerFactory.newTransformer();
transformer.setOutputProperty( OutputKeys.OMIT_XML_DECLARATION, "yes" );
diff --git a/maven-xml/src/test/java/org/apache/maven/xml/filter/ConsumerPomXMLFilterTest.java b/maven-xml/src/test/java/org/apache/maven/xml/filter/ConsumerPomXMLFilterTest.java
index 5484ea6..4ed4ab6 100644
--- a/maven-xml/src/test/java/org/apache/maven/xml/filter/ConsumerPomXMLFilterTest.java
+++ b/maven-xml/src/test/java/org/apache/maven/xml/filter/ConsumerPomXMLFilterTest.java
@@ -119,10 +119,10 @@ public class ConsumerPomXMLFilterTest extends AbstractXMLFilterTests
@Test
public void testMe() throws Exception {
String input = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n" +
- "<project xmlns=\"http://maven.apache.org/POM/4.0.0\" \r\n" +
- " xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\r\n" +
- " xsi:schemaLocation=\"http://maven.apache.org/POM/4.0.0 \r\n" +
- " http://maven.apache.org/maven-v4_0_0.xsd\">\r\n" +
+ "<project xmlns=\"http://maven.apache.org/POM/4.0.0\"\r\n" +
+ " xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\r\n" +
+ " xsi:schemaLocation=\"http://maven.apache.org/POM/4.0.0\r\n" +
+ " http://maven.apache.org/xsd/maven-4.0.0.xsd\">\r\n" +
" <modelVersion>4.0.0</modelVersion>\r\n" +
" <groupId>org.sonatype.mavenbook.multispring</groupId>\r\n" +
" <artifactId>parent</artifactId>\r\n" +
@@ -141,10 +141,10 @@ public class ConsumerPomXMLFilterTest extends AbstractXMLFilterTests
" </pluginRepositories>\r\n" +
"</project>";
String expected = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n" +
- "<project xmlns=\"http://maven.apache.org/POM/4.0.0\" \r\n" +
- " xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\r\n" +
- " xsi:schemaLocation=\"http://maven.apache.org/POM/4.0.0 \r\n" +
- " http://maven.apache.org/maven-v4_0_0.xsd\">\r\n" +
+ "<project xmlns=\"http://maven.apache.org/POM/4.0.0\"\r\n" +
+ " xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\r\n" +
+ " xsi:schemaLocation=\"http://maven.apache.org/POM/4.0.0\r\n" +
+ " http://maven.apache.org/xsd/maven-4.0.0.xsd\">\r\n" +
" <modelVersion>4.0.0</modelVersion>\r\n" +
" <groupId>org.sonatype.mavenbook.multispring</groupId>\r\n" +
" <artifactId>parent</artifactId>\r\n" +
diff --git a/pom.xml b/pom.xml
index 0a50d17..805cb06 100644
--- a/pom.xml
+++ b/pom.xml
@@ -67,7 +67,6 @@ under the License.
<resolverVersion>1.4.1</resolverVersion>
<slf4jVersion>1.7.25</slf4jVersion>
<xmlunitVersion>2.6.2</xmlunitVersion>
- <powermockVersion>1.7.4</powermockVersion>
<maven.test.redirectTestOutputToFile>true</maven.test.redirectTestOutputToFile>
<!-- Control the name of the distribution and information output by mvn -->
<distributionId>apache-maven</distributionId>
@@ -431,11 +430,6 @@ under the License.
<version>${xmlunitVersion}</version>
<scope>test</scope>
</dependency>
- <dependency>
- <groupId>org.powermock</groupId>
- <artifactId>powermock-reflect</artifactId>
- <version>${powermockVersion}</version>
- </dependency>
</dependencies>
<!--bootstrap-start-comment-->
</dependencyManagement>