Search in sources :

Example 61 with JSONObject

use of org.json.simple.JSONObject in project jaggery by wso2.

the class WebAppManager method exec.

private static void exec(HttpServletRequest request, HttpServletResponse response) throws IOException {
    InputStream sourceIn;
    Context cx;
    JaggeryContext context;
    RhinoEngine engine = null;
    ServletContext servletContext = request.getServletContext();
    try {
        engine = CommonManager.getInstance().getEngine();
        cx = engine.enterContext();
        String scriptPath = getScriptPath(request);
        OutputStream out = response.getOutputStream();
        context = createJaggeryContext(cx, out, scriptPath, request, response);
        context.addProperty(FileHostObject.JAVASCRIPT_FILE_MANAGER, new WebAppFileManager(request.getServletContext()));
        if (ModuleManager.isModuleRefreshEnabled()) {
            //reload init scripts
            refreshServletContext(servletContext);
            InputStream jaggeryConf = servletContext.getResourceAsStream(JaggeryCoreConstants.JAGGERY_CONF_FILE);
            if (jaggeryConf != null) {
                StringWriter writer = new StringWriter();
                IOUtils.copy(jaggeryConf, writer, null);
                String jsonString = writer.toString();
                JSONObject conf = (JSONObject) JSONValue.parse(jsonString);
                JSONArray initScripts = (JSONArray) conf.get(JaggeryCoreConstants.JaggeryConfigParams.INIT_SCRIPTS);
                if (initScripts != null) {
                    JaggeryContext sharedContext = WebAppManager.sharedJaggeryContext(servletContext);
                    ScriptableObject sharedScope = sharedContext.getScope();
                    Object[] scripts = initScripts.toArray();
                    for (Object script : scripts) {
                        if (!(script instanceof String)) {
                            log.error("Invalid value for initScripts in jaggery.conf : " + script);
                            continue;
                        }
                        String path = (String) script;
                        path = path.startsWith("/") ? path : "/" + path;
                        Stack<String> callstack = CommonManager.getCallstack(sharedContext);
                        callstack.push(path);
                        engine.exec(new ScriptReader(servletContext.getResourceAsStream(path)) {

                            @Override
                            protected void build() throws IOException {
                                try {
                                    sourceReader = new StringReader(HostObjectUtil.streamToString(sourceIn));
                                } catch (ScriptException e) {
                                    throw new IOException(e);
                                }
                            }
                        }, sharedScope, null);
                        callstack.pop();
                    }
                }
            }
        }
        Object serveFunction = request.getServletContext().getAttribute(SERVE_FUNCTION_JAGGERY);
        if (serveFunction != null) {
            Function function = (Function) serveFunction;
            ScriptableObject scope = context.getScope();
            function.call(cx, scope, scope, new Object[] { scope.get("request", scope), scope.get("response", scope), scope.get("session", scope) });
        } else {
            //resource rendering model proceeding
            sourceIn = request.getServletContext().getResourceAsStream(scriptPath);
            if (sourceIn == null) {
                response.sendError(HttpServletResponse.SC_NOT_FOUND, request.getRequestURI());
                return;
            }
            CommonManager.getInstance().getEngine().exec(new ScriptReader(sourceIn), context.getScope(), getScriptCachingContext(request, scriptPath));
        }
    } catch (ScriptException e) {
        String msg = e.getMessage();
        log.error(msg, e);
        response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, msg);
    } catch (Error e) {
        //Rhino doesn't catch Error instances and it is been used to stop the script execution
        //from any specific place. Hence, Error exception propagates up to Java and we silently
        //ignore it, assuming it was initiated by an exit() method call.
        log.debug("Script has called exit() method", e);
    } finally {
        // Exiting from the context
        if (engine != null) {
            RhinoEngine.exitContext();
        }
    }
}
Also used : ScriptCachingContext(org.jaggeryjs.scriptengine.cache.ScriptCachingContext) JaggeryContext(org.jaggeryjs.scriptengine.engine.JaggeryContext) ServletContext(javax.servlet.ServletContext) WebAppFileManager(org.jaggeryjs.jaggery.core.plugins.WebAppFileManager) JSONArray(org.json.simple.JSONArray) JaggeryContext(org.jaggeryjs.scriptengine.engine.JaggeryContext) RhinoEngine(org.jaggeryjs.scriptengine.engine.RhinoEngine) ScriptException(org.jaggeryjs.scriptengine.exceptions.ScriptException) JSONObject(org.json.simple.JSONObject) ServletContext(javax.servlet.ServletContext) JSONObject(org.json.simple.JSONObject) LogHostObject(org.jaggeryjs.hostobjects.log.LogHostObject) FileHostObject(org.jaggeryjs.hostobjects.file.FileHostObject) ScriptReader(org.jaggeryjs.jaggery.core.ScriptReader)

