Skip to content

Commit f661654

Browse files
simplify, use methods from XMLTools
1 parent 839f847 commit f661654

File tree

1 file changed

+3
-34
lines changed

1 file changed

+3
-34
lines changed

sqldev/src/main/java/org/utplsql/sqldev/snippet/SnippetMerger.java

Lines changed: 3 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -17,33 +17,24 @@
1717

1818
import java.io.BufferedReader;
1919
import java.io.File;
20-
import java.io.IOException;
2120
import java.io.InputStream;
2221
import java.io.InputStreamReader;
2322
import java.io.StringReader;
2423
import java.nio.charset.Charset;
2524
import java.nio.file.Paths;
26-
import java.util.logging.Logger;
2725
import java.util.stream.Collectors;
2826

29-
import javax.xml.XMLConstants;
3027
import javax.xml.parsers.DocumentBuilder;
31-
import javax.xml.parsers.DocumentBuilderFactory;
32-
import javax.xml.parsers.ParserConfigurationException;
3328

34-
import org.utplsql.sqldev.exception.GenericRuntimeException;
3529
import org.utplsql.sqldev.model.FileTools;
3630
import org.utplsql.sqldev.model.XMLTools;
3731
import org.w3c.dom.Document;
3832
import org.w3c.dom.NodeList;
3933
import org.xml.sax.InputSource;
40-
import org.xml.sax.SAXException;
4134

4235
import oracle.dbtools.util.Resource;
4336

4437
public class SnippetMerger {
45-
private static final Logger logger = Logger.getLogger(SnippetMerger.class.getName());
46-
4738
private final XMLTools xmlTools = new XMLTools();
4839
private File userSnippetsFile;
4940
private String utplsqlSnippets;
@@ -65,38 +56,16 @@ public SnippetMerger(final File file) {
6556
userSnippetsFile = file;
6657
}
6758

68-
private DocumentBuilder createDocumentBuilder() {
69-
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
70-
try {
71-
factory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, Boolean.TRUE);
72-
return factory.newDocumentBuilder();
73-
} catch (ParserConfigurationException e) {
74-
final String msg = "Could not create no document builder due to " + e.getMessage() + ".";
75-
logger.severe(() -> msg);
76-
throw new GenericRuntimeException(msg, e);
77-
}
78-
}
79-
80-
private Document parse(final DocumentBuilder builder, final InputSource inputSource) {
81-
try {
82-
return builder.parse(inputSource);
83-
} catch (SAXException | IOException e) {
84-
final String msg = "Could not parse XML input due to " + e.getMessage() + ".";
85-
logger.severe(() -> msg);
86-
throw new GenericRuntimeException(msg, e);
87-
}
88-
}
89-
9059
public void merge() {
9160
String result = null;
9261
if (userSnippetsFile.exists()) {
9362
// file exists, proper merge required
9463
final String userSnippets = new String(FileTools.readFile(Paths.get(userSnippetsFile.getAbsolutePath())));
95-
final DocumentBuilder docBuilder = createDocumentBuilder();
96-
final Document userSnippetsDoc = parse(docBuilder, new InputSource(new StringReader(userSnippets)));
64+
final DocumentBuilder docBuilder = xmlTools.createDocumentBuilder();
65+
final Document userSnippetsDoc = xmlTools.parse(docBuilder, new InputSource(new StringReader(userSnippets)));
9766
final NodeList userSnippetsGroups = xmlTools.getNodeList(userSnippetsDoc,
9867
"/snippets/group[not(@category=\"utPLSQL Annotations\" or @category=\"utPLSQL Expectations\")]");
99-
final Document utplsqlSnippetsDoc = parse(docBuilder, new InputSource(new StringReader(utplsqlSnippets)));
68+
final Document utplsqlSnippetsDoc = xmlTools.parse(docBuilder, new InputSource(new StringReader(utplsqlSnippets)));
10069
final NodeList utplsqlSnippetsGroups = xmlTools.getNodeList(utplsqlSnippetsDoc, "/snippets/group");
10170
StringBuilder sb = new StringBuilder();
10271
sb.append("<?xml version = '1.0' encoding = 'UTF-8'?>\n");

0 commit comments

Comments
 (0)