/** * Returns the <code>localRepository</code> settings as indicated by the * <code>settings.xml</code> file. * * @return local repository as indicated by a Maven settings.xml file */ String getMavenSettingsLocalRepository(Resource m2Settings) { // no file found, return null to continue the discovery process if (!m2Settings.exists()) { return null; } try { DocumentLoader docLoader = new DefaultDocumentLoader(); Document document = docLoader.loadDocument(new InputSource(m2Settings.getInputStream()), null, null, XmlValidationModeDetector.VALIDATION_NONE, false); return (DomUtils.getChildElementValueByTagName(document.getDocumentElement(), LOCAL_REPOSITORY_ELEM)); } catch (Exception ex) { throw new RuntimeException(new ParserConfigurationException("error parsing resource=" + m2Settings).initCause(ex)); } }
/** * Returns the <code>localRepository</code> settings as indicated by the * <code>settings.xml</code> file. * * @return local repository as indicated by a Maven settings.xml file */ String getMavenSettingsLocalRepository(Resource m2Settings) { // no file found, return null to continue the discovery process if (!m2Settings.exists()) return null; try { DocumentLoader docLoader = new DefaultDocumentLoader(); Document document = docLoader.loadDocument(new InputSource(m2Settings.getInputStream()), null, null, XmlValidationModeDetector.VALIDATION_NONE, false); return (DomUtils.getChildElementValueByTagName(document.getDocumentElement(), LOCAL_REPOSITORY_ELEM)); } catch (Exception ex) { throw (RuntimeException) new RuntimeException(new ParserConfigurationException("error parsing resource=" + m2Settings).initCause(ex)); } }
/** * Returns the <tt>groupId</tt> setting in a <tt>pom.xml</tt> file. * * @return a <tt>pom.xml</tt> <tt>groupId</tt>. */ String getGroupIdFromPom(Resource pomXml) { try { DocumentLoader docLoader = new DefaultDocumentLoader(); Document document = docLoader.loadDocument(new InputSource(pomXml.getInputStream()), null, null, XmlValidationModeDetector.VALIDATION_NONE, false); String groupId = DomUtils.getChildElementValueByTagName(document.getDocumentElement(), GROUP_ID_ELEM); // no groupId specified, try the parent definition if (groupId == null) { if (log.isTraceEnabled()) log.trace("No groupId defined; checking for the parent definition"); Element parent = DomUtils.getChildElementByTagName(document.getDocumentElement(), "parent"); if (parent != null) return DomUtils.getChildElementValueByTagName(parent, GROUP_ID_ELEM); } else { return groupId; } } catch (Exception ex) { throw (RuntimeException) new RuntimeException(new ParserConfigurationException("error parsing resource=" + pomXml).initCause(ex)); } throw new IllegalArgumentException("no groupId or parent/groupId defined by resource [" + pomXml.getDescription() + "]"); }
/** * Loads the <code>Document</code> from the specified * {@link org.springframework.core.io.Resource Resource}. * * @param res * the resource to load the {@link Document} from * * @return the <code>Document</code> specified by the passed * <code>Resource</code> */ protected Document loadDocument( final org.springframework.core.io.Resource res) { // get the resource as encoded one final EncodedResource encRes = new EncodedResource(res); // read the XML document and replace the placeholders InputStream inputStream = null; InputSource inputSource = null; Document doc = null; try { inputStream = encRes.getResource().getInputStream(); inputSource = new InputSource(inputStream); if (encRes.getEncoding() != null) { inputSource.setEncoding(encRes.getEncoding()); } // get the Document final DefaultDocumentLoader loader = new DefaultDocumentLoader(); doc = loader.loadDocument(inputSource, null, null, XmlValidationModeDetector.VALIDATION_NONE, false); } catch (final Exception e) { // log it if (LOG.isWarnEnabled()) { LOG.warn( "Unable to parse the passed ByteArrayResource '" + res.getDescription() + "'.", e); } throw new IllegalArgumentException( "The passed resource contains an invalid document.", e); } finally { // close the streams Streams.closeIO(inputSource); Streams.closeIO(inputStream); } return doc; }