Example usage for org.apache.wicket.protocol.ws.api WebSocketRequestHandler appendJavaScript

List of usage examples for org.apache.wicket.protocol.ws.api WebSocketRequestHandler appendJavaScript

Introduction

In this page you can find the example usage for org.apache.wicket.protocol.ws.api WebSocketRequestHandler appendJavaScript.

Prototype

@Override
    public void appendJavaScript(CharSequence javascript) 

Source Link

Usage

From source file:org.apache.syncope.client.console.topology.TopologyWebSocketBehavior.java

License:Apache License

@Override
protected void onMessage(final WebSocketRequestHandler handler, final TextMessage message) {
    try {//from   w  w  w.  ja  va 2s.  c o  m
        JsonNode obj = OBJECT_MAPPER.readTree(message.getText());

        switch (Topology.SupportedOperation.valueOf(obj.get("kind").asText())) {
        case CHECK_CONNECTOR:
            final String ckey = obj.get("target").asText();

            if (connectors.containsKey(ckey)) {
                handler.push(connectors.get(ckey));
            } else {
                handler.push(String.format("{ \"status\": \"%s\", \"target\": \"%s\"}",
                        TopologyNode.Status.UNKNOWN, ckey));
            }

            synchronized (runningConnCheck) {
                if (runningConnCheck.contains(ckey)) {
                    LOG.debug("Running connection check for connector {}", ckey);
                } else {
                    runningConnCheck.add(ckey);
                }
            }

            SyncopeConsoleSession.get().execute(new ConnCheck(ckey));

            break;
        case CHECK_RESOURCE:
            final String rkey = obj.get("target").asText();

            if (resources.containsKey(rkey)) {
                handler.push(resources.get(rkey));
            } else {
                handler.push(String.format("{ \"status\": \"%s\", \"target\": \"%s\"}",
                        TopologyNode.Status.UNKNOWN, rkey));
            }

            synchronized (runningResCheck) {
                if (runningResCheck.contains(rkey)) {
                    LOG.debug("Running connection check for resource {}", rkey);
                } else {
                    runningResCheck.add(rkey);
                }
            }

            SyncopeConsoleSession.get().execute(new ResCheck(rkey));

            break;
        case ADD_ENDPOINT:
            handler.appendJavaScript(String.format("addEndpoint('%s', '%s', '%s');", obj.get("source").asText(),
                    obj.get("target").asText(), obj.get("scope").asText()));
            break;
        default:
        }
    } catch (IOException e) {
        LOG.error("Eror managing websocket message", e);
    }
}