You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by pk...@apache.org on 2017/10/02 13:17:45 UTC
svn commit: r1810350 - in /uima/ruta/trunk:
ruta-core/src/main/java/org/apache/uima/ruta/engine/
ruta-core/src/main/java/org/apache/uima/ruta/resource/
ruta-core/src/main/java/org/apache/uima/ruta/utils/
ruta-core/src/test/java/org/apache/uima/ruta/exp...
Author: pkluegl
Date: Mon Oct 2 13:17:44 2017
New Revision: 1810350
URL: http://svn.apache.org/viewvc?rev=1810350&view=rev
Log:
no jira - xml refactoring
Added:
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/utils/XmlUtils.java (with props)
Modified:
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/engine/StyleMapFactory.java
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/resource/MultiTreeWordListPersistence.java
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/resource/TreeWordList.java
uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/expression/annotation/AnnotationLabelExpressionTest.java
uima/ruta/trunk/ruta-ep-addons/src/main/java/org/apache/uima/ruta/cde/utils/ConstraintXMLUtils.java
uima/ruta/trunk/ruta-ep-addons/src/main/java/org/apache/uima/ruta/check/XMLUtils.java
uima/ruta/trunk/ruta-ep-engine/pom.xml
uima/ruta/trunk/ruta-ep-ide-ui/src/main/java/org/apache/uima/ruta/ide/ui/documentation/RutaPageFolder.java
uima/ruta/trunk/ruta-ep-ide-ui/src/main/java/org/apache/uima/ruta/ide/ui/documentation/RutaPagesLocationsBlock.java
uima/ruta/trunk/ruta-ep-ide/src/main/java/org/apache/uima/ruta/ide/core/packages/DLTKRutaHelper.java
uima/ruta/trunk/ruta-ep-ide/src/main/java/org/apache/uima/ruta/ide/core/packages/PackagesManager.java
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/engine/StyleMapFactory.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/engine/StyleMapFactory.java?rev=1810350&r1=1810349&r2=1810350&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/engine/StyleMapFactory.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/engine/StyleMapFactory.java Mon Oct 2 13:17:44 2017
@@ -22,7 +22,6 @@ package org.apache.uima.ruta.engine;
import java.awt.Color;
import java.io.File;
import java.io.FileInputStream;
-import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
@@ -31,9 +30,6 @@ import java.util.Map;
import java.util.StringTokenizer;
import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.FactoryConfigurationError;
-import javax.xml.parsers.ParserConfigurationException;
import org.apache.commons.lang3.StringUtils;
import org.apache.uima.cas.FSIterator;
@@ -41,6 +37,7 @@ import org.apache.uima.cas.FeatureStruct
import org.apache.uima.cas.Type;
import org.apache.uima.jcas.JCas;
import org.apache.uima.ruta.type.RutaColoring;
+import org.apache.uima.ruta.utils.XmlUtils;
import org.apache.uima.tools.stylemap.ColorParser;
import org.apache.uima.tools.stylemap.StyleMapEntry;
import org.apache.uima.tools.stylemap.StyleMapXmlParser;
@@ -257,33 +254,13 @@ public class StyleMapFactory {
File styleMapFile = new File(styleFileString);
Document parse = null;
- try {
- DocumentBuilder db = DocumentBuilderFactory.newInstance().newDocumentBuilder();
- FileInputStream stream = new FileInputStream(styleMapFile);
+
+ try (FileInputStream stream = new FileInputStream(styleMapFile)) {
+ DocumentBuilder db = XmlUtils.createDocumentBuilder();
parse = db.parse(stream);
- stream.close();
-
- } catch (FileNotFoundException e) {
- e.printStackTrace();
- return null;
-
- } catch (ParserConfigurationException e) {
- e.printStackTrace();
- return null;
-
- } catch (FactoryConfigurationError e) {
- e.printStackTrace();
- return null;
-
- } catch (SAXException e) {
- e.printStackTrace();
- return null;
-
- } catch (IOException e) {
- e.printStackTrace();
- return null;
- }
-
+ } catch (SAXException | IOException e) {
+ throw new IllegalStateException(e);
+ }
final Node root = parse.getDocumentElement();
final NodeList nodeList = root.getChildNodes();
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/resource/MultiTreeWordListPersistence.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/resource/MultiTreeWordListPersistence.java?rev=1810350&r1=1810349&r2=1810350&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/resource/MultiTreeWordListPersistence.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/resource/MultiTreeWordListPersistence.java Mon Oct 2 13:17:44 2017
@@ -32,10 +32,9 @@ import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;
import java.util.zip.ZipOutputStream;
-import javax.xml.parsers.ParserConfigurationException;
import javax.xml.parsers.SAXParser;
-import javax.xml.parsers.SAXParserFactory;
+import org.apache.uima.ruta.utils.XmlUtils;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
import org.xml.sax.XMLReader;
@@ -90,18 +89,16 @@ public class MultiTreeWordListPersistenc
}
InputStreamReader streamReader = new InputStreamReader(is, encoding);
TrieXMLEventHandler handler = new TrieXMLEventHandler(root);
- SAXParserFactory saxParserFactory = SAXParserFactory.newInstance();
- SAXParser saxParser = saxParserFactory.newSAXParser();
+ SAXParser saxParser = XmlUtils.createSaxParser();
XMLReader reader = saxParser.getXMLReader();
- // was:
- // XMLReader reader = XMLReaderFactory.createXMLReader();
+ reader.setFeature("http://xml.org/sax/features/external-general-entities", false);
+ reader.setFeature("http://xml.org/sax/features/external-parameter-entities", false);
+ reader.setFeature("http://apache.org/xml/features/nonvalidating/load-external-dtd",false);
reader.setContentHandler(handler);
reader.setErrorHandler(handler);
reader.parse(new InputSource(streamReader));
} catch (SAXException e) {
- e.printStackTrace();
- } catch (ParserConfigurationException e) {
- e.printStackTrace();
+ throw new IllegalStateException(e);
}
}
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/resource/TreeWordList.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/resource/TreeWordList.java?rev=1810350&r1=1810349&r2=1810350&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/resource/TreeWordList.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/resource/TreeWordList.java Mon Oct 2 13:17:44 2017
@@ -36,9 +36,7 @@ import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;
import java.util.zip.ZipOutputStream;
-import javax.xml.parsers.ParserConfigurationException;
import javax.xml.parsers.SAXParser;
-import javax.xml.parsers.SAXParserFactory;
import org.apache.commons.lang3.StringEscapeUtils;
import org.apache.uima.cas.FSIterator;
@@ -46,11 +44,11 @@ import org.apache.uima.cas.text.Annotati
import org.apache.uima.jcas.tcas.Annotation;
import org.apache.uima.ruta.RutaStream;
import org.apache.uima.ruta.type.RutaBasic;
+import org.apache.uima.ruta.utils.XmlUtils;
import org.springframework.core.io.FileSystemResource;
import org.springframework.core.io.Resource;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
-import org.xml.sax.SAXParseException;
import org.xml.sax.XMLReader;
public class TreeWordList implements RutaWordList {
@@ -380,25 +378,16 @@ public class TreeWordList implements Rut
InputStreamReader streamReader = new InputStreamReader(is, encoding);
this.root = new TextNode();
XMLEventHandler handler = new XMLEventHandler(root);
- SAXParserFactory factory = SAXParserFactory.newInstance();
- SAXParser parser = factory.newSAXParser();
+ SAXParser parser = XmlUtils.createSaxParser();
XMLReader reader = parser.getXMLReader();
- // XMLReader reader = XMLReaderFactory.createXMLReader();
+ reader.setFeature("http://xml.org/sax/features/external-general-entities", false);
+ reader.setFeature("http://xml.org/sax/features/external-parameter-entities", false);
+ reader.setFeature("http://apache.org/xml/features/nonvalidating/load-external-dtd",false);
reader.setContentHandler(handler);
reader.setErrorHandler(handler);
reader.parse(new InputSource(streamReader));
- } catch (SAXParseException spe) {
- StringBuffer sb = new StringBuffer(spe.toString());
- sb.append("\n Line number: " + spe.getLineNumber());
- sb.append("\n Column number: " + spe.getColumnNumber());
- sb.append("\n Public ID: " + spe.getPublicId());
- sb.append("\n System ID: " + spe.getSystemId() + "\n");
- System.out.println(sb.toString());
- } catch (SAXException se) {
- System.out.println("loadDOM threw " + se);
- se.printStackTrace(System.out);
- } catch (ParserConfigurationException e) {
- e.printStackTrace();
+ } catch (SAXException e) {
+ throw new IllegalStateException(e);
}
}
Added: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/utils/XmlUtils.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/utils/XmlUtils.java?rev=1810350&view=auto
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/utils/XmlUtils.java (added)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/utils/XmlUtils.java Mon Oct 2 13:17:44 2017
@@ -0,0 +1,64 @@
+/*
+ * 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.
+ */
+package org.apache.uima.ruta.utils;
+
+import javax.xml.XMLConstants;
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
+import javax.xml.parsers.SAXParser;
+import javax.xml.parsers.SAXParserFactory;
+
+import org.xml.sax.SAXException;
+
+public final class XmlUtils {
+
+ private XmlUtils() {
+ // nothing here
+ }
+
+ public static DocumentBuilder createDocumentBuilder() {
+
+ DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
+
+ try {
+
+ documentBuilderFactory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);
+ return documentBuilderFactory.newDocumentBuilder();
+ } catch (ParserConfigurationException e) {
+
+ throw new IllegalStateException(e);
+ }
+ }
+
+ public static SAXParser createSaxParser() {
+
+ SAXParserFactory saxParserFactory = SAXParserFactory.newInstance();
+
+ try {
+
+ saxParserFactory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);
+ return saxParserFactory.newSAXParser();
+ } catch (ParserConfigurationException | SAXException e) {
+
+ throw new IllegalStateException(e);
+ }
+ }
+
+}
Propchange: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/utils/XmlUtils.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/expression/annotation/AnnotationLabelExpressionTest.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/expression/annotation/AnnotationLabelExpressionTest.java?rev=1810350&r1=1810349&r2=1810350&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/expression/annotation/AnnotationLabelExpressionTest.java (original)
+++ uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/expression/annotation/AnnotationLabelExpressionTest.java Mon Oct 2 13:17:44 2017
@@ -654,6 +654,9 @@ public class AnnotationLabelExpressionTe
script += "s1:Struct{IS(PERIOD), s1.a.b -> T8};";
CAS cas = RutaTestUtils.getCAS(document, typeMap, featureMap);
Ruta.apply(cas, script);
+
+ RutaTestUtils.storeCas(cas, "testStackedReinitLazyFeature");
+
RutaTestUtils.assertAnnotationsEquals(cas, 1, 1, "Some");
RutaTestUtils.assertAnnotationsEquals(cas, 2, 1, "Some");
RutaTestUtils.assertAnnotationsEquals(cas, 3, 1, "Some");
Modified: uima/ruta/trunk/ruta-ep-addons/src/main/java/org/apache/uima/ruta/cde/utils/ConstraintXMLUtils.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-ep-addons/src/main/java/org/apache/uima/ruta/cde/utils/ConstraintXMLUtils.java?rev=1810350&r1=1810349&r2=1810350&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-ep-addons/src/main/java/org/apache/uima/ruta/cde/utils/ConstraintXMLUtils.java (original)
+++ uima/ruta/trunk/ruta-ep-addons/src/main/java/org/apache/uima/ruta/cde/utils/ConstraintXMLUtils.java Mon Oct 2 13:17:44 2017
@@ -47,6 +47,9 @@ public class ConstraintXMLUtils {
public static List<ConstraintData> readConstraints(String location) throws Exception {
XMLReader xmlReader = XMLReaderFactory.createXMLReader();
+ xmlReader.setFeature("http://xml.org/sax/features/external-general-entities", false);
+ xmlReader.setFeature("http://xml.org/sax/features/external-parameter-entities", false);
+ xmlReader.setFeature("http://apache.org/xml/features/nonvalidating/load-external-dtd",false);
FileReader reader = new FileReader(location);
InputSource inputSource = new InputSource(reader);
ConstraintContentHandler handler = new ConstraintContentHandler();
Modified: uima/ruta/trunk/ruta-ep-addons/src/main/java/org/apache/uima/ruta/check/XMLUtils.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-ep-addons/src/main/java/org/apache/uima/ruta/check/XMLUtils.java?rev=1810350&r1=1810349&r2=1810350&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-ep-addons/src/main/java/org/apache/uima/ruta/check/XMLUtils.java (original)
+++ uima/ruta/trunk/ruta-ep-addons/src/main/java/org/apache/uima/ruta/check/XMLUtils.java Mon Oct 2 13:17:44 2017
@@ -51,6 +51,9 @@ public class XMLUtils {
return new ArrayList<CheckDocument>();
}
XMLReader xmlReader = XMLReaderFactory.createXMLReader();
+ xmlReader.setFeature("http://xml.org/sax/features/external-general-entities", false);
+ xmlReader.setFeature("http://xml.org/sax/features/external-parameter-entities", false);
+ xmlReader.setFeature("http://apache.org/xml/features/nonvalidating/load-external-dtd",false);
FileReader reader = new FileReader(file);
InputSource inputSource = new InputSource(reader);
CheckDocumentsContentHandler handler = new CheckDocumentsContentHandler();
Modified: uima/ruta/trunk/ruta-ep-engine/pom.xml
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-ep-engine/pom.xml?rev=1810350&r1=1810349&r2=1810350&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-ep-engine/pom.xml (original)
+++ uima/ruta/trunk/ruta-ep-engine/pom.xml Mon Oct 2 13:17:44 2017
@@ -279,7 +279,7 @@ licensed under the Common Public License
!javax.xml.stream.events, !javax.xml.stream.util,
!javax.xml.transform, !javax.xml.transform.sax,
!javax.xml.transform.stax,
- !javax.xml.ws, !joptsimple, !net.sf.cglib.*, !net.sf.ehcache.*,
+ !javax.xml.ws, !javax.xml.*, !joptsimple, !net.sf.cglib.*, !net.sf.ehcache.*,
!org.antlr.stringtemplate,
!org.apache.avalon.framework.logger,
!org.apache.log, !org.apache.log4j, !org.apache.log4j.xml,
Modified: uima/ruta/trunk/ruta-ep-ide-ui/src/main/java/org/apache/uima/ruta/ide/ui/documentation/RutaPageFolder.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-ep-ide-ui/src/main/java/org/apache/uima/ruta/ide/ui/documentation/RutaPageFolder.java?rev=1810350&r1=1810349&r2=1810350&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-ep-ide-ui/src/main/java/org/apache/uima/ruta/ide/ui/documentation/RutaPageFolder.java (original)
+++ uima/ruta/trunk/ruta-ep-ide-ui/src/main/java/org/apache/uima/ruta/ide/ui/documentation/RutaPageFolder.java Mon Oct 2 13:17:44 2017
@@ -28,9 +28,9 @@ import java.util.HashMap;
import java.util.List;
import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
+import org.apache.commons.io.IOUtils;
+import org.apache.uima.ruta.utils.XmlUtils;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
@@ -90,16 +90,13 @@ public class RutaPageFolder {
// Do the parsing and obtain the top-level node
Element config = null;
try {
- DocumentBuilder parser = DocumentBuilderFactory.newInstance().newDocumentBuilder();
+ DocumentBuilder parser = XmlUtils.createDocumentBuilder();
parser.setErrorHandler(new DefaultHandler());
config = parser.parse(new InputSource(stream)).getDocumentElement();
} catch (SAXException e) {
throw new IOException("Bad XML format");
- } catch (ParserConfigurationException e) {
- stream.close();
- throw new IOException("Bad XML format");
} finally {
- stream.close();
+ IOUtils.closeQuietly(stream);
}
if (!config.getNodeName().equalsIgnoreCase("manPages")) {
Modified: uima/ruta/trunk/ruta-ep-ide-ui/src/main/java/org/apache/uima/ruta/ide/ui/documentation/RutaPagesLocationsBlock.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-ep-ide-ui/src/main/java/org/apache/uima/ruta/ide/ui/documentation/RutaPagesLocationsBlock.java?rev=1810350&r1=1810349&r2=1810350&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-ep-ide-ui/src/main/java/org/apache/uima/ruta/ide/ui/documentation/RutaPagesLocationsBlock.java (original)
+++ uima/ruta/trunk/ruta-ep-ide-ui/src/main/java/org/apache/uima/ruta/ide/ui/documentation/RutaPagesLocationsBlock.java Mon Oct 2 13:17:44 2017
@@ -33,9 +33,8 @@ import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
+import javax.xml.XMLConstants;
import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.OutputKeys;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerConfigurationException;
@@ -45,6 +44,7 @@ import javax.xml.transform.dom.DOMSource
import javax.xml.transform.stream.StreamResult;
import org.apache.uima.ruta.ide.ui.RutaPreferenceConstants;
+import org.apache.uima.ruta.utils.XmlUtils;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
@@ -141,14 +141,7 @@ public class RutaPagesLocationsBlock imp
return null;
// Create the Document and the top-level node
- DocumentBuilderFactory dfactory = DocumentBuilderFactory.newInstance();
- DocumentBuilder docBuilder;
- try {
- docBuilder = dfactory.newDocumentBuilder();
- } catch (ParserConfigurationException e1) {
- e1.printStackTrace();
- return null;
- }
+ DocumentBuilder docBuilder = XmlUtils.createDocumentBuilder();
Document doc = docBuilder.newDocument();
Element topElement = doc.createElement("manPages");
@@ -173,8 +166,9 @@ public class RutaPagesLocationsBlock imp
try {
TransformerFactory factory = TransformerFactory.newInstance();
- Transformer transformer;
- transformer = factory.newTransformer();
+ factory.setAttribute(XMLConstants.ACCESS_EXTERNAL_DTD, "");
+ factory.setAttribute(XMLConstants.ACCESS_EXTERNAL_STYLESHEET, "");
+ Transformer transformer = factory.newTransformer();
transformer.setOutputProperty(OutputKeys.METHOD, "xml"); //$NON-NLS-1$
transformer.setOutputProperty(OutputKeys.INDENT, "yes"); //$NON-NLS-1$
Modified: uima/ruta/trunk/ruta-ep-ide/src/main/java/org/apache/uima/ruta/ide/core/packages/DLTKRutaHelper.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-ep-ide/src/main/java/org/apache/uima/ruta/ide/core/packages/DLTKRutaHelper.java?rev=1810350&r1=1810349&r2=1810350&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-ep-ide/src/main/java/org/apache/uima/ruta/ide/core/packages/DLTKRutaHelper.java (original)
+++ uima/ruta/trunk/ruta-ep-ide/src/main/java/org/apache/uima/ruta/ide/core/packages/DLTKRutaHelper.java Mon Oct 2 13:17:44 2017
@@ -33,11 +33,10 @@ import java.util.Map;
import java.util.Set;
import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
import org.apache.uima.ruta.engine.RutaEngine;
import org.apache.uima.ruta.ide.RutaIdeCorePlugin;
+import org.apache.uima.ruta.utils.XmlUtils;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.Path;
@@ -370,13 +369,11 @@ public class DLTKRutaHelper {
private static Document getDocument(String text) {
try {
- DocumentBuilder parser = DocumentBuilderFactory.newInstance().newDocumentBuilder();
+ DocumentBuilder parser = XmlUtils.createDocumentBuilder();
parser.setErrorHandler(new DefaultHandler());
Document document = parser.parse(new ByteArrayInputStream(text.getBytes()));
return document;
} catch (IOException e) {
-
- } catch (ParserConfigurationException e) {
if (DLTKCore.DEBUG) {
e.printStackTrace();
}
Modified: uima/ruta/trunk/ruta-ep-ide/src/main/java/org/apache/uima/ruta/ide/core/packages/PackagesManager.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-ep-ide/src/main/java/org/apache/uima/ruta/ide/core/packages/PackagesManager.java?rev=1810350&r1=1810349&r2=1810350&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-ep-ide/src/main/java/org/apache/uima/ruta/ide/core/packages/PackagesManager.java (original)
+++ uima/ruta/trunk/ruta-ep-ide/src/main/java/org/apache/uima/ruta/ide/core/packages/PackagesManager.java Mon Oct 2 13:17:44 2017
@@ -36,9 +36,8 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
+import javax.xml.XMLConstants;
import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.OutputKeys;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerException;
@@ -48,6 +47,7 @@ import javax.xml.transform.stream.Stream
import org.apache.uima.ruta.ide.RutaIdeCorePlugin;
import org.apache.uima.ruta.ide.core.packages.DLTKRutaHelper.RutaPackage;
+import org.apache.uima.ruta.utils.XmlUtils;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.Path;
@@ -179,17 +179,11 @@ public class PackagesManager {
IPath packagesPath = RutaIdeCorePlugin.getDefault().getStateLocation().append(PACKAGES_FILE);
File packagesFile = packagesPath.toFile();
if (packagesFile.exists()) {
- DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
- DocumentBuilder builder;
try {
- builder = factory.newDocumentBuilder();
+ DocumentBuilder builder = XmlUtils.createDocumentBuilder();
Document document = builder.parse(new BufferedInputStream(
new FileInputStream(packagesFile), 2048));
populate(document.getDocumentElement());
- } catch (ParserConfigurationException e) {
- if (DLTKCore.DEBUG) {
- e.printStackTrace();
- }
} catch (FileNotFoundException e) {
if (DLTKCore.DEBUG) {
e.printStackTrace();
@@ -209,10 +203,9 @@ public class PackagesManager {
private void save() {
IPath packagesPath = RutaIdeCorePlugin.getDefault().getStateLocation().append(PACKAGES_FILE);
File packagesFile = packagesPath.toFile();
- DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder;
try {
- builder = factory.newDocumentBuilder();
+ builder = XmlUtils.createDocumentBuilder();
Document document = builder.newDocument();
save(document);
@@ -220,6 +213,8 @@ public class PackagesManager {
BufferedOutputStream bos = new BufferedOutputStream(fos, 2048);
TransformerFactory serFactory = TransformerFactory.newInstance();
+ serFactory.setAttribute(XMLConstants.ACCESS_EXTERNAL_DTD, "");
+ serFactory.setAttribute(XMLConstants.ACCESS_EXTERNAL_STYLESHEET, "");
Transformer transformer = serFactory.newTransformer();
transformer.setOutputProperty(OutputKeys.METHOD, "xml"); //$NON-NLS-1$
transformer.setOutputProperty(OutputKeys.INDENT, "yes"); //$NON-NLS-1$
@@ -230,10 +225,6 @@ public class PackagesManager {
bos.close();
fos.close();
- } catch (ParserConfigurationException e) {
- if (DLTKCore.DEBUG) {
- e.printStackTrace();
- }
} catch (FileNotFoundException e) {
if (DLTKCore.DEBUG) {
e.printStackTrace();