Search in sources :

Example 6 with StdXMLReader

use of net.n3.nanoxml.StdXMLReader in project intellij-community by JetBrains.

the class XmlPropertiesIndex method parse.

@Nullable
private static MyIXMLBuilderAdapter parse(CharSequence text, boolean stopIfAccepted) {
    StdXMLReader reader = new StdXMLReader(CharArrayUtil.readerFromCharSequence(text)) {

        @Override
        public Reader openStream(String publicID, String systemID) throws IOException {
            if (!HTTP_JAVA_SUN_COM_DTD_PROPERTIES_DTD.equals(systemID))
                throw new IOException();
            return new StringReader(" ");
        }
    };
    MyIXMLBuilderAdapter builder = new MyIXMLBuilderAdapter(stopIfAccepted);
    NanoXmlUtil.parse(reader, builder);
    return builder;
}
Also used : StdXMLReader(net.n3.nanoxml.StdXMLReader) Nullable(org.jetbrains.annotations.Nullable)

Example 7 with StdXMLReader

use of net.n3.nanoxml.StdXMLReader 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);
    }
}
Also used : IXMLReader(org.freeplane.n3.nanoxml.IXMLReader) BufferedInputStream(java.io.BufferedInputStream) IXMLParser(org.freeplane.n3.nanoxml.IXMLParser) StdXMLReader(org.freeplane.n3.nanoxml.StdXMLReader) IOException(java.io.IOException) XMLElement(org.freeplane.n3.nanoxml.XMLElement) File(java.io.File) FileInputStream(java.io.FileInputStream)

Example 8 with StdXMLReader

use of net.n3.nanoxml.StdXMLReader 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);
    }
}
Also used : Locale(java.util.Locale) IXMLReader(org.freeplane.n3.nanoxml.IXMLReader) IOException(java.io.IOException) XMLElement(org.freeplane.n3.nanoxml.XMLElement) FileInputStream(java.io.FileInputStream) BufferedInputStream(java.io.BufferedInputStream) IXMLParser(org.freeplane.n3.nanoxml.IXMLParser) StdXMLReader(org.freeplane.n3.nanoxml.StdXMLReader) File(java.io.File)

Example 9 with StdXMLReader

use of net.n3.nanoxml.StdXMLReader 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;
}
Also used : XMLException(org.freeplane.n3.nanoxml.XMLException) IXMLReader(org.freeplane.n3.nanoxml.IXMLReader) IXMLParser(org.freeplane.n3.nanoxml.IXMLParser) StringReader(java.io.StringReader) StdXMLReader(org.freeplane.n3.nanoxml.StdXMLReader) XMLElement(org.freeplane.n3.nanoxml.XMLElement)

Example 10 with StdXMLReader

use of net.n3.nanoxml.StdXMLReader 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);
        }
    }
}
Also used : FilenameFilter(java.io.FilenameFilter) IXMLReader(org.freeplane.n3.nanoxml.IXMLReader) BufferedInputStream(java.io.BufferedInputStream) IXMLParser(org.freeplane.n3.nanoxml.IXMLParser) StdXMLReader(org.freeplane.n3.nanoxml.StdXMLReader) XMLElement(org.freeplane.n3.nanoxml.XMLElement) File(java.io.File) FileInputStream(java.io.FileInputStream) IOException(java.io.IOException)

Aggregations

IXMLReader (org.freeplane.n3.nanoxml.IXMLReader)8 StdXMLReader (org.freeplane.n3.nanoxml.StdXMLReader)8 IXMLParser (org.freeplane.n3.nanoxml.IXMLParser)7 XMLElement (org.freeplane.n3.nanoxml.XMLElement)6 BufferedInputStream (java.io.BufferedInputStream)5 File (java.io.File)5 FileInputStream (java.io.FileInputStream)5 IOException (java.io.IOException)5 FilenameFilter (java.io.FilenameFilter)2 InputStream (java.io.InputStream)2 StdXMLReader (net.n3.nanoxml.StdXMLReader)2 FileNotFoundException (java.io.FileNotFoundException)1 StringReader (java.io.StringReader)1 URL (java.net.URL)1 AccessControlException (java.security.AccessControlException)1 Locale (java.util.Locale)1 Properties (java.util.Properties)1 IXMLParser (net.n3.nanoxml.IXMLParser)1 IXMLReader (net.n3.nanoxml.IXMLReader)1 XMLException (net.n3.nanoxml.XMLException)1