Example usage for com.fasterxml.jackson.databind.node ObjectNode get

List of usage examples for com.fasterxml.jackson.databind.node ObjectNode get

Introduction

In this page you can find the example usage for com.fasterxml.jackson.databind.node ObjectNode get.

Prototype

public JsonNode get(String paramString) 

Source Link

Usage

From source file:com.addthis.codec.jackson.CodecTypeDeserializer.java

@Nullable
private Object _deserializeObjectFromSingleKey(ObjectNode objectNode, String singleKeyName,
        ObjectCodec objectCodec, DeserializationContext ctxt) throws IOException {
    if (idRes.isValidTypeId(singleKeyName)) {
        ConfigObject aliasDefaults = pluginMap.aliasDefaults(singleKeyName);
        String primaryField;// w w w .  ja  va2 s .c om
        if (aliasDefaults.containsKey("_primary")) {
            primaryField = (String) aliasDefaults.get("_primary").unwrapped();
        } else {
            primaryField = null;
        }
        boolean unwrapPrimary = false;
        try {
            JsonNode singleKeyValue = objectNode.get(singleKeyName);
            JsonDeserializer<Object> deser = _findDeserializer(ctxt, singleKeyName);
            if (!singleKeyValue.isObject()) {
                // if value is not an object, try supporting _primary syntax to derive one
                if (primaryField != null) {
                    ObjectNode singleKeyObject = (ObjectNode) objectCodec.createObjectNode();
                    Jackson.setAt(singleKeyObject, singleKeyValue, primaryField);
                    Jackson.merge(singleKeyObject, Jackson.configConverter(aliasDefaults));
                    singleKeyValue = singleKeyObject;
                    unwrapPrimary = true;
                } // else let the downstream serializer try to handle it or complain
            } else {
                ObjectNode singleKeyObject = (ObjectNode) singleKeyValue;
                unwrapPrimary = handleDefaultsAndImplicitPrimary(singleKeyObject, aliasDefaults, deser, ctxt);
            }
            if (_typeIdVisible && singleKeyValue.isObject()) {
                ((ObjectNode) singleKeyValue).put(_typePropertyName, singleKeyName);
            }
            JsonParser treeParser = objectCodec.treeAsTokens(singleKeyValue);
            treeParser.nextToken();
            return deser.deserialize(treeParser, ctxt);
        } catch (IOException cause) {
            if (unwrapPrimary) {
                cause = Jackson.maybeUnwrapPath(primaryField, cause);
            }
            throw wrapWithPath(cause, idRes.typeFromId(ctxt, singleKeyName), singleKeyName);
        } catch (Throwable cause) {
            throw wrapWithPath(cause, idRes.typeFromId(ctxt, singleKeyName), singleKeyName);
        }
    }
    return null;
}

From source file:org.openremote.server.inventory.DeviceLibraryService.java

