Example usage for com.fasterxml.jackson.databind.node ObjectNode ObjectNode

List of usage examples for com.fasterxml.jackson.databind.node ObjectNode ObjectNode

Introduction

In this page you can find the example usage for com.fasterxml.jackson.databind.node ObjectNode ObjectNode.

Prototype

public ObjectNode(JsonNodeFactory paramJsonNodeFactory) 

Source Link

Usage

From source file:org.obiba.mica.micaConfig.service.MicaConfigService.java

private ObjectNode createObjectNode(TaxonomyEntity taxonomy, String locale) {
    ObjectNode taxonomyNode = new ObjectNode(JsonNodeFactory.instance);
    putFieldInNodeIfExists(taxonomyNode, "title", taxonomy.getTitle().get(locale));
    putFieldInNodeIfExists(taxonomyNode, "description", taxonomy.getDescription().get(locale));
    return taxonomyNode;
}

From source file:com.redhat.lightblue.metadata.parser.JSONMetadataParserTest.java

License:asdf

@Test
public void getObjectList() {
    String name = "x";
    int count = 3;
    ObjectNode parent = new ObjectNode(factory);
    ArrayNode array = factory.arrayNode();
    parent.set(name, array);//from w  w  w .  jav  a2s  .com

    for (int i = 0; i < count; i++) {
        array.add(i);
    }

    List<JsonNode> l = parser.getObjectList(parent, name);

    Assert.assertNotNull(l);
    Assert.assertEquals(count, l.size());

    for (int i = 0; i < count; i++) {
        Assert.assertEquals("value at index wrong: " + i, i, l.get(i).intValue());
    }
}

From source file:com.redhat.lightblue.crud.mongo.MongoCRUDController.java

private int saveOrInsert(CRUDOperationContext ctx, boolean upsert, Projection projection, String operation) {
    int ret = 0;//w  ww  .ja v  a  2s .  c  o  m
    List<DocCtx> documents = ctx.getDocumentsWithoutErrors();
    if (documents == null || documents.isEmpty()) {
        return ret;
    }
    for (DocCtx doc : documents) {
        doc.setOriginalDocument(doc);
    }
    LOGGER.debug("saveOrInsert() start");
    Error.push(operation);
    Translator translator = new Translator(ctx, ctx.getFactory().getNodeFactory());
    try {
        FieldAccessRoleEvaluator roleEval = new FieldAccessRoleEvaluator(
                ctx.getEntityMetadata(ctx.getEntityName()), ctx.getCallerRoles());
        LOGGER.debug("saveOrInsert: Translating docs");
        EntityMetadata md = ctx.getEntityMetadata(ctx.getEntityName());
        DBObject[] dbObjects = translator.toBson(documents);
        // dbObjects[i] is the translation of documents.get(i)
        if (dbObjects != null) {
            LOGGER.debug("saveOrInsert: {} docs translated to bson", dbObjects.length);

            MongoDataStore store = (MongoDataStore) md.getDataStore();
            DB db = dbResolver.get(store);
            DBCollection collection = db.getCollection(store.getCollectionName());

            Projection combinedProjection = Projection.add(projection,
                    roleEval.getExcludedFields(FieldAccessRoleEvaluator.Operation.find));

            Projector projector;
            if (combinedProjection != null) {
                projector = Projector.getInstance(combinedProjection, md);
            } else {
                projector = null;
            }
            DocSaver saver = new BasicDocSaver(translator, roleEval);
            ctx.setProperty(PROP_SAVER, saver);
            for (int docIndex = 0; docIndex < dbObjects.length; docIndex++) {
                DBObject dbObject = dbObjects[docIndex];
                DocCtx inputDoc = documents.get(docIndex);
                try {
                    saver.saveDoc(ctx, operation.equals(OP_INSERT) ? DocSaver.Op.insert : DocSaver.Op.save,
                            upsert, collection, md, dbObject, inputDoc);
                    ctx.getHookManager().queueHooks(ctx);
                } catch (Exception e) {
                    LOGGER.error("saveOrInsert failed: {}", e);
                    inputDoc.addError(Error.get(operation, MongoCrudConstants.ERR_SAVE_ERROR, e));
                }
                if (projector != null) {
                    JsonDoc jsonDoc = translator.toJson(dbObject);
                    LOGGER.debug("Translated doc: {}", jsonDoc);
                    inputDoc.setOutputDocument(projector.project(jsonDoc, ctx.getFactory().getNodeFactory()));
                } else {
                    inputDoc.setOutputDocument(new JsonDoc(new ObjectNode(ctx.getFactory().getNodeFactory())));
                }
                LOGGER.debug("projected doc: {}", inputDoc.getOutputDocument());
                if (!inputDoc.hasErrors()) {
                    ret++;
                }
            }
        }
    } catch (Error e) {
        // rethrow lightblue error
        throw e;
    } catch (Exception e) {
        LOGGER.error("Error during insert: {}", e);
        // throw new Error (preserves current error context)
        LOGGER.error(e.getMessage(), e);
        throw Error.get(CrudConstants.ERR_CRUD, e.getMessage());
    } finally {
        Error.pop();
    }
    LOGGER.debug("saveOrInsert() end: {} docs requested, {} saved", documents.size(), ret);
    return ret;
}

