Search in sources :

Example 51 with UnimplementedException

use of org.collectionspace.csp.api.persistence.UnimplementedException in project application by collectionspace.

the class UserDetailsDelete method store_delete.

private void store_delete(Storage storage, UIRequest request, String path) throws UIException {
    try {
        // Deleting a user needs to clear the userperms cache for safety.
        ResponseCache.clearCache(ResponseCache.USER_PERMS_CACHE);
        storage.deleteJSON(base + "/" + path);
    } catch (ExistException e) {
        throw new UIException("JSON Not found " + e, e);
    } catch (UnimplementedException e) {
        throw new UIException("Unimplemented", e);
    } catch (UnderlyingStorageException x) {
        UIException uiexception = new UIException(x.getMessage(), x.getStatus(), x.getUrl(), x);
        request.sendJSONResponse(uiexception.getJSON());
    }
}
Also used : UIException(org.collectionspace.csp.api.ui.UIException) ExistException(org.collectionspace.csp.api.persistence.ExistException) UnderlyingStorageException(org.collectionspace.csp.api.persistence.UnderlyingStorageException) UnimplementedException(org.collectionspace.csp.api.persistence.UnimplementedException)

Example 52 with UnimplementedException

use of org.collectionspace.csp.api.persistence.UnimplementedException in project application by collectionspace.

the class UserDetailsReset method reset_password.

/* check token and if matches csid then reset password 
	 * */
private void reset_password(Storage storage, UIRequest request, Request in) throws UIException {
    // mock login else service layer gets upset
    // XXX ARGH
    AdminData ad = spec.getAdminData();
    request.getSession().setValue(UISession.USERID, ad.getAuthUser());
    request.getSession().setValue(UISession.PASSWORD, ad.getAuthPass());
    in.reset();
    JSONObject outputJSON = new JSONObject();
    if (testSuccess(in.getStorage())) {
        JSONObject data = null;
        data = request.getJSONBody();
        String token;
        try {
            token = data.getString("token");
            String password = data.getString("password");
            String email = data.getString("email");
            JSONObject userdetails = getcsID(storage, email);
            if (!userdetails.getBoolean("isError")) {
                String csid = userdetails.getString("csid");
                if (testToken(csid, token)) {
                    /* update userdetails */
                    String path = csid;
                    JSONObject fields = userdetails.getJSONObject("fields");
                    try {
                        JSONObject changedata = new JSONObject();
                        JSONObject updatefields = fields;
                        updatefields.put("password", password);
                        changedata.put("fields", updatefields);
                        changedata.put("csid", csid);
                        sendJSON(storage, path, changedata);
                        outputJSON.put("isError", false);
                        JSONObject messages = new JSONObject();
                        messages.put("message", "Your Password has been succesfully changed, Please login");
                        messages.put("severity", "info");
                        JSONArray arr = new JSONArray();
                        arr.put(messages);
                        outputJSON.put("messages", arr);
                    } catch (JSONException x) {
                        throw new UIException("Failed to parse json: ", 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);
                        outputJSON = uiexception.getJSON();
                    }
                } else {
                    outputJSON.put("isError", false);
                    JSONObject messages = new JSONObject();
                    messages.put("message", "Token was not valid");
                    messages.put("severity", "error");
                    JSONArray arr = new JSONArray();
                    arr.put(messages);
                    outputJSON.put("messages", arr);
                }
            } else {
                outputJSON = userdetails;
            }
            request.getSession().setValue(UISession.USERID, "");
            request.getSession().setValue(UISession.PASSWORD, "");
            in.reset();
        } catch (JSONException x) {
            throw new UIException("Failed to parse json: ", x);
        }
    } else {
        try {
            outputJSON.put("isError", false);
            JSONObject messages = new JSONObject();
            messages.put("message", "The admin details in cspace-config.xml failed");
            messages.put("severity", "error");
            JSONArray arr = new JSONArray();
            arr.put(messages);
            outputJSON.put("messages", arr);
        } catch (JSONException x) {
            throw new UIException("Failed to parse json: ", x);
        }
    }
    /* should we automagically log them in or let them do that?, 
		 * I think we should let them login, it has the advantage 
		 * that they find out straight away if they can't remember the new password  */
    request.sendJSONResponse(outputJSON);
    request.setOperationPerformed(Operation.CREATE);
}
Also used : AdminData(org.collectionspace.chain.csp.schema.AdminData) JSONObject(org.json.JSONObject) JSONArray(org.json.JSONArray) JSONException(org.json.JSONException) UIException(org.collectionspace.csp.api.ui.UIException) ExistException(org.collectionspace.csp.api.persistence.ExistException) UnderlyingStorageException(org.collectionspace.csp.api.persistence.UnderlyingStorageException) UnimplementedException(org.collectionspace.csp.api.persistence.UnimplementedException)

