Example usage for com.fasterxml.jackson.databind ObjectMapper getNodeFactory

List of usage examples for com.fasterxml.jackson.databind ObjectMapper getNodeFactory

Introduction

In this page you can find the example usage for com.fasterxml.jackson.databind ObjectMapper getNodeFactory.

Prototype

public JsonNodeFactory getNodeFactory() 

Source Link

Document

Method that can be used to get hold of JsonNodeFactory that this mapper will use when directly constructing root JsonNode instances for Trees.

Usage

From source file:org.walkmod.conf.providers.yml.SetReaderYMLAction.java

@Override
public void doAction(JsonNode node) throws Exception {
    if (node.has("chains") && (chain == null || "".equals(chain.trim()))) {
        chain = "default";
    }/*from   w w  w  .j  a va  2s.co m*/
    ObjectNode reader = null;
    ObjectMapper mapper = provider.getObjectMapper();
    if (chain != null && !"".equals(chain.trim())) {

        if (node.has("chains")) {
            JsonNode chainsListNode = node.get("chains");
            if (chainsListNode.isArray()) {
                Iterator<JsonNode> it = chainsListNode.iterator();
                boolean found = false;
                while (it.hasNext() && !found) {
                    JsonNode current = it.next();
                    if (current.has("name")) {
                        String name = current.get("name").asText();
                        found = name.equals(chain);
                        if (found) {
                            if (current.has("reader")) {
                                reader = (ObjectNode) current.get("reader");
                            } else {
                                reader = new ObjectNode(mapper.getNodeFactory());
                            }
                            if (type != null && !"".equals(type.trim())) {
                                reader.set("type", new TextNode(type));
                            }
                            if (path != null && !"".equals(path.trim())) {
                                reader.set("path", new TextNode(path));
                            }
                            if (params != null && !params.isEmpty()) {
                                ObjectNode paramsObject = null;
                                if (reader.has("params")) {
                                    paramsObject = (ObjectNode) reader.get("params");
                                } else {
                                    paramsObject = new ObjectNode(mapper.getNodeFactory());
                                    reader.set("params", paramsObject);
                                }

                                Set<String> keys = params.keySet();
                                for (String key : keys) {
                                    paramsObject.put(key, params.get(key).toString());
                                }

                            }
                        }
                    }
                }
            }
        }
        if (reader != null) {
            provider.write(node);
        }
    } else {
        if (!node.has("chains")) {
            ArrayNode chains = new ArrayNode(mapper.getNodeFactory());
            ObjectNode defaultChain = new ObjectNode(mapper.getNodeFactory());
            defaultChain.set("name", new TextNode("default"));
            ObjectNode readerNode = new ObjectNode(mapper.getNodeFactory());

            if (type != null && !"".equals(type.trim())) {
                readerNode.set("type", new TextNode(type));
            }
            if (path != null && !"".equals(path.trim())) {
                readerNode.set("path", new TextNode(path));
            }
            if (params != null && !params.isEmpty()) {
                ObjectNode paramsObject = new ObjectNode(mapper.getNodeFactory());
                Set<String> keys = params.keySet();
                for (String key : keys) {
                    paramsObject.put(key, params.get(key).toString());
                }
                readerNode.set("params", paramsObject);
            }
            defaultChain.set("reader", readerNode);
            if (node.has("transformations")) {
                defaultChain.set("transformations", node.get("transformations"));
            }
            chains.add(defaultChain);
            provider.write(chains);
        }

    }

}

From source file:org.walkmod.conf.providers.yml.SetWriterYMLAction.java

@Override
public void doAction(JsonNode node) throws Exception {

    ObjectNode writer = null;//from  w w  w  .j  a va2 s  .  c  om

    ObjectMapper mapper = provider.getObjectMapper();

    if (node.has("chains") && (chain == null || "".equals(chain.trim()))) {
        chain = "default";
    }

    if (chain != null && !"".equals(chain.trim())) {

        if (node.has("chains")) {
            JsonNode chainsListNode = node.get("chains");
            if (chainsListNode.isArray()) {
                Iterator<JsonNode> it = chainsListNode.iterator();
                boolean found = false;
                while (it.hasNext() && !found) {
                    JsonNode current = it.next();
                    if (current.has("name")) {
                        String name = current.get("name").asText();
                        found = name.equals(chain);
                        if (found) {
                            if (current.has("writer")) {
                                writer = (ObjectNode) current.get("writer");
                            } else {
                                writer = new ObjectNode(mapper.getNodeFactory());
                            }

                            if (type != null && !"".equals(type.trim())) {
                                writer.set("type", new TextNode(type));
                            }
                            if (path != null && !"".equals(path.trim())) {
                                writer.set("path", new TextNode(path));
                            }
                            if (params != null && !params.isEmpty()) {
                                ObjectNode paramsObject = null;
                                if (writer.has("params")) {
                                    paramsObject = (ObjectNode) writer.get("params");
                                } else {
                                    paramsObject = new ObjectNode(mapper.getNodeFactory());
                                    writer.set("params", paramsObject);
                                }

                                Set<String> keys = params.keySet();
                                for (String key : keys) {
                                    paramsObject.put(key, params.get(key).toString());
                                }

                            }
                        }
                    }
                }
            }
        }
        if (writer != null) {
            provider.write(node);
        }
    } else {
        if (!node.has("chains")) {
            ArrayNode chains = new ArrayNode(mapper.getNodeFactory());
            ObjectNode defaultChain = new ObjectNode(mapper.getNodeFactory());
            defaultChain.set("name", new TextNode("default"));
            ObjectNode writerNode = new ObjectNode(mapper.getNodeFactory());

            if (type != null && !"".equals(type.trim())) {
                writerNode.set("type", new TextNode(type));
            }
            if (path != null && !"".equals(path.trim())) {
                writerNode.set("path", new TextNode(path));
            }
            if (params != null && !params.isEmpty()) {
                ObjectNode paramsObject = new ObjectNode(mapper.getNodeFactory());
                Set<String> keys = params.keySet();
                for (String key : keys) {
                    paramsObject.put(key, params.get(key).toString());
                }
                writerNode.set("params", paramsObject);
            }

            if (node.has("transformations")) {
                defaultChain.set("transformations", node.get("transformations"));
            }
            defaultChain.set("writer", writerNode);
            chains.add(defaultChain);
            ObjectNode root = new ObjectNode(mapper.getNodeFactory());

            root.set("chains", chains);
            provider.write(root);
        }
    }

}