use of org.freeplane.n3.nanoxml.IXMLReader in project freeplane by freeplane.
the class ScannerController method loadScanners.
void loadScanners() throws Exception {
final File configXml = new File(pathToFile);
if (!configXml.exists()) {
LogUtils.info(pathToFile + " does not exist yet");
return;
}
try {
final IXMLParser parser = XMLLocalParserFactory.createLocalXMLParser();
final IXMLReader reader = new StdXMLReader(new BufferedInputStream(new FileInputStream(configXml)));
parser.setReader(reader);
final XMLElement loader = (XMLElement) parser.parse();
final Vector<XMLElement> scannerElements = loader.getChildren();
for (XMLElement elem : scannerElements) {
scanners.add(parseScanner(elem));
}
boolean haveDefault = false;
for (Scanner scanner : scanners) {
if (scanner.isDefault()) {
if (haveDefault)
LogUtils.warn(configXml + ": multiple scanners are marked as default - fix that!");
else
haveDefault = true;
}
}
if (!haveDefault)
LogUtils.warn(configXml + ": no scanner is marked as default - fix that!");
} catch (final IOException e) {
LogUtils.warn("error parsing " + configXml, e);
}
}
use of org.freeplane.n3.nanoxml.IXMLReader in project freeplane by freeplane.
the class FormatController method loadFormats.
private void loadFormats() throws Exception {
BufferedInputStream inputStream = null;
final File configXml = new File(pathToFile);
if (!configXml.exists()) {
LogUtils.info(pathToFile + " does not exist yet");
return;
}
try {
final IXMLParser parser = XMLLocalParserFactory.createLocalXMLParser();
inputStream = new BufferedInputStream(new FileInputStream(configXml));
final IXMLReader reader = new StdXMLReader(inputStream);
parser.setReader(reader);
final XMLElement loader = (XMLElement) parser.parse();
final Vector<XMLElement> formats = loader.getChildren();
for (XMLElement elem : formats) {
final String type = elem.getAttribute("type", null);
final String style = elem.getAttribute("style", null);
final String name = elem.getAttribute("name", null);
final String locale = elem.getAttribute("locale", null);
final String content = elem.getContent();
if (StringUtils.isEmpty(type) || StringUtils.isEmpty(style) || StringUtils.isEmpty(content)) {
throw new RuntimeException("wrong format in " + configXml + ": none of the following must be empty: type=" + type + ", style=" + style + ", element content=" + content);
} else {
final PatternFormat format = createFormat(content, style, type, name, (locale == null ? null : new Locale(locale)));
if (type.equals(IFormattedObject.TYPE_DATE)) {
dateFormats.add(format);
} else if (type.equals(IFormattedObject.TYPE_NUMBER)) {
numberFormats.add(format);
} else if (type.equals(IFormattedObject.TYPE_STRING)) {
stringFormats.add(format);
} else if (type.equals(PatternFormat.TYPE_STANDARD)) {
// ignore this pattern that crept in in some 1.2 beta version
} else {
throw new RuntimeException("unknown type in " + configXml + ": type=" + type + ", style=" + style + ", element content=" + content);
}
}
}
} catch (final IOException e) {
LogUtils.warn("error parsing " + configXml, e);
} finally {
FileUtils.silentlyClose(inputStream);
}
}
use of org.freeplane.n3.nanoxml.IXMLReader in project freeplane by freeplane.
the class WindowConfigurationStorage method unmarschall.
protected XMLElement unmarschall(final String marshalled, final JDialog dialog) {
if (marshalled != null) {
final IXMLParser parser = XMLLocalParserFactory.createLocalXMLParser();
final IXMLReader xmlReader = new StdXMLReader(new StringReader(marshalled));
parser.setReader(xmlReader);
try {
final XMLElement storage = (XMLElement) parser.parse();
if (storage != null) {
x = Integer.parseInt(storage.getAttribute("x", "-1"));
y = Integer.parseInt(storage.getAttribute("y", "-1"));
width = Integer.parseInt(storage.getAttribute("width", "-1"));
height = Integer.parseInt(storage.getAttribute("height", "-1"));
UITools.setBounds(dialog, x, y, width, height);
return storage;
}
} catch (final NumberFormatException e) {
LogUtils.severe(e);
} catch (final XMLException e) {
LogUtils.severe(e);
}
}
UITools.setBounds(dialog, -1, -1, -1, -1);
return null;
}
use of org.freeplane.n3.nanoxml.IXMLReader in project freeplane by freeplane.
the class AddOnsController method registerPlugins.
private void registerPlugins() {
final File addOnsDir = getAddOnsDir();
// in applets the addOnsDir will be null
if (addOnsDir == null)
return;
File[] addonXmlFiles = addOnsDir.listFiles(new FilenameFilter() {
public boolean accept(File dir, String name) {
return name.endsWith(".plugin.xml");
}
});
final IXMLParser parser = XMLLocalParserFactory.createLocalXMLParser();
for (File file : addonXmlFiles) {
BufferedInputStream inputStream = null;
try {
inputStream = new BufferedInputStream(new FileInputStream(file));
final IXMLReader reader = new StdXMLReader(inputStream);
parser.setReader(reader);
registerInstalledAddOn(new AddOnProperties(AddOnType.PLUGIN, (XMLElement) parser.parse()));
} catch (final Exception e) {
LogUtils.warn("error parsing " + file, e);
} finally {
FileUtils.silentlyClose(inputStream);
}
}
}
Aggregations