protected Device[] initializeZWaveDevices(ObjectNode adapterProperties,
        Map<Device, ObjectNode> deviceProperties, List<Device> devices) {

    List<Device> result = new ArrayList<>();

    // Find all root devices
    for (Device device : devices) {
        if (isTrue(deviceProperties.get(device), ATTR_NAME_IS_ROOT)) {

            LOG.debug("Found root device: " + device);

            String nodeId = deviceProperties.get(device).get(ATTR_NAME_NODE_ID).asText();
            String productTypeId = deviceProperties.get(device).get(ATTR_NAME_PRODUCT_TYPE_ID).asText();
            String productId = deviceProperties.get(device).get(ATTR_NAME_PRODUCT_ID).asText();
            String serialPort = adapterProperties.get("serialPort").get("value").asText();

            // TODO: Yeah, this is not great
            if (nodeId.length() > 0 && productTypeId.equals("0x0018") && productId.equals("0x0100")) {
                // Benext Dimmer
                device.setStatus(Device.Status.READY);
                device.setLabel("Benext Dimmer#" + nodeId);
                device.setSensorEndpoints(new String[] {
                        UrlUtil.url("zwave", nodeId).addParameter("serialPort", serialPort)
                                .addParameter("command", "STATUS").toString(),
                        UrlUtil.url("zwave", nodeId).addParameter("serialPort", serialPort)
                                .addParameter("command", "FREQUENCY_SCALE_HZ").toString(),
                        UrlUtil.url("zwave", nodeId).addParameter("serialPort", serialPort)
                                .addParameter("command", "ELECTRIC_METER_SCALE_W").toString(),
                        UrlUtil.url("zwave", nodeId).addParameter("serialPort", serialPort)
                                .addParameter("command", "ELECTRIC_METER_SCALE_KWH").toString() });
                device.setActuatorEndpoints(new String[] {
                        UrlUtil.url("zwave", nodeId).addParameter("serialPort", serialPort)
                                .addParameter("command", "DIM").toString(),
                        UrlUtil.url("zwave", nodeId).addParameter("serialPort", serialPort)
                                .addParameter("command", "ON").toString(),
                        UrlUtil.url("zwave", nodeId).addParameter("serialPort", serialPort)
                                .addParameter("command", "OFF").toString() });
            } else if (nodeId.length() > 0 && productTypeId.equals("0x0002") && productId.equals("0x0064")) {
                // Aeotec Multisensor 6
                device.setStatus(Device.Status.READY);
                device.setLabel("Aeotec MultiSensor 6#" + nodeId);
                device.setSensorEndpoints(new String[] {
                        UrlUtil.url("zwave", nodeId).addParameter("serialPort", serialPort)
                                .addParameter("command", "STATUS").toString(),
                        UrlUtil.url("zwave", nodeId).addParameter("serialPort", serialPort)
                                .addParameter("command", "AIR_TEMPERATURE_SCALE_CELSIUS").toString(),
                        UrlUtil.url("zwave", nodeId).addParameter("serialPort", serialPort)
                                .addParameter("command", "AIR_TEMPERATURE_SCALE_FAHRENHEIT").toString(),
                        UrlUtil.url("zwave", nodeId).addParameter("serialPort", serialPort)
                                .addParameter("command", "HUMIDITY_SCALE_PERCENTAGE").toString(),
                        UrlUtil.url("zwave", nodeId).addParameter("serialPort", serialPort)
                                .addParameter("command", "LUMINANCE_SCALE_LUX").toString(),
                        UrlUtil.url("zwave", nodeId).addParameter("serialPort", serialPort)
                                .addParameter("command", "ULTRAVIOLET_SCALE_UV_INDEX").toString(), });
            } else if (nodeId.length() > 0 && productTypeId.equals("0x0002") && productId.equals("0x0002")) {
                // Zipato RGBW Bulb
                device.setStatus(Device.Status.READY);
                device.setLabel("Zipato RGBW Bulb#" + nodeId);
                device.setSensorEndpoints(new String[] {
                        UrlUtil.url("zwave", nodeId).addParameter("serialPort", serialPort)
                                .addParameter("command", "STATUS").toString(),
                        UrlUtil.url("zwave", nodeId).addParameter("serialPort", serialPort)
                                .addParameter("command", "STATUS_COLOR_CHANNEL_WARM_WHITE").toString(),
                        UrlUtil.url("zwave", nodeId).addParameter("serialPort", serialPort)
                                .addParameter("command", "STATUS_COLOR_CHANNEL_COLD_WHITE").toString(),
                        UrlUtil.url("zwave", nodeId).addParameter("serialPort", serialPort)
                                .addParameter("command", "STATUS_COLOR_CHANNEL_RED").toString(),
                        UrlUtil.url("zwave", nodeId).addParameter("serialPort", serialPort)
                                .addParameter("command", "STATUS_COLOR_CHANNEL_GREEN").toString(),
                        UrlUtil.url("zwave", nodeId).addParameter("serialPort", serialPort)
                                .addParameter("command", "STATUS_COLOR_CHANNEL_BLUE").toString() });
                device.setActuatorEndpoints(new String[] {
                        UrlUtil.url("zwave", nodeId).addParameter("serialPort", serialPort)
                                .addParameter("command", "DIM").toString(),
                        UrlUtil.url("zwave", nodeId).addParameter("serialPort", serialPort)
                                .addParameter("command", "ON").toString(),
                        UrlUtil.url("zwave", nodeId).addParameter("serialPort", serialPort)
                                .addParameter("command", "OFF").toString(),
                        UrlUtil.url("zwave", nodeId).addParameter("serialPort", serialPort)
                                .addParameter("command", "SET_COLOR_CHANNEL_WARM_WHITE").toString(),
                        UrlUtil.url("zwave", nodeId).addParameter("serialPort", serialPort)
                                .addParameter("command", "SET_COLOR_CHANNEL_COLD_WHITE").toString(),
                        UrlUtil.url("zwave", nodeId).addParameter("serialPort", serialPort)
                                .addParameter("command", "SET_COLOR_CHANNEL_RED").toString(),
                        UrlUtil.url("zwave", nodeId).addParameter("serialPort", serialPort)
                                .addParameter("command", "SET_COLOR_CHANNEL_GREEN").toString(),
                        UrlUtil.url("zwave", nodeId).addParameter("serialPort", serialPort)
                                .addParameter("command", "SET_COLOR_CHANNEL_BLUE").toString(),
                        UrlUtil.url("zwave", nodeId).addParameter("serialPort", serialPort)
                                .addParameter("command", "SET_COLOR").toString() });
            } else if (nodeId.length() > 0 && productTypeId.equals("0x0003") && productId.equals("0x0062")) {
                // Aeotec LED Bulb
                device.setStatus(Device.Status.READY);
                device.setLabel("Aeotec LED Bulb#" + nodeId);
                device.setSensorEndpoints(new String[] {
                        UrlUtil.url("zwave", nodeId).addParameter("serialPort", serialPort)
                                .addParameter("command", "STATUS").toString(),
                        UrlUtil.url("zwave", nodeId).addParameter("serialPort", serialPort)
                                .addParameter("command", "STATUS_COLOR_CHANNEL_WARM_WHITE").toString(),
                        UrlUtil.url("zwave", nodeId).addParameter("serialPort", serialPort)
                                .addParameter("command", "STATUS_COLOR_CHANNEL_COLD_WHITE").toString(),
                        UrlUtil.url("zwave", nodeId).addParameter("serialPort", serialPort)
                                .addParameter("command", "STATUS_COLOR_CHANNEL_RED").toString(),
                        UrlUtil.url("zwave", nodeId).addParameter("serialPort", serialPort)
                                .addParameter("command", "STATUS_COLOR_CHANNEL_GREEN").toString(),
                        UrlUtil.url("zwave", nodeId).addParameter("serialPort", serialPort)
                                .addParameter("command", "STATUS_COLOR_CHANNEL_BLUE").toString() });
                device.setActuatorEndpoints(new String[] {
                        UrlUtil.url("zwave", nodeId).addParameter("serialPort", serialPort)
                                .addParameter("command", "DIM").toString(),
                        UrlUtil.url("zwave", nodeId).addParameter("serialPort", serialPort)
                                .addParameter("command", "ON").toString(),
                        UrlUtil.url("zwave", nodeId).addParameter("serialPort", serialPort)
                                .addParameter("command", "OFF").toString(),
                        UrlUtil.url("zwave", nodeId).addParameter("serialPort", serialPort)
                                .addParameter("command", "SET_COLOR_CHANNEL_WARM_WHITE").toString(),
                        UrlUtil.url("zwave", nodeId).addParameter("serialPort", serialPort)
                                .addParameter("command", "SET_COLOR_CHANNEL_COLD_WHITE").toString(),
                        UrlUtil.url("zwave", nodeId).addParameter("serialPort", serialPort)
                                .addParameter("command", "SET_COLOR_CHANNEL_RED").toString(),
                        UrlUtil.url("zwave", nodeId).addParameter("serialPort", serialPort)
                                .addParameter("command", "SET_COLOR_CHANNEL_GREEN").toString(),
                        UrlUtil.url("zwave", nodeId).addParameter("serialPort", serialPort)
                                .addParameter("command", "SET_COLOR_CHANNEL_BLUE").toString(),
                        UrlUtil.url("zwave", nodeId).addParameter("serialPort", serialPort)
                                .addParameter("command", "SET_COLOR").toString() });
            }//from   ww w  . j  ava2 s .c  om
        } else {
            LOG.debug("Not a root device: " + device);
        }
        result.add(device);
    }

    return result.toArray(new Device[result.size()]);
}

