You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tika.apache.org by ti...@apache.org on 2024/08/07 04:03:45 UTC
(tika) branch branch_2x updated: TIKA-4290 Used try-with-resources for some Closeables. (#1888)
This is an automated email from the ASF dual-hosted git repository.
tilman pushed a commit to branch branch_2x
in repository https://gitbox.apache.org/repos/asf/tika.git
The following commit(s) were added to refs/heads/branch_2x by this push:
new 2c7b7e9f4 TIKA-4290 Used try-with-resources for some Closeables. (#1888)
2c7b7e9f4 is described below
commit 2c7b7e9f40374cc017ac3b8c025669067a5d8d7a
Author: Dmitry Kryukov <dk...@users.noreply.github.com>
AuthorDate: Tue Aug 6 22:10:54 2024 +0300
TIKA-4290 Used try-with-resources for some Closeables. (#1888)
* TIKA-4290 Used try-with-resources for some Closeables. It prevents resource leak
---
.../geoinfo/GeographicInformationParser.java | 10 +-
.../tika/dl/imagerec/DL4JInceptionV3Net.java | 15 +--
.../tika/parser/ner/grobid/GrobidNERecogniser.java | 137 +++++++++++----------
3 files changed, 80 insertions(+), 82 deletions(-)
diff --git a/tika-parsers/tika-parsers-extended/tika-parser-scientific-module/src/main/java/org/apache/tika/parser/geoinfo/GeographicInformationParser.java b/tika-parsers/tika-parsers-extended/tika-parser-scientific-module/src/main/java/org/apache/tika/parser/geoinfo/GeographicInformationParser.java
index e5732eb75..c7269485c 100644
--- a/tika-parsers/tika-parsers-extended/tika-parser-scientific-module/src/main/java/org/apache/tika/parser/geoinfo/GeographicInformationParser.java
+++ b/tika-parsers/tika-parsers-extended/tika-parser-scientific-module/src/main/java/org/apache/tika/parser/geoinfo/GeographicInformationParser.java
@@ -90,18 +90,14 @@ public class GeographicInformationParser extends AbstractParser {
public void parse(InputStream inputStream, ContentHandler contentHandler, Metadata metadata,
ParseContext parseContext) throws IOException, SAXException, TikaException {
metadata.set(Metadata.CONTENT_TYPE, geoInfoType);
- DataStore dataStore = null;
- DefaultMetadata defaultMetadata = null;
XHTMLContentHandler xhtmlContentHandler = new XHTMLContentHandler(contentHandler, metadata);
TemporaryResources tmp =
TikaInputStream.isTikaInputStream(inputStream) ? null : new TemporaryResources();
- try {
- TikaInputStream tikaInputStream = TikaInputStream.get(inputStream, tmp, metadata);
+ try (TikaInputStream tikaInputStream = TikaInputStream.get(inputStream, tmp, metadata)) {
File file = tikaInputStream.getFile();
- dataStore = DataStores.open(file);
- defaultMetadata = new DefaultMetadata(dataStore.getMetadata());
- if (defaultMetadata != null) {
+ try (DataStore dataStore = DataStores.open(file)) {
+ DefaultMetadata defaultMetadata = new DefaultMetadata(dataStore.getMetadata());
extract(xhtmlContentHandler, metadata, defaultMetadata);
}
diff --git a/tika-parsers/tika-parsers-ml/tika-dl/src/main/java/org/apache/tika/dl/imagerec/DL4JInceptionV3Net.java b/tika-parsers/tika-parsers-ml/tika-dl/src/main/java/org/apache/tika/dl/imagerec/DL4JInceptionV3Net.java
index 7f1c4fab7..125e4e8d5 100644
--- a/tika-parsers/tika-parsers-ml/tika-dl/src/main/java/org/apache/tika/dl/imagerec/DL4JInceptionV3Net.java
+++ b/tika-parsers/tika-parsers-ml/tika-dl/src/main/java/org/apache/tika/dl/imagerec/DL4JInceptionV3Net.java
@@ -261,15 +261,16 @@ public class DL4JInceptionV3Net implements ObjectRecogniser {
LOG.info("Going to load Inception network...");
long st = System.currentTimeMillis();
- KerasModelBuilder builder =
+ try (KerasModelBuilder builder =
new KerasModel().modelBuilder().modelHdf5Filename(modelWeightsPath)
- .enforceTrainingConfig(false);
+ .enforceTrainingConfig(false)) {
- builder.inputShape(new int[]{imgHeight, imgWidth, 3});
- KerasModel model = builder.buildModel();
- this.graph = model.getComputationGraph();
- long time = System.currentTimeMillis() - st;
- LOG.info("Loaded the Inception model. Time taken={}ms", time);
+ builder.inputShape(new int[]{imgHeight, imgWidth, 3});
+ KerasModel model = builder.buildModel();
+ this.graph = model.getComputationGraph();
+ long time = System.currentTimeMillis() - st;
+ LOG.info("Loaded the Inception model. Time taken={}ms", time);
+ }
} catch (IOException | InvalidKerasConfigurationException |
UnsupportedKerasConfigurationException e) {
throw new TikaConfigException(e.getMessage(), e);
diff --git a/tika-parsers/tika-parsers-ml/tika-parser-nlp-module/src/main/java/org/apache/tika/parser/ner/grobid/GrobidNERecogniser.java b/tika-parsers/tika-parsers-ml/tika-parser-nlp-module/src/main/java/org/apache/tika/parser/ner/grobid/GrobidNERecogniser.java
index 1812b4b82..231aaf72d 100644
--- a/tika-parsers/tika-parsers-ml/tika-parser-nlp-module/src/main/java/org/apache/tika/parser/ner/grobid/GrobidNERecogniser.java
+++ b/tika-parsers/tika-parsers-ml/tika-parser-nlp-module/src/main/java/org/apache/tika/parser/ner/grobid/GrobidNERecogniser.java
@@ -184,80 +184,81 @@ public class GrobidNERecogniser implements NERecogniser {
try {
String url = restHostUrlStr + readRestEndpoint();
- Response response =
+ try (Response response =
WebClient.create(url).accept(MediaType.APPLICATION_JSON)
- .post("text=" + text);
- int responseCode = response.getStatus();
-
- if (responseCode == 200) {
- String result = response.readEntity(String.class);
- JSONObject jsonObject = convertToJSONObject(result);
- JSONArray measurements = convertToJSONArray(jsonObject, "measurements");
- for (Object measurement : measurements) {
-
- StringBuffer measurementString = new StringBuffer();
- StringBuffer normalizedMeasurementString = new StringBuffer();
-
- JSONObject quantity = (JSONObject) convertToJSONObject(measurement.toString())
- .get("quantity");
- if (quantity != null) {
- if (quantity.containsKey("rawValue")) {
- String measurementNumber =
- (String) convertToJSONObject(quantity.toString())
- .get("rawValue");
- measurementString.append(measurementNumber);
- measurementString.append(" ");
- measurementNumberSet.add(measurementNumber);
- }
-
- if (quantity.containsKey("normalizedQuantity")) {
- String normalizedMeasurementNumber =
- convertToJSONObject(quantity.toString())
- .get("normalizedQuantity").toString();
- normalizedMeasurementString.append(normalizedMeasurementNumber);
- normalizedMeasurementString.append(" ");
- }
-
- if (quantity.containsKey("type")) {
- String measurementType =
- (String) convertToJSONObject(quantity.toString()).get("type");
- measurementTypeSet.add(measurementType);
- }
-
- JSONObject jsonObj = (JSONObject) convertToJSONObject(quantity.toString());
- if (jsonObj.containsKey("rawUnit")) {
- JSONObject rawUnit = (JSONObject) jsonObj.get("rawUnit");
- String unitName =
- (String) convertToJSONObject(rawUnit.toString()).get("name");
- unitSet.add(unitName);
- measurementString.append(unitName);
- }
-
- if (jsonObj.containsKey("normalizedUnit")) {
- JSONObject normalizedUnit = (JSONObject) jsonObj.get("normalizedUnit");
- String normalizedUnitName =
- (String) convertToJSONObject(normalizedUnit.toString())
- .get("name");
- normalizedMeasurementString.append(normalizedUnitName);
- }
-
- if (!measurementString.toString().equals("")) {
- measurementSet.add(measurementString.toString());
+ .post("text=" + text)) {
+ int responseCode = response.getStatus();
+
+ if (responseCode == 200) {
+ String result = response.readEntity(String.class);
+ JSONObject jsonObject = convertToJSONObject(result);
+ JSONArray measurements = convertToJSONArray(jsonObject, "measurements");
+ for (Object measurement : measurements) {
+
+ StringBuffer measurementString = new StringBuffer();
+ StringBuffer normalizedMeasurementString = new StringBuffer();
+
+ JSONObject quantity = (JSONObject) convertToJSONObject(measurement.toString())
+ .get("quantity");
+ if (quantity != null) {
+ if (quantity.containsKey("rawValue")) {
+ String measurementNumber =
+ (String) convertToJSONObject(quantity.toString())
+ .get("rawValue");
+ measurementString.append(measurementNumber);
+ measurementString.append(" ");
+ measurementNumberSet.add(measurementNumber);
+ }
+
+ if (quantity.containsKey("normalizedQuantity")) {
+ String normalizedMeasurementNumber =
+ convertToJSONObject(quantity.toString())
+ .get("normalizedQuantity").toString();
+ normalizedMeasurementString.append(normalizedMeasurementNumber);
+ normalizedMeasurementString.append(" ");
+ }
+
+ if (quantity.containsKey("type")) {
+ String measurementType =
+ (String) convertToJSONObject(quantity.toString()).get("type");
+ measurementTypeSet.add(measurementType);
+ }
+
+ JSONObject jsonObj = (JSONObject) convertToJSONObject(quantity.toString());
+ if (jsonObj.containsKey("rawUnit")) {
+ JSONObject rawUnit = (JSONObject) jsonObj.get("rawUnit");
+ String unitName =
+ (String) convertToJSONObject(rawUnit.toString()).get("name");
+ unitSet.add(unitName);
+ measurementString.append(unitName);
+ }
+
+ if (jsonObj.containsKey("normalizedUnit")) {
+ JSONObject normalizedUnit = (JSONObject) jsonObj.get("normalizedUnit");
+ String normalizedUnitName =
+ (String) convertToJSONObject(normalizedUnit.toString())
+ .get("name");
+ normalizedMeasurementString.append(normalizedUnitName);
+ }
+
+ if (!measurementString.toString().equals("")) {
+ measurementSet.add(measurementString.toString());
+ }
+
+ if (!normalizedMeasurementString.toString().equals("")) {
+ normalizedMeasurementSet.add(normalizedMeasurementString.toString());
+ }
}
- if (!normalizedMeasurementString.toString().equals("")) {
- normalizedMeasurementSet.add(normalizedMeasurementString.toString());
- }
}
- }
-
- entities.put("MEASUREMENT_NUMBERS", measurementNumberSet);
- entities.put("MEASUREMENT_UNITS", unitSet);
- entities.put("MEASUREMENTS", measurementSet);
- entities.put("NORMALIZED_MEASUREMENTS", normalizedMeasurementSet);
- entities.put("MEASUREMENT_TYPES", measurementTypeSet);
+ entities.put("MEASUREMENT_NUMBERS", measurementNumberSet);
+ entities.put("MEASUREMENT_UNITS", unitSet);
+ entities.put("MEASUREMENTS", measurementSet);
+ entities.put("NORMALIZED_MEASUREMENTS", normalizedMeasurementSet);
+ entities.put("MEASUREMENT_TYPES", measurementTypeSet);
+ }
}
} catch (Exception e) {
LOG.info(e.getMessage(), e);