Example usage for com.fasterxml.jackson.dataformat.yaml YAMLMapper createObjectNode

List of usage examples for com.fasterxml.jackson.dataformat.yaml YAMLMapper createObjectNode

Introduction

In this page you can find the example usage for com.fasterxml.jackson.dataformat.yaml YAMLMapper createObjectNode.

Prototype

@Override
public ObjectNode createObjectNode() 

Source Link

Document

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)

Usage

From source file:pl.betoncraft.betonquest.editor.model.QuestPackage.java

public void printEventsYaml(OutputStream out) throws IOException {
    YAMLFactory yf = new YAMLFactory();
    YAMLMapper mapper = new YAMLMapper();
    ObjectNode root = mapper.createObjectNode();
    for (Event event : events) {
        root.put(event.getId().get(), event.getInstruction().get());
    }//from  w w w.  j av a2  s. c o  m
    yf.createGenerator(out).setCodec(mapper).writeObject(root);
}

From source file:pl.betoncraft.betonquest.editor.model.QuestPackage.java

public void printConditionsYaml(OutputStream out) throws IOException {
    YAMLFactory yf = new YAMLFactory();
    YAMLMapper mapper = new YAMLMapper();
    ObjectNode root = mapper.createObjectNode();
    for (Condition condition : conditions) {
        root.put(condition.getId().get(), condition.getInstruction().get());
    }/* www  .j ava2s  . c om*/
    yf.createGenerator(out).setCodec(mapper).writeObject(root);
}

From source file:pl.betoncraft.betonquest.editor.model.QuestPackage.java

public void printObjectivesYaml(OutputStream out) throws IOException {
    YAMLFactory yf = new YAMLFactory();
    YAMLMapper mapper = new YAMLMapper();
    ObjectNode root = mapper.createObjectNode();
    for (Objective objective : objectives) {
        root.put(objective.getId().get(), objective.getInstruction().get());
    }/*  w w w.j a v a  2 s  .  c om*/
    yf.createGenerator(out).setCodec(mapper).writeObject(root);
}

From source file:pl.betoncraft.betonquest.editor.model.QuestPackage.java

public void printItemsYaml(OutputStream out) throws IOException {
    YAMLFactory yf = new YAMLFactory();
    YAMLMapper mapper = new YAMLMapper();
    ObjectNode root = mapper.createObjectNode();
    for (Item item : items) {
        root.put(item.getId().get(), item.getInstruction().get());
    }//from  w  w  w .j av a2s . c om
    yf.createGenerator(out).setCodec(mapper).writeObject(root);
}

From source file:pl.betoncraft.betonquest.editor.model.QuestPackage.java

public void printJournalYaml(OutputStream out) throws IOException {
    YAMLFactory yf = new YAMLFactory();
    YAMLMapper mapper = new YAMLMapper();
    ObjectNode root = mapper.createObjectNode();
    for (JournalEntry entry : journal) {
        addTranslatedNode(mapper, root, entry.getId().get(), entry.getText());
    }// w ww . j  av  a2 s  .  c o  m
    yf.createGenerator(out).setCodec(mapper).writeObject(root);
}

From source file:pl.betoncraft.betonquest.editor.model.QuestPackage.java