Example 62 with JSONObject

use of org.json.simple.JSONObject in project opennms by OpenNMS.

the class MattermostNotificationStrategyTestServlet method squawk.

@SuppressWarnings("unchecked")
private void squawk(final HttpServletResponse resp, String reason) throws IOException {
    JSONObject errorJson = new JSONObject();
    errorJson.put("message", reason);
    errorJson.put("detailed_error", "");
    errorJson.put("request_id", "deadbeefcafebabe");
    errorJson.put("status_code", 500);
    errorJson.put("isoauth", false);
    final String responseText = errorJson.toJSONString();
    final ServletOutputStream os = resp.getOutputStream();
    os.print(responseText);
    os.close();
    resp.setContentType("application/json");
    resp.setContentLength(responseText.length());
    resp.setStatus(500);
}
Also used : JSONObject(org.json.simple.JSONObject) ServletOutputStream(javax.servlet.ServletOutputStream)

Example 63 with JSONObject

use of org.json.simple.JSONObject in project tdi-studio-se by Talend.

the class OAuthClient method refreshToken.

public Token refreshToken(String refreshToken) throws Exception {
    Token newToken = new Token();
    newToken.setRefresh_token(refreshToken);
    // get token using refresh token
    String token_url = baseOAuthURL.endsWith("/") ? baseOAuthURL + OAUTH2_TOKEN : baseOAuthURL + "/" + OAUTH2_TOKEN;
    URLConnection conn = new URL(token_url).openConnection();
    // post
    conn.setDoOutput(true);
    String query = String.format("grant_type=%s&client_id=%s&client_secret=%s&refresh_token=%s&format=%s", "refresh_token", clientID, clientSecret, refreshToken, "json");
    OutputStream output = null;
    try {
        output = conn.getOutputStream();
        output.write(query.getBytes(UTF8));
    } finally {
        if (output != null) {
            try {
                output.close();
            } catch (IOException ignore) {
            }
        }
    }
    InputStream input = conn.getInputStream();
    BufferedReader reader = null;
    try {
        reader = new BufferedReader(new InputStreamReader(input));
        JSONParser jsonParser = new JSONParser();
        JSONObject json = (JSONObject) jsonParser.parse(reader);
        if (json.get("error") == null) {
            if (json.get("access_token") != null) {
                newToken.setAccess_token(json.get("access_token").toString());
            }
            if (json.get("instance_url") != null) {
                newToken.setInstance_url(json.get("instance_url").toString());
            }
            if (json.get("id") != null) {
                newToken.setId(json.get("id").toString());
            }
            if (json.get("issued_at") != null) {
                newToken.setIssued_at(Long.parseLong(json.get("issued_at").toString()));
            }
            if (json.get("signature") != null) {
                newToken.setSignature(json.get("signature").toString());
            }
        } else {
            throw new Exception(json.toString());
        }
    } finally {
        if (reader != null) {
            try {
                reader.close();
            } catch (IOException ignore) {
            }
        }
    }
    return newToken;
}
Also used : InputStreamReader(java.io.InputStreamReader) JSONObject(org.json.simple.JSONObject) InputStream(java.io.InputStream) OutputStream(java.io.OutputStream) BufferedReader(java.io.BufferedReader) JSONParser(org.json.simple.parser.JSONParser) IOException(java.io.IOException) URLConnection(java.net.URLConnection) URL(java.net.URL) ParseException(org.json.simple.parser.ParseException) MalformedURLException(java.net.MalformedURLException) IOException(java.io.IOException)