From source file:com.redhat.lightblue.metadata.parser.JSONMetadataParserTest.java

License:asdf

@Test
public void getChildNames() {
    List<String> childNames = new ArrayList<>();
    childNames.add("bob");
    childNames.add("jerry");
    childNames.add("hammer");
    childNames.add("suzy");

    ObjectNode parent = new ObjectNode(factory);

    for (String s : childNames) {
        parent.put(s, "value");
    }/*  w w  w .  j  a  va 2s .co  m*/

    Set<String> s = parser.getChildNames(parent);

    Assert.assertNotNull(s);
    Assert.assertEquals(childNames.size(), s.size());

    for (String childName : childNames) {
        s.remove(childName);
    }

    Assert.assertTrue("not all child names were removed..", s.isEmpty());
}

From source file:com.stratio.ingestion.sink.druid.DruidSink.java

private Event buildEvent(Channel channel) {
    final Event takenEvent = channel.take();
    final ObjectNode objectNode = new ObjectNode(JsonNodeFactory.instance);
    Event event = null;//www. j a  v  a2  s. c om
    if (takenEvent != null) {
        event = EventBuilder.withBody(objectNode.toString().getBytes(Charsets.UTF_8), takenEvent.getHeaders());
    }
    return event;
}

From source file:org.jetbrains.webdemo.sessions.MyHttpSession.java

private void sendAddProjectResult() {
    try {/*from  w ww .  j  a  v a2 s  .c o  m*/
        String content = request.getParameter("content");
        if (content != null) {
            try {
                currentProject = objectMapper.readValue(content, Project.class);
                currentProject.name = request.getParameter("args"); //when user calls save as we must change project name
                ExamplesUtils.addHiddenFilesToProject(currentProject);
                String publicId = MySqlConnector.getInstance().addProject(sessionInfo.getUserInfo(),
                        currentProject, "USER_PROJECT");
                ObjectNode result = new ObjectNode(JsonNodeFactory.instance);
                result.put("publicId", publicId);
                Project project = MySqlConnector.getInstance().getProjectContent(publicId);
                result.put("content", objectMapper.writeValueAsString(project));
                writeResponse(result.toString(), HttpServletResponse.SC_OK);
            } catch (IOException e) {
                writeResponse("Can't parse file", HttpServletResponse.SC_BAD_REQUEST);
            }
        } else {
            String name = request.getParameter("name");
            String publicIds = MySqlConnector.getInstance().addProject(sessionInfo.getUserInfo(), name,
                    "USER_PROJECT");
            writeResponse(publicIds, HttpServletResponse.SC_OK);
        }
    } catch (NullPointerException e) {
        writeResponse("Can't get parameters", HttpServletResponse.SC_BAD_REQUEST);
    } catch (DatabaseOperationException e) {
        writeResponse(e.getMessage(), HttpServletResponse.SC_FORBIDDEN);
    }
}