public void printConversationYaml(OutputStream out, Conversation conv) throws IOException {
    YAMLFactory yf = new YAMLFactory();
    YAMLMapper mapper = new YAMLMapper();
    ObjectNode root = mapper.createObjectNode();
    addTranslatedNode(mapper, root, "quester", conv.getNPC());
    root.put("stop", String.valueOf(conv.getStop().get()));
    StringBuilder first = new StringBuilder();
    for (IdWrapper<NpcOption> option : conv.getStartingOptions()) {
        first.append(option.toString() + ',');
    }//from w  w  w  .jav  a2  s.  c  o m
    root.put("first", first.substring(0, first.length() - 1));
    if (!conv.getFinalEvents().isEmpty()) {
        StringBuilder finalEvents = new StringBuilder();
        for (IdWrapper<Event> event : conv.getFinalEvents()) {
            finalEvents.append(event.toString() + ',');
        }
        root.put("final", finalEvents.substring(0, finalEvents.length() - 1));
    }
    if (!conv.getNpcOptions().isEmpty()) {
        ObjectNode npcOptions = mapper.createObjectNode();
        for (NpcOption option : conv.getNpcOptions()) {
            ObjectNode npcOption = mapper.createObjectNode();
            addTranslatedNode(mapper, npcOption, "text", option.getText());
            if (!option.getEvents().isEmpty()) {
                StringBuilder events = new StringBuilder();
                for (IdWrapper<Event> event : option.getEvents()) {
                    events.append(event.toString() + ',');
                }
                npcOption.put("events", events.substring(0, events.length() - 1));
            }
            if (!option.getConditions().isEmpty()) {
                StringBuilder conditions = new StringBuilder();
                for (IdWrapper<Condition> condition : option.getConditions()) {
                    conditions.append(condition.toString() + ',');
                }
                npcOption.put("conditions", conditions.substring(0, conditions.length() - 1));
            }
            if (!option.getPointers().isEmpty()) {
                StringBuilder pointers = new StringBuilder();
                for (IdWrapper<ConversationOption> pointer : option.getPointers()) {
                    pointers.append(pointer.toString() + ',');
                }
                npcOption.put("pointers", pointers.substring(0, pointers.length() - 1));
            }
            npcOptions.set(option.getId().get(), npcOption);
        }
        root.set("NPC_options", npcOptions);
    }
    if (!conv.getPlayerOptions().isEmpty()) {
        ObjectNode playerOptions = mapper.createObjectNode();
        for (PlayerOption option : conv.getPlayerOptions()) {
            ObjectNode playerOption = mapper.createObjectNode();
            addTranslatedNode(mapper, playerOption, "text", option.getText());
            if (!option.getEvents().isEmpty()) {
                StringBuilder events = new StringBuilder();
                for (IdWrapper<Event> event : option.getEvents()) {
                    events.append(event.toString() + ',');
                }
                playerOption.put("events", events.substring(0, events.length() - 1));
            }
            if (!option.getConditions().isEmpty()) {
                StringBuilder conditions = new StringBuilder();
                for (IdWrapper<Condition> condition : option.getConditions()) {
                    conditions.append(condition.toString() + ',');
                }
                playerOption.put("conditions", conditions.substring(0, conditions.length() - 1));
            }
            if (!option.getPointers().isEmpty()) {
                StringBuilder pointers = new StringBuilder();
                for (IdWrapper<ConversationOption> pointer : option.getPointers()) {
                    pointers.append(pointer.toString() + ',');
                }
                playerOption.put("pointers", pointers.substring(0, pointers.length() - 1));
            }
            playerOptions.set(option.getId().get(), playerOption);
        }
        root.set("player_options", playerOptions);
    }
    yf.createGenerator(out).setCodec(mapper).writeObject(root);
}

From source file:pl.betoncraft.betonquest.editor.model.QuestPackage.java

