List of usage examples for com.fasterxml.jackson.databind.node ObjectNode get
public JsonNode get(String paramString)
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; }