Package com.metaparadigm.jsonrpc

Examples of com.metaparadigm.jsonrpc.JSONRPCBridge$ObjectInstance


            cdata.write(buf, 0, ret);
        }

        // Find the JSONRPCBridge for this session or create one
        // if it doesn't exist
        JSONRPCBridge json_bridge = TurbineJsonRpc.getBridge(data.getSession());

        // Process the request
        Object json_res = TurbineJsonRpc.processCall(cdata, json_bridge, request);

        PrintWriter out = new PrintWriter(
View Full Code Here


         * Create a new bridge for every request to avoid all the problems with
         * JSON-RPC-Java storing the bridge in the session
         */
        HttpSession session = request.getSession();

        JSONRPCBridge jsonrpcBridge = new JSONRPCBridge();
        jsonrpcBridge.registerObject("Service", serviceInstance, serviceInterface);
        session.setAttribute("JSONRPCBridge", jsonrpcBridge);
       
        org.json.JSONObject jsonReq = null;
        com.metaparadigm.jsonrpc.JSONRPCResult jsonResp = null;
        try {
            jsonReq = new org.json.JSONObject(requestData);
        } catch (java.text.ParseException e) {
            throw new RuntimeException("Unable to parse request", e);
        }

        String method = jsonReq.getString("method");
        if ((method != null) && (method.indexOf('.') < 0)) {
            jsonReq.putOpt("method", "Service" + "." + method);
        }

        // invoke the request
        jsonResp = jsonrpcBridge.call(new Object[] {request}, jsonReq);

        return jsonResp.toString().getBytes("UTF-8");
    }
View Full Code Here

         * Create a new bridge for every request to avoid all the problems with
         * JSON-RPC-Java storing the bridge in the session
         */
        HttpSession session = request.getSession();

        JSONRPCBridge jsonrpcBridge = new JSONRPCBridge();
        jsonrpcBridge.registerObject("Service", serviceInstance, serviceInterface);
        session.setAttribute("JSONRPCBridge", jsonrpcBridge);
       
        org.json.JSONObject jsonReq = null;
        com.metaparadigm.jsonrpc.JSONRPCResult jsonResp = null;
        try {
            jsonReq = new org.json.JSONObject(requestData);
        } catch (java.text.ParseException e) {
            throw new RuntimeException("Unable to parse request", e);
        }

        String method = jsonReq.getString("method");
        if ((method != null) && (method.indexOf('.') < 0)) {
            jsonReq.putOpt("method", "Service" + "." + method);
        }

        // invoke the request
        jsonResp = jsonrpcBridge.call(new Object[] {request}, jsonReq);

        return jsonResp.toString().getBytes("UTF-8");
    }
View Full Code Here

             * Create a new bridge for every request to aviod all the problems with
             * JSON-RPC-Java storing the bridge in the session
             */
            HttpSession session = request.getSession();

            JSONRPCBridge jsonrpcBridge = new JSONRPCBridge();
            jsonrpcBridge.registerObject(serviceName, serviceInstance, serviceInterface);
            session.setAttribute("JSONRPCBridge", jsonrpcBridge);

            // Encode using UTF-8, although We are actually ASCII clean as
            // all unicode data is JSON escaped using backslash u. This is
            // less data efficient for foreign character sets but it is
            // needed to support naughty browsers such as Konqueror and Safari
            // which do not honour the charset set in the response
            response.setContentType("text/plain;charset=utf-8");
            OutputStream out = response.getOutputStream();

            // Decode using the charset in the request if it exists otherwise
            // use UTF-8 as this is what all browser implementations use.
            // The JSON-RPC-Java JavaScript client is ASCII clean so it
            // although here we can correctly handle data from other clients
            // that do not escape non ASCII data
            String charset = request.getCharacterEncoding();
            if (charset == null) {
                charset = "UTF-8";
            }
            BufferedReader in = new BufferedReader(new InputStreamReader(request.getInputStream(), charset));

            // Read the request
            CharArrayWriter data = new CharArrayWriter();
            char buf[] = new char[BUF_SIZE];
            int ret;
            while ((ret = in.read(buf, 0, BUF_SIZE)) != -1) {
                data.write(buf, 0, ret);
            }

            // Process the request
            JSONObject jsonReq = null;
            JSONRPCResult jsonResp = null;
            try {
                jsonReq = new JSONObject(data.toString());
                String method = jsonReq.getString("method");
                if ((method != null) && (method.indexOf('.') < 0)) {
                    jsonReq.putOpt("method", serviceName + "." + method);
                }
                jsonResp = jsonrpcBridge.call(new Object[] {request}, jsonReq);
            } catch (ParseException e) {
                throw new RuntimeException("Unable to parse request", e);
            }

            byte[] bout = jsonResp.toString().getBytes("UTF-8");