From source file:com.almende.eve.agent.google.GoogleCalendarAgent.java

/**
 * Get a single event by id.//from  w w  w  .  ja va  2 s. c  om
 * 
 * @param eventId
 *            Id of the event
 * @param calendarId
 *            Optional calendar id. the primary calendar is used by default
 * @return the event
 * @throws Exception
 *             the exception
 */
@Override
public ObjectNode getEvent(@Name("eventId") final String eventId,
        @Optional @Name("calendarId") String calendarId) throws Exception {
    // initialize optional parameters
    if (calendarId == null) {
        calendarId = getState().get("email", String.class);
    }

    // built url
    final String url = CALENDAR_URI + calendarId + "/events/" + eventId;

    // perform GET request
    final Map<String, String> headers = getAuthorizationHeaders();
    final String resp = HttpUtil.get(url, headers);
    final ObjectMapper mapper = JOM.getInstance();
    final ObjectNode event = mapper.readValue(resp, ObjectNode.class);

    // convert from Google to Eve event
    toEveEvent(event);

    // check for errors
    if (event.has("error")) {
        final ObjectNode error = (ObjectNode) event.get("error");
        final Integer code = error.has("code") ? error.get("code").asInt() : null;
        if (code != null && (code.equals(404) || code.equals(410))) {
            throw new JSONRPCException(CODE.NOT_FOUND);
        }

        throw new JSONRPCException(error);
    }

    // check if canceled. If so, return null
    // TODO: be able to retrieve canceled events?
    if (event.has("status") && event.get("status").asText().equals("cancelled")) {
        throw new JSONRPCException(CODE.NOT_FOUND);
    }

    return event;
}

