Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

import edu.harvard.iq.dataverse.dataset.DatasetType;
import java.io.IOException;
import java.io.StringReader;
import java.net.URI;
import java.net.URISyntaxException;
import java.net.URLEncoder;
Expand All @@ -24,13 +23,11 @@
import jakarta.ejb.EJB;
import jakarta.ejb.Stateless;
import jakarta.inject.Named;
import jakarta.json.Json;
import jakarta.json.JsonArray;
import jakarta.json.JsonArrayBuilder;
import jakarta.json.JsonException;
import jakarta.json.JsonObject;
import jakarta.json.JsonObjectBuilder;
import jakarta.json.JsonReader;
import jakarta.json.JsonString;
import jakarta.json.JsonValue;
import jakarta.json.JsonValue.ValueType;
Expand Down Expand Up @@ -299,8 +296,8 @@ public Map<Long, JsonObject> getCVocConf(boolean byTermUriField){
cvocMapByTermUri=new HashMap<>();
cvocFieldSet = new HashSet<>();

try (JsonReader jsonReader = Json.createReader(new StringReader(settingsService.getValueForKey(SettingsServiceBean.Key.CVocConf)))) {
JsonArray cvocConfJsonArray = jsonReader.readArray();
try {
JsonArray cvocConfJsonArray = JsonUtil.getJsonArray(settingsService.getValueForKey(SettingsServiceBean.Key.CVocConf));
for (JsonObject jo : cvocConfJsonArray.getValuesAs(JsonObject.class)) {
DatasetFieldType dft = findByNameOpt(jo.getString("field-name"));
if (dft == null) {
Expand Down Expand Up @@ -346,7 +343,7 @@ public Map<Long, JsonObject> getCVocConf(boolean byTermUriField){
}
}
}
} catch(JsonException e) {
} catch(JsonException e) {
logger.warning("Ignoring External Vocabulary setting due to parsing error: " + e.getLocalizedMessage());
}
return byTermUriField ? cvocMapByTermUri : cvocMap;
Expand Down Expand Up @@ -480,8 +477,8 @@ public JsonObject getExternalVocabularyValue(String termUri) {
ExternalVocabularyValue.class)
.setParameter("uri", termUri).getSingleResult();
String valString = evv.getValue();
try (JsonReader jr = Json.createReader(new StringReader(valString))) {
return jr.readObject();
try {
return JsonUtil.getJsonObject(valString);
} catch (Exception e) {
logger.warning("Problem parsing external vocab value for uri: " + termUri + " : " + e.getMessage());
}
Expand Down Expand Up @@ -583,8 +580,8 @@ public void process(HttpResponse response, HttpContext context) throws IOExcepti
int statusCode = response.getStatusLine().getStatusCode();
if (statusCode == 200) {
logger.fine("Returned data: " + data);
try (JsonReader jsonReader = Json.createReader(new StringReader(data))) {
String dataObj = filterResponse(cvocEntry, jsonReader.readObject(), term).toString();
try {
String dataObj = filterResponse(cvocEntry, JsonUtil.getJsonObject(data), term).toString();
evv.setValue(dataObj);
evv.setLastUpdateDate(Timestamp.from(Instant.now()));
logger.fine("JsonObject: " + dataObj);
Expand Down
6 changes: 3 additions & 3 deletions src/main/java/edu/harvard/iq/dataverse/EditDatafilesPage.java
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,8 @@
import java.util.Map;
import java.util.Optional;
import java.util.logging.Logger;

import edu.harvard.iq.dataverse.util.json.JsonUtil;
import jakarta.ejb.EJB;
import jakarta.ejb.EJBException;
import jakarta.faces.application.FacesMessage;
Expand Down Expand Up @@ -1451,9 +1453,7 @@ public void handleDropBoxUpload(ActionEvent event) {
// -----------------------------------------------------------
// Read JSON object from the output of the DropBox Chooser:
// -----------------------------------------------------------
JsonReader dbJsonReader = Json.createReader(new StringReader(dropBoxSelection));
JsonArray dbArray = dbJsonReader.readArray();
dbJsonReader.close();
JsonArray dbArray = JsonUtil.getJsonArray(dropBoxSelection);

// -----------------------------------------------------------
// Iterate through the Dropbox file information (JSON)
Expand Down
7 changes: 1 addition & 6 deletions src/main/java/edu/harvard/iq/dataverse/api/Admin.java
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,6 @@
import edu.harvard.iq.dataverse.engine.command.impl.AbstractSubmitToArchiveCommand;
import edu.harvard.iq.dataverse.engine.command.impl.PublishDataverseCommand;
import edu.harvard.iq.dataverse.settings.Setting;
import jakarta.json.Json;
import jakarta.json.JsonArrayBuilder;
import jakarta.json.JsonObjectBuilder;
import jakarta.ws.rs.Consumes;
Expand All @@ -71,7 +70,6 @@
import static edu.harvard.iq.dataverse.util.json.NullSafeJsonBuilder.jsonObjectBuilder;

import java.io.InputStream;
import java.io.StringReader;
import java.nio.charset.StandardCharsets;
import java.util.Collections;
import java.util.Map;
Expand All @@ -81,7 +79,6 @@
import jakarta.ejb.EJB;
import jakarta.ejb.Stateless;
import jakarta.json.JsonObject;
import jakarta.json.JsonReader;
import jakarta.validation.ConstraintViolation;
import jakarta.validation.ConstraintViolationException;
import jakarta.ws.rs.Produces;
Expand Down Expand Up @@ -1612,9 +1609,7 @@ public Response startConfirmEmailProcess(@Parameter(description = "Authenticated
description = "Rewrites a built-in user's password hash to the legacy SHA-1 test value.")
public Response convertUserFromBcryptToSha1(@RequestBody(description = "JSON object containing builtinUserId.")
String json) {
JsonReader jsonReader = Json.createReader(new StringReader(json));
JsonObject object = jsonReader.readObject();
jsonReader.close();
JsonObject object = JsonUtil.getJsonObject(json);
BuiltinUser builtinUser = builtinUserService.find(new Long(object.getInt("builtinUserId")));
builtinUser.updateEncryptedPassword("4G7xxL9z11/JKN4jHPn4g9iIQck=", 0); // password is "sha-1Pass", 0 means
// SHA-1
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/edu/harvard/iq/dataverse/api/Dataverses.java
Original file line number Diff line number Diff line change
Expand Up @@ -893,7 +893,7 @@ public Response updateInputLevels(@Context ContainerRequestContext crc,
String jsonBody) {
try {
Dataverse dataverse = findDataverseOrDie(identifier);
List<DataverseFieldTypeInputLevel> newInputLevels = parseInputLevels(Json.createReader(new StringReader(jsonBody)).readArray(), dataverse);
List<DataverseFieldTypeInputLevel> newInputLevels = parseInputLevels(JsonUtil.getJsonArray(jsonBody), dataverse);
execCommand(new UpdateDataverseInputLevelsCommand(dataverse, createDataverseRequest(getRequestUser(crc)), newInputLevels));
return ok(BundleUtil.getStringFromBundle("dataverse.update.success"), JsonPrinter.json(dataverse));
} catch (WrappedResponse e) {
Expand Down
12 changes: 6 additions & 6 deletions src/main/java/edu/harvard/iq/dataverse/api/Files.java
Original file line number Diff line number Diff line change
Expand Up @@ -158,8 +158,8 @@ public Response restrictFileInDataset(@Context ContainerRequestContext crc,
if (restrictStr != null && restrictStr.trim().startsWith("{")) {
// process as json
jakarta.json.JsonObject jsonObject;
try (StringReader stringReader = new StringReader(restrictStr)) {
jsonObject = Json.createReader(stringReader).readObject();
try {
jsonObject = JsonUtil.getJsonObject(restrictStr);
if (jsonObject.containsKey("restrict")) {
restrict = Boolean.valueOf(jsonObject.getBoolean("restrict"));
returnMessage += restrict ? "restricted." : "unrestricted.";
Expand Down Expand Up @@ -1152,8 +1152,8 @@ public Response setFileCategories(@Context ContainerRequestContext crc,
return response(req -> {
DataFile dataFile = execCommand(new GetDataFileCommand(req, findDataFileOrDie(dataFileId)));
jakarta.json.JsonObject jsonObject;
try (StringReader stringReader = new StringReader(jsonBody)) {
jsonObject = Json.createReader(stringReader).readObject();
try {
jsonObject = JsonUtil.getJsonObject(jsonBody);
JsonArray requestedCategoriesJson = jsonObject.getJsonArray("categories");
FileMetadata fileMetadata = dataFile.getFileMetadata();
if (replaceData) {
Expand Down Expand Up @@ -1190,8 +1190,8 @@ public Response setFileTabularTags(@Context ContainerRequestContext crc,
return badRequest(BundleUtil.getStringFromBundle("files.api.only.tabular.supported"));
}
jakarta.json.JsonObject jsonObject;
try (StringReader stringReader = new StringReader(jsonBody)) {
jsonObject = Json.createReader(stringReader).readObject();
try {
jsonObject = JsonUtil.getJsonObject(jsonBody);
JsonArray requestedTabularTagsJson = jsonObject.getJsonArray("tabularTags");
if (replaceData) {
dataFile.setTags(Lists.newArrayList());
Expand Down
21 changes: 4 additions & 17 deletions src/main/java/edu/harvard/iq/dataverse/api/HarvestingServer.java
Original file line number Diff line number Diff line change
Expand Up @@ -15,14 +15,11 @@
import jakarta.json.JsonObjectBuilder;
import static edu.harvard.iq.dataverse.util.json.NullSafeJsonBuilder.jsonObjectBuilder;
import java.io.IOException;
import java.io.StringReader;
import java.util.List;
import java.util.logging.Logger;
import java.util.regex.Pattern;
import jakarta.ejb.EJB;
import jakarta.ejb.Stateless;
import jakarta.json.Json;
import jakarta.json.JsonReader;
import jakarta.json.JsonArrayBuilder;
import jakarta.json.JsonObject;
import jakarta.ws.rs.DELETE;
Expand Down Expand Up @@ -145,13 +142,9 @@ public Response createOaiSet(@Context ContainerRequestContext crc,
return badRequest(BundleUtil.getStringFromBundle("harvestserver.newSetDialog.setspec.superUser.required"));
}

StringReader rdr = new StringReader(jsonBody);

try( JsonReader jrdr = Json.createReader(rdr) )
{
JsonObject json = jrdr.readObject();
JsonObject json = JsonUtil.getJsonObject(jsonBody);

OAISet set = new OAISet();
OAISet set = new OAISet();


String name, desc, defn;
Expand Down Expand Up @@ -194,8 +187,6 @@ public Response createOaiSet(@Context ContainerRequestContext crc,
set.setDefinition(defn);
oaiSetService.save(set);
return created("/harvest/server/oaisets" + name, oaiSetAsJson(set));
}

}

@PUT
Expand All @@ -221,11 +212,8 @@ public Response modifyOaiSet(@Context ContainerRequestContext crc,
return badRequest(BundleUtil.getStringFromBundle("harvestserver.newSetDialog.setspec.superUser.required"));
}

StringReader rdr = new StringReader(jsonBody);

try (JsonReader jrdr = Json.createReader(rdr)) {
JsonObject json = jrdr.readObject();
OAISet update;
JsonObject json = JsonUtil.getJsonObject(jsonBody);
OAISet update;
//Validating spec
if (!StringUtils.isEmpty(spec)) {
update = oaiSetService.findBySpec(spec);
Expand Down Expand Up @@ -256,7 +244,6 @@ public Response modifyOaiSet(@Context ContainerRequestContext crc,
update.setDefinition(defn);
oaiSetService.save(update);
return ok("/harvest/server/oaisets" + spec, oaiSetAsJson(update));
}
}

@DELETE
Expand Down
8 changes: 3 additions & 5 deletions src/main/java/edu/harvard/iq/dataverse/api/Util.java
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@
import java.util.TimeZone;
import java.util.TreeSet;
import java.util.stream.Collectors;
import jakarta.json.Json;

import edu.harvard.iq.dataverse.util.json.JsonUtil;
import jakarta.json.JsonArray;
import jakarta.json.JsonReader;

public class Util {

Expand All @@ -30,9 +30,7 @@ public class Util {
}

static JsonArray asJsonArray( String str ) {
try ( JsonReader rdr = Json.createReader(new StringReader(str)) ) {
return rdr.readArray();
}
return JsonUtil.getJsonArray(str);
}

static boolean isBoolean( String s ) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,16 +34,15 @@
import java.util.Map;
import java.util.logging.Level;
import java.util.logging.Logger;
import edu.harvard.iq.dataverse.util.json.JsonUtil;
import jakarta.ejb.EJB;
import jakarta.ejb.EJBException;
import jakarta.ejb.Stateless;
import jakarta.inject.Named;
import jakarta.json.Json;
import javax.xml.stream.XMLStreamConstants;
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.XMLStreamReader;
import jakarta.json.JsonObject;
import jakarta.json.JsonReader;
import jakarta.persistence.EntityManager;
import jakarta.persistence.NoResultException;
import jakarta.persistence.PersistenceContext;
Expand Down Expand Up @@ -115,8 +114,7 @@ public void importXML(String xmlToParse, String foreignFormat, DatasetVersion da
Gson gson = new Gson();
String json = gson.toJson(datasetDTO.getDatasetVersion());
logger.fine(json);
JsonReader jsonReader = Json.createReader(new StringReader(json));
JsonObject obj = jsonReader.readObject();
JsonObject obj = JsonUtil.getJsonObject(json);
DatasetVersion dv = new JsonParser(datasetFieldSvc, blockService, settingsService, licenseService, datasetTypeService).parseDatasetVersion(obj, datasetVersion);
} catch (XMLStreamException ex) {
//Logger.getLogger("global").log(Level.SEVERE, null, ex);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,10 @@
import edu.harvard.iq.dataverse.authorization.providers.shib.ShibUserNameFields;
import edu.harvard.iq.dataverse.authorization.providers.shib.ShibUtil;
import edu.harvard.iq.dataverse.util.BundleUtil;
import edu.harvard.iq.dataverse.util.json.JsonUtil;
import java.io.StringReader;
import java.util.Collections;
import jakarta.json.Json;
import jakarta.json.JsonObject;
import jakarta.json.JsonReader;

/**
* IDP adaptor for GitHub.com
Expand All @@ -36,11 +35,8 @@ public DefaultApi20 getApiInstance() {

@Override
protected ParsedUserResponse parseUserResponse( String responseBody ) {

try ( StringReader rdr = new StringReader(responseBody);
JsonReader jrdr = Json.createReader(rdr) ) {
JsonObject response = jrdr.readObject();
// Github has no concept of a family name
JsonObject response = JsonUtil.getJsonObject(responseBody);
// Github has no concept of a family name
ShibUserNameFields shibUserNameFields = ShibUtil.findBestFirstAndLastName(null, null, response.getString("name",""));
AuthenticatedUserDisplayInfo displayInfo = new AuthenticatedUserDisplayInfo(
shibUserNameFields.getFirstName(),
Expand All @@ -57,7 +53,5 @@ protected ParsedUserResponse parseUserResponse( String responseBody ) {
username,
displayInfo.getEmailAddress().length()>0 ? Collections.singletonList(displayInfo.getEmailAddress())
: Collections.emptyList() );
}

}
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,10 @@
import edu.harvard.iq.dataverse.authorization.AuthenticatedUserDisplayInfo;
import edu.harvard.iq.dataverse.authorization.providers.oauth2.AbstractOAuth2AuthenticationProvider;
import edu.harvard.iq.dataverse.util.BundleUtil;
import java.io.StringReader;
import edu.harvard.iq.dataverse.util.json.JsonUtil;
import java.util.Arrays;
import java.util.UUID;
import jakarta.json.Json;
import jakarta.json.JsonObject;
import jakarta.json.JsonReader;

/**
*
Expand All @@ -36,11 +34,9 @@ public DefaultApi20 getApiInstance() {

@Override
protected ParsedUserResponse parseUserResponse(String responseBody) {
try ( StringReader rdr = new StringReader(responseBody);
JsonReader jrdr = Json.createReader(rdr) ) {
JsonObject response = jrdr.readObject();

AuthenticatedUserDisplayInfo displayInfo = new AuthenticatedUserDisplayInfo(
JsonObject response = JsonUtil.getJsonObject(responseBody);

AuthenticatedUserDisplayInfo displayInfo = new AuthenticatedUserDisplayInfo(
response.getString("given_name",""),
response.getString("family_name",""),
response.getString("email",""),
Expand All @@ -63,6 +59,5 @@ protected ParsedUserResponse parseUserResponse(String responseBody) {
}
}
return new ParsedUserResponse(displayInfo, persistentUserId, username);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,8 @@
import java.util.Arrays;
import java.util.Collections;
import java.util.logging.Logger;
import java.io.StringReader;
import jakarta.json.Json;
import edu.harvard.iq.dataverse.util.json.JsonUtil;
import jakarta.json.JsonObject;
import jakarta.json.JsonReader;
import edu.harvard.iq.dataverse.authorization.AuthenticatedUserDisplayInfo;

/**
Expand All @@ -37,10 +35,8 @@ public DefaultApi20 getApiInstance(){

@Override
protected ParsedUserResponse parseUserResponse(final String responseBody) {
try ( StringReader rdr = new StringReader(responseBody);
JsonReader jrdr = Json.createReader(rdr) ) {
JsonObject response = jrdr.readObject();
AuthenticatedUserDisplayInfo displayInfo = new AuthenticatedUserDisplayInfo(
JsonObject response = JsonUtil.getJsonObject(responseBody);
AuthenticatedUserDisplayInfo displayInfo = new AuthenticatedUserDisplayInfo(
response.getString("givenName", ""),
response.getString("surname", ""),
response.getString("userPrincipalName", ""),
Expand All @@ -50,7 +46,6 @@ protected ParsedUserResponse parseUserResponse(final String responseBody) {
return new ParsedUserResponse(displayInfo, persistentUserId, username,
(displayInfo.getEmailAddress().length() > 0 ? Collections.singletonList(displayInfo.getEmailAddress()) : Collections.emptyList() )
);
}
}

public boolean isDisplayIdentifier()
Expand Down
Loading
Loading