use of org.jdom2.DocType in project JMRI by JMRI.
the class VariableTableModelTest method testVarSpeedTable.
// Check creating a speed table, then finding it by name
public void testVarSpeedTable() {
String[] args = { "CV", "Name" };
VariableTableModel t = new VariableTableModel(null, args, new CvTableModel(null, p), null);
// create a JDOM tree with just some elements
Element root = new Element("decoder-config");
Document doc = new Document(root);
doc.setDocType(new DocType("decoder-config", "decoder-config.dtd"));
// add some elements
Element el0;
root.addContent(// the sites information here lists all relevant
new Element("decoder").addContent(new Element("variables").addContent(el0 = new Element("variable").setAttribute("CV", "67").setAttribute("label", "Speed Table").setAttribute("mask", "VVVVVVVV").setAttribute("readOnly", "").addContent(new Element("speedTableVal")))));
// end of adding contents
// and test reading this
t.setRow(0, el0);
// check finding
Assert.assertEquals("length of variable list ", 1, t.getRowCount());
Assert.assertEquals("name of 1st variable ", "Speed Table", t.getLabel(0));
Assert.assertEquals("find Speed Table ", 0, t.findVarIndex("Speed Table"));
Assert.assertEquals("find nonexistant variable ", -1, t.findVarIndex("not there, eh?"));
}
use of org.jdom2.DocType in project JMRI by JMRI.
the class PaneProgPaneTest method setupDoc.
// provide a test document in the above static variables
void setupDoc() {
// create a JDOM tree with just some elements
root = new Element("programmer-config");
doc = new Document(root);
doc.setDocType(new DocType("programmer-config", "programmer-config.dtd"));
// add some elements
root.addContent(new Element("programmer").addContent(pane1 = new Element("pane").setAttribute("name", "Basic").addContent(new Element("column").addContent(new Element("display").setAttribute("item", "Primary Address")).addContent(new Element("display").setAttribute("item", "Start voltage")).addContent(new Element("display").setAttribute("item", "Normal direction of motion"))).addContent(new Element("column").addContent(new Element("display").setAttribute("item", "Address")).addContent(new Element("display").setAttribute("item", "Normal direction of motion")).addContent(new Element("display").setAttribute("item", "Normal direction of motion").setAttribute("format", "checkbox")).addContent(new Element("display").setAttribute("item", "Normal direction of motion").setAttribute("format", "radiobuttons")))).addContent(pane2 = new Element("pane").setAttribute("name", "CV").addContent(new Element("column").addContent(new Element("cvtable")))).addContent(pane3 = new Element("pane").setAttribute("name", "Other").addContent(new Element("column").addContent(new Element("display").setAttribute("item", "Address")).addContent(new Element("display").setAttribute("item", "Normal direction of motion")))));
// end of adding contents
log.debug("setupDoc complete");
}
use of org.jdom2.DocType in project JMRI by JMRI.
the class VariableTableModelTest method testVarTableLoad_2_3.
// Check loading two columns, three rows
public void testVarTableLoad_2_3() {
String[] args = { "CV", "Name" };
VariableTableModel t = new VariableTableModel(null, args, new CvTableModel(null, p), null);
// create a JDOM tree with just some elements
Element root = new Element("decoder-config");
Document doc = new Document(root);
doc.setDocType(new DocType("decoder-config", "decoder-config.dtd"));
// add some elements
Element el0, el1;
root.addContent(// the sites information here lists all relevant
new Element("decoder").addContent(new Element("variables").addContent(el0 = new Element("variable").setAttribute("CV", "1").setAttribute("label", "one").setAttribute("mask", "VVVVVVVV").setAttribute("item", "really two").setAttribute("readOnly", "no").addContent(new Element("decVal").setAttribute("max", "31").setAttribute("min", "1"))).addContent(el1 = new Element("variable").setAttribute("CV", "4").setAttribute("readOnly", "no").setAttribute("mask", "XXXVVVVX").setAttribute("label", "two").addContent(new Element("decVal").setAttribute("max", "31").setAttribute("min", "1")))));
// end of adding contents
// print JDOM tree, to check
//OutputStream o = System.out;
//XMLOutputter fmt = new XMLOutputter();
//fmt.setNewlines(true); // pretty printing
//fmt.setIndent(true);
//try {
// fmt.output(doc, o);
//} catch (Exception e) { System.out.println("error writing XML: "+e);}
// and test reading this
t.setRow(0, el0);
Assert.assertTrue(t.getValueAt(0, 0).equals("1"));
Assert.assertTrue(t.getValueAt(0, 1).equals("one"));
// check that the variable names were set right
Assert.assertEquals("check loaded label ", "one", t.getLabel(0));
Assert.assertEquals("check loaded item ", "really two", t.getItem(0));
t.setRow(1, el1);
Assert.assertTrue(t.getValueAt(1, 0).equals("4"));
Assert.assertTrue(t.getValueAt(1, 1).equals("two"));
Assert.assertTrue(t.getRowCount() == 2);
// check finding
Assert.assertEquals("find variable two ", 1, t.findVarIndex("two"));
Assert.assertEquals("find nonexistant variable ", -1, t.findVarIndex("not there, eh?"));
}
use of org.jdom2.DocType in project JMRI by JMRI.
the class VariableTableModelTest method testVarTableLoadLongAddr.
// Check creating a longaddr type, walk through its programming
public void testVarTableLoadLongAddr() {
String[] args = { "CV", "Name" };
VariableTableModel t = new VariableTableModel(null, args, new CvTableModel(null, p), null);
// create a JDOM tree with just some elements
Element root = new Element("decoder-config");
Document doc = new Document(root);
doc.setDocType(new DocType("decoder-config", "decoder-config.dtd"));
// add some elements
Element el0;
root.addContent(// the sites information here lists all relevant
new Element("decoder").addContent(new Element("variables").addContent(el0 = new Element("variable").setAttribute("CV", "17").setAttribute("readOnly", "no").setAttribute("mask", "VVVVVVVV").setAttribute("label", "long").addContent(new Element("longAddressVal")))));
// end of adding contents
// print JDOM tree, to check
//OutputStream o = System.out;
//XMLOutputter fmt = new XMLOutputter();
//fmt.setNewlines(true); // pretty printing
//fmt.setIndent(true);
//try {
// fmt.output(doc, o);
//} catch (Exception e) { System.out.println("error writing XML: "+e);}
// and test reading this
t.setRow(0, el0);
Assert.assertTrue(t.getValueAt(0, 0).equals("17"));
Assert.assertTrue(t.getValueAt(0, 1).equals("long"));
Assert.assertTrue(t.getRowCount() == 1);
}
use of org.jdom2.DocType in project pcgen by PCGen.
the class TravelMethodFactory method load.
// ### Factory methods ###
public static Vector<TravelMethod> load(File datadir) {
//Create a new list for the travel methods
Vector<TravelMethod> tms = new Vector<>();
File path = new File(datadir, DIR_TRAVELMETHODS);
if (path.isDirectory()) {
File[] dataFiles = path.listFiles(new XMLFilter());
SAXBuilder builder = new SAXBuilder();
for (int i = 0; i < dataFiles.length; i++) {
try {
Document methodSet = builder.build(dataFiles[i]);
DocType dt = methodSet.getDocType();
if (dt.getElementName().equals(XML_ELEMENT_TRAVEL)) {
//Do work here
TravelMethod tm = TravelMethodFactory.create(methodSet);
tms.add(tm);
}
} catch (Exception e) {
Logging.errorPrint(e.getMessage(), e);
}
}
} else {
//$NON-NLS-1$
Logging.errorPrintLocalised("in_plugin_overland_noDatafile", path.getPath());
}
return tms;
}
Aggregations