List of usage examples for com.fasterxml.jackson.databind.node ObjectNode size
public int size()
From source file:com.turn.shapeshifter.AutoSerializer.java
/** * {@inheritDoc}/*from w w w.ja va 2 s. co m*/ * @throws SerializationException */ @Override public JsonNode serialize(Message message, ReadableSchemaRegistry registry) throws SerializationException { ObjectNode object = new ObjectNode(JsonNodeFactory.instance); for (Descriptors.FieldDescriptor field : descriptor.getFields()) { String propertyName = AutoSchema.PROTO_FIELD_CASE_FORMAT.to(AutoSchema.JSON_FIELD_CASE_FORMAT, field.getName()); if (field.isRepeated()) { if (message.getRepeatedFieldCount(field) > 0) { ArrayNode array = serializeRepeatedField(message, field, registry); if (array.size() != 0) { object.put(propertyName, array); } } } else if (message.hasField(field)) { Object value = message.getField(field); JsonNode fieldNode = serializeValue(value, field, registry); if (!fieldNode.isNull()) { object.put(propertyName, fieldNode); } } } if (object.size() == 0) { return NullNode.instance; } return object; }
From source file:com.almende.eve.test.agents.Test2Agent.java
/** * Prints the params./*w w w.j av a 2s . c o m*/ * * @param params * the params * @return the string */ public String printParams(final ObjectNode params) { return "fields: " + params.size(); }
From source file:com.ikanow.aleph2.v1.document_db.utils.TestJsonNodeBsonUtils.java
@Test public void test_mapWritableWrapper() { final ObjectMapper mapper = BeanTemplateUtils.configureMapper(Optional.empty()); final BasicDBObject m1 = new BasicDBObject(); m1.put("test1", true); final BasicDBObject m2 = new BasicDBObject(); m2.put("nested", m1); m2.put("test2", "test2"); final BasicDBList a1 = new BasicDBList(); a1.add(4);/*from w w w . j a v a 2s .c o m*/ a1.add(5); final BasicDBList a2 = new BasicDBList(); a2.add(m1); a2.add(m1); m2.put("array", a2); m1.put("array", a1); final JsonNode j2 = JsonNodeBsonUtils.from(m2); assertEquals(3, j2.size()); // Check j's contents assertEquals(Stream.of("nested", "test2", "array").sorted().collect(Collectors.toList()), Optionals.streamOf(j2.fieldNames(), false).sorted().collect(Collectors.toList())); assertEquals("test2", j2.get("test2").asText()); final JsonNode j1 = j2.get("nested"); assertEquals(2, j1.size()); final JsonNode j1b = JsonNodeBsonUtils.from(m1); assertTrue("entrySet wrong: " + j1b.toString(), "{\"test1\":true,\"array\":[4,5]}".equals(j1b.toString()) || "{\"array\":[4,5],\"test1\":true}".equals(j1b.toString())); //(tests entrySet) final ArrayNode an = mapper.createArrayNode(); an.add(mapper.convertValue(4, JsonNode.class)); an.add(mapper.convertValue(5, JsonNode.class)); assertEquals(Arrays.asList(mapper.convertValue(true, JsonNode.class), an), Optionals.streamOf(((ObjectNode) j1).elements(), false).collect(Collectors.toList())); // OK, now test adding: assertEquals(2, j1.size()); final ObjectNode o1 = (ObjectNode) j1; o1.put("added", "added_this"); final ObjectNodeWrapper o1c = (ObjectNodeWrapper) o1; assertFalse(o1c.containsKey("not_present")); assertTrue(o1c.containsKey("added")); assertTrue(o1c.containsKey("test1")); assertEquals(Stream.of("test1", "array", "added").sorted().collect(Collectors.toList()), Optionals.streamOf(j1.fieldNames(), false).sorted().collect(Collectors.toList())); assertEquals( Arrays.asList(mapper.convertValue(true, JsonNode.class), an, mapper.convertValue("added_this", JsonNode.class)), Optionals.streamOf(((ObjectNode) j1).elements(), false).collect(Collectors.toList())); assertTrue(j1.toString().contains("added_this")); assertTrue(j1.toString().contains("4,5")); assertEquals(mapper.convertValue("added_this", JsonNode.class), j1.get("added")); assertEquals(3, j1.size()); // OK now test removing: assertEquals(null, o1.remove("not_present")); assertEquals(mapper.convertValue(true, JsonNode.class), o1.remove("test1")); assertEquals(2, o1.size()); ObjectNode o1b = o1.remove(Arrays.asList("added", "array")); assertEquals(0, o1.size()); assertEquals(0, o1b.size()); o1.setAll(JsonNodeBsonUtils.from(m1)); // will be minus one object assertEquals(2, o1.size()); assertTrue(o1c.containsValue(mapper.convertValue(true, JsonNode.class))); assertFalse(o1c.containsValue("banana")); final ObjectNodeWrapper o2 = (ObjectNodeWrapper) JsonNodeBsonUtils.from(m2); assertFalse(o2.isEmpty()); assertTrue(o2.containsKey("array")); assertFalse(o2.containsValue("array")); assertTrue(o2.containsValue(mapper.convertValue("test2", JsonNode.class))); assertEquals(TextNode.class, o2.remove("test2").getClass()); assertEquals(2, o2.size()); o2.removeAll(); assertEquals(0, o2.size()); }
From source file:com.ikanow.aleph2.search_service.elasticsearch.utils.TestJsonNodeWritableUtils.java
@SuppressWarnings("deprecation") @Test/*from ww w . j a v a2s . c o m*/ public void test_mapWritableWrapper() { final ObjectMapper mapper = BeanTemplateUtils.configureMapper(Optional.empty()); final MapWritable m1 = new MapWritable(); m1.put(new Text("test1"), new BooleanWritable(true)); final MapWritable m2 = new MapWritable(); m2.put(new Text("nested"), m1); m2.put(new Text("test2"), new Text("test2")); final ArrayWritable a1 = new ArrayWritable(IntWritable.class); a1.set(new Writable[] { new IntWritable(4), new IntWritable(5) }); final ArrayWritable a2 = new ArrayWritable(MapWritable.class); a2.set(new Writable[] { m1, m1 }); m2.put(new Text("array"), a2); m1.put(new Text("array"), a1); final JsonNode j2 = JsonNodeWritableUtils.from(m2); assertEquals(3, j2.size()); // Check j's contents assertEquals(Stream.of("nested", "test2", "array").sorted().collect(Collectors.toList()), Optionals.streamOf(j2.fieldNames(), false).sorted().collect(Collectors.toList())); assertEquals("test2", j2.get("test2").asText()); final JsonNode j1 = j2.get("nested"); assertEquals(2, j1.size()); final JsonNode j1b = JsonNodeWritableUtils.from(m1); assertTrue("{\"test1\":true,\"array\":[4,5]}".equals(j1b.toString()) || "{\"array\":[4,5],\"test1\":true}".equals(j1b.toString())); //(tests entrySet) final ArrayNode an = mapper.createArrayNode(); an.add(mapper.convertValue(4, JsonNode.class)); an.add(mapper.convertValue(5, JsonNode.class)); assertEquals(Arrays.asList(mapper.convertValue(true, JsonNode.class), an), Optionals.streamOf(((ObjectNode) j1).elements(), false).collect(Collectors.toList())); // OK, now test adding: assertEquals(2, j1.size()); final ObjectNode o1 = (ObjectNode) j1; o1.put("added", "added_this"); final ObjectNodeWrapper o1c = (ObjectNodeWrapper) o1; assertFalse(o1c.containsKey("not_present")); assertTrue(o1c.containsKey("added")); assertTrue(o1c.containsKey("test1")); assertEquals(Stream.of("test1", "array", "added").sorted().collect(Collectors.toList()), Optionals.streamOf(j1.fieldNames(), false).sorted().collect(Collectors.toList())); assertEquals( Arrays.asList(mapper.convertValue(true, JsonNode.class), an, mapper.convertValue("added_this", JsonNode.class)), Optionals.streamOf(((ObjectNode) j1).elements(), false).collect(Collectors.toList())); assertTrue(j1.toString().contains("added_this")); assertTrue(j1.toString().contains("4,5")); assertEquals(mapper.convertValue("added_this", JsonNode.class), j1.get("added")); assertEquals(3, j1.size()); // OK now test removing: assertEquals(null, o1.remove("not_present")); assertEquals(mapper.convertValue(true, JsonNode.class), o1.remove("test1")); assertEquals(2, o1.size()); ObjectNode o1b = o1.remove(Arrays.asList("added", "array")); assertEquals(0, o1.size()); assertEquals(0, o1b.size()); o1.putAll(JsonNodeWritableUtils.from(m1)); // will be minus one object assertEquals(2, o1.size()); assertTrue(o1c.containsValue(mapper.convertValue(true, JsonNode.class))); assertFalse(o1c.containsValue("banana")); final ObjectNodeWrapper o2 = (ObjectNodeWrapper) JsonNodeWritableUtils.from(m2); assertFalse(o2.isEmpty()); assertTrue(o2.containsKey("array")); assertFalse(o2.containsValue("array")); assertTrue(o2.containsValue(mapper.convertValue("test2", JsonNode.class))); assertEquals(TextNode.class, o2.remove("test2").getClass()); assertEquals(2, o2.size()); o2.removeAll(); assertEquals(0, o2.size()); }
From source file:com.google.api.server.spi.config.jsonwriter.JsonConfigWriter.java
private void convertMethodRequestParameters(EndpointMethod endpointMethod, ObjectNode requestNode, ObjectNode descriptorSchemasNode, ObjectNode descriptorMethodNode, ApiMethodConfig config, ApiConfig apiConfig) throws IllegalArgumentException, SecurityException, ApiConfigException { ObjectNode parametersNode = objectMapper.createObjectNode(); Method method = endpointMethod.getMethod(); List<ApiParameterConfig> parameterConfigs = config.getParameterConfigs(); for (ApiParameterConfig parameterConfig : parameterConfigs) { switch (parameterConfig.getClassification()) { case INJECTED: // Do nothing. break; case API_PARAMETER: convertSimpleParameter(parameterConfig, parametersNode); break; case RESOURCE: // Inserts resource in. convertComplexParameter(parameterConfig, method, descriptorSchemasNode, descriptorMethodNode, apiConfig, parameterConfigs); break; case UNKNOWN: throw new IllegalArgumentException("Unclassifiable parameter type found."); }/* w w w.j a v a 2s .co m*/ } // Set API parameter types if needed. if (parametersNode.size() != 0) { requestNode.set("parameters", parametersNode); } // Sets request body to auto-template if Lily request portion is set.. if (descriptorMethodNode.get("request") != null) { requestNode.put("body", "autoTemplate(backendRequest)"); requestNode.put("bodyName", "resource"); } else { requestNode.put("body", "empty"); } }
From source file:org.opendaylight.sfc.sbrest.json.AclExporterFactory.java
private ObjectNode getActionsObjectNode(Actions actions) { if (actions == null) { return null; }//from www . java2 s.co m ObjectNode actionsNode = mapper.createObjectNode(); if (actions.getPacketHandling() != null) { String actionType = actions.getPacketHandling().getImplementedInterface().getSimpleName(); switch (actionType) { case DENY: actionsNode.put(_DENY, ""); break; case PERMIT: actionsNode.put(_PERMIT, ""); break; default: actionsNode.put(_DENY, ""); break; } } Actions1 actions1 = actions.getAugmentation(Actions1.class); if (actions1 != null) { SfcAction sfcAction = actions1.getSfcAction(); if (sfcAction != null) { String sfcActionType = sfcAction.getImplementedInterface().getSimpleName(); switch (sfcActionType) { case ACL_RENDERED_SERVICE_PATH: AclRenderedServicePath aclRenderedServicePath = (AclRenderedServicePath) sfcAction; actionsNode.put(_SERVICE_FUNCTION_ACL_RENDERED_SERVICE_PATH, aclRenderedServicePath.getRenderedServicePath()); break; } } } if (actionsNode.size() == 0) { return null; } return actionsNode; }
From source file:com.glaf.core.web.rest.MxSystemParamResource.java
@GET @POST// w ww . j a v a 2 s . c o m @Path("/json") @ResponseBody @Produces({ MediaType.APPLICATION_OCTET_STREAM }) public byte[] json(@Context HttpServletRequest request) { ObjectNode responseJSON = new ObjectMapper().createObjectNode(); String serviceKey = request.getParameter("serviceKey"); String businessKey = request.getParameter("businessKey"); try { Map<String, InputDefinition> paramMap = new java.util.HashMap<String, InputDefinition>(); List<InputDefinition> params = systemParamService.getInputDefinitions(serviceKey); if (params != null && !params.isEmpty()) { for (InputDefinition def : params) { paramMap.put(def.getKeyName(), def); } } List<SystemParam> rows = systemParamService.getSystemParams(serviceKey, businessKey); if (rows != null && !rows.isEmpty()) { responseJSON.put("total", rows.size()); ArrayNode rowsJSON = new ObjectMapper().createArrayNode(); for (SystemParam param : rows) { ObjectNode json = new ObjectMapper().createObjectNode(); InputDefinition def = paramMap.get(param.getKeyName()); if (param.getTitle() != null) { json.put("name", param.getTitle() + " (" + param.getKeyName() + ")"); } else { json.put("name", param.getKeyName()); } json.put("title", param.getTitle()); if (param.getStringVal() != null) { json.put("value", param.getStringVal()); } String javaType = param.getJavaType(); if (def != null) { javaType = def.getJavaType(); json.put("group", def.getTypeTitle()); } else { json.put("group", param.getTypeCd()); } if ("Integer".equals(javaType)) { json.put("editor", "numberbox"); } else if ("Long".equals(javaType)) { json.put("editor", "numberbox"); } else if ("Double".equals(javaType)) { json.put("editor", "numberbox"); } else if ("Date".equals(javaType)) { json.put("editor", "datebox"); } else { json.put("editor", "text"); if (def != null) { String inputType = def.getInputType(); String validType = def.getValidType(); if (StringUtils.isNotEmpty(def.getRequired())) { json.put("required", def.getRequired()); } ObjectNode editor = new ObjectMapper().createObjectNode(); ObjectNode options = new ObjectMapper().createObjectNode(); if (validType != null) { options.put("validType", validType); } if (inputType != null) { if ("checkbox".equals(inputType)) { options.put("on", true); options.put("off", false); } if ("combobox".equals(inputType)) { options.put("valueField", def.getValueField()); options.put("textField", def.getTextField()); if (def.getUrl() != null) { options.put("url", request.getContextPath() + def.getUrl()); } if (StringUtils.isNotEmpty(def.getRequired())) { options.put("required", def.getRequired()); } } } editor.put("type", inputType); if (options.size() > 0) { editor.set("options", options); } json.set("editor", editor); } } rowsJSON.add(json); } responseJSON.set("rows", rowsJSON); } logger.debug(responseJSON.toString()); return responseJSON.toString().getBytes("UTF-8"); } catch (IOException e) { return responseJSON.toString().getBytes(); } }
From source file:org.wrml.runtime.format.text.html.WrmldocFormatter.java
protected ObjectNode buildLinksNode(final ObjectMapper objectMapper, final Map<URI, ObjectNode> schemaNodes, final Map<URI, LinkRelation> linkRelationCache, final ApiNavigator apiNavigator, final Resource resource, final Prototype defaultPrototype) { final Context context = getContext(); final SchemaLoader schemaLoader = context.getSchemaLoader(); final SyntaxLoader syntaxLoader = context.getSyntaxLoader(); final URI defaultSchemaUri = (defaultPrototype != null) ? defaultPrototype.getSchemaUri() : null; final ObjectNode linksNode = objectMapper.createObjectNode(); final Set<URI> responseSchemaUris = new HashSet<>(); if (defaultSchemaUri != null) { responseSchemaUris.add(defaultSchemaUri); }//from w ww . j av a 2 s.c o m for (final Method method : Method.values()) { final Set<URI> methodResponseSchemaUris = resource.getResponseSchemaUris(method); if (methodResponseSchemaUris != null && !methodResponseSchemaUris.isEmpty()) { responseSchemaUris.addAll(methodResponseSchemaUris); } } final ConcurrentHashMap<URI, LinkTemplate> linkTemplates = resource.getLinkTemplates(); for (final URI schemaUri : responseSchemaUris) { final Prototype prototype = schemaLoader.getPrototype(schemaUri); final SortedMap<URI, LinkProtoSlot> linkProtoSlots = prototype.getLinkProtoSlots(); if (linkProtoSlots == null || linkProtoSlots.isEmpty()) { continue; } final ObjectNode linkTemplatesNode = objectMapper.createObjectNode(); final Set<URI> linkRelationUris = linkProtoSlots.keySet(); for (final URI linkRelationUri : linkRelationUris) { final LinkProtoSlot linkProtoSlot = linkProtoSlots.get(linkRelationUri); if (schemaLoader.getDocumentSchemaUri().equals(linkProtoSlot.getDeclaringSchemaUri())) { // Skip over the built-in system-level link relations (which are all self-referential). continue; } final ObjectNode linkTemplateNode = objectMapper.createObjectNode(); final String linkSlotName = linkProtoSlot.getName(); linkTemplatesNode.put(linkSlotName, linkTemplateNode); final LinkRelation linkRelation = getLinkRelation(linkRelationCache, linkRelationUri); final Method method = linkRelation.getMethod(); linkTemplateNode.put(PropertyName.method.name(), method.getProtocolGivenName()); linkTemplateNode.put(PropertyName.rel.name(), syntaxLoader.formatSyntaxValue(linkRelationUri)); linkTemplateNode.put(PropertyName.relationTitle.name(), linkRelation.getTitle()); final URI responseSchemaUri; final URI requestSchemaUri; if (linkTemplates.containsKey(linkRelationUri)) { final LinkTemplate linkTemplate = linkTemplates.get(linkRelationUri); responseSchemaUri = linkTemplate.getResponseSchemaUri(); requestSchemaUri = linkTemplate.getRequestSchemaUri(); final UUID endPointId = linkTemplate.getEndPointId(); if (endPointId != null) { final Resource endPointResource = apiNavigator.getResource(endPointId); final ObjectNode endPointNode = objectMapper.createObjectNode(); endPointNode.put(PropertyName.id.name(), syntaxLoader.formatSyntaxValue(endPointId)); endPointNode.put(PropertyName.pathSegment.name(), endPointResource.getPathSegment()); endPointNode.put(PropertyName.fullPath.name(), endPointResource.getPathText()); endPointNode.put(PropertyName.uriTemplate.name(), endPointResource.getUriTemplate().getUriTemplateString()); linkTemplateNode.put(PropertyName.endpoint.name(), endPointNode); } } else { responseSchemaUri = linkProtoSlot.getResponseSchemaUri(); requestSchemaUri = linkProtoSlot.getRequestSchemaUri(); } if (responseSchemaUri != null) { final ObjectNode responseSchemaNode = getSchemaNode(objectMapper, schemaNodes, responseSchemaUri, schemaLoader); linkTemplateNode.put(PropertyName.responseSchema.name(), responseSchemaNode); } if (requestSchemaUri != null) { final ObjectNode requestSchemaNode = getSchemaNode(objectMapper, schemaNodes, requestSchemaUri, schemaLoader); linkTemplateNode.put(PropertyName.requestSchema.name(), requestSchemaNode); } final String signature = buildLinkSignature(linkSlotName, responseSchemaUri, requestSchemaUri, schemaUri); linkTemplateNode.put(PropertyName.signature.name(), signature); } if (linkTemplatesNode.size() > 0) { final ObjectNode schemaNode = objectMapper.createObjectNode(); final ObjectNode schemaDetailsNode = getSchemaNode(objectMapper, schemaNodes, schemaUri, schemaLoader); schemaNode.put(PropertyName.schema.name(), schemaDetailsNode); schemaNode.put(PropertyName.linkTemplates.name(), linkTemplatesNode); linksNode.put(prototype.getUniqueName().getLocalName(), schemaNode); } } return linksNode; }
From source file:org.apache.streams.plugins.cassandra.StreamsCassandraResourceGenerator.java
protected StringBuilder appendRootObject(StringBuilder builder, Schema schema, String resourceId, Character seperator) {/*from w ww . j a v a 2 s . c o m*/ ObjectNode propertiesNode = schemaStore.resolveProperties(schema, null, resourceId); if (propertiesNode.get("id") != null) { builder.append("id text PRIMARY KEY,"); builder.append(LS); propertiesNode.remove("id"); } if (propertiesNode != null && propertiesNode.isObject() && propertiesNode.size() > 0) { builder = appendPropertiesNode(builder, schema, propertiesNode, seperator); } return builder; }
From source file:org.apache.streams.plugins.elasticsearch.StreamsElasticsearchResourceGenerator.java
protected StringBuilder appendRootObject(StringBuilder builder, Schema schema, String resourceId, Character seperator) {// w w w . j a v a 2 s. co m ObjectNode propertiesNode = schemaStore.resolveProperties(schema, null, resourceId); if (propertiesNode.get("id") != null) { builder.append("id text PRIMARY KEY,"); builder.append(LS); propertiesNode.remove("id"); } if (propertiesNode.isObject() && propertiesNode.size() > 0) { builder = appendPropertiesNode(builder, schema, propertiesNode, seperator); } return builder; }