Search in sources :

Example 21 with Element

use of com.zhan_dui.utils.m3u8.Element in project pcgen by PCGen.

the class NameGenPanel method loadRuleSet.

private RuleSet loadRuleSet(Element ruleSet) throws DataConversionException {
    RuleSet rs = new RuleSet(allVars, ruleSet.getAttributeValue("title"), ruleSet.getAttributeValue("id"), ruleSet.getAttributeValue("usage"));
    java.util.List<?> elements = ruleSet.getChildren();
    ListIterator<?> elementsIterator = elements.listIterator();
    int num = 0;
    while (elementsIterator.hasNext()) {
        Element child = (Element) elementsIterator.next();
        String elementName = child.getName();
        if (elementName.equals("CATEGORY")) {
            loadCategory(child, rs);
        } else if (elementName.equals("RULE")) {
            rs.add(loadRule(child, rs.getId() + num));
        }
        num++;
    }
    return rs;
}
Also used : RuleSet(pcgen.core.doomsdaybook.RuleSet) DataElement(pcgen.core.doomsdaybook.DataElement) Element(org.jdom2.Element)

Example 22 with Element

use of com.zhan_dui.utils.m3u8.Element in project pcgen by PCGen.

the class NameGenPanel method loadRule.

private String loadRule(Element rule, String id) throws DataConversionException {
    Rule dataRule = new Rule(allVars, id, id, rule.getAttribute("weight").getIntValue());
    java.util.List<?> elements = rule.getChildren();
    for (final Object element : elements) {
        Element child = (Element) element;
        String elementName = child.getName();
        if (elementName.equals("GETLIST")) {
            String listId = child.getAttributeValue("idref");
            dataRule.add(listId);
        } else if (elementName.equals("SPACE")) {
            SpaceRule sp = new SpaceRule();
            allVars.addDataElement(sp);
            dataRule.add(sp.getId());
        } else if (elementName.equals("HYPHEN")) {
            HyphenRule hy = new HyphenRule();
            allVars.addDataElement(hy);
            dataRule.add(hy.getId());
        } else if (elementName.equals("CR")) {
            CRRule cr = new CRRule();
            allVars.addDataElement(cr);
            dataRule.add(cr.getId());
        } else if (elementName.equals("GETRULE")) {
            String ruleId = child.getAttributeValue("idref");
            dataRule.add(ruleId);
        }
    }
    allVars.addDataElement(dataRule);
    return dataRule.getId();
}
Also used : SpaceRule(pcgen.core.doomsdaybook.SpaceRule) HyphenRule(pcgen.core.doomsdaybook.HyphenRule) CRRule(pcgen.core.doomsdaybook.CRRule) DataElement(pcgen.core.doomsdaybook.DataElement) Element(org.jdom2.Element) CRRule(pcgen.core.doomsdaybook.CRRule) HyphenRule(pcgen.core.doomsdaybook.HyphenRule) Rule(pcgen.core.doomsdaybook.Rule) SpaceRule(pcgen.core.doomsdaybook.SpaceRule)

Example 23 with Element

use of com.zhan_dui.utils.m3u8.Element in project pcgen by PCGen.

the class DiceBagModel method loadFromDocument.

/**
	 * <p>Loads the dicebag data from the specified jdom document.</p>
	 *
	 * @param doc A JDOM document.
	 */
private void loadFromDocument(Document doc) {
    m_dice.clear();
    Element root = doc.getRootElement();
    if (root.getName().equals("dice-bag")) {
        m_name = root.getAttributeValue("name");
        List children = root.getChildren("dice-roll");
        for (Iterator i = children.iterator(); i.hasNext(); ) {
            Element die = (Element) i.next();
            m_dice.add(die.getTextNormalize());
        }
    }
}
Also used : Element(org.jdom2.Element) Iterator(java.util.Iterator) ArrayList(java.util.ArrayList) List(java.util.List)

Example 24 with Element

use of com.zhan_dui.utils.m3u8.Element in project pcgen by PCGen.

the class Initiative method loadFromDocument.

/**
	 *  Loads a character or party from an XML document
	 *
	 *@param  character  XML document containing a character or a party
	 * @param comp
	 */