public void printMainYAML(OutputStream out) throws IOException {
    YAMLFactory yf = new YAMLFactory();
    YAMLMapper mapper = new YAMLMapper();
    ObjectNode root = mapper.createObjectNode();
    // save NPCs/*from   w w  w. ja v  a  2s .  c o  m*/
    if (!npcBindings.isEmpty()) {
        ObjectNode npcs = mapper.createObjectNode();
        for (NpcBinding binding : npcBindings) {
            npcs.put(binding.getId().get(), binding.getConversation().get().getId().get());
        }
        root.set("npcs", npcs);
    }
    // save global variables
    if (!variables.isEmpty()) {
        ObjectNode variables = mapper.createObjectNode();
        for (GlobalVariable var : this.variables) {
            variables.put(var.getId().get(), var.getInstruction().get());
        }
        root.set("variables", variables);
    }
    // save static events
    if (!staticEvents.isEmpty()) {
        ObjectNode staticEvents = mapper.createObjectNode();
        for (StaticEvent event : this.staticEvents) {
            staticEvents.put(event.getId().get(), event.getEvent().get().getId().get());
        }
        root.set("static", staticEvents);
    }
    // save global locations
    if (!locations.isEmpty()) {
        StringBuilder builder = new StringBuilder();
        for (GlobalLocation loc : locations) {
            builder.append(loc.toString() + ",");
        }
        root.put("global_locations", builder.toString().substring(0, builder.length() - 1));
    }
    // save quest cancelers
    if (!cancelers.isEmpty()) {
        ObjectNode cancelers = mapper.createObjectNode();
        for (QuestCanceler canceler : this.cancelers) {
            ObjectNode cancelerNode = mapper.createObjectNode();
            addTranslatedNode(mapper, cancelerNode, "name", canceler.getName());
            if (!canceler.getEvents().isEmpty()) {
                StringBuilder events = new StringBuilder();
                for (IdWrapper<Event> event : canceler.getEvents()) {
                    events.append(event.toString() + ',');
                }
                cancelerNode.put("events", events.toString().substring(0, events.length() - 1));
            }
            if (!canceler.getConditions().isEmpty()) {
                StringBuilder conditions = new StringBuilder();
                for (ConditionWrapper condition : canceler.getConditions()) {
                    conditions.append(condition.toString() + ',');
                }
                cancelerNode.put("conditions", conditions.toString().substring(0, conditions.length() - 1));
            }
            if (!canceler.getObjectives().isEmpty()) {
                StringBuilder objectives = new StringBuilder();
                for (IdWrapper<Objective> objective : canceler.getObjectives()) {
                    objectives.append(objective.toString() + ',');
                }
                cancelerNode.put("objectives", objectives.toString().substring(0, objectives.length() - 1));
            }
            if (!canceler.getTags().isEmpty()) {
                StringBuilder tags = new StringBuilder();
                for (IdWrapper<Tag> tag : canceler.getTags()) {
                    tags.append(tag.toString() + ',');
                }
                cancelerNode.put("tags", tags.toString().substring(0, tags.length() - 1));
            }
            if (!canceler.getPoints().isEmpty()) {
                StringBuilder points = new StringBuilder();
                for (IdWrapper<PointCategory> point : canceler.getPoints()) {
                    points.append(point.toString() + ',');
                }
                cancelerNode.put("points", points.toString().substring(0, points.length() - 1));
            }
            if (!canceler.getJournal().isEmpty()) {
                StringBuilder journals = new StringBuilder();
                for (IdWrapper<JournalEntry> journal : canceler.getJournal()) {
                    journals.append(journal.toString() + ',');
                }
                cancelerNode.put("journal", journals.toString().substring(0, journals.length() - 1));
            }
            if (canceler.getLocation() != null) {
                cancelerNode.put("loc", canceler.getLocation());
            }
            cancelers.set(canceler.getId().get(), cancelerNode);
        }
        root.set("cancel", cancelers);
    }
    // save main page
    if (!mainPage.isEmpty()) {
        ObjectNode lines = mapper.createObjectNode();
        for (MainPageLine line : mainPage) {
            ObjectNode node = mapper.createObjectNode();
            addTranslatedNode(mapper, node, "text", line.getText());
            node.put("priority", line.getPriority().get());
            StringBuilder conditions = new StringBuilder();
            for (ConditionWrapper condition : line.getConditions()) {
                conditions.append(condition.toString() + ',');
            }
            node.put("conditions", conditions.substring(0, conditions.length() - 1));
            lines.set(line.getId().get(), node);
        }
        root.set("journal_main_page", lines);
    }
    yf.createGenerator(out).setCodec(mapper).writeObject(root);
}

From source file:pl.betoncraft.betonquest.editor.model.QuestPackage.java

private void addTranslatedNode(YAMLMapper mapper, ObjectNode root, String name, TranslatableText text) {
    if (text.getDef() != null) {
        root.put(name, text.getDef().get());
    } else {//from   w  ww  .  j  a va  2s. c om
        ObjectNode node = mapper.createObjectNode();
        for (String lang : text.getLanguages()) {
            if (lang == null) { // TODO find out why there's a null language
                continue;
            }
            node.put(lang, text.get(lang).get());
        }
        root.set(name, node);
    }
}