Search in sources :

Example 46 with Attribute

use of org.omegat.filters3.Attribute in project JMRI by JMRI.

the class OBlockManagerXml method loadPortal.

Portal loadPortal(Element elem) {
    String sysName = null;
    String userName = elem.getAttribute("portalName").getValue();
    if (elem.getAttribute("systemName") == null) {
        if (log.isDebugEnabled()) {
            log.debug("Portal systemName is null");
        }
    } else {
        sysName = elem.getAttribute("systemName").getValue();
    }
    String fromBlockName = null;
    String toBlockName = null;
    // Portals must have user names.
    Portal portal = _portalMgr.getByUserName(userName);
    if (portal != null) {
        fromBlockName = portal.getFromBlock().getSystemName();
        toBlockName = portal.getToBlock().getSystemName();
    } else {
        portal = _portalMgr.providePortal(userName);
    }
    if (portal == null) {
        log.error("unable to create Portal (" + sysName + ", " + userName + ") " + elem + " " + elem.getAttributes());
        return null;
    }
    if (log.isDebugEnabled()) {
        log.debug("create Portal: (" + sysName + ", " + userName + ")");
    }
    OBlock fromBlock = null;
    Element eFromBlk = elem.getChild("fromBlock");
    if (eFromBlk != null && eFromBlk.getAttribute("blockName") != null) {
        String name = eFromBlk.getAttribute("blockName").getValue();
        if (fromBlockName != null && !fromBlockName.equals(name)) {
            log.error("Portal has user name \"" + userName + "\" conflicting with " + portal.toString());
        } else {
            fromBlock = getBlock(name);
            if (fromBlock != null) {
                portal.setFromBlock(fromBlock, false);
                fromBlock.addPortal(portal);
                List<Element> ePathsFromBlock = eFromBlk.getChildren("path");
                for (int i = 0; i < ePathsFromBlock.size(); i++) {
                    Element e = ePathsFromBlock.get(i);
                    String pathName = e.getAttribute("pathName").getValue();
                    String blockName = e.getAttribute("blockName").getValue();
                    if (log.isDebugEnabled()) {
                        log.debug("Load portal= " + userName + " fromBlock= " + fromBlock.getSystemName() + " pathName= " + pathName + " blockName= " + blockName);
                    }
                    /*(if (fromBlock.getSystemName().equals(blockName))*/
                    {
                        // path is in the fromBlock
                        OPath path = getPath(fromBlock, pathName);
                        portal.addPath(path);
                    }
                }
            }
        }
    } else {
        log.error("Portal \"" + userName + "\" has no fromBlock!");
    }
    OBlock toBlock = null;
    Element eToBlk = elem.getChild("toBlock");
    if (eToBlk != null && eToBlk.getAttribute("blockName") != null) {
        String name = eToBlk.getAttribute("blockName").getValue();
        if (toBlockName != null && !toBlockName.equals(name)) {
            log.error("Portal has user name \"" + userName + "\" conflicting with " + portal.toString());
        } else {
            toBlock = getBlock(name);
            if (toBlock != null) {
                portal.setToBlock(toBlock, false);
                toBlock.addPortal(portal);
                List<Element> ePathsToBlock = eToBlk.getChildren("path");
                for (int i = 0; i < ePathsToBlock.size(); i++) {
                    Element e = ePathsToBlock.get(i);
                    String pathName = e.getAttribute("pathName").getValue();
                    String blockName = e.getAttribute("blockName").getValue();
                    if (log.isDebugEnabled()) {
                        log.debug("Load portal= " + userName + " toBlock= " + toBlock.getSystemName() + " pathName= " + pathName + " blockName= " + blockName);
                    }
                    /*if (toBlock.getSystemName().equals(blockName))*/
                    {
                        // path is in the toBlock
                        OPath path = getPath(toBlock, pathName);
                        portal.addPath(path);
                    }
                }
            }
        }
    } else {
        log.error("Portal \"" + userName + "\" has no toBlock!");
    }
    Element eSignal = elem.getChild("fromSignal");
    if (eSignal != null) {
        String name = eSignal.getAttribute("signalName").getValue();
        float length = 0.0f;
        try {
            Attribute attr = eSignal.getAttribute("signalDelay");
            if (attr != null) {
                length = attr.getFloatValue();
            }
        } catch (org.jdom2.DataConversionException e) {
            log.error("Could not parse signalDelay for signal (" + name + ") in portal (" + userName + ")");
        }
        portal.setProtectSignal(Portal.getSignal(name), length, toBlock);
    }
    eSignal = elem.getChild("toSignal");
    if (eSignal != null) {
        String name = eSignal.getAttribute("signalName").getValue();
        float length = 0.0f;
        try {
            Attribute attr = eSignal.getAttribute("signalDelay");
            if (attr != null) {
                length = attr.getFloatValue();
            }
        } catch (org.jdom2.DataConversionException e) {
            log.error("Could not parse signalDelay for signal (" + name + ") in portal (" + userName + ")");
        }
        portal.setProtectSignal(Portal.getSignal(name), length, fromBlock);
    }
    if (log.isDebugEnabled()) {
        log.debug("End Load portal " + userName);
    }
    return portal;
}
Also used : Attribute(org.jdom2.Attribute) Element(org.jdom2.Element) Portal(jmri.jmrit.logix.Portal) OPath(jmri.jmrit.logix.OPath) OBlock(jmri.jmrit.logix.OBlock)

