Example usage for org.json.simple JSONArray get

List of usage examples for org.json.simple JSONArray get

Introduction

In this page you can find the example usage for org.json.simple JSONArray get.

Prototype

public E get(int index) 

Source Link

Document

Returns the element at the specified position in this list.

Usage

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;
}