mirror of
https://github.com/ysoftdevs/DependencyCheck.git
synced 2026-01-14 15:53:36 +01:00
use try with resources
This commit is contained in:
@@ -79,38 +79,19 @@ public class HintParser {
|
||||
* @throws HintParseException thrown if the XML file cannot be parsed
|
||||
*/
|
||||
public Hints parseHints(File file) throws HintParseException {
|
||||
FileInputStream fis = null;
|
||||
//TODO there must be a better way to determine which schema to use for validation.
|
||||
try {
|
||||
fis = new FileInputStream(file);
|
||||
return parseHints(fis);
|
||||
} catch (IOException ex) {
|
||||
LOGGER.debug("", ex);
|
||||
throw new HintParseException(ex);
|
||||
} catch (SAXException ex) {
|
||||
try {
|
||||
if (fis != null) {
|
||||
try {
|
||||
fis.close();
|
||||
} catch (IOException ex1) {
|
||||
LOGGER.debug("Unable to close stream", ex1);
|
||||
}
|
||||
}
|
||||
fis = new FileInputStream(file);
|
||||
} catch (FileNotFoundException ex1) {
|
||||
throw new HintParseException(ex1);
|
||||
}
|
||||
try {
|
||||
return parseHints(fis, HINT_SCHEMA_OLD);
|
||||
} catch (SAXException ex1) {
|
||||
try (FileInputStream fis = new FileInputStream(file)) {
|
||||
return parseHints(fis);
|
||||
} catch (IOException ex) {
|
||||
LOGGER.debug("", ex);
|
||||
throw new HintParseException(ex);
|
||||
}
|
||||
} finally {
|
||||
if (fis != null) {
|
||||
try {
|
||||
fis.close();
|
||||
} catch (IOException ex) {
|
||||
LOGGER.debug("Unable to close stream", ex);
|
||||
}
|
||||
} catch (SAXException ex) {
|
||||
try (FileInputStream fis = new FileInputStream(file)) {
|
||||
return parseHints(fis, HINT_SCHEMA_OLD);
|
||||
} catch (SAXException | IOException ex1) {
|
||||
throw new HintParseException(ex);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -139,23 +120,20 @@ public class HintParser {
|
||||
* @throws SAXException thrown if the XML cannot be parsed
|
||||
*/
|
||||
private Hints parseHints(InputStream inputStream, String schema) throws HintParseException, SAXException {
|
||||
InputStream schemaStream = null;
|
||||
try {
|
||||
schemaStream = this.getClass().getClassLoader().getResourceAsStream(schema);
|
||||
try (InputStream schemaStream = this.getClass().getClassLoader().getResourceAsStream(schema)) {
|
||||
final HintHandler handler = new HintHandler();
|
||||
final SAXParser saxParser = XmlUtils.buildSecureSaxParser(schemaStream);
|
||||
final XMLReader xmlReader = saxParser.getXMLReader();
|
||||
xmlReader.setErrorHandler(new HintErrorHandler());
|
||||
xmlReader.setContentHandler(handler);
|
||||
|
||||
final Reader reader = new InputStreamReader(inputStream, "UTF-8");
|
||||
final InputSource in = new InputSource(reader);
|
||||
|
||||
xmlReader.parse(in);
|
||||
final Hints hints = new Hints();
|
||||
hints.setHintRules(handler.getHintRules());
|
||||
hints.setVendorDuplicatingHintRules(handler.getVendorDuplicatingHintRules());
|
||||
return hints;
|
||||
try (Reader reader = new InputStreamReader(inputStream, "UTF-8")) {
|
||||
final InputSource in = new InputSource(reader);
|
||||
xmlReader.parse(in);
|
||||
final Hints hints = new Hints();
|
||||
hints.setHintRules(handler.getHintRules());
|
||||
hints.setVendorDuplicatingHintRules(handler.getVendorDuplicatingHintRules());
|
||||
return hints;
|
||||
}
|
||||
} catch (ParserConfigurationException | FileNotFoundException ex) {
|
||||
LOGGER.debug("", ex);
|
||||
throw new HintParseException(ex);
|
||||
@@ -169,14 +147,6 @@ public class HintParser {
|
||||
} catch (IOException ex) {
|
||||
LOGGER.debug("", ex);
|
||||
throw new HintParseException(ex);
|
||||
} finally {
|
||||
if (schemaStream != null) {
|
||||
try {
|
||||
schemaStream.close();
|
||||
} catch (IOException ex) {
|
||||
LOGGER.debug("Error closing hint file stream", ex);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -64,39 +64,19 @@ public class SuppressionParser {
|
||||
* @throws SuppressionParseException thrown if the XML file cannot be parsed
|
||||
*/
|
||||
public List<SuppressionRule> parseSuppressionRules(File file) throws SuppressionParseException {
|
||||
FileInputStream fis = null;
|
||||
try {
|
||||
fis = new FileInputStream(file);
|
||||
return parseSuppressionRules(fis);
|
||||
} catch (IOException ex) {
|
||||
LOGGER.debug("", ex);
|
||||
throw new SuppressionParseException(ex);
|
||||
try (FileInputStream fis = new FileInputStream(file)) {
|
||||
return parseSuppressionRules(fis);
|
||||
} catch (IOException ex) {
|
||||
LOGGER.debug("", ex);
|
||||
throw new SuppressionParseException(ex);
|
||||
}
|
||||
} catch (SAXException ex) {
|
||||
try {
|
||||
if (fis != null) {
|
||||
try {
|
||||
fis.close();
|
||||
} catch (IOException ex1) {
|
||||
LOGGER.debug("Unable to close stream", ex1);
|
||||
}
|
||||
}
|
||||
fis = new FileInputStream(file);
|
||||
} catch (FileNotFoundException ex1) {
|
||||
throw new SuppressionParseException(ex);
|
||||
}
|
||||
try {
|
||||
try (FileInputStream fis = new FileInputStream(file)) {
|
||||
return parseSuppressionRules(fis, OLD_SUPPRESSION_SCHEMA);
|
||||
} catch (SAXException ex1) {
|
||||
} catch (SAXException | IOException ex1) {
|
||||
throw new SuppressionParseException(ex);
|
||||
}
|
||||
} finally {
|
||||
if (fis != null) {
|
||||
try {
|
||||
fis.close();
|
||||
} catch (IOException ex) {
|
||||
LOGGER.debug("Unable to close stream", ex);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -124,18 +104,17 @@ public class SuppressionParser {
|
||||
* @throws SAXException thrown if the XML cannot be parsed
|
||||
*/
|
||||
private List<SuppressionRule> parseSuppressionRules(InputStream inputStream, String schema) throws SuppressionParseException, SAXException {
|
||||
InputStream schemaStream = null;
|
||||
try {
|
||||
schemaStream = this.getClass().getClassLoader().getResourceAsStream(schema);
|
||||
try (InputStream schemaStream = this.getClass().getClassLoader().getResourceAsStream(schema)) {
|
||||
final SuppressionHandler handler = new SuppressionHandler();
|
||||
final SAXParser saxParser = XmlUtils.buildSecureSaxParser(schemaStream);
|
||||
final XMLReader xmlReader = saxParser.getXMLReader();
|
||||
xmlReader.setErrorHandler(new SuppressionErrorHandler());
|
||||
xmlReader.setContentHandler(handler);
|
||||
final Reader reader = new InputStreamReader(inputStream, "UTF-8");
|
||||
final InputSource in = new InputSource(reader);
|
||||
xmlReader.parse(in);
|
||||
return handler.getSuppressionRules();
|
||||
try (Reader reader = new InputStreamReader(inputStream, "UTF-8")) {
|
||||
final InputSource in = new InputSource(reader);
|
||||
xmlReader.parse(in);
|
||||
return handler.getSuppressionRules();
|
||||
}
|
||||
} catch (ParserConfigurationException | FileNotFoundException ex) {
|
||||
LOGGER.debug("", ex);
|
||||
throw new SuppressionParseException(ex);
|
||||
@@ -149,14 +128,6 @@ public class SuppressionParser {
|
||||
} catch (IOException ex) {
|
||||
LOGGER.debug("", ex);
|
||||
throw new SuppressionParseException(ex);
|
||||
} finally {
|
||||
if (schemaStream != null) {
|
||||
try {
|
||||
schemaStream.close();
|
||||
} catch (IOException ex) {
|
||||
LOGGER.debug("Error closing suppression file stream", ex);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user