Example 47 with Attribute

use of org.omegat.filters3.Attribute in project JMRI by JMRI.

the class CarLoads method load.

public void load(Element e) {
    if (e.getChild(Xml.LOADS) == null) {
        return;
    }
    Attribute a;
    Element defaults = e.getChild(Xml.LOADS).getChild(Xml.DEFAULTS);
    if (defaults != null) {
        if ((a = defaults.getAttribute(Xml.LOAD)) != null) {
            _loadName = a.getValue();
        }
        if ((a = defaults.getAttribute(Xml.EMPTY)) != null) {
            _emptyName = a.getValue();
        }
    }
    @SuppressWarnings("unchecked") List<Element> eLoads = e.getChild(Xml.LOADS).getChildren(Xml.LOAD);
    log.debug("readFile sees {} car loads", eLoads.size());
    for (Element eLoad : eLoads) {
        if ((a = eLoad.getAttribute(Xml.TYPE)) != null) {
            String type = a.getValue();
            addType(type);
            // old style had a list of names
            if ((a = eLoad.getAttribute(Xml.NAMES)) != null) {
                String names = a.getValue();
                // NOI18N
                String[] loadNames = names.split("%%");
                jmri.util.StringUtil.sort(loadNames);
                log.debug("Car load type: {} loads: {}", type, names);
                // addName puts new items at the start, so reverse load
                for (int j = loadNames.length; j > 0; ) {
                    addName(type, loadNames[--j]);
                }
            }
            // new style load and comments
            @SuppressWarnings("unchecked") List<Element> eCarLoads = eLoad.getChildren(Xml.CAR_LOAD);
            log.debug("{} car loads for type: {}", eCarLoads.size(), type);
            for (Element eCarLoad : eCarLoads) {
                if ((a = eCarLoad.getAttribute(Xml.NAME)) != null) {
                    String name = a.getValue();
                    addName(type, name);
                    if ((a = eCarLoad.getAttribute(Xml.PRIORITY)) != null) {
                        setPriority(type, name, a.getValue());
                    }
                    if ((a = eCarLoad.getAttribute(Xml.PICKUP_COMMENT)) != null) {
                        setPickupComment(type, name, a.getValue());
                    }
                    if ((a = eCarLoad.getAttribute(Xml.DROP_COMMENT)) != null) {
                        setDropComment(type, name, a.getValue());
                    }
                    if ((a = eCarLoad.getAttribute(Xml.LOAD_TYPE)) != null) {
                        setLoadType(type, name, a.getValue());
                    }
                }
            }
        }
    }
}
Also used : RollingStockAttribute(jmri.jmrit.operations.rollingstock.RollingStockAttribute) Attribute(org.jdom2.Attribute) Element(org.jdom2.Element)

Example 48 with Attribute

use of org.omegat.filters3.Attribute in project JMRI by JMRI.

the class CarManager method load.

public void load(Element root) {
    // new format using elements starting version 3.3.1
    if (root.getChild(Xml.NEW_KERNELS) != null) {
        @SuppressWarnings("unchecked") List<Element> eKernels = root.getChild(Xml.NEW_KERNELS).getChildren(Xml.KERNEL);
        log.debug("Car manager sees {} kernels", eKernels.size());
        Attribute a;
        for (Element eKernel : eKernels) {
            if ((a = eKernel.getAttribute(Xml.NAME)) != null) {
                newKernel(a.getValue());
            }
        }
    } else // old format
    if (root.getChild(Xml.KERNELS) != null) {
        String names = root.getChildText(Xml.KERNELS);
        if (!names.equals("")) {
            // NOI18N
            String[] kernelNames = names.split("%%");
            log.debug("kernels: {}", names);
            for (String name : kernelNames) {
                newKernel(name);
            }
        }
    }
    if (root.getChild(Xml.CARS) != null) {
        @SuppressWarnings("unchecked") List<Element> eCars = root.getChild(Xml.CARS).getChildren(Xml.CAR);
        log.debug("readFile sees {} cars", eCars.size());
        for (Element eCar : eCars) {
            register(new Car(eCar));
        }
    }
}
Also used : Attribute(org.jdom2.Attribute) Element(org.jdom2.Element)

Example 49 with Attribute

use of org.omegat.filters3.Attribute in project JMRI by JMRI.

the class TrainCustomCommon method load.

