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;
}
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());
}
}
}
}
}
}
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));
}
}
}
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();
}
}
}
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");
}
}
Aggregations