Example 53 with UnimplementedException

use of org.collectionspace.csp.api.persistence.UnimplementedException 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());
    }
}
Also used : JSONObject(org.json.JSONObject) JSONException(org.json.JSONException) UIException(org.collectionspace.csp.api.ui.UIException) ExistException(org.collectionspace.csp.api.persistence.ExistException) UnderlyingStorageException(org.collectionspace.csp.api.persistence.UnderlyingStorageException) UnimplementedException(org.collectionspace.csp.api.persistence.UnimplementedException)

Example 54 with UnimplementedException

use of org.collectionspace.csp.api.persistence.UnimplementedException 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());
    }
}
Also used : JSONObject(org.json.JSONObject) JSONArray(org.json.JSONArray) UIException(org.collectionspace.csp.api.ui.UIException) JSONException(org.json.JSONException) ExistException(org.collectionspace.csp.api.persistence.ExistException) UnderlyingStorageException(org.collectionspace.csp.api.persistence.UnderlyingStorageException) UnimplementedException(org.collectionspace.csp.api.persistence.UnimplementedException)

Example 55 with UnimplementedException

use of org.collectionspace.csp.api.persistence.UnimplementedException 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());
    }
}
Also used : JSONObject(org.json.JSONObject) JSONException(org.json.JSONException) UIException(org.collectionspace.csp.api.ui.UIException) ExistException(org.collectionspace.csp.api.persistence.ExistException) UnderlyingStorageException(org.collectionspace.csp.api.persistence.UnderlyingStorageException) UnimplementedException(org.collectionspace.csp.api.persistence.UnimplementedException)

Aggregations

UnimplementedException (org.collectionspace.csp.api.persistence.UnimplementedException)56 UnderlyingStorageException (org.collectionspace.csp.api.persistence.UnderlyingStorageException)55 ExistException (org.collectionspace.csp.api.persistence.ExistException)50 JSONException (org.json.JSONException)50 JSONObject (org.json.JSONObject)48 UIException (org.collectionspace.csp.api.ui.UIException)40 JSONArray (org.json.JSONArray)25 Record (org.collectionspace.chain.csp.schema.Record)11 ConnectionException (org.collectionspace.chain.csp.persistence.services.connection.ConnectionException)10 IOException (java.io.IOException)7 ReturnedDocument (org.collectionspace.chain.csp.persistence.services.connection.ReturnedDocument)6 FieldSet (org.collectionspace.chain.csp.schema.FieldSet)6 ConfigException (org.collectionspace.chain.csp.config.ConfigException)5 ReturnedMultipartDocument (org.collectionspace.chain.csp.persistence.services.connection.ReturnedMultipartDocument)5 Field (org.collectionspace.chain.csp.schema.Field)5 Document (org.dom4j.Document)5 UnsupportedEncodingException (java.io.UnsupportedEncodingException)4 Group (org.collectionspace.chain.csp.schema.Group)4 Instance (org.collectionspace.chain.csp.schema.Instance)4 Storage (org.collectionspace.csp.api.persistence.Storage)4