use of org.jdom2.Document in project pcgen by PCGen.
the class RoomBoardFactory method load.
public static RoomBoard load(File dataDir) {
//Create a new list for the room and board
PairList<RBCost> inns = new PairList<>();
PairList<RBCost> foods = new PairList<>();
PairList<RBCost> animals = new PairList<>();
File path = new File(dataDir, DIR_RNBPRICE);
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 (//$NON-NLS-1$
dt.getElementName().equals("RNBPRICE")) {
//Do work here
loadRBData(methodSet, inns, foods, animals);
}
methodSet = null;
dt = null;
} catch (Exception e) {
Logging.errorPrintLocalised("XML Error with file {0}", dataFiles[i].getName());
Logging.errorPrint(e.getMessage(), e);
}
}
} else {
//$NON-NLS-1$
Logging.errorPrintLocalised("in_plugin_overland_noDatafile", path.getPath());
}
return new RoomBoardImplementation(inns, foods, animals);
}
use of org.jdom2.Document 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);
}
use of org.jdom2.Document in project pcgen by PCGen.
the class DiceBagModel method saveToDocument.
/**
* <p>Loads the current dicebag's information into the
* given JDOM document.</p>
*
* @param doc
*/
private void saveToDocument(Document doc) {
Element party = new Element("dice-bag");
party.setAttribute("name", m_name);
for (String dieString : m_dice) {
Element die = new Element("dice-roll");
die.addContent(dieString);
party.addContent(die);
}
doc.setRootElement(party);
}
use of org.jdom2.Document in project google-cloud-java by GoogleCloudPlatform.
the class LanguageServiceClientTest method analyzeSyntaxExceptionTest.
@Test
@SuppressWarnings("all")
public void analyzeSyntaxExceptionTest() throws Exception {
StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT);
mockLanguageService.addException(exception);
try {
Document document = Document.newBuilder().build();
EncodingType encodingType = EncodingType.NONE;
client.analyzeSyntax(document, encodingType);
Assert.fail("No exception raised");
} catch (ApiException e) {
Assert.assertEquals(Status.INVALID_ARGUMENT.getCode(), e.getStatusCode());
}
}
use of org.jdom2.Document in project google-cloud-java by GoogleCloudPlatform.
the class LanguageServiceClientTest method annotateTextExceptionTest.
@Test
@SuppressWarnings("all")
public void annotateTextExceptionTest() throws Exception {
StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT);
mockLanguageService.addException(exception);
try {
Document document = Document.newBuilder().build();
AnnotateTextRequest.Features features = AnnotateTextRequest.Features.newBuilder().build();
EncodingType encodingType = EncodingType.NONE;
client.annotateText(document, features, encodingType);
Assert.fail("No exception raised");
} catch (ApiException e) {
Assert.assertEquals(Status.INVALID_ARGUMENT.getCode(), e.getStatusCode());
}
}
Aggregations