public void load(Element mc) {
    if (mc != null) {
        Attribute a;
        Element directory = mc.getChild(Xml.DIRECTORY);
        if (directory != null && (a = directory.getAttribute(Xml.NAME)) != null) {
            setDirectoryName(a.getValue());
        }
        Element file = mc.getChild(Xml.RUN_FILE);
        if (file != null && (a = file.getAttribute(Xml.NAME)) != null) {
            mcAppName = a.getValue();
        }
        Element common = mc.getChild(Xml.COMMON_FILE);
        if (common != null && (a = common.getAttribute(Xml.NAME)) != null) {
            csvNamesFileName = a.getValue();
        }
    }
}
Also used : Attribute(org.jdom2.Attribute) Element(org.jdom2.Element)

Example 50 with Attribute

use of org.omegat.filters3.Attribute in project JMRI by JMRI.

the class PaneProgFrame method pickProgrammerMode.

protected void pickProgrammerMode(@Nonnull Element programming) {
    log.debug("pickProgrammerMode starts");
    boolean paged = true;
    boolean directbit = true;
    boolean directbyte = true;
    boolean register = true;
    Attribute a;
    // set the programming attributes for DCC
    if ((a = programming.getAttribute("paged")) != null) {
        if (a.getValue().equals("no")) {
            paged = false;
        }
    }
    if ((a = programming.getAttribute("direct")) != null) {
        if (a.getValue().equals("no")) {
            directbit = false;
            directbyte = false;
        } else if (a.getValue().equals("bitOnly")) {
            directbit = true;
            directbyte = false;
        } else if (a.getValue().equals("byteOnly")) {
            directbit = false;
            directbyte = true;
        } else {
            directbit = true;
            directbyte = true;
        }
    }
    if ((a = programming.getAttribute("register")) != null) {
        if (a.getValue().equals("no")) {
            register = false;
        }
    }
    // find an accepted mode to set it to
    List<ProgrammingMode> modes = mProgrammer.getSupportedModes();
    if (log.isDebugEnabled()) {
        log.debug("XML specifies modes: P " + paged + " DBi " + directbit + " Dby " + directbyte + " R " + register + " now " + mProgrammer.getMode());
        log.debug("Programmer supports:");
        for (ProgrammingMode m : modes) {
            log.debug("   {} {}", m.getStandardName(), m.toString());
        }
    }
    // first try specified modes
    for (Element el1 : programming.getChildren("mode")) {
        String name = el1.getText();
        if (log.isDebugEnabled())
            log.debug(" mode {} was specified", name);
        for (ProgrammingMode m : modes) {
            if (name.equals(m.getStandardName())) {
                log.info("Programming mode selected: {} ({})", m.toString(), m.getStandardName());
                mProgrammer.setMode(m);
                return;
            }
        }
    }
    if (modes.contains(DefaultProgrammerManager.DIRECTMODE) && directbit && directbyte) {
        mProgrammer.setMode(DefaultProgrammerManager.DIRECTMODE);
        log.debug("Set to DIRECTMODE");
    } else if (modes.contains(DefaultProgrammerManager.DIRECTBITMODE) && directbit) {
        mProgrammer.setMode(DefaultProgrammerManager.DIRECTBITMODE);
        log.debug("Set to DIRECTBITMODE");
    } else if (modes.contains(DefaultProgrammerManager.DIRECTBYTEMODE) && directbyte) {
        mProgrammer.setMode(DefaultProgrammerManager.DIRECTBYTEMODE);
        log.debug("Set to DIRECTBYTEMODE");
    } else if (modes.contains(DefaultProgrammerManager.PAGEMODE) && paged) {
        mProgrammer.setMode(DefaultProgrammerManager.PAGEMODE);
        log.debug("Set to PAGEMODE");
    } else if (modes.contains(DefaultProgrammerManager.REGISTERMODE) && register) {
        mProgrammer.setMode(DefaultProgrammerManager.REGISTERMODE);
        log.debug("Set to REGISTERMODE");
    } else {
        log.warn("No acceptable mode found, leave as found");
    }
}
Also used : Attribute(org.jdom2.Attribute) Element(org.jdom2.Element) ProgrammingMode(jmri.ProgrammingMode)

Aggregations

Attribute (org.jdom2.Attribute)148 Element (org.jdom2.Element)104 Document (org.jdom2.Document)18 ArrayList (java.util.ArrayList)17 DataConversionException (org.jdom2.DataConversionException)16 Editor (jmri.jmrit.display.Editor)15 Test (org.junit.Test)15 IOException (java.io.IOException)14 NamedIcon (jmri.jmrit.catalog.NamedIcon)13 Attribute (org.bouncycastle.asn1.x509.Attribute)11 HashMap (java.util.HashMap)10 List (java.util.List)9 HashSet (java.util.HashSet)7 Map (java.util.Map)7 LayoutEditor (jmri.jmrit.display.layoutEditor.LayoutEditor)7 Attribute (ucar.nc2.Attribute)7 Asn1Integer (com.android.hotspot2.asn1.Asn1Integer)5 Asn1Object (com.android.hotspot2.asn1.Asn1Object)5 Asn1Oid (com.android.hotspot2.asn1.Asn1Oid)5 OidMappings (com.android.hotspot2.asn1.OidMappings)5