Skip to content

Commit

Permalink
Call JsonUtil.getJsonX to prevent resource leak
Browse files Browse the repository at this point in the history
And add javadoc to the methods
  • Loading branch information
bencomp committed Oct 30, 2023
1 parent 7225350 commit 0fa5737
Showing 1 changed file with 19 additions and 10 deletions.
29 changes: 19 additions & 10 deletions src/main/java/edu/harvard/iq/dataverse/metrics/MetricsUtil.java
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
package edu.harvard.iq.dataverse.metrics;

import edu.harvard.iq.dataverse.Dataverse;
import java.io.StringReader;
import edu.harvard.iq.dataverse.util.json.JsonUtil;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.YearMonth;
Expand All @@ -17,7 +18,7 @@
import jakarta.json.JsonArrayBuilder;
import jakarta.json.JsonObject;
import jakarta.json.JsonObjectBuilder;
import jakarta.json.JsonReader;
import jakarta.json.JsonException;
import jakarta.ws.rs.BadRequestException;

public class MetricsUtil {
Expand Down Expand Up @@ -280,26 +281,34 @@ public static String getCurrentMonth() {
return LocalDate.now().format(DateTimeFormatter.ofPattern(MetricsUtil.YEAR_AND_MONTH_PATTERN));
}

/**
* Parse a String into a JSON object
* @param str serialized JSON
* @return {@code null} if {@code str} is {@code null}, or the parsed JSON object
* @throws JsonException
* @see JsonUtil#getJsonObject(String)
*/
public static JsonObject stringToJsonObject(String str) {
if (str == null) {
return null;
}
JsonReader jsonReader = Json.createReader(new StringReader(str));
JsonObject jo = jsonReader.readObject();
jsonReader.close();

return jo;
return JsonUtil.getJsonObject(str);
}

/**
* Parse a String into a JSON array
* @param str serialized JSON
* @return {@code null} if {@code str} is {@code null}, or the parsed JSON array
* @throws JsonException
* @see JsonUtil#getJsonArray(String)
*/
public static JsonArray stringToJsonArray(String str) {
if (str == null) {
return null;
}
JsonReader jsonReader = Json.createReader(new StringReader(str));
JsonArray ja = jsonReader.readArray();
jsonReader.close();

return ja;
return JsonUtil.getJsonArray(str);
}

public static List<String> getDatesFrom(String startMonth) {
Expand Down

0 comments on commit 0fa5737

Please sign in to comment.