1 package org.codehaus.plexus.configuration.io; 2 3 import java.io.IOException; 4 import java.io.InputStream; 5 import java.io.InputStreamReader; 6 import java.io.Reader; 7 8 import org.codehaus.plexus.configuration.PlexusConfiguration; 9 import org.codehaus.plexus.configuration.PlexusConfigurationException; 10 import org.codehaus.plexus.configuration.xml.XmlPlexusConfiguration; 11 import org.codehaus.plexus.util.xml.Xpp3Dom; 12 import org.codehaus.plexus.util.xml.Xpp3DomBuilder; 13 import org.codehaus.plexus.util.xml.pull.XmlPullParserException; 14 15 public class XmlPlexusConfigurationReader implements PlexusConfigurationReader { 16 17 public PlexusConfiguration read(InputStream inputStream) throws IOException, PlexusConfigurationException { 18 return read(new InputStreamReader(inputStream)); 19 } 20 21 public PlexusConfiguration read(Reader reader) throws IOException, PlexusConfigurationException { 22 try { 23 Xpp3Dom dom = Xpp3DomBuilder.build(reader); 24 25 return new XmlPlexusConfiguration(dom); 26 } catch (XmlPullParserException e) { 27 throw new PlexusConfigurationException( 28 "Failed to parse configuration resource!\nError was: \'" + e.getLocalizedMessage() + "\'", e); 29 } 30 } 31 }