Example 64 with JSONObject

use of org.json.simple.JSONObject in project tdi-studio-se by Talend.

the class OAuthClient method getToken.

public Token getToken() throws Exception {
    Token token = new Token();
    URL callback_url = new URL("https", callbackHost, callbackPort, "");
    String oauth2_authorize_url = baseOAuthURL.endsWith("/") ? baseOAuthURL + OAUTH2_AUTHORIZE : baseOAuthURL + "/" + OAUTH2_AUTHORIZE;
    String authorize_url = // &scope=%s
    String.format(// &scope=%s
    "%s?response_type=%s&client_id=%s&redirect_uri=%s", // &scope=%s
    oauth2_authorize_url, "code", clientID, // , "full%20refresh_token"
    URLEncoder.encode(callback_url.toString(), UTF8));
    System.out.println("Paste this URL into a web browser to authorize Salesforce Access:");
    System.out.println(authorize_url);
    // start a service to get Authorization code
    HttpsService service = new HttpsService(callbackPort);
    String code = null;
    while (service.getCode() == null) {
        Thread.sleep(2 * 1000);
    }
    code = service.getCode();
    // stop service
    service.stop();
    // get token using Authorization code
    String token_url = baseOAuthURL.endsWith("/") ? baseOAuthURL + OAUTH2_TOKEN : baseOAuthURL + "/" + OAUTH2_TOKEN;
    URLConnection conn = new URL(token_url).openConnection();
    // post
    conn.setDoOutput(true);
    String query = String.format("grant_type=%s&client_id=%s&client_secret=%s&redirect_uri=%s&code=%s", "authorization_code", clientID, clientSecret, URLEncoder.encode(callback_url.toString(), UTF8), code);
    OutputStream output = null;
    try {
        output = conn.getOutputStream();
        output.write(query.getBytes(UTF8));
    } finally {
        if (output != null) {
            try {
                output.close();
            } catch (IOException ignore) {
            }
        }
    }
    InputStream input = conn.getInputStream();
    BufferedReader reader = null;
    try {
        reader = new BufferedReader(new InputStreamReader(input));
        JSONParser jsonParser = new JSONParser();
        JSONObject json = (JSONObject) jsonParser.parse(reader);
        if (json.get("access_token") != null) {
            token.setAccess_token(json.get("access_token").toString());
        }
        if (json.get("refresh_token") != null) {
            token.setRefresh_token(json.get("refresh_token").toString());
        }
        if (json.get("instance_url") != null) {
            token.setInstance_url(json.get("instance_url").toString());
        }
        if (json.get("id") != null) {
            token.setId(json.get("id").toString());
        }
        if (json.get("issued_at") != null) {
            token.setIssued_at(Long.parseLong(json.get("issued_at").toString()));
        }
        if (json.get("signature") != null) {
            token.setSignature(json.get("signature").toString());
        }
    } finally {
        if (reader != null) {
            try {
                reader.close();
            } catch (IOException ignore) {
            }
        }
    }
    return token;
}
Also used : InputStreamReader(java.io.InputStreamReader) JSONObject(org.json.simple.JSONObject) InputStream(java.io.InputStream) OutputStream(java.io.OutputStream) BufferedReader(java.io.BufferedReader) JSONParser(org.json.simple.parser.JSONParser) IOException(java.io.IOException) URL(java.net.URL) URLConnection(java.net.URLConnection)

Example 65 with JSONObject

use of org.json.simple.JSONObject in project tdi-studio-se by Talend.

