/** * Convert CSV record(List<Strings>) to JsonObject using header(column Names) * @param header record * @param data record * @param column Count * @return JsonObject */ public static JsonObject csvToJsonObject(List<String> bulkRecordHeader, List<String> record, int columnCount) { ObjectMapper mapper = new ObjectMapper(); Map<String, String> resultInfo = new HashMap<>(); for (int i = 0; i < columnCount; i++) { resultInfo.put(bulkRecordHeader.get(i), record.get(i)); } JsonNode json = mapper.valueToTree(resultInfo); JsonElement element = GSON.fromJson(json.toString(), JsonObject.class); return element.getAsJsonObject(); }
@Test(expectedExceptions = DataConversionException.class, expectedExceptionsMessageRegExp = "Input data does not have record.") public void testFailureWithoutRecord() throws DataConversionException, IOException { ObjectMapper objectMapper = new ObjectMapper(); // Build the input record without data HashMap<String, Object> map = new HashMap<>(); Metadata md = new Metadata(); md.getRecordMetadata().put("test1", "test2"); map.put("rMd", md); JsonNode jsonNode = objectMapper.valueToTree(map); RecordWithMetadata<byte[]> inputRecord = new RecordWithMetadata<>(jsonNode.toString().getBytes(), null); EnvelopedRecordWithMetadataToRecordWithMetadata converter = new EnvelopedRecordWithMetadataToRecordWithMetadata(); converter.convertRecord(null, inputRecord, null); }
@Test public void testSuccessWithRecord() throws DataConversionException, IOException { ObjectMapper objectMapper = new ObjectMapper(); String innerRecord = "abracadabra"; // Build the input record HashMap<String, Object> map = new HashMap<>(); map.put("r", innerRecord); Metadata md = new Metadata(); md.getRecordMetadata().put("test1", "test2"); map.put("rMd", md); JsonNode jsonNode = objectMapper.valueToTree(map); RecordWithMetadata<byte[]> inputRecord = new RecordWithMetadata<>(jsonNode.toString().getBytes(), null); EnvelopedRecordWithMetadataToRecordWithMetadata converter = new EnvelopedRecordWithMetadataToRecordWithMetadata(); Iterator<RecordWithMetadata<?>> iterator = converter.convertRecord(null, inputRecord, null).iterator(); Assert.assertTrue(iterator.hasNext()); RecordWithMetadata<?> outputRecord = iterator.next(); Assert.assertEquals(outputRecord.getRecord(), innerRecord); Assert.assertEquals(outputRecord.getMetadata().getRecordMetadata().get("test1"), "test2"); }
@Test public void testSuccessWithJson() throws SchemaConversionException, DataConversionException, IOException { final String innerContentType = "randomJsonRecord"; ObjectMapper objectMapper = new ObjectMapper(); RecordWithMetadataToEnvelopedRecordWithMetadata converter = new RecordWithMetadataToEnvelopedRecordWithMetadata(); converter.convertSchema("", null); // Build Test Record HashMap<String, String> map = new HashMap<>(); map.put("test", "test"); map.put("value", "value"); JsonNode jsonElement = objectMapper.valueToTree(map); Metadata md = new Metadata(); md.getGlobalMetadata().setDatasetUrn("my-dataset"); md.getGlobalMetadata().setContentType(innerContentType); md.getRecordMetadata().put("foo", "bar"); RecordWithMetadata<JsonNode> record = new RecordWithMetadata(jsonElement, md); // Convert it Iterator<RecordWithMetadata<byte[]>> recordWithMetadataIterator = converter.convertRecord("", record, null).iterator(); RecordWithMetadata recordWithMetadata = recordWithMetadataIterator.next(); // Verify it JsonNode parsedElement = objectMapper.readValue((byte[]) recordWithMetadata.getRecord(), JsonNode.class); Assert.assertEquals(parsedElement.get("mId").getTextValue(), record.getMetadata().getGlobalMetadata().getId()); Assert.assertEquals(parsedElement.get("r"), jsonElement); Assert.assertEquals(parsedElement.get("rMd").get("foo").getTextValue(), "bar"); Assert .assertEquals(recordWithMetadata.getMetadata().getGlobalMetadata().getContentType(), "lnkd+recordWithMetadata"); Assert.assertEquals(recordWithMetadata.getMetadata().getGlobalMetadata().getInnerContentType(), innerContentType); }
/** * Gets the json node eid (which can be null if the eid was backed as a string). * * @return json node of the eid. */ public JsonNode getJsonEntityId() { return BASIC_MAPPER.valueToTree(mComponents); }
/** * Returns the given object as a {@link JsonNode}. * * @param value an object * @return {@code value} as a {@link JsonNode} * @throws IllegalArgumentException if there is an error encoding {@code value} */ public JsonNode writeValueAsTree(Object value) throws IllegalArgumentException { return mapper.valueToTree(value); }
private void putAll(ObjectNode object, Map<String,Object> map) { for (Map.Entry<String, Object> entry : map.entrySet()) { final JsonNode value; if (entry.getValue() instanceof JsonNode) { value = (JsonNode) entry.getValue(); } else { value = mapper.valueToTree(entry.getValue()); } object.put(entry.getKey(), value); } }
/** * Convert CSV record(List<Strings>) to JsonObject using header(column Names) * @param header record * @param data record * @param column Count * @return JsonObject */ public static JsonObject csvToJsonObject(List<String> bulkRecordHeader, List<String> record, int columnCount) { ObjectMapper mapper = new ObjectMapper(); Map<String, String> resultInfo = new HashMap<>(); for (int i = 0; i < columnCount; i++) { resultInfo.put(bulkRecordHeader.get(i), record.get(i)); } JsonNode json = mapper.valueToTree(resultInfo); JsonElement element = GSON.fromJson(json.toString(), JsonObject.class); return element.getAsJsonObject(); }
@Override public <T> CommandRequest<CustomObject> set(String container, String key, T value) { final String url = endpoints.customObjects.post(); ObjectMapper mapper = new ObjectMapper(); final CreateOrUpdateCustomObject command = new CreateOrUpdateCustomObject(container, key, mapper.valueToTree(value)); return requestFactory.createCommandRequest(url, command, typeReference); }
@Override public <T> CommandRequest<CustomObject> set(String container, String key, T value, int version) { final String url = endpoints.customObjects.post(); ObjectMapper mapper = new ObjectMapper(); final CreateOrUpdateVersionedCustomObject command = new CreateOrUpdateVersionedCustomObject(container, key, mapper.valueToTree(value), version); return requestFactory.createCommandRequest(url, command, typeReference); }
private void toJson(Object pojo, boolean prettyPrint, File f) throws Exception { ObjectMapper m = new ObjectMapper(); JsonFactory jf = new JsonFactory(); JsonGenerator jg = jf.createJsonGenerator(f, JsonEncoding.UTF8); if (prettyPrint) { jg.useDefaultPrettyPrinter(); } ObjectNode tree = m.valueToTree(pojo); if (StringUtils.isNotEmpty(overrideJson)) { JsonNode overrideTree = m.readValue(overrideJson, JsonNode.class); Iterator<String> ks = overrideTree.getFieldNames(); while( ks.hasNext()) { String k = ks.next(); JsonNode v = overrideTree.get(k); tree.put(k, v); } } m.writeTree(jg, tree); }
private void addAttribute(MetaField field) { if (currentNode != null) { ((ObjectNode) currentNode.get("fields")).put(field.getName(), mapper.valueToTree(field)); } }
private void getWorkflowContextNode(ObjectNode workflowContextNode, ZNRecord record) { if (record.getMapFields() != null) { for (String fieldName : record.getMapFields().keySet()) { JsonNode node = OBJECT_MAPPER.valueToTree(record.getMapField(fieldName)); workflowContextNode.put(fieldName, node); } } if (record.getSimpleFields() != null) { for (Map.Entry<String, String> entry : record.getSimpleFields().entrySet()) { workflowContextNode .put(entry.getKey(), JsonNodeFactory.instance.textNode(entry.getValue())); } } }
/** * Convert an object to JsonNode. * * @param data Value to convert in Json. * @return creates a new json object from given data object * @throws ParseException to runtime if object can't be parsed */ public static JsonNode toJson(final Object data) { if (data == null) { return newObject(); } try { return createObjectMapper().valueToTree(data); } catch (Exception e) { throw new ParseException(e); } }
/** * Convert an object to JsonNode. * * @param data Value to convert in Json. * @return creates a new json object from given data object * @throws ParseException to runtime if object can't be parsed */ public static JsonNode toJson(final Object data) { if (data == null) { return newObject(); } try { return createObjectMapper().valueToTree(data); } catch (Exception e) { throw new ParseException(e); } }
private void createJsonNode(MetaClass metadata) { currentNode = mapper.valueToTree(metadata); currentNode.remove("fields"); currentNode.remove("options"); currentNode.put("fields", JsonNodeFactory.instance.objectNode()); }
@GET @Path("{instanceName}/healthreports") public Response getHealthReportsOnInstance(@PathParam("clusterId") String clusterId, @PathParam("instanceName") String instanceName) throws IOException { HelixDataAccessor accessor = getDataAccssor(clusterId); ObjectNode root = JsonNodeFactory.instance.objectNode(); root.put(Properties.id.name(), instanceName); ArrayNode healthReportsNode = root.putArray(InstanceProperties.healthreports.name()); List<String> healthReports = accessor.getChildNames(accessor.keyBuilder().healthReports(instanceName)); if (healthReports != null && healthReports.size() > 0) { healthReportsNode.addAll((ArrayNode) OBJECT_MAPPER.valueToTree(healthReports)); } return JSONRepresentation(root); }
private JsonNode resultAsJsonNode(String outcome, String failureDescription, Throwable rhqThrowable, Boolean rolledBack) { Result result = new Result(); result.setOutcome(outcome); if (failureDescription != null) { result.setFailureDescription(failureDescription); } if (rhqThrowable != null) { result.setRhqThrowable(rhqThrowable); } if (rolledBack == TRUE) { result.setRolledBack(true); } return mapper.valueToTree(result); }
@GET public Response getJobs(@PathParam("clusterId") String clusterId, @PathParam("workflowName") String workflowName) { TaskDriver driver = getTaskDriver(clusterId); WorkflowConfig workflowConfig = driver.getWorkflowConfig(workflowName); ObjectNode root = JsonNodeFactory.instance.objectNode(); if (workflowConfig == null) { return badRequest(String.format("Workflow %s is not found!", workflowName)); } Set<String> jobs = workflowConfig.getJobDag().getAllNodes(); root.put(Properties.id.name(), JobProperties.Jobs.name()); ArrayNode jobsNode = root.putArray(JobProperties.Jobs.name()); if (jobs != null) { jobsNode.addAll((ArrayNode) OBJECT_MAPPER.valueToTree(jobs)); } return JSONRepresentation(root); }
@SuppressWarnings({"rawtypes", "unchecked"}) private ObjectNode writeValue(Value<?> value) { ObjectNode jValue; Class<?> valueType = value.value().getClass(); ValueTypeSerializer vts = valueTypeSerializerRegistry.getSerializer(valueType); if(vts != null){ jValue = vts.serialize(mapper,value.value()); //TODO assert that jValue does not define "class" and "prob"! } else { //use the default binding and the "data" field jValue = mapper.createObjectNode(); jValue.put("value", mapper.valueToTree(value.value())); } jValue.put("class",valueType.getName()); if(value.probability() != Value.UNKNOWN_PROBABILITY){ jValue.put("prob", value.probability()); } return jValue; } }