List of usage examples for com.fasterxml.jackson.databind ObjectMapper createObjectNode
@Override
public ObjectNode createObjectNode()
Note: return type is co-variant, as basic ObjectCodec abstraction can not refer to concrete node types (as it's part of core package, whereas impls are part of mapper package)
From source file:org.dswarm.graph.gdm.test.GDMResource4Test.java
@Ignore @Test//from w w w . j a v a 2 s . c o m public void searchGDMRecordFromDBThatWasWrittenAsGDM4() throws IOException { LOG.debug("start search GDM records test 4 for GDM resource at {} DB", dbType); final String dataModelURI = "http://data.slub-dresden.de/resources/7777"; writeGDMToDBInternal(dataModelURI, "versioning/csv.gdm.v1.json"); final String recordClassURI = "http://data.slub-dresden.de/resources/1/schema#RecordType"; writeGDMToDBInternalWDeprecation(dataModelURI, "versioning/csv.gdm.v2.json", recordClassURI); final ObjectMapper objectMapper = Util.getJSONObjectMapper(); objectMapper.enable(SerializationFeature.INDENT_OUTPUT); final ObjectNode requestJson = objectMapper.createObjectNode(); final String recordURI = "http://data.slub-dresden.de/datamodels/DataModel-574990f5-4785-4020-b86a-9765bb084f16/records/7a7990dd-2e4a-4757-85f2-7de444a0e502"; final String keyAP = "http://data.slub-dresden.de/resources/1/schema#name"; final String searchValue = "brumm"; requestJson.put(DMPStatics.KEY_ATTRIBUTE_PATH_IDENTIFIER, keyAP); requestJson.put(DMPStatics.SEARCH_VALUE_IDENTIFIER, searchValue); requestJson.put(DMPStatics.DATA_MODEL_URI_IDENTIFIER, dataModelURI); requestJson.put(DMPStatics.VERSION_IDENTIFIER, 1); final Model actualModel = searchGDMRecords(requestJson, 6); Assert.assertEquals(recordURI, actualModel.getResources().iterator().next().getUri()); // should retrieve the latest version requestJson.remove(DMPStatics.VERSION_IDENTIFIER); final Model actualModel2 = searchGDMRecords(requestJson, 0); Assert.assertNotNull(actualModel2); Assert.assertEquals(0, actualModel2.size()); LOG.debug("finished search GDM records test 4 for GDM resource at {} DB", dbType); }
From source file:org.dswarm.graph.gdm.test.GDMResource4Test.java
@Test public void readGDMModelFromDBThatWasWrittenAsGDM() throws IOException { LOG.debug("start read GDM model test for GDM resource at {} DB", dbType); writeGDMToDBInternal(DATA_MODEL_URI, MABXML_RESOURCE_GSON); final ObjectMapper objectMapper = Util.getJSONObjectMapper(); objectMapper.enable(SerializationFeature.INDENT_OUTPUT); final ObjectNode requestJson = objectMapper.createObjectNode(); requestJson.put(DMPStatics.RECORD_CLASS_URI_IDENTIFIER, "http://www.ddb.de/professionell/mabxml/mabxml-1.xsd#datensatzType"); requestJson.put(DMPStatics.DATA_MODEL_URI_IDENTIFIER, DATA_MODEL_URI); final String requestJsonString = objectMapper.writeValueAsString(requestJson); // POST the request final ClientResponse response = target().path("/get").type(MediaType.APPLICATION_JSON_TYPE) .accept(MediaType.APPLICATION_JSON).post(ClientResponse.class, requestJsonString); Assert.assertEquals("expected 200", 200, response.getStatus()); final InputStream actualResult = response.getEntity(InputStream.class); final BufferedInputStream bis = new BufferedInputStream(actualResult, 1024); final ModelParser modelParser = new ModelParser(bis); final org.dswarm.graph.json.Model model = new org.dswarm.graph.json.Model(); final Observable<Void> parseObservable = modelParser.parse().map(resource1 -> { model.addResource(resource1);//from ww w.j a va 2s .c o m return null; }); final Iterator<Void> iterator = parseObservable.toBlocking().getIterator(); Assert.assertTrue(iterator.hasNext()); while (iterator.hasNext()) { iterator.next(); } bis.close(); actualResult.close(); LOG.debug("read '{}' statements", model.size()); // 191 - 39 rdf:type statements = 152 Assert.assertEquals("the number of statements should be 191", 191, model.size()); LOG.debug("finished read GDM model test for GDM resource at {} DB", dbType); }
From source file:org.apache.solr.kelvin.responseanalyzers.LegacyResponseAnalyzer.java
public void decode(Map<String, Object> previousResponses) throws Exception { ObjectMapper mapper = new ObjectMapper(); ArrayNode response = mapper.createArrayNode(); if (!previousResponses.containsKey(XmlResponseAnalyzer.XML_DOM)) { previousResponses.put(XmlDoclistExtractorResponseAnalyzer.DOC_LIST, response); //empty return;//from w w w . j a v a2 s . c o m } NodeList nodeList = (NodeList) expr.evaluate((Document) previousResponses.get(XmlResponseAnalyzer.XML_DOM), XPathConstants.NODESET); for (int i = 0; i < nodeList.getLength(); i++) { Node doc = nodeList.item(i); ObjectNode oDoc = mapper.createObjectNode(); Node subel = doc.getFirstChild(); while (subel != null) { String localName = subel.getNodeName(); if (localName == "field") { String fieldName = subel.getAttributes().getNamedItem("name").getNodeValue(); if (!"infoold".equals(fieldName)) { String value = subel.getTextContent(); oDoc.put(fieldName, value); } } else if (localName == "slug_preferenziale") { NodeList slugNodes = subel.getChildNodes(); oDoc.put("slug_preferenziale", slugNodes.item(slugNodes.getLength() - 1).getAttributes() .getNamedItem("path").getTextContent()); } subel = subel.getNextSibling(); } response.add(oDoc); } previousResponses.put(XmlDoclistExtractorResponseAnalyzer.DOC_LIST, response); }
From source file:org.flowable.engine.impl.bpmn.behavior.DmnActivityBehavior.java
protected void setVariablesOnExecution(List<Map<String, Object>> executionResult, String decisionKey, DelegateExecution execution, ObjectMapper objectMapper) { if (executionResult == null || executionResult.isEmpty()) { return;// w w w . j a va2s .co m } // multiple rule results // put on execution as JSON array; each entry contains output id (key) and output value (value) if (executionResult.size() > 1) { ArrayNode ruleResultNode = objectMapper.createArrayNode(); for (Map<String, Object> ruleResult : executionResult) { ObjectNode outputResultNode = objectMapper.createObjectNode(); for (Map.Entry<String, Object> outputResult : ruleResult.entrySet()) { outputResultNode.set(outputResult.getKey(), objectMapper.convertValue(outputResult.getValue(), JsonNode.class)); } ruleResultNode.add(outputResultNode); } execution.setVariable(decisionKey, ruleResultNode); } else { // single rule result // put on execution output id (key) and output value (value) Map<String, Object> ruleResult = executionResult.get(0); for (Map.Entry<String, Object> outputResult : ruleResult.entrySet()) { execution.setVariable(outputResult.getKey(), outputResult.getValue()); } } }
From source file:com.marklogic.client.functionaltest.TestPOJOWithStrucQD.java
@Test(expected = ClassCastException.class) public void testPOJOSearchWithRawJSONStructQD() { PojoRepository<Artifact, Long> products = client.newPojoRepository(Artifact.class, Long.class); PojoPage<Artifact> p;//from w ww . j a v a 2 s . c o m this.loadSimplePojos(products); QueryManager queryMgr = client.newQueryManager(); JacksonHandle jh = new JacksonHandle(); ObjectMapper mapper = new ObjectMapper(); // constructing JSON representation of Raw JSON Structured Query ObjectNode txtNode = mapper.createObjectNode(); txtNode.putArray("text").add("special"); ObjectNode termQNode = mapper.createObjectNode(); termQNode.set("term-query", txtNode); ObjectNode queriesArrayNode = mapper.createObjectNode(); queriesArrayNode.putArray("queries").add(termQNode); ObjectNode txtNode2 = mapper.createObjectNode(); txtNode2.putArray("text").add("Widgets"); ObjectNode termQNode2 = mapper.createObjectNode(); termQNode2.set("term-query", txtNode2); queriesArrayNode.withArray("queries").add(termQNode2); ObjectNode orQueryNode = mapper.createObjectNode(); orQueryNode.set("and-query", queriesArrayNode); ObjectNode queryArrayNode = mapper.createObjectNode(); queryArrayNode.putArray("queries").add(orQueryNode); ObjectNode mainNode = mapper.createObjectNode(); mainNode.set("query", queryArrayNode); jh.set(mainNode); PojoQueryDefinition qd = (PojoQueryDefinition) queryMgr.newRawStructuredQueryDefinition(jh); JacksonHandle results = new JacksonHandle(); p = products.search(qd, 1, results); products.setPageLength(11); assertEquals("total no of pages", 1, p.getTotalPages()); System.out.println(p.getTotalPages() + results.get().toString()); long pageNo = 1, count = 0; do { count = 0; p = products.search(qd, pageNo, results); while (p.iterator().hasNext()) { Artifact a = p.iterator().next(); validateArtifact(a); count++; assertTrue("Manufacture name starts with acme", a.getManufacturer().getName().contains("Widgets")); assertTrue("Artifact name contains", a.getName().contains("special")); } assertEquals("Page size", count, p.size()); pageNo = pageNo + p.getPageSize(); assertEquals("Page start from search handls vs page methods", results.get().get("start").asLong(), p.getStart()); assertEquals("Format in the search handle", "json", results.get().withArray("results").get(1).path("format").asText()); assertTrue("Uri in search handle contains Artifact", results.get().withArray("results").get(1).path("uri").asText().contains("Artifact")); System.out.println(results.get().toString()); } while (!p.isLastPage() && pageNo < p.getTotalSize()); assertFalse("search handle has metrics", results.get().has("metrics")); assertEquals("Total from search handle", 11, results.get().get("total").asInt()); assertEquals("page number after the loop", 1, p.getPageNumber()); assertEquals("total no of pages", 1, p.getTotalPages()); }
From source file:com.glaf.activiti.web.rest.ActivitiResource.java
private JsonNode getProcessDefinitionResponse(ProcessDefinitionEntity processDefinition) { ObjectMapper mapper = new ObjectMapper(); ObjectNode pdrJSON = mapper.createObjectNode(); pdrJSON.put("id", processDefinition.getId()); pdrJSON.put("name", processDefinition.getName()); pdrJSON.put("key", processDefinition.getKey()); pdrJSON.put("version", processDefinition.getVersion()); pdrJSON.put("deploymentId", processDefinition.getDeploymentId()); pdrJSON.put("isGraphicNotationDefined", isGraphicNotationDefined(processDefinition)); return pdrJSON; }
From source file:org.osiam.resources.helper.AttributesRemovalHelper.java
private <T extends Resource> SCIMSearchResult<T> getJsonResponseWithAdditionalFields( SCIMSearchResult<T> scimSearchResult, Map<String, Object> parameterMap) { ObjectMapper mapper = new ObjectMapper(); String[] fieldsToReturn = (String[]) parameterMap.get("attributes"); ObjectWriter writer = getObjectWriter(mapper, fieldsToReturn); try {// w w w . j a v a 2 s . co m String resourcesString = writer.writeValueAsString(scimSearchResult.getResources()); JsonNode resourcesNode = mapper.readTree(resourcesString); String schemasString = writer.writeValueAsString(scimSearchResult.getSchemas()); JsonNode schemasNode = mapper.readTree(schemasString); ObjectNode rootNode = mapper.createObjectNode(); rootNode.put("totalResults", scimSearchResult.getTotalResults()); rootNode.put("itemsPerPage", scimSearchResult.getItemsPerPage()); rootNode.put("startIndex", scimSearchResult.getStartIndex()); rootNode.put("schemas", schemasNode); rootNode.put("Resources", resourcesNode); return mapper.readValue(rootNode.toString(), SCIMSearchResult.class); } catch (IOException e) { LOGGER.warn("Unable to serialize search result", e); throw new OsiamBackendFailureException(); } }
From source file:org.osiam.resource_server.resources.helper.AttributesRemovalHelper.java
private <T extends Resource> SCIMSearchResult<T> getJsonResponseWithAdditionalFields( SCIMSearchResult<T> scimSearchResult, Map<String, Object> parameterMap) { ObjectMapper mapper = new ObjectMapper(); String[] fieldsToReturn = (String[]) parameterMap.get("attributes"); ObjectWriter writer = getObjectWriter(mapper, fieldsToReturn); try {/*from ww w .ja v a 2 s . co m*/ String resourcesString = writer.writeValueAsString(scimSearchResult.getResources()); JsonNode resourcesNode = mapper.readTree(resourcesString); String schemasString = writer.writeValueAsString(scimSearchResult.getSchemas()); JsonNode schemasNode = mapper.readTree(schemasString); ObjectNode rootNode = mapper.createObjectNode(); rootNode.put("totalResults", scimSearchResult.getTotalResults()); rootNode.put("itemsPerPage", scimSearchResult.getItemsPerPage()); rootNode.put("startIndex", scimSearchResult.getStartIndex()); rootNode.put("schemas", schemasNode); rootNode.put("Resources", resourcesNode); return mapper.readValue(rootNode.toString(), SCIMSearchResult.class); } catch (IOException e) { throw new IllegalArgumentException(e); } }
From source file:org.neotree.ui.fragment.DataExportFragment.java
private boolean exportAsJson(ExportData exportData) { if (exportData.getEntries() == null || exportData.getEntries().size() == 0) { Log.d(TAG, "Nothing to export for script"); return false; }/*from w ww .j a va2s . c o m*/ ObjectMapper mapper = new ObjectMapper(); ObjectNode root = mapper.createObjectNode(); ArrayNode jsonSessions = root.putArray("sessions"); ObjectNode jsonSession = null; ArrayNode jsonSessionEntries = null; ObjectNode jsonEntry; ArrayNode jsonEntryValues; String sessionId = null; for (SessionEntry entry : exportData.getEntries()) { if (sessionId == null || !sessionId.equals(entry.getSessionId())) { if (jsonSession != null) { jsonSessions.add(jsonSession); } sessionId = entry.getSessionId(); jsonSession = mapper.createObjectNode(); jsonSession.put("sessionId", sessionId); ObjectNode jsonScript = jsonSession.putObject("script"); jsonScript.put("id", exportData.getScript().scriptId); jsonScript.put("title", exportData.getScript().title); jsonSessionEntries = jsonSession.putArray("entries"); } jsonEntry = mapper.createObjectNode(); jsonEntry.put("key", entry.getKey()); jsonEntry.put("type", entry.getDataType()); jsonEntryValues = jsonEntry.putArray("values"); jsonSessionEntries.add(jsonEntry); DataType dataType = entry.getDataTypeAsObject(); ObjectNode jsonValue; SessionValue value; switch (dataType) { case BOOLEAN: case DATE: case DATETIME: case STRING: case ID: case NUMBER: case PERIOD: case TIME: value = entry.getSingleValue(); jsonValue = mapper.createObjectNode(); jsonValue.put("label", value.getValueLabel()); switch (dataType) { case BOOLEAN: jsonValue.put("value", value.getBooleanValue()); break; case DATE: case DATETIME: case STRING: case ID: jsonValue.put("value", value.getStringValue()); break; case NUMBER: jsonValue.put("value", value.getDoubleValue()); break; case PERIOD: case TIME: jsonValue.put("value", value.getValueAsFormattedString(getActivity())); break; } jsonEntryValues.add(jsonValue); break; case SET_ID: if (entry.getValues() != null) { for (SessionValue sessionValue : entry.getValues()) { jsonValue = mapper.createObjectNode(); jsonValue.put("label", sessionValue.getValueLabel()); jsonValue.put("value", sessionValue.getStringValue()); jsonEntryValues.add(jsonValue); } } break; default: break; } } try { File exportRootDir = Environment.getExternalStoragePublicDirectory("NeoTree"); if (!exportRootDir.isDirectory()) { if (!exportRootDir.mkdirs()) { throw new IOException("Error creating output directory: " + exportRootDir.getAbsolutePath()); } } File noMediaFile = new File(exportRootDir, ".nomedia"); if (!noMediaFile.exists()) { if (!noMediaFile.createNewFile()) { throw new IOException("Error creating .nomedia file: " + noMediaFile.getAbsolutePath()); } } String title = exportData.getScript().title; String filename = String.format("%s-%s.json", DateTime.now().toString(DateTimeFormat.forPattern("yyyyMMddHHmm")), title.replaceAll("[^a-zA-Z0-9]", "_")); File exportFile = new File(exportRootDir, filename); // Write JSON output mapper.writeValue(exportFile, root); // Tell the media scanner about the new file so that it is // immediately available to the user. MediaScannerConnection.scanFile(getActivity(), new String[] { exportFile.toString() }, null, (path, uri) -> { Log.d(TAG, String.format("Success exporting data [path=%s, uri=%s]", path, uri)); }); } catch (IOException e) { Log.e(TAG, "Error exporting Excel file", e); Crashlytics.logException(e); return false; } return true; }