List of usage examples for com.fasterxml.jackson.databind ObjectMapper getNodeFactory
public JsonNodeFactory getNodeFactory()
From source file:com.cloudbees.clickstack.vertx.VertxConfigurationBuilderTest.java
@Test public void generateConfiguration() throws Exception { Metadata metadata = Metadata.Builder .fromStream(Thread.currentThread().getContextClassLoader().getResourceAsStream("metadata-1.json")); ObjectMapper mapper = new ObjectMapper(); JsonNodeFactory nodeFactory = mapper.getNodeFactory(); VertxConfigurationBuilder builder = new VertxConfigurationBuilder(); ObjectNode conf = nodeFactory.objectNode(); builder.fillVertxModuleConfiguration(metadata, nodeFactory, conf); mapper.writerWithDefaultPrettyPrinter().writeValue(System.out, conf); }
From source file:org.jsfr.json.provider.JacksonProvider.java
public JacksonProvider(ObjectMapper om) { this.om = om; this.factory = om.getNodeFactory(); }
From source file:com.cloudbees.clickstack.vertx.VertxConfigurationBuilder.java
public void fillVertxModuleConfiguration(Path vertxHome, Metadata metadata) throws IOException { Path jsonConfPath = vertxHome.resolve("conf/configuration.json"); Preconditions.checkState(Files.exists(jsonConfPath), "Expected conf file file %s does not exist", jsonConfPath);//from w w w.jav a 2 s .co m ObjectMapper mapper = new ObjectMapper(); JsonNodeFactory nodeFactory = mapper.getNodeFactory(); ObjectNode conf = (ObjectNode) mapper.readValue(jsonConfPath.toFile(), JsonNode.class); new VertxConfigurationBuilder().fillVertxModuleConfiguration(metadata, nodeFactory, conf); mapper.writerWithDefaultPrettyPrinter().writeValue(jsonConfPath.toFile(), conf); }
From source file:org.walkmod.conf.providers.yml.RemoveModulesYMLAction.java
@Override public void doAction(JsonNode node) throws Exception { if (node.has("modules")) { JsonNode aux = node.get("modules"); ObjectMapper mapper = provider.getObjectMapper(); if (aux.isArray()) { ArrayNode modulesList = (ArrayNode) node.get("modules"); Iterator<JsonNode> it = modulesList.iterator(); ArrayNode newModulesList = new ArrayNode(mapper.getNodeFactory()); while (it.hasNext()) { JsonNode next = it.next(); if (next.isTextual()) { String text = next.asText(); if (!modules.contains(text)) { newModulesList.add(text); }/*from ww w . ja va2s . c om*/ } } ObjectNode oNode = (ObjectNode) node; if (newModulesList.size() > 0) { oNode.set("modules", newModulesList); } else { oNode.remove("modules"); } provider.write(node); } } }
From source file:org.walkmod.conf.providers.yml.RemoveChainsYMLAction.java
@Override public void doAction(JsonNode node) throws Exception { HashSet<String> chainsSet = new HashSet<String>(chains); ArrayNode chainsList = null;//from w w w .j a v a 2 s.c om ObjectMapper mapper = provider.getObjectMapper(); if (node.has("chains")) { JsonNode aux = node.get("chains"); if (aux.isArray()) { chainsList = (ArrayNode) node.get("chains"); Iterator<JsonNode> it = chainsList.iterator(); ArrayNode newChainsList = new ArrayNode(mapper.getNodeFactory()); while (it.hasNext()) { JsonNode next = it.next(); if (next.isObject()) { String type = next.get("name").asText(); if (!chainsSet.contains(type)) { newChainsList.add(next); } } } ObjectNode oNode = (ObjectNode) node; if (newChainsList.size() > 0) { oNode.set("chains", newChainsList); } else { oNode.remove("chains"); } provider.write(node); } } else if (node.has("transformations") && chainsSet.contains("default")) { ObjectNode oNode = (ObjectNode) node; oNode.remove("transformations"); provider.write(node); } }
From source file:org.walkmod.conf.providers.yml.AddChainYMLAction.java
@Override public void doAction(JsonNode chainsNode) throws Exception { ArrayNode chainsList = null;/*from w w w . j a v a2s .com*/ ObjectMapper mapper = provider.getObjectMapper(); if (chainsNode != null) { if (!chainsNode.has("chains")) { chainsList = new ArrayNode(mapper.getNodeFactory()); if (chainsNode.isObject()) { ObjectNode aux = (ObjectNode) chainsNode; aux.set("chains", chainsList); } else { throw new TransformerException("The root element is not a JSON node"); } } else { JsonNode aux = chainsNode.get("chains"); if (aux.isArray()) { chainsList = (ArrayNode) chainsNode.get("chains"); } else { throw new TransformerException("The plugins element is not a valid array"); } } } ObjectNode chainNode = new ObjectNode(mapper.getNodeFactory()); ReaderConfig readerCfg = chainCfg.getReaderConfig(); if (readerCfg != null) { if (chainsNode == null) { chainsNode = new ObjectNode(mapper.getNodeFactory()); ObjectNode aux = (ObjectNode) chainsNode; chainsList = new ArrayNode(mapper.getNodeFactory()); aux.set("chains", chainsList); } ObjectNode readerNode = new ObjectNode(mapper.getNodeFactory()); chainNode.set("reader", readerNode); populateWriterReader(readerNode, readerCfg.getPath(), readerCfg.getType(), readerCfg.getIncludes(), readerCfg.getExcludes(), readerCfg.getParameters()); } else { provider.addDefaultReaderConfig(chainCfg); } WalkerConfig walkerCfg = chainCfg.getWalkerConfig(); if (walkerCfg != null) { ObjectNode walkerNode = null; String type = walkerCfg.getType(); if (type != null) { if (chainsNode == null) { chainsNode = new ObjectNode(mapper.getNodeFactory()); ObjectNode aux = (ObjectNode) chainsNode; chainsList = new ArrayNode(mapper.getNodeFactory()); aux.set("chains", chainsList); } walkerNode = new ObjectNode(mapper.getNodeFactory()); chainNode.set("walker", walkerNode); walkerNode.set("type", new TextNode(type)); } Map<String, Object> wparams = walkerCfg.getParams(); if (wparams != null && !wparams.isEmpty()) { if (walkerNode == null) { if (chainsNode == null) { chainsNode = new ObjectNode(mapper.getNodeFactory()); ObjectNode aux = (ObjectNode) chainsNode; chainsList = new ArrayNode(mapper.getNodeFactory()); aux.set("chains", chainsList); } walkerNode = new ObjectNode(mapper.getNodeFactory()); chainNode.set("walker", walkerNode); } populateParams(walkerNode, wparams); } String rootNamespace = walkerCfg.getRootNamespace(); if (rootNamespace != null) { if (walkerNode == null) { if (chainsNode == null) { chainsNode = new ObjectNode(mapper.getNodeFactory()); ObjectNode aux = (ObjectNode) chainsNode; chainsList = new ArrayNode(mapper.getNodeFactory()); aux.set("chains", chainsList); } walkerNode = new ObjectNode(mapper.getNodeFactory()); chainNode.set("walker", walkerNode); } walkerNode.set("root-namespace", new TextNode(rootNamespace)); } List<TransformationConfig> transformationList = walkerCfg.getTransformations(); if (transformationList != null && !transformationList.isEmpty()) { ArrayNode transformationListNode = new ArrayNode(mapper.getNodeFactory()); if (walkerNode == null) { if (chainsNode == null) { ObjectNode aux = new ObjectNode(mapper.getNodeFactory()); aux.set("transformations", transformationListNode); chainsNode = aux; } else { chainNode.set("transformations", transformationListNode); } } else { walkerNode.set("transformations", transformationListNode); } for (TransformationConfig transCfg : transformationList) { ObjectNode transformationNode = new ObjectNode(mapper.getNodeFactory()); transformationListNode.add(transformationNode); createTransformation(transformationNode, transCfg); } } } WriterConfig writerCfg = chainCfg.getWriterConfig(); if (writerCfg != null) { if (chainsNode == null) { chainsNode = new ObjectNode(mapper.getNodeFactory()); ObjectNode aux = (ObjectNode) chainsNode; chainsList = new ArrayNode(mapper.getNodeFactory()); aux.set("chains", chainsList); } ObjectNode writerNode = new ObjectNode(mapper.getNodeFactory()); chainNode.set("writer", writerNode); populateWriterReader(writerNode, writerCfg.getPath(), writerCfg.getType(), writerCfg.getIncludes(), writerCfg.getExcludes(), writerCfg.getParams()); } else { provider.addDefaultWriterConfig(chainCfg); } if (chainsList != null) { int beforePos = -1; if (before != null) { Iterator<JsonNode> it = chainsList.iterator(); int i = 0; while (it.hasNext() && beforePos == -1) { JsonNode next = it.next(); if (next.get("name").equals(before)) { beforePos = i; } i++; } } if (beforePos == -1) { chainsList.add(chainNode); } else { chainsList.insert(beforePos, chainNode); } } if (readerCfg != null || walkerCfg != null || writerCfg != null) { provider.write(chainsNode); } }
From source file:org.walkmod.conf.providers.yml.AddProviderConfigYMLAction.java
@Override public void doAction(JsonNode node) throws Exception { ObjectMapper mapper = provider.getObjectMapper(); if (node.has("conf-providers")) { JsonNode list = node.get("conf-providers"); Iterator<JsonNode> it = list.iterator(); boolean found = false; while (it.hasNext() && !found) { JsonNode next = it.next();/* w ww . j a v a 2 s .c o m*/ found = providerCfg.getType().equals(next.get("type").asText()); } if (!found) { if (list.isArray()) { ArrayNode aux = (ArrayNode) list; ObjectNode prov = new ObjectNode(mapper.getNodeFactory()); prov.set("type", new TextNode(providerCfg.getType())); Map<String, Object> params = providerCfg.getParameters(); if (params != null && !params.isEmpty()) { populateParams(prov, params); } aux.add(prov); provider.write(node); return; } } } else { ArrayNode aux = new ArrayNode(mapper.getNodeFactory()); ObjectNode prov = new ObjectNode(mapper.getNodeFactory()); prov.set("type", new TextNode(providerCfg.getType())); Map<String, Object> params = providerCfg.getParameters(); if (params != null && !params.isEmpty()) { populateParams(prov, params); } aux.add(prov); ObjectNode auxNode = (ObjectNode) node; auxNode.set("conf-providers", aux); provider.write(node); return; } return; }
From source file:org.walkmod.conf.providers.yml.AddIncludesOrExcludesYMLAction.java
@Override public void doAction(JsonNode node) throws Exception { if (chain == null) { chain = "default"; }//ww w .j av a2 s . co 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:io.cloudslang.content.json.actions.MergeArrays.java
/** * This operation merge the contents of two JSON arrays. This operation does not modify either of the input arrays. * The result is the contents or array1 and array2, merged into a single array. The merge operation add into the result * the first array and then the second array. * * @param array1 The string representation of a JSON array object. * Arrays in JSON are comma separated lists of objects, enclosed in square brackets [ ]. * Examples: [1,2,3] or ["one","two","three"] or [{"one":1, "two":2}, 3, "four"] * @param array2 The string representation of a JSON array object. * Arrays in JSON are comma separated lists of objects, enclosed in square brackets [ ]. * Examples: [1,2,3] or ["one","two","three"] or [{"one":1, "two":2}, 3, "four"] * @return a map containing the output of the operation. Keys present in the map are: * <p/>/* w w w .j a v a 2 s . c o m*/ * <br><br><b>returnResult</b> - This will contain the string representation of the new JSON array with the contents * of array1 and array2. * <br><b>exception</b> - In case of success response, this result is empty. In case of failure response, * this result contains the java stack trace of the runtime exception. * <br><br><b>returnCode</b> - The returnCode of the operation: 0 for success, -1 for failure. */ @Action(name = "Merge Arrays", outputs = { @Output(OutputNames.RETURN_RESULT), @Output(OutputNames.RETURN_CODE), @Output(OutputNames.EXCEPTION) }, responses = { @Response(text = ResponseNames.SUCCESS, field = OutputNames.RETURN_CODE, value = ReturnCodes.SUCCESS, matchType = MatchType.COMPARE_EQUAL, responseType = ResponseType.RESOLVED), @Response(text = ResponseNames.FAILURE, field = OutputNames.RETURN_CODE, value = ReturnCodes.FAILURE, matchType = MatchType.COMPARE_EQUAL, responseType = ResponseType.ERROR, isOnFail = true) }) public Map<String, String> execute(@Param(value = Constants.InputNames.ARRAY, required = true) String array1, @Param(value = Constants.InputNames.ARRAY, required = true) String array2) { Map<String, String> returnResult = new HashMap<>(); if (StringUtilities.isBlank(array1)) { final String exceptionValue = NOT_A_VALID_JSON_ARRAY_MESSAGE + ARRAY1_MESSAGE.replaceFirst("=", EMPTY_STRING); return populateResult(returnResult, exceptionValue, new Exception(exceptionValue)); } if (StringUtilities.isBlank(array2)) { final String exceptionValue = NOT_A_VALID_JSON_ARRAY_MESSAGE + ARRAY2_MESSAGE.replaceFirst("=", EMPTY_STRING); return populateResult(returnResult, new Exception(exceptionValue)); } JsonNode jsonNode1; JsonNode jsonNode2; ObjectMapper mapper = new ObjectMapper(); try { jsonNode1 = mapper.readTree(array1); } catch (IOException exception) { final String value = INVALID_JSON_OBJECT_PROVIDED_EXCEPTION_MESSAGE + ARRAY1_MESSAGE + array1; return populateResult(returnResult, value, exception); } try { jsonNode2 = mapper.readTree(array2); } catch (IOException exception) { final String value = INVALID_JSON_OBJECT_PROVIDED_EXCEPTION_MESSAGE + ARRAY2_MESSAGE + array2; return populateResult(returnResult, value, exception); } final String result; if (jsonNode1 instanceof ArrayNode && jsonNode2 instanceof ArrayNode) { final ArrayNode asJsonArray1 = (ArrayNode) jsonNode1; final ArrayNode asJsonArray2 = (ArrayNode) jsonNode2; final ArrayNode asJsonArrayResult = new ArrayNode(mapper.getNodeFactory()); asJsonArrayResult.addAll(asJsonArray1); asJsonArrayResult.addAll(asJsonArray2); result = asJsonArrayResult.toString(); } else { result = NOT_A_VALID_JSON_ARRAY_MESSAGE + ARRAY1_MESSAGE + array1 + ARRAY2_MESSAGE + array2; return populateResult(returnResult, new Exception(result)); } return populateResult(returnResult, result, null); }
From source file:org.walkmod.conf.providers.yml.AddTransformationYMLAction.java
@Override public void doAction(JsonNode chainsNode) throws Exception { ArrayNode transformationsNode = null; boolean isMultiModule = chainsNode.has("modules"); ObjectMapper mapper = provider.getObjectMapper(); if (!isMultiModule) { boolean validChainName = chain != null && !"".equals(chain) && !"default".equals(chain); if (!chainsNode.has("chains")) { if (chainsNode.has("transformations")) { JsonNode aux = chainsNode.get("transformations"); if (aux.isArray()) { transformationsNode = (ArrayNode) aux; }/*from w w w. ja v a2s . co m*/ if (!validChainName) { ObjectNode auxRoot = (ObjectNode) chainsNode; if (transformationsNode == null) { transformationsNode = new ArrayNode(mapper.getNodeFactory()); } auxRoot.set("transformations", transformationsNode); } else { // reset the root chainsNode = new ObjectNode(mapper.getNodeFactory()); ObjectNode auxRoot = (ObjectNode) chainsNode; // the default chain list added ObjectNode chainObject = new ObjectNode(mapper.getNodeFactory()); chainObject.set("name", new TextNode("default")); chainObject.set("transformations", transformationsNode); ArrayNode chainsListNode = new ArrayNode(mapper.getNodeFactory()); // the requested chain added ObjectNode newChain = new ObjectNode(mapper.getNodeFactory()); newChain.set("name", new TextNode(chain)); if (path != null && !"".equals(path.trim())) { ObjectNode readerNode = new ObjectNode(mapper.getNodeFactory()); newChain.set("reader", readerNode); populateWriterReader(readerNode, path, null, null, null, null); ObjectNode writerNode = new ObjectNode(mapper.getNodeFactory()); newChain.set("writer", writerNode); populateWriterReader(writerNode, path, null, null, null, null); } transformationsNode = new ArrayNode(mapper.getNodeFactory()); newChain.set("transformations", transformationsNode); if (before == null || !"default".equals(before)) { chainsListNode.add(chainObject); } chainsListNode.add(newChain); if (before != null && "default".equals(before)) { chainsListNode.add(chainObject); } auxRoot.set("chains", chainsListNode); } } else { ObjectNode auxRoot = (ObjectNode) chainsNode; transformationsNode = new ArrayNode(mapper.getNodeFactory()); boolean writeChainInfo = validChainName; if (!writeChainInfo) { writeChainInfo = path != null && !"".equals(path.trim()); chain = "default"; } if (writeChainInfo) { ArrayNode auxChainsList = new ArrayNode(mapper.getNodeFactory()); ObjectNode aux = new ObjectNode(mapper.getNodeFactory()); auxChainsList.add(aux); aux.set("name", new TextNode(chain)); if (path != null && !"".equals(path.trim())) { ObjectNode readerNode = new ObjectNode(mapper.getNodeFactory()); aux.set("reader", readerNode); populateWriterReader(readerNode, path, null, null, null, null); } auxRoot.set("chains", auxChainsList); if (path != null && !"".equals(path.trim())) { ObjectNode writerNode = new ObjectNode(mapper.getNodeFactory()); aux.set("writer", writerNode); populateWriterReader(writerNode, path, null, null, null, null); } auxRoot = aux; } auxRoot.set("transformations", transformationsNode); } } else { if (validChainName) { JsonNode aux = chainsNode.get("chains"); boolean found = false; if (aux.isArray()) { Iterator<JsonNode> it = aux.elements(); while (it.hasNext()) { JsonNode next = it.next(); if (next.has("name")) { String id = next.get("name").asText(); if (chain.equals(id)) { found = true; if (next.has("transformations")) { JsonNode auxTrans = next.get("transformations"); if (auxTrans.isArray()) { transformationsNode = (ArrayNode) auxTrans; } else { throw new Exception("The chain [" + chain + "] does not have a valid transformations node"); } } else if (next.isObject()) { ObjectNode auxNext = (ObjectNode) next; transformationsNode = new ArrayNode(mapper.getNodeFactory()); auxNext.set("transformations", transformationsNode); } else { throw new Exception( "The chain [" + chain + "] does not have a valid structure"); } } } } if (!found) { ChainConfig chainCfg = new ChainConfigImpl(); chainCfg.setName(chain); WalkerConfig walkerCfg = new WalkerConfigImpl(); List<TransformationConfig> transfs = new LinkedList<TransformationConfig>(); transfs.add(transformationCfg); walkerCfg.setTransformations(transfs); chainCfg.setWalkerConfig(walkerCfg); provider.addChainConfig(chainCfg, false, before); return; } } } else { ObjectNode node = new ObjectNode(mapper.getNodeFactory()); node.set("name", new TextNode(chain)); ArrayNode transNodes = new ArrayNode(mapper.getNodeFactory()); node.set("transformations", transNodes); ArrayNode array = (ArrayNode) chainsNode.get("chains"); array.add(node); ObjectNode transformationNode = new ObjectNode(mapper.getNodeFactory()); transNodes.add(transformationNode); createTransformation(transformationNode, transformationCfg); return; } } if (transformationsNode != null) { ObjectNode transformationNode = new ObjectNode(mapper.getNodeFactory()); if (order != null && order < transformationsNode.size()) { transformationsNode.insert(order, transformationNode); } else { transformationsNode.add(transformationNode); } createTransformation(transformationNode, transformationCfg); provider.write(chainsNode); return; } else if (chain != null) { throw new Exception("The chain [" + chain + "] does not exists"); } } }