From source file:com.almende.eve.agent.google.GoogleCalendarAgent.java

/**
 * Create an event.//  w  w  w .  j a  v a2s . c o  m
 * 
 * @param event
 *            JSON structure containing the calendar event
 * @param calendarId
 *            Optional calendar id. the primary calendar is used by default
 * @return createdEvent JSON structure with the created event
 * @throws Exception
 *             the exception
 */
@Override
public ObjectNode createEvent(@Name("event") final ObjectNode event,
        @Optional @Name("calendarId") String calendarId) throws Exception {
    // initialize optional parameters
    if (calendarId == null) {
        calendarId = getState().get("email", String.class);
    }

    // built url
    final String url = CALENDAR_URI + calendarId + "/events";

    // convert from Google to Eve event
    toGoogleEvent(event);

    // perform POST request
    final ObjectMapper mapper = JOM.getInstance();
    final String body = mapper.writeValueAsString(event);
    final Map<String, String> headers = getAuthorizationHeaders();
    headers.put("Content-Type", "application/json");
    final String resp = HttpUtil.post(url, body, headers);
    final ObjectNode createdEvent = mapper.readValue(resp, ObjectNode.class);

    // convert from Google to Eve event
    toEveEvent(event);

    // check for errors
    if (createdEvent.has("error")) {
        final ObjectNode error = (ObjectNode) createdEvent.get("error");
        throw new JSONRPCException(error);
    }

    return createdEvent;
}

From source file:com.okta.swagger.codegen.AbstractOktaJavaClientCodegen.java

protected void buildDiscriminationMap(Swagger swagger) {
    swagger.getDefinitions().forEach((name, model) -> {
        ObjectNode discriminatorMapExtention = (ObjectNode) model.getVendorExtensions()
                .get("x-openapi-v3-discriminator");
        if (discriminatorMapExtention != null) {

            String propertyName = discriminatorMapExtention.get("propertyName").asText();
            ObjectNode mapping = (ObjectNode) discriminatorMapExtention.get("mapping");

            ObjectMapper mapper = new ObjectMapper();
            Map<String, String> result = mapper.convertValue(mapping, Map.class);
            result = result.entrySet().stream().collect(Collectors
                    .toMap(e -> e.getValue().substring(e.getValue().lastIndexOf('/') + 1), e -> e.getKey()));
            result.forEach((key, value) -> {
                reverseDiscriminatorMap.put(key, name);
            });/*from  w w  w. j a  v  a2  s  .  c  o  m*/
            discriminatorMap.put(name, new Discriminator(name, propertyName, result));
        }
    });
}

From source file:org.waarp.common.database.data.AbstractDbData.java

/**
 * Set the values from the Json node to the current object (no database access)
 * //from  w w  w.j  a v a2s  .co m
 * @param node
 * @param ignorePrimaryKey
 *            True will ignore primaryKey from Json
 * @throws WaarpDatabaseSqlException
 */
