You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by be...@apache.org on 2009/05/06 01:31:09 UTC
svn commit: r772013 - in /maven/components/branches/MNG-2766:
maven-model-builder/pom.xml
maven-model-builder/src/main/java/org/apache/maven/model/interpolator/DefaultInterpolator.java
pom.xml
Author: bentmann
Date: Tue May 5 23:31:09 2009
New Revision: 772013
URL: http://svn.apache.org/viewvc?rev=772013&view=rev
Log:
o Migrated from StAX to XPP to have us focus on a single XML parser for now
Modified:
maven/components/branches/MNG-2766/maven-model-builder/pom.xml
maven/components/branches/MNG-2766/maven-model-builder/src/main/java/org/apache/maven/model/interpolator/DefaultInterpolator.java
maven/components/branches/MNG-2766/pom.xml
Modified: maven/components/branches/MNG-2766/maven-model-builder/pom.xml
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-2766/maven-model-builder/pom.xml?rev=772013&r1=772012&r2=772013&view=diff
==============================================================================
--- maven/components/branches/MNG-2766/maven-model-builder/pom.xml (original)
+++ maven/components/branches/MNG-2766/maven-model-builder/pom.xml Tue May 5 23:31:09 2009
@@ -38,14 +38,6 @@
<artifactId>maven-model</artifactId>
</dependency>
<dependency>
- <groupId>org.codehaus.woodstox</groupId>
- <artifactId>wstx-asl</artifactId>
- </dependency>
- <dependency>
- <groupId>stax</groupId>
- <artifactId>stax-api</artifactId>
- </dependency>
- <dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.4</version>
Modified: maven/components/branches/MNG-2766/maven-model-builder/src/main/java/org/apache/maven/model/interpolator/DefaultInterpolator.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-2766/maven-model-builder/src/main/java/org/apache/maven/model/interpolator/DefaultInterpolator.java?rev=772013&r1=772012&r2=772013&view=diff
==============================================================================
--- maven/components/branches/MNG-2766/maven-model-builder/src/main/java/org/apache/maven/model/interpolator/DefaultInterpolator.java (original)
+++ maven/components/branches/MNG-2766/maven-model-builder/src/main/java/org/apache/maven/model/interpolator/DefaultInterpolator.java Tue May 5 23:31:09 2009
@@ -5,6 +5,7 @@
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
+import java.io.Reader;
import java.io.Writer;
import java.util.ArrayList;
import java.util.Arrays;
@@ -20,11 +21,6 @@
import java.util.Set;
import java.util.Map.Entry;
-import javax.xml.stream.XMLInputFactory;
-import javax.xml.stream.XMLStreamConstants;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-
import org.apache.maven.model.Build;
import org.apache.maven.model.DomainModel;
import org.apache.maven.model.Model;
@@ -32,7 +28,12 @@
import org.apache.maven.model.Resource;
import org.apache.maven.model.io.xpp3.MavenXpp3Writer;
import org.codehaus.plexus.component.annotations.Component;
+import org.codehaus.plexus.util.IOUtil;
+import org.codehaus.plexus.util.ReaderFactory;
import org.codehaus.plexus.util.WriterFactory;
+import org.codehaus.plexus.util.xml.pull.MXParser;
+import org.codehaus.plexus.util.xml.pull.XmlPullParser;
+import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
@Component(role = Interpolator.class)
public class DefaultInterpolator
@@ -580,9 +581,6 @@
}
List<ModelProperty> modelProperties = new ArrayList<ModelProperty>();
- XMLInputFactory xmlInputFactory = new com.ctc.wstx.stax.WstxInputFactory();
- xmlInputFactory.setProperty( XMLInputFactory.IS_REPLACING_ENTITY_REFERENCES, Boolean.FALSE );
- xmlInputFactory.setProperty( XMLInputFactory.IS_NAMESPACE_AWARE, Boolean.FALSE );
Uri uri = new Uri( baseUri );
String tagName = baseUri;
@@ -590,29 +588,28 @@
int depth = 0;
int depthOfTagValue = depth;
- XMLStreamReader xmlStreamReader = null;
+ Reader reader = null;
try
{
- xmlStreamReader = xmlInputFactory.createXMLStreamReader( inputStream );
+ reader = ReaderFactory.newXmlReader( inputStream );
+
+ XmlPullParser parser = new MXParser();
+ parser.setInput( reader );
Map<String, String> attributes = new HashMap<String, String>();
- for ( ;; xmlStreamReader.next() )
+ for ( int type = parser.getEventType();; type = parser.next() )
{
- int type = xmlStreamReader.getEventType();
switch ( type )
{
-
- case XMLStreamConstants.CDATA:
- case XMLStreamConstants.CHARACTERS:
+ case XmlPullParser.TEXT:
{
if ( depth == depthOfTagValue )
{
- tagValue.append( xmlStreamReader.getTextCharacters(), xmlStreamReader.getTextStart(), xmlStreamReader.getTextLength() );
+ tagValue.append( parser.getText() );
}
break;
}
-
- case XMLStreamConstants.START_ELEMENT:
+ case XmlPullParser.START_TAG:
{
if ( !tagName.equals( baseUri ) )
{
@@ -633,39 +630,38 @@
}
depth++;
- tagName = uri.getUriFor( xmlStreamReader.getName().getLocalPart(), depth );
+ tagName = uri.getUriFor( parser.getName(), depth );
if ( collections.contains( tagName + "#collection" ) )
{
tagName = tagName + "#collection";
- uri.addTag( xmlStreamReader.getName().getLocalPart() + "#collection" );
+ uri.addTag( parser.getName() + "#collection" );
}
else if ( collections.contains( tagName + "#set" ) )
{
tagName = tagName + "#set";
- uri.addTag( xmlStreamReader.getName().getLocalPart() + "#set" );
+ uri.addTag( parser.getName() + "#set" );
}
else
{
- uri.addTag( xmlStreamReader.getName().getLocalPart() );
+ uri.addTag( parser.getName() );
}
tagValue.setLength( 0 );
depthOfTagValue = depth;
- }
- case XMLStreamConstants.ATTRIBUTE:
- {
- for ( int i = 0; i < xmlStreamReader.getAttributeCount(); i++ )
+
+ for ( int i = 0; i < parser.getAttributeCount(); i++ )
{
- attributes.put( tagName + "#property/" + xmlStreamReader.getAttributeName( i ).getLocalPart(), xmlStreamReader.getAttributeValue( i ) );
+ attributes.put( tagName + "#property/" + parser.getAttributeName( i ),
+ parser.getAttributeValue( i ) );
}
break;
}
- case XMLStreamConstants.END_ELEMENT:
+ case XmlPullParser.END_TAG:
{
depth--;
break;
}
- case XMLStreamConstants.END_DOCUMENT:
+ case XmlPullParser.END_DOCUMENT:
{
modelProperties.add( new ModelProperty( tagName, tagValue.toString().trim() ) );
if ( !attributes.isEmpty() )
@@ -674,38 +670,20 @@
{
modelProperties.add( new ModelProperty( e.getKey(), e.getValue() ) );
}
- attributes.clear();
}
return modelProperties;
}
}
+
}
}
- catch ( XMLStreamException e )
+ catch ( XmlPullParserException e )
{
- throw new IOException( ":" + e.toString() );
+ throw (IOException) new IOException( "Failed to parser POM:" + e.toString() ).initCause( e );
}
finally
{
- if ( xmlStreamReader != null )
- {
- try
- {
- xmlStreamReader.close();
- }
- catch ( XMLStreamException e )
- {
- e.printStackTrace();
- }
- }
- try
- {
- inputStream.close();
- }
- catch ( IOException e )
- {
-
- }
+ IOUtil.close( reader );
}
}
Modified: maven/components/branches/MNG-2766/pom.xml
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-2766/pom.xml?rev=772013&r1=772012&r2=772013&view=diff
==============================================================================
--- maven/components/branches/MNG-2766/pom.xml (original)
+++ maven/components/branches/MNG-2766/pom.xml Tue May 5 23:31:09 2009
@@ -69,10 +69,8 @@
<mercuryVersion>1.0-alpha-7-SNAPSHOT</mercuryVersion>
<mercuryMp3Version>1.0-alpha-1</mercuryMp3Version>
<securityDispatcherVersion>1.2</securityDispatcherVersion>
- <woodstoxVersion>3.2.6</woodstoxVersion>
<modelloVersion>1.0.1</modelloVersion>
<jxpathVersion>1.3</jxpathVersion>
- <staxVersion>1.0.1</staxVersion>
</properties>
<mailingLists>
<mailingList>
@@ -324,22 +322,6 @@
<artifactId>doxia-sink-api</artifactId>
<version>${doxiaVersion}</version>
</dependency>
- <!-- Maven Shared -->
- <dependency>
- <groupId>org.sonatype.spice</groupId>
- <artifactId>model-builder</artifactId>
- <version>${modelBuilderVersion}</version>
- </dependency>
- <dependency>
- <groupId>org.codehaus.woodstox</groupId>
- <artifactId>wstx-asl</artifactId>
- <version>${woodstoxVersion}</version>
- </dependency>
- <dependency>
- <groupId>stax</groupId>
- <artifactId>stax-api</artifactId>
- <version>${staxVersion}</version>
- </dependency>
<!-- Commons -->
<dependency>
<groupId>commons-cli</groupId>