private JSONObject generateMiniRecord( Storage storage, String auth_type, String inst_type, String csid) throws JSONException { JSONObject out = new JSONObject(); try { String postfix = "list"; if (this.search) { postfix = "search"; } out = storage.retrieveJSON( auth_type + "/" + inst_type + "/" + csid + "/view/" + postfix, new JSONObject()); out.put("csid", csid); out.put("recordtype", inst_type); } catch (ExistException e) { out.put("csid", csid); out.put("isError", true); JSONObject msg = new JSONObject(); msg.put("severity", "error"); msg.put("message", "Exist Exception:" + e.getMessage()); JSONArray msgs = new JSONArray(); msgs.put(msg); out.put("messages", msgs); } catch (UnimplementedException e) { out.put("csid", csid); out.put("isError", true); JSONObject msg = new JSONObject(); msg.put("severity", "error"); msg.put("message", "Unimplemented Exception:" + e.getMessage()); JSONArray msgs = new JSONArray(); msgs.put(msg); out.put("messages", msgs); } catch (UnderlyingStorageException e) { out.put("csid", csid); out.put("isError", true); JSONObject msg = new JSONObject(); msg.put("severity", "error"); msg.put("message", "UnderlyingStorage Exception:" + e.getMessage()); JSONArray msgs = new JSONArray(); msgs.put(msg); out.put("messages", msgs); } return out; }
private void search_or_list_vocab( JSONObject out, Record rd, Instance n, Storage storage, JSONObject restriction, String resultstring, JSONObject temp) throws ExistException, UnimplementedException, UnderlyingStorageException, JSONException, UIException { JSONObject data = storage.getPathsJSON(rd.getID() + "/" + n.getTitleRef(), restriction); String[] paths = (String[]) data.get("listItems"); JSONObject pagination = new JSONObject(); if (data.has("pagination")) { pagination = data.getJSONObject("pagination"); pagination.put("numInstances", "1"); } JSONArray members = new JSONArray(); /* Get a view of each */ if (temp.has(resultstring)) { members = temp.getJSONArray(resultstring); } for (String result : paths) { if (temp.has(resultstring)) { temp.getJSONArray(resultstring) .put(generateMiniRecord(storage, rd.getID(), n.getTitleRef(), result)); members = temp.getJSONArray(resultstring); } else { members.put(generateMiniRecord(storage, rd.getID(), n.getTitleRef(), result)); } } out.put(resultstring, members); if (pagination != null) { if (temp.has("pagination")) { JSONObject pag2 = temp.getJSONObject("pagination"); String itemsInPage = pag2.getString("itemsInPage"); String pagSize = pag2.getString("pageSize"); String totalItems = pag2.getString("totalItems"); String numInstances = pag2.getString("numInstances"); String itemsInPage1 = pagination.getString("itemsInPage"); String pagSize1 = pagination.getString("pageSize"); String totalItems1 = pagination.getString("totalItems"); Integer numInstances1 = Integer.parseInt(numInstances); int iip = Integer.parseInt(itemsInPage) + Integer.parseInt(itemsInPage1); int ps = Integer.parseInt(pagSize) + Integer.parseInt(pagSize1); int ti = Integer.parseInt(totalItems) + Integer.parseInt(totalItems1); pagination.put("itemsInPage", Integer.toString(iip)); pagination.put("pageSize", Integer.toString(ps)); pagination.put("totalItems", Integer.toString(ti)); pagination.put("numInstances", Integer.toString(numInstances1++)); } out.put("pagination", pagination); } log.debug(restriction.toString()); }