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

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

Introduction

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

Prototype

public YAMLMapper() 

Source Link

Usage

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  va  2 s  .  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

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   www . ja v  a 2  s  . co 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());
    }// w w w  .j a  v a2s.c o m
    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());
    }//from www  .  jav  a2 s.  co m
    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  a 2 s  . 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());
    }/*from ww  w.j av a 2  s.  c  om*/
    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  ww . ja  v  a 2  s.co  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);
}