public void setFromJson(ObjectNode node, boolean ignorePrimaryKey) throws WaarpDatabaseSqlException {
    DbValue[] list = allFields;
    if (ignorePrimaryKey) {
        list = otherFields;
    }
    for (DbValue value : list) {
        if (value.column.equalsIgnoreCase("UPDATEDINFO")) {
            continue;
        }
        JsonNode item = node.get(value.column);
        if (item != null && !item.isMissingNode() && !item.isNull()) {
            isSaved = false;
            switch (value.type) {
            case Types.VARCHAR:
            case Types.LONGVARCHAR:
                value.setValue(item.asText());
                break;
            case Types.BIT:
                value.setValue(item.asBoolean());
                break;
            case Types.TINYINT:
            case Types.SMALLINT:
            case Types.INTEGER:
                value.setValue(item.asInt());
                break;
            case Types.BIGINT:
                value.setValue(item.asLong());
                break;
            case Types.REAL:
            case Types.DOUBLE:
                value.setValue(item.asDouble());
                break;
            case Types.VARBINARY:
                try {
                    value.setValue(item.binaryValue());
                } catch (IOException e) {
                    throw new WaarpDatabaseSqlException("Issue while assigning array of bytes", e);
                }
                break;
            case Types.DATE:
                value.setValue(new Date(item.asLong()));
                break;
            case Types.TIMESTAMP:
                value.setValue(new Timestamp(item.asLong()));
                break;
            case Types.CLOB:
            case Types.BLOB:
            default:
                throw new WaarpDatabaseSqlException("Unsupported type: " + value.type);
            }
        }
    }
    setFromArray();
}

From source file:org.walkmod.conf.providers.yml.AddIncludesOrExcludesYMLAction.java

@Override
public void doAction(JsonNode node) throws Exception {
    if (chain == null) {
        chain = "default";
    }/*from   www  . j  ava2  s . c  o m*/
    ObjectMapper mapper = provider.getObjectMapper();
    if (node.has("chains")) {
        JsonNode chains = node.get("chains");
        if (chains.isArray()) {
            ArrayNode chainsArray = (ArrayNode) chains;
            int limit = chainsArray.size();
            ObjectNode selectedChain = null;
            for (int i = 0; i < limit && selectedChain == null; i++) {
                JsonNode chainNode = chainsArray.get(i);
                if (chainNode.has("name")) {
                    if (chainNode.get("name").asText().equals(chain)) {
                        selectedChain = (ObjectNode) chainNode;
                    }
                }
            }
            if (selectedChain == null) {
                selectedChain = new ObjectNode(mapper.getNodeFactory());
                selectedChain.set("name", new TextNode(chain));
                chainsArray.add(selectedChain);
            }

            if (setToReader) {
                JsonNode reader = null;
                if (selectedChain.has("reader")) {
                    reader = selectedChain.get("reader");
                } else {
                    reader = new ObjectNode(mapper.getNodeFactory());
                    selectedChain.set("reader", reader);
                }
                setIncludesOrExcludesList((ObjectNode) reader);

            }
            if (setToWriter) {
                JsonNode reader = null;
                if (selectedChain.has("writer")) {
                    reader = selectedChain.get("writer");
                } else {
                    reader = new ObjectNode(mapper.getNodeFactory());
                    selectedChain.set("writer", reader);
                }
                setIncludesOrExcludesList((ObjectNode) reader);
            }

        }
    } else {
        ObjectNode root = (ObjectNode) node;
        if (node.has("transformations")) {
            JsonNode transformations = node.get("transformations");

            root.remove("transformations");
            ObjectNode chainNode = new ObjectNode(mapper.getNodeFactory());
            chainNode.set("name", new TextNode("default"));
            chainNode.set("transformations", transformations);
            ArrayNode chains = new ArrayNode(mapper.getNodeFactory());
            chains.add(chainNode);
            if (!chain.equals("default")) {
                chainNode = new ObjectNode(mapper.getNodeFactory());
                chainNode.set("name", new TextNode(chain));
                chains.add(chainNode);
            }
            ObjectNode reader = new ObjectNode(mapper.getNodeFactory());
            setIncludesOrExcludesList(reader);

            chainNode.set("reader", reader);
            ObjectNode writer = new ObjectNode(mapper.getNodeFactory());
            setIncludesOrExcludesList(writer);
            chainNode.set("writer", writer);

            root.set("chains", chains);
        } else if (!node.has("modules")) {
            ObjectNode chainNode = new ObjectNode(mapper.getNodeFactory());
            chainNode.set("name", new TextNode("default"));
            ArrayNode chains = new ArrayNode(mapper.getNodeFactory());
            chains.add(chainNode);

            ObjectNode reader = new ObjectNode(mapper.getNodeFactory());
            setIncludesOrExcludesList(reader);

            chainNode.set("reader", reader);
            ObjectNode writer = new ObjectNode(mapper.getNodeFactory());
            setIncludesOrExcludesList(writer);
            chainNode.set("writer", writer);

            root.set("chains", chains);
        }

    }
    provider.write(node);
}