private void loadFromDocument(Document character, PCGenMessageHandler comp) {
    if (character.getRootElement().getName().equals("Party")) {
        Element party = character.getRootElement();
        List xmlList = party.getChildren("Character");
        for (Object aXmlList : xmlList) {
            Element eCharacter = (Element) aXmlList;
            InitHolder combatant = new XMLCombatant(eCharacter);
            initList.add(combatant);
        }
        List pcgList = party.getChildren("PcgCombatant");
        for (Object aPcgList : pcgList) {
            Element eCharacter = (Element) aPcgList;
            final PcgCombatant combatant = new PcgCombatant(eCharacter, comp, messageHandler);
            initList.add(combatant);
            addTab(combatant);
        }
        List eventList = party.getChildren("Event");
        for (Object anEventList : eventList) {
            Element eCharacter = (Element) anEventList;
            InitHolder combatant = new Event(eCharacter);
            initList.add(combatant);
        }
        List spellList = party.getChildren("Spell");
        for (Object aSpellList : spellList) {
            Element eCharacter = (Element) aSpellList;
            InitHolder combatant = new Spell(eCharacter);
            initList.add(combatant);
        }
        initList.calculateNumberField();
    } else if (character.getRootElement().getName().equals("Character")) {
        Element eCharacter = character.getRootElement();
        InitHolder combatant = new XMLCombatant(eCharacter);
        initList.add(combatant);
    }
}
Also used : PcgCombatant(gmgen.plugin.PcgCombatant) Element(org.jdom2.Element) HyperlinkEvent(javax.swing.event.HyperlinkEvent) ListSelectionEvent(javax.swing.event.ListSelectionEvent) ActionEvent(java.awt.event.ActionEvent) Event(gmgen.plugin.Event) List(java.util.List) InitHolderList(gmgen.plugin.InitHolderList) ArrayList(java.util.ArrayList) InitHolder(gmgen.plugin.InitHolder) XMLCombatant(plugin.initiative.XMLCombatant) Spell(gmgen.plugin.Spell)

Example 25 with Element

use of com.zhan_dui.utils.m3u8.Element in project pcgen by PCGen.

the class TravelMethodFactory method create.

