List of usage examples for org.json.simple JSONArray get
public E get(int index)
From source file:de.fhg.fokus.odp.middleware.ckan.CKANGatewayUtil.java
/** * The function receives a vector with details for a set of revisions and * returns the details for the packages affected by these revisions. * /*from w ww . j a va 2 s .com*/ * @param revisionsDetails * a vector of strings containing the JSON details for the * revisions. * @return a vector of maps with the details for each affected package. */ @SuppressWarnings("rawtypes") public static Vector<Map> getUpdatedCategoriesDetails(Vector<String> revisionsDetails) { // pass the request to the function for the updated data sets Vector uDataSetResults = getUpdatedDataSetsDetails(revisionsDetails); if (uDataSetResults == null) { return null; } // the vector to contain the visited groups Vector<String> visitedGroups = new Vector<String>(); // the variable which will be returned Vector<Map> toreturn = new Vector<Map>(); // iterate over the data set results for (int i = 0; i < uDataSetResults.size(); i++) { // get the groups which where updated as a result of the data set // update Map m = (Map) uDataSetResults.get(i); JSONArray arr = (JSONArray) m.get("groups"); for (int j = 0; j < arr.size(); j++) { // get the next group and check if its data was already obtained String grp = (String) arr.get(j); if (visitedGroups.contains(grp)) { continue; } visitedGroups.add(grp); // prepare the next rest call String RESTcall = "api/rest/group/" + grp; try { String restResponse = connectorInstance.restCallWithAuthorization(RESTcall, null); Map grMap = (Map) JSONValue.parse(restResponse); toreturn.add(grMap); } catch (MalformedURLException e) { log.log(Level.SEVERE, "Failed to realize api call \"" + url + RESTcall + "\" !!!"); continue; } catch (IOException e) { continue; } } } return toreturn; }
From source file:edu.ucsd.sbrg.escher.utilities.EscherParser.java
/** * @param id/*from ww w . j ava2 s.c o m*/ * @param json * @param escherMap * @return */ private EscherReaction[] parseReaction(Object id, JSONObject json, EscherMap escherMap) { EscherReaction reaction = new EscherReaction(); reaction.setId(parseString(id)); reaction.setBiggId(parseString(json.get(EscherKeywords.bigg_id.name()))); reaction.setLabelX(parseDouble(json.get(EscherKeywords.label_x.name()))); reaction.setLabelY(parseDouble(json.get(EscherKeywords.label_y.name()))); reaction.setName(parseString(json.get(EscherKeywords.name.name()))); reaction.setReversibility(parseBoolean(json.get(EscherKeywords.reversibility.name()))); if (json.get(EscherKeywords.gene_reaction_rule.toString()) != null) { reaction.setGeneReactionRule(json.get(EscherKeywords.gene_reaction_rule.toString()).toString()); } Object object = json.get(EscherKeywords.genes.name()); if ((object != null) && (object instanceof JSONArray)) { JSONArray genes = (JSONArray) object; for (Object o : genes) { reaction.addGene(parseGene(o)); } } else { logger.warning(MessageFormat.format(bundle.getString("EscherParser.cannotParse"), object.getClass().getName())); } object = json.get(EscherKeywords.metabolites.toString()); if ((object != null) && (object instanceof JSONArray)) { JSONArray metabolites = (JSONArray) object; for (int i = 0; i < metabolites.size(); i++) { reaction.addMetabolite(parseMetabolite(reaction.getBiggId(), metabolites.get(i))); } } else { logger.warning(MessageFormat.format(bundle.getString("EscherParser.cannotParse"), object.getClass().getName())); } object = json.get(EscherKeywords.segments.name()); if ((object != null) && (object instanceof JSONObject)) { JSONObject segments = (JSONObject) object; List<Segment> listOfSegments = new LinkedList<Segment>(); // parse all segments and find the midmarker of the reaction Set<Node> setOfMidmarkers = new HashSet<Node>(); Set<Node> setOfConnectedNodes = new HashSet<Node>(); for (Object key : segments.keySet()) { Segment segment = parseSegment(key, (JSONObject) segments.get(key)); listOfSegments.add(segment); Node fromNode = escherMap.getNode(segment.getFromNodeId()); Node toNode = escherMap.getNode(segment.getToNodeId()); if (fromNode.isMidmarker()) { setOfMidmarkers.add(fromNode); } else if (toNode.isMidmarker()) { setOfMidmarkers.add(toNode); } setOfConnectedNodes.add(fromNode); setOfConnectedNodes.add(toNode); } if (setOfMidmarkers.size() > 0) { if (setOfMidmarkers.size() == 1) { reaction.setMidmarker(setOfMidmarkers.iterator().next()); } else { /* * We have to separate all curve segments in this merged reaction, so * that there is one such set for each midmarker. * */ Map<Node, Pair<Set<Node>, Set<Segment>>> midmarker2ReachableNodes = new HashMap<>(); while (!listOfSegments.isEmpty()) { for (Node midmarker : setOfMidmarkers) { Set<Node> nodes; Set<Segment> s; if (!midmarker2ReachableNodes.containsKey(midmarker)) { nodes = new HashSet<Node>(); s = new HashSet<Segment>(); nodes.add(midmarker); midmarker2ReachableNodes.put(midmarker, pairOf(nodes, s)); } else { Pair<Set<Node>, Set<Segment>> pair = midmarker2ReachableNodes.get(midmarker); nodes = pair.getKey(); s = pair.getValue(); } separateSegments(nodes, s, listOfSegments, escherMap); } } /* * Create one clone reaction for each midmarker and manipulate id and * curve segments. */ EscherReaction reactions[] = new EscherReaction[setOfMidmarkers.size()]; Iterator<Node> iterator = setOfMidmarkers.iterator(); for (int i = 0; i < reactions.length; i++) { Node midmarker = iterator.next(); reactions[i] = reaction.clone(); reactions[i].setMidmarker(midmarker); reactions[i].setId(reaction.getId() + "_" + (i + 1)); linkSegmentsToReaction(reactions[i], midmarker2ReachableNodes.get(midmarker).getValue(), escherMap); } return reactions; } } linkSegmentsToReaction(reaction, listOfSegments, escherMap); } else { logger.warning(MessageFormat.format(bundle.getString("EscherParser.cannotParse"), object.getClass().getName())); } return new EscherReaction[] { reaction }; }
From source file:co.anarquianegra.rockolappServidor.mundo.ListaReproductor.java
private Cancion buscarCancionesEnApi(IListaOrdenada resultado, String pNombre, long id) { ApiWrapper wrapper = new ApiWrapper(client_id, client_secret, null, null); try {/*from w w w . ja va2s . co m*/ Request r; if (id > -1) r = new Request("/tracks/" + id); else r = new Request("/tracks?q=" + pNombre); System.out.println("Buscando en sOUNDclOUD"); HttpResponse resp = wrapper.get(r); if (resp.getStatusLine().getStatusCode() == HttpStatus.SC_OK) { String s = Http.formatJSON(Http.getString(resp)); try { if (id > -1) { JSONObject json = (JSONObject) new JSONParser().parse(s); System.out.println(json); Cancion c = new Cancion((String) json.get("title"), (String) json.get("stream_url")); c.setId((long) json.get("id")); return c; } else { JSONArray canciones = (JSONArray) new JSONParser().parse(s); for (int i = 0; i < canciones.size(); i++) { JSONObject json = (JSONObject) canciones.get(i); System.out.println(json); Cancion c = new Cancion((String) json.get("title"), (String) json.get("stream_url")); c.setId((long) json.get("id")); resultado.agregar(c); } } } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } return null; }
From source file:com.worldline.easycukes.rest.client.RestService.java
/** * Allows to get an item randomly from the response array of a previous REST * call//from www . ja va 2 s. c o m * * @return the value if it's found (else it'll be null) * @throws ParseException */ public String getRandomlyAnItemFromResponseArray() throws ParseException { final JSONArray jsonArray = JSONHelper.toJSONArray(response.getResponseString()); if (jsonArray != null && !jsonArray.isEmpty()) return (String) jsonArray.get(new Random().nextInt(jsonArray.size())); return null; }
From source file:de.fhg.fokus.odp.middleware.ckan.CKANGatewayUtil.java
/** * The function receives a vector with details for a set of revisions and * returns the details for the packages affected by these revisions. * // w ww . j av a2 s. c o m * @param revisionsDetails * a vector of strings containing the JSON details for the * revisions. * @return a vector of maps with the details for each affected package. */ @SuppressWarnings({ "rawtypes", "unchecked" }) public static Vector getUpdatedDataSetsDetails(Vector<String> revisionsDetails) { // check the input packages if (revisionsDetails == null) { return null; } // the vector to store return results Vector toreturn = new Vector(); // a variable to hold the already visited packages Vector<String> visitedPackages = new Vector<String>(); // iterate over each single package for (int i = 0; i < revisionsDetails.size(); i++) { // parse the JSON string and obtain an array of JSON objects Object obj = JSONValue.parse(revisionsDetails.get(i)); Map array = (Map) obj; // get the packages JSONArray arr = (JSONArray) (array.get("packages")); // iterate over all the packages for (int j = 0; j < arr.size(); j++) { // get the name of the next package String pkg = (String) arr.get(j); // check whether the package was already visited if (visitedPackages.contains(pkg)) { continue; } // add the package to the list of visited packages visitedPackages.add(pkg); // get the package details Object pkgObject = CKANGatewayCore.getDataSetDetails(pkg); // add the package details to the toreturn object if (pkgObject != null) { toreturn.add(pkgObject); } } } return toreturn; }
From source file:com.firmansyah.imam.sewa.kendaraan.FormUser.java
public void showDataUser() { try {//from w w w . j ava 2 s . c om getDataURL dataurl = new getDataURL(); DefaultTableModel model = (DefaultTableModel) tblPelanggan.getModel(); model.setRowCount(0); String url = Path.serverURL + "/user/show/"; String data = dataurl.getData(url); Object obj = JSONValue.parse(data); JSONArray dataArray = (JSONArray) obj; System.out.println("Banyak datanya : " + dataArray.size()); for (int i = 0; i < dataArray.size(); i++) { JSONObject getData = (JSONObject) dataArray.get(i); String cek_status = getData.get("status").toString(); if (cek_status.equals("0")) { cek_status = "Non Aktif"; } else { cek_status = "Aktif"; } Object[] row = { i + 1, getData.get("nama"), getData.get("username"), cek_status, getData.get("id"), }; model.addRow(row); } } catch (IOException ex) { Logger.getLogger(FormUser.class.getName()).log(Level.SEVERE, null, ex); } }
From source file:mml.handler.post.MMLPostVersionHandler.java
/** * Handle a POST request/*from w ww . ja v a 2 s. c o m*/ * @param request the raw request * @param response the response we will write to * @param urn the rest of the URL after stripping off the context * @throws MMLException */ public void handle(HttpServletRequest request, HttpServletResponse response, String urn) throws MMLException { try { String value = request.getParameter("data"); if (value != null) { JSONObject jObj = (JSONObject) JSONValue.parse(value); this.version1 = (String) jObj.get(JSONKeys.VERSION1); if (version1 == null) version1 = "/base"; else version1 = URLDecoder.decode(version1, "UTF-8"); this.longName = (String) jObj.get(JSONKeys.LONGNAME); this.docid = (String) jObj.get(JSONKeys.DOCID); this.dialect = getDialectFromDocid(); JSONArray layers = (JSONArray) jObj.get("layers"); ScratchVersion corcodeDefault = new ScratchVersion(version1, longName, docid + "/default", Database.CORCODE, null, true); ScratchVersion corcodePages = new ScratchVersion(version1, longName, docid + "/pages", Database.CORCODE, null, true); ScratchVersion text = new ScratchVersion(version1, longName, docid, Database.CORTEX, null, true); this.style = ScratchVersionSet.getDefaultStyleName(docid); for (int i = 0; i < layers.size(); i++) { JSONObject layer = (JSONObject) layers.get(i); String name = (String) layer.get(JSONKeys.NAME); String html = (String) layer.get(JSONKeys.BODY); stil = new STILDocument(style); pages = new STILDocument(style); // reduce html to text, corcode-default and corcode-pages Document doc = Jsoup.parseBodyFragment(html); Element body = doc.body(); parseBody(body); int num = ScratchVersion.layerNumber(name); text.addLayer(sb.toString().toCharArray(), num); corcodeDefault.addLayer(stil.toString().toCharArray(), num); corcodePages.addLayer(pages.toString().toCharArray(), num); } Scratch.save(text); Scratch.save(corcodeDefault); Scratch.save(corcodePages); response.setContentType("text/plain"); response.getWriter().write("OK"); } } catch (Exception e) { System.out.println(e.getMessage()); throw new MMLException(e); } }
From source file:com.portfolio.security.LTIv2Servlet.java
protected void doRegister(HttpServletResponse response, Map<String, Object> payload, ServletContext application, String toolProxyPath, StringBuffer outTrace) { String launch_url = (String) payload.get("launch_url"); response.setContentType("text/html"); outTraceFormattedMessage(outTrace, "doRegister() - launch_url: " + launch_url); outTraceFormattedMessage(outTrace, "payload: " + payload); String key = null;/*from ww w.j a v a2 s. c o m*/ String passwd = null; if (BasicLTIConstants.LTI_MESSAGE_TYPE_TOOLPROXYREGISTRATIONREQUEST .equals(payload.get(BasicLTIConstants.LTI_MESSAGE_TYPE))) { key = (String) payload.get(LTI2Constants.REG_KEY); passwd = (String) payload.get(LTI2Constants.REG_PASSWORD); } else if (BasicLTIConstants.LTI_MESSAGE_TYPE_TOOLPROXY_RE_REGISTRATIONREQUEST .equals(payload.get(BasicLTIConstants.LTI_MESSAGE_TYPE))) { key = (String) payload.get(LTIServletUtils.OAUTH_CONSUMER_KEY); final String configPrefix = "basiclti.provider." + key + "."; passwd = (String) application.getAttribute(configPrefix + "secret"); } else { //TODO BOOM outTraceFormattedMessage(outTrace, "BOOM"); } String returnUrl = (String) payload.get(BasicLTIConstants.LAUNCH_PRESENTATION_RETURN_URL); String tcProfileUrl = (String) payload.get(LTI2Constants.TC_PROFILE_URL); //Lookup tc profile if (tcProfileUrl != null && !"".equals(tcProfileUrl)) { InputStream is = null; try { URL url = new URL(tcProfileUrl); is = url.openStream(); JSONParser parser = new JSONParser(); JSONObject obj = (JSONObject) parser.parse(new InputStreamReader(is)); // is.close(); outTraceFormattedMessage(outTrace, obj.toJSONString()); JSONArray services = (JSONArray) obj.get("service_offered"); String regUrl = null; for (int i = 0; i < services.size(); i++) { JSONObject service = (JSONObject) services.get(i); JSONArray formats = (JSONArray) service.get("format"); if (formats.contains("application/vnd.ims.lti.v2.toolproxy+json")) { regUrl = (String) service.get("endpoint"); outTraceFormattedMessage(outTrace, "RegEndpoint: " + regUrl); } } if (regUrl == null) { //TODO BOOM throw new RuntimeException("Need an endpoint"); } JSONObject toolProxy = getToolProxy(toolProxyPath); //TODO do some replacement on stock values that need specifics from us here // Tweak the stock profile toolProxy.put("tool_consumer_profile", tcProfileUrl); //LTI2Constants. // BasicLTIConstants. // // Re-register JSONObject toolProfile = (JSONObject) toolProxy.get("tool_profile"); JSONArray messages = (JSONArray) toolProfile.get("message"); JSONObject message = (JSONObject) messages.get(0); message.put("path", launch_url); String baseUrl = (String) payload.get("base_url"); JSONObject pi = (JSONObject) toolProfile.get("product_instance"); JSONObject pInfo = (JSONObject) pi.get("product_info"); JSONObject pFamily = (JSONObject) pInfo.get("product_family"); JSONObject vendor = (JSONObject) pFamily.get("vendor"); vendor.put("website", baseUrl); // vendor.put("timestamp", new Date().toString()); // $tp_profile->tool_profile->product_instance->product_info->product_family->vendor->website = $cur_base; // $tp_profile->tool_profile->product_instance->product_info->product_family->vendor->timestamp = "2013-07-13T09:08:16-04:00"; // // // I want this *not* to be unique per instance // $tp_profile->tool_profile->product_instance->guid = "urn:sakaiproject:unit-test"; // // $tp_profile->tool_profile->product_instance->service_provider->guid = "http://www.sakaiproject.org/"; // // // Launch Request // $tp_profile->tool_profile->resource_handler[0]->message[0]->path = "tool.php"; // $tp_profile->tool_profile->resource_handler[0]->resource_type->code = "sakai-api-test-01"; // $tp_profile->tool_profile->base_url_choice[0]->secure_base_url = $cur_base; // $tp_profile->tool_profile->base_url_choice[0]->default_base_url = $cur_base; JSONObject choice = (JSONObject) ((JSONArray) toolProfile.get("base_url_choice")).get(0); choice.put("secure_base_url", baseUrl); choice.put("default_base_url", baseUrl); JSONObject secContract = (JSONObject) toolProxy.get("security_contract"); secContract.put("shared_secret", passwd); JSONArray toolServices = (JSONArray) secContract.get("tool_service"); JSONObject service = (JSONObject) toolServices.get(0); service.put("service", regUrl); outTraceFormattedMessage(outTrace, "ToolProxyJSON: " + toolProxy.toJSONString()); /// From the Implementation Guid Version 2.0 Final (http://www.imsglobal.org/lti/ltiv2p0/ltiIMGv2p0.html) /// Section 10.1 /// Get data JSONObject dataService = getData(tcProfileUrl); /// find endpoint with format: application/vnd.ims.lti.v2.toolproxy+json WITH POST action JSONArray offered = (JSONArray) dataService.get("service_offered"); String registerAddress = ""; for (int i = 0; i < offered.size(); ++i) { JSONObject offer = (JSONObject) offered.get(i); JSONArray offerFormat = (JSONArray) offer.get("format"); String format = (String) offerFormat.get(0); JSONArray offerAction = (JSONArray) offer.get("action"); String action = (String) offerAction.get(0); if ("application/vnd.ims.lti.v2.toolproxy+json".equals(format) && "POST".equals(action)) { registerAddress = (String) offer.get("endpoint"); break; } } /// FIXME: Sakai return server name as "localhost", could be my configuration String[] serverAddr = tcProfileUrl.split("/"); String addr = serverAddr[2]; registerAddress = registerAddress.substring(registerAddress.indexOf("/", 8)); registerAddress = "http://" + addr + registerAddress; /// Send POST to specified URL as signed request with given values int responseCode = postData(registerAddress, toolProxy.toJSONString(), key, passwd); if (responseCode != HttpServletResponse.SC_CREATED) { //TODO BOOM! throw new RuntimeException("Bad response code. Got " + responseCode + " but expected " + HttpServletResponse.SC_CREATED); } } catch (MalformedURLException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { try { if (is != null) is.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } String output = "<a href='" + returnUrl + "'>Continue to launch presentation url</a>"; try { PrintWriter out = response.getWriter(); out.println(output); } catch (Exception e) { e.printStackTrace(); } }
From source file:gov.usda.DataCatalogClient.Catalog.java
/** * Populates this class' member variables from CKAN JSON Object * <p>//from w ww . j a v a2 s .com * When doing a search on CKAN, the result is an array of packages(in this program datasets). * This method begins the process of marshaling the JSON into Java Objects by looping through * the packages and calling the loadDataset methods at the dataset level. * @param catalogCKAN_JSON JSONObject The results from a CKAN query. */ public void loadCatalogFromCKAN(JSONObject catalogCKAN_JSON) throws CatalogException { if (catalogCKAN_JSON == null) { throw (new NullPointerException("JSONObject catalogCKAN_JSON cannot be null")); } final JSONObject resultObject = (JSONObject) catalogCKAN_JSON.get(CKAN_CATALOG); final JSONArray packageList = (JSONArray) resultObject.get(Dataset.CKAN_DATASET); for (int i = 0; i < packageList.size(); i++) { final JSONObject packageObject = (JSONObject) packageList.get(i); final Dataset ds = new Dataset(); try { ds.loadDatasetFromCKAN_JSON(packageObject); dataSetList.add(ds); } catch (DatasetException e) { //TODO: Capture entire error catalogException.addError(e.toString()); } } addBureauNameToDataset(); Collections.sort(dataSetList); if (!validateCatalog() || catalogException.exceptionSize() > 0) { throw (catalogException); } }
From source file:mml.handler.get.MMLGetMMLHandler.java
/** * Debug: Check that the corcode stil ranges do not go beyond text end * @param stil the stil markup as text//from w w w . ja va 2s. c o m * @param text the text it refers to * @return true if it was OK, else false */ boolean verifyCorCode(String stil, String text) { JSONObject jObj = (JSONObject) JSONValue.parse(stil); JSONArray ranges = (JSONArray) jObj.get(JSONKeys.RANGES); int offset = 0; for (int i = 0; i < ranges.size(); i++) { JSONObject range = (JSONObject) ranges.get(i); offset += ((Number) range.get("reloff")).intValue(); int len = ((Number) range.get("len")).intValue(); if (offset + len > text.length()) return false; } return true; }