From source file:com.syncedsynapse.kore2.jsonrpc.HostConnection.java

private <T> void handleTcpResponse(ObjectNode jsonResponse) {

    if (!jsonResponse.has(ApiMethod.ID_NODE)) {
        // It's a notification, notify observers
        String notificationName = jsonResponse.get(ApiNotification.METHOD_NODE).asText();
        ObjectNode params = (ObjectNode) jsonResponse.get(ApiNotification.PARAMS_NODE);

        if (notificationName.equals(Player.OnPause.NOTIFICATION_NAME)) {
            final Player.OnPause apiNotification = new Player.OnPause(params);
            for (final PlayerNotificationsObserver observer : playerNotificationsObservers.keySet()) {
                Handler handler = playerNotificationsObservers.get(observer);
                handler.post(new Runnable() {
                    @Override/*from ww w.java  2s . co m*/
                    public void run() {
                        observer.onPause(apiNotification);
                    }
                });
            }
        } else if (notificationName.equals(Player.OnPlay.NOTIFICATION_NAME)) {
            final Player.OnPlay apiNotification = new Player.OnPlay(params);
            for (final PlayerNotificationsObserver observer : playerNotificationsObservers.keySet()) {
                Handler handler = playerNotificationsObservers.get(observer);
                handler.post(new Runnable() {
                    @Override
                    public void run() {
                        observer.onPlay(apiNotification);
                    }
                });
            }
        } else if (notificationName.equals(Player.OnSeek.NOTIFICATION_NAME)) {
            final Player.OnSeek apiNotification = new Player.OnSeek(params);
            for (final PlayerNotificationsObserver observer : playerNotificationsObservers.keySet()) {
                Handler handler = playerNotificationsObservers.get(observer);
                handler.post(new Runnable() {
                    @Override
                    public void run() {
                        observer.onSeek(apiNotification);
                    }
                });
            }
        } else if (notificationName.equals(Player.OnSpeedChanged.NOTIFICATION_NAME)) {
            final Player.OnSpeedChanged apiNotification = new Player.OnSpeedChanged(params);
            for (final PlayerNotificationsObserver observer : playerNotificationsObservers.keySet()) {
                Handler handler = playerNotificationsObservers.get(observer);
                handler.post(new Runnable() {
                    @Override
                    public void run() {
                        observer.onSpeedChanged(apiNotification);
                    }
                });
            }
        } else if (notificationName.equals(Player.OnStop.NOTIFICATION_NAME)) {
            final Player.OnStop apiNotification = new Player.OnStop(params);
            for (final PlayerNotificationsObserver observer : playerNotificationsObservers.keySet()) {
                Handler handler = playerNotificationsObservers.get(observer);
                handler.post(new Runnable() {
                    @Override
                    public void run() {
                        observer.onStop(apiNotification);
                    }
                });
            }
        } else if (notificationName.equals(System.OnQuit.NOTIFICATION_NAME)) {
            final System.OnQuit apiNotification = new System.OnQuit(params);
            for (final SystemNotificationsObserver observer : systemNotificationsObservers.keySet()) {
                Handler handler = systemNotificationsObservers.get(observer);
                handler.post(new Runnable() {
                    @Override
                    public void run() {
                        observer.onQuit(apiNotification);
                    }
                });
            }
        } else if (notificationName.equals(System.OnRestart.NOTIFICATION_NAME)) {
            final System.OnRestart apiNotification = new System.OnRestart(params);
            for (final SystemNotificationsObserver observer : systemNotificationsObservers.keySet()) {
                Handler handler = systemNotificationsObservers.get(observer);
                handler.post(new Runnable() {
                    @Override
                    public void run() {
                        observer.onRestart(apiNotification);
                    }
                });
            }
        } else if (notificationName.equals(System.OnSleep.NOTIFICATION_NAME)) {
            final System.OnSleep apiNotification = new System.OnSleep(params);
            for (final SystemNotificationsObserver observer : systemNotificationsObservers.keySet()) {
                Handler handler = systemNotificationsObservers.get(observer);
                handler.post(new Runnable() {
                    @Override
                    public void run() {
                        observer.onSleep(apiNotification);
                    }
                });
            }
        } else if (notificationName.equals(Input.OnInputRequested.NOTIFICATION_NAME)) {
            final Input.OnInputRequested apiNotification = new Input.OnInputRequested(params);
            for (final InputNotificationsObserver observer : inputNotificationsObservers.keySet()) {
                Handler handler = inputNotificationsObservers.get(observer);
                handler.post(new Runnable() {
                    @Override
                    public void run() {
                        observer.onInputRequested(apiNotification);
                    }
                });
            }
        }

        LogUtils.LOGD(TAG, "Got a notification: " + jsonResponse.get("method").textValue());
    } else {
        String methodId = jsonResponse.get(ApiMethod.ID_NODE).asText();

        if (jsonResponse.has(ApiMethod.ERROR_NODE)) {
            // Error response
            callErrorCallback(methodId, new ApiException(ApiException.API_ERROR, jsonResponse));
        } else {
            // Sucess response
            final MethodCallInfo<?> methodCallInfo = clientCallbacks.get(methodId);
            //            LogUtils.LOGD(TAG, "Sending response to method: " + methodCallInfo.method.getMethodName());

            if (methodCallInfo != null) {
                try {
                    final T result = (T) methodCallInfo.method.resultFromJson(jsonResponse);
                    final ApiCallback<T> callback = (ApiCallback<T>) methodCallInfo.callback;

                    if ((methodCallInfo.handler != null) && (callback != null)) {
                        methodCallInfo.handler.post(new Runnable() {
                            @Override
                            public void run() {
                                callback.onSucess(result);
                            }
                        });
                    }

                    // We've replied, remove the client from the list
                    synchronized (clientCallbacks) {
                        clientCallbacks.remove(methodId);
                    }
                } catch (ApiException e) {
                    callErrorCallback(methodId, e);
                }
            }
        }
    }
}