View Full Code Here

         * Create a new bridge for every request to aviod all the problems with
         * JSON-RPC-Java storing the bridge in the session
         */
        HttpSession session = request.getSession();

        JSONRPCBridge jsonrpcBridge = new JSONRPCBridge();
        jsonrpcBridge.registerObject(serviceName, serviceInstance, serviceInterface);
        session.setAttribute("JSONRPCBridge", jsonrpcBridge);

        // Encode using UTF-8, although We are actually ASCII clean as
        // all unicode data is JSON escaped using backslash u. This is
        // less data efficient for foreign character sets but it is
        // needed to support naughty browsers such as Konqueror and Safari
        // which do not honour the charset set in the response
        response.setContentType("text/plain;charset=utf-8");
        OutputStream out = response.getOutputStream();

        // Decode using the charset in the request if it exists otherwise
        // use UTF-8 as this is what all browser implementations use.
        // The JSON-RPC-Java JavaScript client is ASCII clean so it
        // although here we can correctly handle data from other clients
        // that do not escape non ASCII data
        String charset = request.getCharacterEncoding();
        if (charset == null) {
            charset = "UTF-8";
        }
        BufferedReader in = new BufferedReader(new InputStreamReader(request.getInputStream(), charset));

        // Read the request
        CharArrayWriter data = new CharArrayWriter();
        char buf[] = new char[4096];
        int ret;
        while ((ret = in.read(buf, 0, 4096)) != -1) {
            data.write(buf, 0, ret);
        }

        JSONObject jsonReq = null;
        JSONRPCResult jsonResp = null;
        try {
            jsonReq = new JSONObject(data.toString());
        } catch (ParseException e) {
            throw new RuntimeException("Unable to parse request", e);
        }

        String method = jsonReq.getString("method");
        if ((method != null) && (method.indexOf('.') < 0)) {
            jsonReq.putOpt("method", serviceName + "." + method);
        }

        // invoke the request
        jsonResp = jsonrpcBridge.call(new Object[] {request}, jsonReq);

        byte[] bout = jsonResp.toString().getBytes("UTF-8");

        out.write(bout);
        out.flush();
View Full Code Here

         * Create a new bridge for every request to aviod all the problems with JSON-RPC-Java storing the bridge in the session
         */
        HttpSession session = request.getSession();
        try {

            JSONRPCBridge jsonrpcBridge = new JSONRPCBridge();
            jsonrpcBridge.registerObject(serviceName, serviceInstance);
            session.setAttribute("JSONRPCBridge", jsonrpcBridge);

            super.service(request, response);

        } finally {
View Full Code Here

        return new TestSuite(JsonrpcServicelTest.class);
    }

    public void testBridgeAccess()
    {
        JSONRPCBridge bridge = new JSONRPCBridge();
        assertNotNull(bridge);
    }
View Full Code Here

         * Create a new bridge for every request to avoid all the problems with
         * JSON-RPC-Java storing the bridge in the session
         */
        HttpSession session = request.getSession();

        JSONRPCBridge jsonrpcBridge = new JSONRPCBridge();
        jsonrpcBridge.registerObject("Service", serviceInstance, serviceInterface);
        session.setAttribute("JSONRPCBridge", jsonrpcBridge);
       
        org.json.JSONObject jsonReq = null;
        com.metaparadigm.jsonrpc.JSONRPCResult jsonResp = null;
        try {
            jsonReq = new org.json.JSONObject(requestData);
        } catch (java.text.ParseException e) {
            throw new RuntimeException("Unable to parse request", e);
        }

        String method = jsonReq.getString("method");
        if ((method != null) && (method.indexOf('.') < 0)) {
            jsonReq.putOpt("method", "Service" + "." + method);
        }

        // invoke the request
        jsonResp = jsonrpcBridge.call(new Object[] {request}, jsonReq);

        return jsonResp.toString().getBytes("UTF-8");
    }
View Full Code Here

     * @param context WikiContext to find the bridge in
     * @return A JSON RPC Bridge
     */
    // FIXME: Is returning the global bridge a potential security threat?
    private static JSONRPCBridge getBridge(WikiContext context) {
        JSONRPCBridge bridge = null;
        HttpServletRequest req = context.getHttpRequest();

        if (req != null) {
            HttpSession hs = req.getSession();

            if (hs != null) {
                bridge = (JSONRPCBridge) hs.getAttribute(JSONRPCBRIDGE);

                if (bridge == null) {
                    bridge = new JSONRPCBridge();

                    hs.setAttribute(JSONRPCBRIDGE, bridge);
                }
            }
        }

        if (bridge == null) {
            bridge = JSONRPCBridge.getGlobalBridge();
        }
        bridge.setDebug(false);

        return bridge;
    }
View Full Code Here

     * The JSONRPCBridge object will go away once the session expires.
     *
     * @param session The HttpSession which was created.
     */
    public static void sessionCreated(HttpSession session) {
        JSONRPCBridge bridge = (JSONRPCBridge) session.getAttribute(JSONRPCBRIDGE);

        if (bridge == null) {
            bridge = new JSONRPCBridge();

            session.setAttribute(JSONRPCBRIDGE, bridge);
        }

        WikiJSONAccessor acc = new WikiJSONAccessor();

        bridge.registerCallback(acc, HttpServletRequest.class);

        for (Iterator i = c_globalObjects.values().iterator(); i.hasNext(); ) {
            CallbackContainer cc = (CallbackContainer) i.next();

            bridge.registerObject(cc.m_id, cc.m_object);
        }

    }
View Full Code Here

TOP

Related Classes of com.metaparadigm.jsonrpc.JSONRPCBridge$ObjectInstance

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.