List of usage examples for com.fasterxml.jackson.dataformat.yaml YAMLMapper createObjectNode
@Override
public ObjectNode createObjectNode()
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)
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); } }