the class OAuthClient method getTokenForWizard.

public Token getTokenForWizard(String code) throws Exception {
    Token token = new Token();
    URL callback_url = new URL("https", callbackHost, callbackPort, "");
    String oauth2_authorize_url = baseOAuthURL.endsWith("/") ? baseOAuthURL + OAUTH2_AUTHORIZE : baseOAuthURL + "/" + OAUTH2_AUTHORIZE;
    String authorize_url = // &scope=%s
    String.format(// &scope=%s
    "%s?response_type=%s&client_id=%s&redirect_uri=%s", // &scope=%s
    oauth2_authorize_url, "code", clientID, // , "full%20refresh_token"
    URLEncoder.encode(callback_url.toString(), UTF8));
    String token_url = baseOAuthURL.endsWith("/") ? baseOAuthURL + OAUTH2_TOKEN : baseOAuthURL + "/" + OAUTH2_TOKEN;
    URLConnection conn = new URL(token_url).openConnection();
    // post
    conn.setDoOutput(true);
    String query = String.format("grant_type=%s&client_id=%s&client_secret=%s&redirect_uri=%s&code=%s", "authorization_code", clientID, clientSecret, URLEncoder.encode(callback_url.toString(), UTF8), code);
    OutputStream output = null;
    try {
        output = conn.getOutputStream();
        output.write(query.getBytes(UTF8));
    } finally {
        if (output != null) {
            try {
                output.close();
            } catch (IOException ignore) {
            }
        }
    }
    InputStream input = conn.getInputStream();
    BufferedReader reader = null;
    try {
        reader = new BufferedReader(new InputStreamReader(input));
        JSONParser jsonParser = new JSONParser();
        JSONObject json = (JSONObject) jsonParser.parse(reader);
        if (json.get("access_token") != null) {
            token.setAccess_token(json.get("access_token").toString());
        }
        if (json.get("refresh_token") != null) {
            token.setRefresh_token(json.get("refresh_token").toString());
        }
        if (json.get("instance_url") != null) {
            token.setInstance_url(json.get("instance_url").toString());
        }
        if (json.get("id") != null) {
            token.setId(json.get("id").toString());
        }
        if (json.get("issued_at") != null) {
            token.setIssued_at(Long.parseLong(json.get("issued_at").toString()));
        }
        if (json.get("signature") != null) {
            token.setSignature(json.get("signature").toString());
        }
    } finally {
        if (reader != null) {
            try {
                reader.close();
            } catch (IOException ignore) {
            }
        }
    }
    return token;
}
Also used : InputStreamReader(java.io.InputStreamReader) JSONObject(org.json.simple.JSONObject) InputStream(java.io.InputStream) OutputStream(java.io.OutputStream) BufferedReader(java.io.BufferedReader) JSONParser(org.json.simple.parser.JSONParser) IOException(java.io.IOException) URL(java.net.URL) URLConnection(java.net.URLConnection)

Aggregations

JSONObject (org.json.simple.JSONObject)961 Test (org.junit.Test)312 JSONArray (org.json.simple.JSONArray)232 JSONParser (org.json.simple.parser.JSONParser)164 Map (java.util.Map)97 HashMap (java.util.HashMap)91 IOException (java.io.IOException)84 ArrayList (java.util.ArrayList)75 ParseException (org.json.simple.parser.ParseException)60 HttpClient (org.apache.commons.httpclient.HttpClient)39 File (java.io.File)38 List (java.util.List)38 BlockchainTest (org.xel.BlockchainTest)34 GetMethod (org.apache.commons.httpclient.methods.GetMethod)30 HttpURLConnection (java.net.HttpURLConnection)27 Tuple (org.apache.storm.tuple.Tuple)23 Transaction (org.xel.Transaction)23 APICall (org.xel.http.APICall)23 InputStreamReader (java.io.InputStreamReader)22 WriterConfiguration (org.apache.metron.common.configuration.writer.WriterConfiguration)22