Java Examples for com.ibm.json.java.JSONArray

The following java examples will help you to understand the usage of com.ibm.json.java.JSONArray. These source code samples are taken from different open source projects.

Example 1
Project: streamsx.inet-master  File: HTTPPostOper.java View source code
@Override
public synchronized void process(StreamingInput<Tuple> stream, Tuple tuple) throws Exception {
    rc.readSuccess();
    StreamSchema schema = stream.getStreamSchema();
    HTTPRequest req = new HTTPRequest(url);
    req.setHeader("Content-Type", headerContentType);
    req.setMethod(HTTPMethod.POST);
    req.setInsecure(acceptAllCertificates);
    req.setConnectionTimeout(connectionTimeout);
    trace.log(TraceLevel.TRACE, "Set connectionTimeout: " + connectionTimeout);
    switch(processType) {
        case TUPLE_FORM:
            {
                Map<String, String> params = new HashMap<String, String>();
                for (Attribute attribute : schema) {
                    if (isAttributeToPost(attribute.getName())) {
                        params.put(attribute.getName(), tuple.getObject(attribute.getName()).toString());
                    }
                }
                req.setParams(params);
                break;
            }
        case TUPLE_JSON:
            {
                JSONEncoding<JSONObject, JSONArray> je = EncodingFactory.getJSONEncoding();
                JSONObject jo = je.encodeTuple(tuple);
                for (Iterator<String> it = jo.keySet().iterator(); it.hasNext(); ) {
                    if (!isAttributeToPost(it.next())) {
                        it.remove();
                    }
                }
                req.setParams(jo.serialize());
                break;
            }
        case PURE_JSON:
            {
                req.setParams(tuple.getString(0));
                break;
            }
        case MIX_JSON:
            {
                JSONEncoding<JSONObject, JSONArray> je = EncodingFactory.getJSONEncoding();
                JSONObject json = (JSONObject) JSON.parse(tuple.getString("jsonString"));
                for (Attribute attr : tuple.getStreamSchema()) {
                    if (attr.getName().equals("jsonString"))
                        continue;
                    json.put(attr.getName(), je.getAttributeObject(tuple, attr));
                }
                req.setParams(json.serialize());
                break;
            }
        case SINGLE_ATTRIBUTE:
            {
                req.setParams(tuple.getObject(schema.getAttribute(0).getName()).toString());
                break;
            }
    }
    Map<String, String> headerMap = HTTPUtils.getHeaderMap(extraHeaders);
    for (Map.Entry<String, String> header : headerMap.entrySet()) {
        req.setHeader(header.getKey(), header.getValue());
    }
    HTTPResponse resp = null;
    Throwable t = null;
    while (true) {
        try {
            if (trace.isLoggable(TraceLevel.TRACE))
                trace.log(TraceLevel.TRACE, "Sending request: " + req.toString());
            resp = req.sendRequest(auth);
            if (trace.isLoggable(TraceLevel.TRACE))
                trace.log(TraceLevel.TRACE, "Got response: " + resp.toString());
            rc.readSuccess();
            break;
        } catch (Exception e) {
            t = e;
            rc.readException();
            trace.log(TraceLevel.ERROR, "Exception", e);
        }
        if (!shutdown && rc.doRetry()) {
            trace.log(TraceLevel.ERROR, "Sleeping " + retryDelay + " seconds");
            sleepABit(rc.getSleep());
        } else {
            break;
        }
    }
    if (trace.isLoggable(TraceLevel.INFO))
        trace.log(TraceLevel.INFO, "Response code: " + ((resp != null) ? resp.getResponseCode() : -1));
    if (!hasOutputPort)
        return;
    StreamingOutput<OutputTuple> op = getOutput(0);
    OutputTuple otup = op.newTuple();
    // propagate attributes input -> output
    otup.assign(tuple);
    if (resp == null) {
        otup.setString("errorMessage", t == null ? "Unknown error." : t.getMessage());
        otup.setInt("responseCode", -1);
    } else {
        if (trace.isLoggable(TraceLevel.DEBUG))
            trace.log(TraceLevel.DEBUG, "Response: " + resp.toString());
        if (resp.getErrorStreamData() != null)
            otup.setString("errorMessage", resp.getErrorStreamData());
        if (resp.getOutputData() != null) {
            otup.setString("data", resp.getOutputData());
            otup.setInt("dataSize", resp.getOutputData().length());
        }
        otup.setInt("responseCode", resp.getResponseCode());
    }
    if (trace.isLoggable(TraceLevel.DEBUG))
        trace.log(TraceLevel.DEBUG, "Sending tuple: " + otup.toString());
    op.submit(otup);
}
Example 2
Project: streamsx.topology-master  File: Topology.java View source code
private void addConfig(JSONObject cfg, String key, Object value) {
    final String jsonKey = jsonConfigName(key);
    if (value instanceof JSONArtifact) {
        // Put a JSON object directly
        cfg.put(jsonKey, value);
    } else if (value instanceof Collection) {
        JSONArray sa = new JSONArray();
        Collection<?> values = (Collection<?>) value;
        for (Object ov : values) {
            sa.add(ov);
        }
        cfg.put(jsonKey, sa);
    } else {
        // try an arbitrary object directly.
        cfg.put(jsonKey, value);
    }
}
Example 3
Project: bluemix-java-postgresql-uploader-master  File: ElephantSQLClient.java View source code
private static Connection getConnection() throws Exception {
    Map<String, String> env = System.getenv();
    if (env.containsKey("VCAP_SERVICES")) {
        // we are running on cloud foundry, let's grab the service details from vcap_services
        JSONObject vcap = (JSONObject) JSON.parse(env.get("VCAP_SERVICES"));
        JSONObject service = null;
        // We don't know exactly what the service is called, but it will contain "elephantsql"
        for (Object key : vcap.keySet()) {
            String keyStr = (String) key;
            if (keyStr.toLowerCase().contains("elephantsql")) {
                service = (JSONObject) ((JSONArray) vcap.get(keyStr)).get(0);
                break;
            }
        }
        if (service != null) {
            JSONObject creds = (JSONObject) service.get("credentials");
            URI uri = URI.create((String) creds.get("uri"));
            String url = "jdbc:postgresql://" + uri.getHost() + ":" + uri.getPort() + uri.getPath();
            String username = uri.getUserInfo().split(":")[0];
            String password = uri.getUserInfo().split(":")[1];
            return DriverManager.getConnection(url, username, password);
        }
    }
    throw new Exception("No ElephantSQL service URL found. Make sure you have bound the correct services to your app.");
}
Example 4
Project: talent-manager-master  File: WatsonUserModeller.java View source code
private static void formatTree(JSONObject node, int level, List<Map<String, String>> arr) {
    if (node == null)
        return;
    JSONArray children = (JSONArray) node.get("children");
    if (level > 0 && (children == null || level != 2)) {
        Map<String, String> obj = new HashMap<String, String>();
        obj.put("id", (String) node.get("id"));
        if (children != null)
            obj.put("title", "true");
        if (node.containsKey("percentage")) {
            double p = (Double) node.get("percentage");
            p = Math.floor(p * 100.0);
            obj.put("value", Double.toString(p) + "%");
        }
        arr.add(obj);
    }
    if (children != null && !"sbh".equals(node.get("id"))) {
        for (int i = 0; i < children.size(); i++) {
            formatTree((JSONObject) children.get(i), level + 1, arr);
        }
    }
}