From source file:com.redhat.lightblue.metadata.parser.JSONMetadataParserTest.java

License:asdf

@Test
public void putString() {
    ObjectNode parent = new ObjectNode(factory);
    String name = "foo";
    String value = "bar";

    parser.putString(parent, name, value);

    JsonNode x = parent.get(name);//w  w  w.  jav a 2 s  . com

    Assert.assertNotNull(x);
    Assert.assertEquals(value, x.textValue());
}

From source file:com.redhat.lightblue.metadata.parser.JSONMetadataParserTest.java

License:asdf

@Test
public void putObject() {
    ObjectNode parent = new ObjectNode(factory);
    String name = "foo";
    Object value = new ObjectNode(factory);

    parser.putObject(parent, name, value);

    JsonNode x = parent.get(name);//from   w ww .  j a v  a2 s. c o m

    Assert.assertNotNull(x);
    Assert.assertTrue("expected instanceof ObjectNode", x instanceof ObjectNode);
    Assert.assertEquals(value, x);
}

From source file:com.redhat.lightblue.metadata.parser.JSONMetadataParserTest.java

License:asdf

@Test
public void putValueBoolean() {
    ObjectNode parent = new ObjectNode(factory);
    String name = "foo";
    Boolean value = Boolean.TRUE;

    parser.putValue(parent, name, value);

    JsonNode x = parent.get(name);//from   w  ww. ja va  2s .c  o m

    Assert.assertNotNull(x);
    Assert.assertEquals(value.booleanValue(), x.booleanValue());
}

From source file:org.walkmod.conf.providers.YAMLConfigurationProvider.java

@Override
public void addPluginConfig(final PluginConfig pluginConfig, boolean recursive) throws TransformerException {

    File cfg = new File(fileName);

    ArrayNode pluginList = null;// w ww .  j  a  va 2  s  . co m
    JsonNode node = null;
    try {
        node = mapper.readTree(cfg);
    } catch (Exception e) {

    }
    if (node == null) {
        node = new ObjectNode(mapper.getNodeFactory());
    }
    if (recursive && node.has("modules")) {
        JsonNode aux = node.get("modules");
        if (aux.isArray()) {
            ArrayNode modules = (ArrayNode) aux;
            int max = modules.size();
            for (int i = 0; i < max; i++) {
                JsonNode module = modules.get(i);
                if (module.isTextual()) {
                    String moduleDir = module.asText();

                    try {
                        File auxFile = new File(fileName).getCanonicalFile().getParentFile();
                        YAMLConfigurationProvider child = new YAMLConfigurationProvider(
                                auxFile.getAbsolutePath() + File.separator + moduleDir + File.separator
                                        + "walkmod.yml");
                        child.createConfig();
                        child.addPluginConfig(pluginConfig, recursive);
                    } catch (IOException e) {
                        throw new TransformerException(e);
                    }

                }
            }
        }
    } else {
        if (!node.has("plugins")) {
            pluginList = new ArrayNode(mapper.getNodeFactory());
            if (node.isObject()) {
                ObjectNode aux = (ObjectNode) node;
                aux.set("plugins", pluginList);
            } else {
                throw new TransformerException("The root element is not a JSON node");
            }
        } else {
            JsonNode aux = node.get("plugins");
            if (aux.isArray()) {
                pluginList = (ArrayNode) node.get("plugins");
            } else {
                throw new TransformerException("The plugins element is not a valid array");
            }
        }
        pluginList.add(new TextNode(pluginConfig.getGroupId() + ":" + pluginConfig.getArtifactId() + ":"
                + pluginConfig.getVersion()));
        write(node);
    }
}