public static TravelMethod create(Document methodSet) {
    Localized name;
    Map<String, Map<String, Combo>> multByRoadByTerrains;
    Map<String, List<Localized>> terrains2;
    Map<String, Map<Localized, String>> terrainsById2;
    Map<String, List<Localized>> routes2;
    Map<String, Map<Localized, String>> routesById2;
    List<Method> methods;
    Element travel = methodSet.getRootElement();
    NumberFormat nf = getNumberFormat(travel);
    name = new Localized(travel);
    multByRoadByTerrains = new HashMap<>();
    terrains2 = new HashMap<>();
    terrainsById2 = new HashMap<>();
    routes2 = new HashMap<>();
    routesById2 = new HashMap<>();
    methods = new ArrayList<>();
    for (Object methodObj : travel.getChildren()) {
        Element child = (Element) methodObj;
        if (child.getName().equals(XML_ELEMENT_WAY)) {
            String wayId = child.getAttributeValue(XML_ATTRIBUTE_ID);
            List<Localized> terrains = new ArrayList<>();
            terrains2.put(wayId, terrains);
            List<Localized> routes = new ArrayList<>();
            routes2.put(wayId, routes);
            Map<Localized, String> terrainsById = new HashMap<>();
            terrainsById2.put(wayId, terrainsById);
            Map<Localized, String> routesById = new HashMap<>();
            routesById2.put(wayId, routesById);
            for (Object o : child.getChildren()) {
                if (o instanceof Element) {
                    Element grandchild = (Element) o;
                    if (grandchild.getName().equals(XML_ELEMENT_TERRAIN)) {
                        String id = grandchild.getAttributeValue(XML_ATTRIBUTE_ID);
                        Localized terrain = new Localized(grandchild);
                        terrains.add(terrain);
                        terrainsById.put(terrain, id);
                        if (!multByRoadByTerrains.containsKey(id)) {
                            multByRoadByTerrains.put(id, new TreeMap<>());
                        }
                    } else if (grandchild.getName().equals(XML_ELEMENT_ROUTE)) {
                        String id = grandchild.getAttributeValue(XML_ATTRIBUTE_ID);
                        Localized route = new Localized(grandchild);
                        routes.add(route);
                        routesById.put(route, id);
                        for (Object gcc : grandchild.getChildren(XML_ELEMENT_COMBO)) {
                            if (gcc instanceof Element) {
                                Element grandgrandchild = (Element) gcc;
                                String idTerrain = grandgrandchild.getAttributeValue(XML_ELEMENT_TERRAIN);
                                Number mult = parseNumber(nf, grandgrandchild, XML_ATTRIBUTE_MULT, 1);
                                Number addMph = parseNumber(nf, grandgrandchild, XML_ATTRIBUTE_ADDMPH, 0);
                                Number addKmh = parseNumber(nf, grandgrandchild, XML_ATTRIBUTE_ADDKMH, 0);
                                if (!multByRoadByTerrains.containsKey(idTerrain)) {
                                    multByRoadByTerrains.put(idTerrain, new TreeMap<>());
                                }
                                multByRoadByTerrains.get(idTerrain).put(id, new Combo(mult, addMph, addKmh));
                            }
                        }
                    }
                }
            }
        // Sort the terrains by locale name
        // TODO sort, but with one that do toString on the object. Collections.sort(terrains, Collator.getInstance());
        // not sorting routes intentionally (it goes from easier to navigate to hardest)
        } else if (child.getName().equals(XML_ELEMENT_METHOD)) {
            String way = child.getAttributeValue(XML_ELEMENT_WAY);
            Method method = new Method(new Localized(child), way);
            methods.add(method);
            for (Object o : child.getChildren()) {
                if (o instanceof Element) {
                    Element grandchild = (Element) o;
                    if (grandchild.getName().equals(XML_ELEMENT_PACE)) {
                        Localized pace = new Localized(grandchild);
                        boolean useDays = Boolean.parseBoolean(grandchild.getAttributeValue(XML_ATTRIBUTE_DAYS));
                        Localized comment = new Localized(grandchild, XML_ATTRIBUTE_COMMENT);
                        Number mult = parseNumber(nf, grandchild, XML_ATTRIBUTE_MULT, 1);
                        Pace newPace = new Pace(pace, comment, useDays, mult);
                        method.add(newPace);
                    }
                    if (grandchild.getName().equals(XML_ELEMENT_CHOOSE_FROM)) {
                        // XXX other default?
                        Number kmh = parseNumber(nf, grandchild, XML_ATTRIBUTE_KMH, 0.75);
                        // XXX other default?
                        Number mph = parseNumber(nf, grandchild, XML_ATTRIBUTE_MPH, 0.5);
                        // XXX other default?
                        Number hoursInDay = parseNumber(nf, grandchild, XML_ATTRIBUTE_HOURSINDAY, 24);
                        for (Object o2 : grandchild.getChildren(XML_ELEMENT_CHOICE)) {
                            if (o2 instanceof Element) {
                                Element grandgrandchild = (Element) o2;
                                Localized choiceName = new Localized(grandgrandchild);
                                Number mult = parseNumber(nf, grandgrandchild, XML_ATTRIBUTE_MULT, 1);
                                Choice c = new Choice(choiceName, hoursInDay, mult.doubleValue() * kmh.doubleValue(), mult.doubleValue() * mph.doubleValue());
                                method.add(c);
                            }
                        }
                    }
                }
            }
        }
    }
    return new TravelMethodImplementation(name, multByRoadByTerrains, terrains2, terrainsById2, routes2, routesById2, methods);
}
Also used : Choice(plugin.overland.model.TravelMethodImplementation.Choice) HashMap(java.util.HashMap) Element(org.jdom2.Element) ArrayList(java.util.ArrayList) Combo(plugin.overland.model.TravelMethodImplementation.Combo) Pace(plugin.overland.model.TravelMethodImplementation.Pace) ArrayList(java.util.ArrayList) List(java.util.List) Method(plugin.overland.model.TravelMethodImplementation.Method) TreeMap(java.util.TreeMap) HashMap(java.util.HashMap) TreeMap(java.util.TreeMap) Map(java.util.Map) Localized(plugin.overland.util.Localized) NumberFormat(java.text.NumberFormat)

Aggregations

Element (org.jdom2.Element)673 Attribute (org.jdom2.Attribute)73 Document (org.jdom2.Document)58 File (java.io.File)49 ArrayList (java.util.ArrayList)36 NamedIcon (jmri.jmrit.catalog.NamedIcon)27 IOException (java.io.IOException)26 JDOMException (org.jdom2.JDOMException)26 XmlFile (jmri.jmrit.XmlFile)24 Test (org.junit.Test)24 Turnout (jmri.Turnout)20 DataConversionException (org.jdom2.DataConversionException)20 DocType (org.jdom2.DocType)19 Editor (jmri.jmrit.display.Editor)18 Point (java.awt.Point)15 HashMap (java.util.HashMap)15 Dimension (java.awt.Dimension)14 FileNotFoundException (java.io.FileNotFoundException)13 SignalHead (jmri.SignalHead)13 List (java.util.List)12