From source file:com.github.fge.jsonpatch.mergepatch.ObjectMergePatch.java

@Override
public JsonNode apply(final JsonNode input) throws JsonPatchException {
    BUNDLE.checkNotNull(input, "jsonPatch.nullValue");
    /*/*from  w  ww .  j ava 2s  . c om*/
     * If the input is an object, we make a deep copy of it
     */
    final ObjectNode ret = input.isObject() ? (ObjectNode) input.deepCopy()
            : JacksonUtils.nodeFactory().objectNode();

    /*
     * Our result is now a JSON Object; first, add (or modify) existing
     * members in the result
     */
    String key;
    JsonNode value;
    for (final Map.Entry<String, JsonMergePatch> entry : modifiedMembers.entrySet()) {
        key = entry.getKey();
        /*
         * FIXME: ugly...
         *
         * We treat missing keys as null nodes; this "works" because in
         * the modifiedMembers map, values are JsonMergePatch instances:
         *
         * * if it is a NonObjectMergePatch, the value is replaced
         *   unconditionally;
         * * if it is an ObjectMergePatch, we get back here; the value will
         *   be replaced with a JSON Object anyway before being processed.
         */
        value = Optional.fromNullable(ret.get(key)).or(NullNode.getInstance());
        ret.put(key, entry.getValue().apply(value));
    }

    ret.remove(removedMembers);

    return ret;
}

From source file:controllers.AnyplaceMapping.java

private static boolean isBuildingOwner(ObjectNode building, String userId) {

    // Check if owner
    if (building != null && building.get("owner_id") != null
            && building.get("owner_id").textValue().equals(userId)) {
        return true;
    }/*ww w  . j a  va 2 s.  c  o  m*/

    return false;
}