use of org.collectionspace.csp.api.persistence.ExistException in project application by collectionspace.
the class UserDetailsSearchList method search_or_list.
private void search_or_list(Storage storage, UIRequest ui, String param, String pageSize, String pageNum) throws UIException {
try {
JSONObject restriction = new JSONObject();
String key = "items";
if (param != null) {
restriction.put("screenName", param);
key = "results";
}
if (pageSize != null) {
restriction.put("pageSize", pageSize);
}
if (pageNum != null) {
restriction.put("pageNum", pageNum);
}
JSONObject data = storage.getPathsJSON(base, restriction);
String[] paths = (String[]) data.get("listItems");
JSONObject pagination = new JSONObject();
if (data.has("pagination")) {
pagination = data.getJSONObject("pagination");
}
JSONObject resultsObject = new JSONObject();
resultsObject = pathsToJSON(storage, base, paths, key, pagination);
ui.sendJSONResponse(resultsObject);
} catch (JSONException e) {
throw new UIException("JSONException during autocompletion", e);
} catch (ExistException e) {
throw new UIException("ExistException during autocompletion", e);
} catch (UnimplementedException e) {
throw new UIException("UnimplementedException during autocompletion", e);
} catch (UnderlyingStorageException x) {
UIException uiexception = new UIException(x.getMessage(), x.getStatus(), x.getUrl(), x);
ui.sendJSONResponse(uiexception.getJSON());
}
}
use of org.collectionspace.csp.api.persistence.ExistException in project application by collectionspace.
the class UserRolesCreate method store_set.
private void store_set(Storage storage, UIRequest request, String path) throws UIException {
JSONObject data = null;
data = request.getJSONBody();
boolean notfailed = true;
String msg = "";
try {
path = sendJSON(storage, null, data);
if (path == null) {
throw new UIException("Insufficient data for create (no fields?)");
}
data.put("csid", path);
boolean isError = !notfailed;
data.put("isError", isError);
JSONObject messages = new JSONObject();
messages.put("message", msg);
if (notfailed) {
messages.put("severity", "info");
} else {
messages.put("severity", "error");
}
JSONArray arr = new JSONArray();
arr.put(messages);
data.put("messages", arr);
request.sendJSONResponse(data);
request.setOperationPerformed(Operation.CREATE);
if (notfailed)
request.setSecondaryRedirectPath(new String[] { url_base, path });
} catch (JSONException x) {
throw new UIException("Failed to parse json: " + x, x);
} catch (ExistException x) {
throw new UIException("Existence exception: ", x);
} catch (UnimplementedException x) {
throw new UIException("Unimplemented exception: ", x);
} catch (UnderlyingStorageException x) {
UIException uiexception = new UIException(x.getMessage(), x.getStatus(), x.getUrl(), x);
request.sendJSONResponse(uiexception.getJSON());
}
}
use of org.collectionspace.csp.api.persistence.ExistException in project application by collectionspace.
the class UserRolesSearchList method search_or_list.
private void search_or_list(Storage storage, UIRequest ui, String param, String pageSize, String pageNum) throws UIException {
try {
JSONObject restriction = new JSONObject();
String key = "items";
if (param != null) {
restriction.put("screenName", param);
key = "results";
}
if (pageSize != null) {
restriction.put("pageSize", pageSize);
}
if (pageNum != null) {
restriction.put("pageNum", pageNum);
}
JSONObject data = storage.getPathsJSON(base, restriction);
String[] paths = (String[]) data.get("listItems");
for (int i = 0; i < paths.length; i++) {
if (paths[i].startsWith(base + "/"))
paths[i] = paths[i].substring((base + "/").length());
}
JSONObject resultsObject = new JSONObject();
resultsObject = pathsToJSON(storage, base, paths, key);
ui.sendJSONResponse(resultsObject);
} catch (JSONException e) {
throw new UIException("JSONException during autocompletion", e);
} catch (ExistException e) {
throw new UIException("ExistException during autocompletion", e);
} catch (UnimplementedException e) {
throw new UIException("UnimplementedException during autocompletion", e);
} catch (UnderlyingStorageException x) {
UIException uiexception = new UIException(x.getMessage(), x.getStatus(), x.getUrl(), x);
ui.sendJSONResponse(uiexception.getJSON());
}
}
use of org.collectionspace.csp.api.persistence.ExistException in project application by collectionspace.
the class StubJSONStore method deleteJSON.
public void deleteJSON(String filePath) throws ExistException, UnimplementedException, UnderlyingStorageException {
if (idRequest(filePath))
id.deleteJSON(filePath);
File jsonFile = fileFromPath(filePath);
if (!jsonFile.exists()) {
throw new ExistException("No such file: " + filePath);
}
jsonFile.delete();
}
Aggregations