List of usage examples for org.json.simple JSONArray size
public int size()
From source file:com.mapr.xml2json.MySaxParser.java
@Override public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException { super.startElement(uri, localName, qName, attributes); JSONObject tag = new JSONObject(); JSONArray array = new JSONArray(); int length = attributes.getLength(); for (int i = 0; i < length; i++) { JSONObject temp = new JSONObject(); String qNameVal = attributes.getQName(i); String valueVal = attributes.getValue(i); if (qNameVal != null) qNameVal = cleanQName(qNameVal); if (valueVal.trim().length() > 0) { tag.put(qNameVal, valueVal); //array.add(temp); }/*w w w . ja v a2s .c om*/ } if (array.size() > 0) tag.put("attributes", array); // tag.put("qName",cleanQName(qName)); //log.info("After clean:" + cleanQName(qName)); stk.push(tag); }
From source file:de.fhg.fokus.odp.middleware.unittest.xTestCKANGateway.java
/** * Test the getPackageComments method./*from w w w .ja va 2 s .c om*/ */ @Test public void testGetDataSetComments() { log.fine("########### GET COMMENTS ###########"); JSONArray arr = ckanGW.getDataSetComments(DATASET_NAME); boolean res = false; for (int i = 0; i < arr.size(); i++) { Map m = (Map) (arr.get(i)); log.fine(m.get("userId") + " " + m.get("comment") + " " + m.get("date")); String userId = (String) m.get("userId"); String comment = (String) m.get("comment"); String date = (String) m.get("date"); if (userId.equals("niko2") && comment.equals("Bla bla545")) { res = true; } } assertEquals(true, res); }
From source file:gov.usda.DataCatalogClient.Catalog.java
/** * Populates this class' member variables from CKAN JSON Object * <p>/*from w w w . j a va2 s . c o m*/ * 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:de.ingrid.external.gemet.GEMETService.java
/** * Determine parents of passed TreeTerm and set them in TreeTerm. Only first * parent can be set.//from w w w .jav a 2 s . c o m * * @param termToProcess * TreeTerm without parents but id * @param language * fetch parents in this language * @param onlyFirstParent * pass true if only the first parent should be added to the * parents list of the TreeTerm to get only one path to top ! * @return the passed TreeTerm with parents ! */ private TreeTerm processParentsOfTerm(TreeTerm termToProcess, String language, boolean onlyFirstParent) { // get parents List<JSONArray> parentsList = gemetClient.getParentConcepts(termToProcess.getId(), language); for (JSONArray parents : parentsList) { if (onlyFirstParent) { // only first parent should be set if (parents.size() > 0) { gemetMapper.addParentToTreeTerm(termToProcess, (JSONObject) parents.get(0)); break; } } else { gemetMapper.addParentsToTreeTerm(termToProcess, parents); } } return termToProcess; }
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;// www . j av a 2 s. co 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:mml.handler.post.MMLPostVersionHandler.java
/** * Handle a POST request/*from w ww . j a v a2s. 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:eu.serco.dhus.plugin.slstr.SlstrPlugin.java
public Object process(Object input) { List<Response> result = new ArrayList<Response>(); String filename = input.toString(); if (filename == null) { System.out.println("[ERROR]: null filename. Process aborted."); return result; }/* w w w . j a v a 2 s . c om*/ try { String productType = filename.substring(4, 15); String startTime = filename.substring(16, 31); String stopTime = filename.substring(32, 47); if (map.containsKey(productType)) { List<Request> requestList = retrieveRequests(productType, startTime, stopTime); List<RequestTask> tasks = new ArrayList<RequestTask>(); for (Request aux_request : requestList) { Response response = new Response(); response.setMandatory(aux_request.getMandatory()); logger.info("requestList.size() " + requestList.size()); logger.info("aux_request.getRequests().size() " + aux_request.getRequests().size()); List<InputRequest> requestsMap = aux_request.getRequests(); for (InputRequest inReqs : requestsMap) { tasks.add(new RequestTask(inReqs.getUrl(), inReqs.getType(), inReqs.getRetrievalMode(), hashedString, SlstrPlugin.executor)); logger.info("url added to tasks list " + inReqs); } while (!tasks.isEmpty()) { List<Object> responses = new ArrayList<Object>(); logger.info("tasks size..... " + tasks.size()); for (Iterator<RequestTask> it = tasks.iterator(); it.hasNext();) { RequestTask task = it.next(); OutputResponse outRes = new OutputResponse(); if (task.isDone()) { String req = task.getRequest(); String type = task.getRequestType(); logger.info("Request task.getRequest() " + req); String res = task.getResponse(); logger.info("Response task.getResponse() " + res); JSONArray jsonResponse = (JSONArray) new JSONParser().parse(res); JSONArray jsonResult; logger.info("How is the response?????" + jsonResponse); if (jsonResponse != null) { logger.info("How long is the response?????" + jsonResponse.size()); } if (task.getRetrievalMode().equalsIgnoreCase("LatestValidityClosest") && jsonResponse != null && jsonResponse.size() > 0) { jsonResult = getLatestValidityClosestInput(startTime, stopTime, jsonResponse); } else { jsonResult = jsonResponse; } outRes.setResponse(jsonResult); outRes.setType(type); responses.add(outRes); it.remove(); } } response.setFiles(responses); // avoid tight loop in "main" thread if (!tasks.isEmpty()) Thread.sleep(100); } result.add(response); } } } catch (Exception e) { logger.error("[ERROR]: Problems occurred during file processing: " + e.getMessage()); e.printStackTrace(); } return result; }
From source file:com.google.android.gcm.server.SenderTest.java
private void assertRequestJsonBody(String... expectedRegIds) throws Exception { ArgumentCaptor<String> capturedBody = ArgumentCaptor.forClass(String.class); verify(sender).post(eq(Constants.GCM_SEND_ENDPOINT), eq("application/json"), capturedBody.capture()); // parse body String body = capturedBody.getValue(); JSONObject json = (JSONObject) jsonParser.parse(body); assertEquals(ttl, ((Long) json.get("time_to_live")).intValue()); assertEquals(collapseKey, json.get("collapse_key")); assertEquals(delayWhileIdle, json.get("delay_while_idle")); @SuppressWarnings("unchecked") Map<String, Object> payload = (Map<String, Object>) json.get("data"); assertNotNull("no payload", payload); assertEquals("wrong payload size", 3, payload.size()); assertEquals("v1", payload.get("k1")); assertEquals("v2", payload.get("k2")); assertEquals("v3", payload.get("k3")); JSONArray actualRegIds = (JSONArray) json.get("registration_ids"); assertEquals("Wrong number of regIds", expectedRegIds.length, actualRegIds.size()); for (int i = 0; i < expectedRegIds.length; i++) { String expectedRegId = expectedRegIds[i]; String actualRegId = (String) actualRegIds.get(i); assertEquals("invalid regId at index " + i, expectedRegId, actualRegId); }/*from w ww .ja v a 2 s.com*/ }
From source file:com.googlecode.fascinator.portal.process.RecordProcessor.java
/** * 'post' - processing method.//from w ww .jav a 2s. com * * he 'inputKey' entry in the dataMap contains ids queued for resending. * This is merged with the 'includeList' and persisted on the config file. * The 'lastRun' is updated and persisted as well. * * @param id * @param inputKey * @param configFilePath * @param dataMap * @return * @throws Exception */ private boolean postProcess(String id, String inputKey, String configFilePath, HashMap<String, Object> dataMap) throws Exception { File configFile = new File(configFilePath); SimpleDateFormat dtFormat = new SimpleDateFormat("yyy-MM-dd'T'HH:mm:ss'Z'"); JsonSimple config = new JsonSimple(configFile); config.getJsonObject().put("lastrun", dtFormat.format(new Date())); Collection<String> oids = (Collection<String>) dataMap.get(inputKey); JSONArray includedArr = config.getArray("includeList"); if (oids != null && oids.size() > 0) { // some oids failed, writing it to inclusion list so it can be sent // next time... if (includedArr == null) { includedArr = config.writeArray("includeList"); } includedArr.clear(); for (String oid : oids) { includedArr.add(oid); } } else { // no oids failed, all good, clearing the list... if (includedArr != null && includedArr.size() > 0) { includedArr.clear(); } } FileWriter writer = new FileWriter(configFile); writer.write(config.toString(true)); writer.close(); return true; }
From source file:gov.usda.DataCatalogClient.Catalog.java
/** * Populates catalog from Project Open Data compliant json object * // w ww . j a v a 2s. com * @param catalogObject */ public void loadFromProjectOpenDataJSON(JSONObject catalogObject) throws CatalogException { if (catalogObject == null) { throw (new NullPointerException("catalogObject cannot be null")); } setConformsTo((String) catalogObject.get(PROJECT_OPEN_DATA_CATALOG_CONFORMS_TO)); setDescribedBy((String) catalogObject.get(PROJECT_OPEN_DATA_CATALOG_DESCRIBED_BY)); setContext((String) catalogObject.get(PROJECT_OPEN_DATA_CATALOG_CONTEXT)); setType((String) catalogObject.get(PROJECT_OPEN_DATA_CATALOG_TYPE)); final JSONArray dataSetArray = (JSONArray) catalogObject.get(Dataset.PROJECT_OPEN_DATA_DATASET); for (int i = 0; i < dataSetArray.size(); i++) { final Dataset ds = new Dataset(); final JSONObject dataSetObject = (JSONObject) dataSetArray.get(i); try { ds.loadFromProjectOpenDataJSON(dataSetObject); dataSetList.add(ds); } catch (DatasetException e) { catalogException.addError(e.toString()); } } addBureauNameToDataset(); Collections.sort(dataSetList); if (!validateCatalog() || catalogException.exceptionSize() > 0) { throw (catalogException); } }