Example usage for org.xml.sax XMLReader setContentHandler

List of usage examples for org.xml.sax XMLReader setContentHandler

Introduction

In this page you can find the example usage for org.xml.sax XMLReader setContentHandler.

Prototype

public void setContentHandler(ContentHandler handler);

Source Link

Document

Allow an application to register a content event handler.

Usage

From source file:eu.faircode.netguard.ActivitySettings.java

private void xmlImport(InputStream in) throws IOException, SAXException, ParserConfigurationException {
    SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
    prefs.unregisterOnSharedPreferenceChangeListener(this);
    prefs.edit().putBoolean("enabled", false).apply();
    ServiceSinkhole.stop("import", this, false);

    XMLReader reader = SAXParserFactory.newInstance().newSAXParser().getXMLReader();
    XmlImportHandler handler = new XmlImportHandler(this);
    reader.setContentHandler(handler);
    reader.parse(new InputSource(in));

    xmlImport(handler.application, prefs);
    xmlImport(handler.wifi, getSharedPreferences("wifi", Context.MODE_PRIVATE));
    xmlImport(handler.mobile, getSharedPreferences("other", Context.MODE_PRIVATE));
    xmlImport(handler.screen_wifi, getSharedPreferences("screen_wifi", Context.MODE_PRIVATE));
    xmlImport(handler.screen_other, getSharedPreferences("screen_other", Context.MODE_PRIVATE));
    xmlImport(handler.roaming, getSharedPreferences("roaming", Context.MODE_PRIVATE));
    xmlImport(handler.lockdown, getSharedPreferences("lockdown", Context.MODE_PRIVATE));
    xmlImport(handler.apply, getSharedPreferences("apply", Context.MODE_PRIVATE));
    xmlImport(handler.notify, getSharedPreferences("notify", Context.MODE_PRIVATE));

    // Upgrade imported settings
    ReceiverAutostart.upgrade(true, this);

    DatabaseHelper.clearCache();/*  ww  w  .  j  a va2s  .  c  om*/

    // Refresh UI
    prefs.edit().putBoolean("imported", true).apply();
    prefs.registerOnSharedPreferenceChangeListener(this);
}

From source file:net.tirasa.hct.cocoon.sax.HippoItemXMLDumper.java

public void dumpHippoItem(final HCTConnManager connManager, final HippoItem item, final String itemPath,
        final HCTQuery hctQuery, final Locale locale)
        throws SAXException, RepositoryException, IOException, ObjectBeanManagerException {

    final XMLReader xmlReader = new StartEndDocumentFilter(XMLUtils.createXMLReader(saxConsumer));
    xmlReader.setContentHandler(saxConsumer);

    startHippoItem(item, itemPath);/* ww  w  .  jav a  2s.c  o  m*/

    for (final String fieldName : hctQuery.getReturnFields()) {
        Object fieldValue = null;
        if (fieldName.contains("/")) {
            final String[] splitted = fieldName.split("/");
            final List<HippoCompoundDocument> compounds = item.getChildBeansByName(splitted[0],
                    HippoCompoundDocument.class);
            if (!compounds.isEmpty()) {
                fieldValue = compounds.iterator().next().getProperty(splitted[1]);
            }
        } else {
            fieldValue = item.getProperty(fieldName);
        }

        if (fieldValue == null) {
            final List<HippoHtml> rtfs = item.getChildBeansByName(fieldName, HippoHtml.class);
            final List<HippoDate> dates = item.getChildBeansByName(fieldName, HippoDate.class);

            if (rtfs != null && !rtfs.isEmpty()) {
                for (HippoHtml rtf : rtfs) {
                    dumpHtml(connManager, rtf, xmlReader, hctQuery.getDateFormat(), locale);
                }
            }

            if (dates != null && !dates.isEmpty()) {
                for (HippoDate date : dates) {
                    dumpDate(fieldName, date.getCalendar(), hctQuery.getDateFormat(), locale);
                }
            }
        } else {
            dumpField(new SimpleEntry<String, Object>(fieldName, fieldValue), hctQuery.getDateFormat(), locale);
        }
    }

    if (hctQuery.isReturnTags()) {
        dumpTags((String[]) item.getProperty(TaggingNodeType.PROP_TAGS));
    }

    if (hctQuery.isReturnTaxonomies()) {
        dumpTaxonomies(TaxonomyUtils.getTaxonomies(connManager,
                (String[]) item.getProperty(TaxonomyNodeTypes.HIPPOTAXONOMY_KEYS)), locale);
    }

    if (hctQuery.isReturnImages()) {
        final List<HippoGalleryImageSet> images = new ArrayList<HippoGalleryImageSet>();
        for (ImageLinkBean imgLink : item.getChildBeans(ImageLinkBean.class)) {
            Node imgLinkNode = null;
            try {
                imgLinkNode = connManager.getSession().getNodeByIdentifier(imgLink.getImageSetUuid());
            } catch (RepositoryException e) {
                // ignore
            }
            if (imgLinkNode != null) {
                final HippoItem imgLinkItem = ObjectUtils.getHippoItem(connManager, imgLinkNode);
                if (imgLinkItem instanceof HippoGalleryImageSet) {
                    images.add((HippoGalleryImageSet) imgLinkItem);
                }
            }
        }
        dumpImages(images, Element.IMAGE.getName(), true);
    }

    if (hctQuery.isReturnRelatedDocs()) {
        final List<HippoDocument> relDocs = new ArrayList<HippoDocument>();
        for (RelatedDocs docs : item.getChildBeans(RelatedDocs.class)) {
            for (String relDocUuid : docs.getRelatedDocsUuids()) {
                final HippoDocument doc = ObjectUtils.getHippoItemByUuid(connManager, relDocUuid,
                        HippoDocument.class);
                if (doc != null) {
                    relDocs.add(doc);
                }
            }
        }
        dumpRelatedDocs(relDocs, Element.DOCUMENT.getName(), true);
    }

    endHippoItem(item);
}

From source file:net.tirasa.hct.cocoon.sax.HippoRepositoryTransformer.java

private void document(final HCTConnManager connManager)
        throws ObjectBeanManagerException, SAXException, IOException, RepositoryException {

    final HippoDocument doc = hctDocument.getHippoDocument(connManager, locale, availability);

    final HippoItemXMLDumper dumper = new HippoItemXMLDumper(this.getSAXConsumer());

    // 1. document
    dumper.startHippoItem(doc, doc.getPath());

    // 2. properties
    for (Entry<String, Object> entry : doc.getProperties().entrySet()) {
        if (TaggingNodeType.PROP_TAGS.equals(entry.getKey())) {
            dumper.dumpTags((String[]) entry.getValue());
        } else if (TaxonomyNodeTypes.HIPPOTAXONOMY_KEYS.equals(entry.getKey())) {
            dumper.dumpTaxonomies(TaxonomyUtils.getTaxonomies(connManager, (String[]) entry.getValue()),
                    locale);//from   ww w  .  j a  v a2s  .c o  m
        } else {
            dumper.dumpField(entry, hctDocument.getDateFormat(), locale);
        }
    }

    // 3. Date fields
    for (HippoDate date : doc.getChildBeans(HippoDate.class)) {
        dumper.dumpDate(date.getName(), date.getCalendar(), hctDocument.getDateFormat(), locale);
    }

    // 4. HTML fields
    final XMLReader xmlReader = new StartEndDocumentFilter(XMLUtils.createXMLReader(this.getSAXConsumer()));
    xmlReader.setContentHandler(this.getSAXConsumer());
    for (HippoHtml rtf : doc.getChildBeans(HippoHtml.class)) {
        dumper.dumpHtml(connManager, rtf, xmlReader, hctDocument.getDateFormat(), locale);
    }

    // 5. Images and Assets
    findAndDumpImagesAndAssets(connManager, doc, dumper);

    // 6. Compounds
    compounds(connManager, doc, dumper, xmlReader);

    // 7. Related documents
    final List<HippoDocument> relDocs = new ArrayList<HippoDocument>();
    for (RelatedDocs docs : doc.getChildBeans(RelatedDocs.class)) {
        for (String relDocUuid : docs.getRelatedDocsUuids()) {
            HippoDocument docByUuid = ObjectUtils.getHippoItemByUuid(connManager, relDocUuid,
                    HippoDocument.class);
            if (docByUuid != null) {
                relDocs.add(doc);
            }
        }
    }
    dumper.dumpRelatedDocs(relDocs, Element.DOCUMENT.getName(), true);

    dumper.endHippoItem(doc);
}

From source file:net.unicon.academus.apps.XHTMLFilter.java

public static void filterHTML(InputSource in, OutputStream os, XHTMLFilterConfig config) {
    try {//from ww  w  .ja  v  a  2s  .c o  m
        XMLReader r = new Parser();
        Writer w = new OutputStreamWriter(os, "UTF-8");
        r.setFeature(Parser.ignoreBogonsFeature, true);
        r.setContentHandler(new XHTMLFilter(w, config));
        r.parse(in);
    } catch (Exception e) {
        log.error("Unable to parse the given HTML: " + e.getMessage(), e);
        throw new RuntimeException("Unable to parse the given HTML: " + e.getMessage(), e);
    }
}

From source file:nl.b3p.ogc.utils.OgcWfsClient.java

public static AnyNode xmlStringToAnyNode(String xml) throws Exception {
    AnyNode anyNode = null;/*from  w w w .  jav  a 2 s. c o m*/
    try {
        SAXParserFactory factory = SAXParserFactory.newInstance();
        SAXParser saxParser = factory.newSAXParser();
        XMLReader reader = saxParser.getXMLReader();

        org.exolab.castor.xml.util.SAX2ANY handler = new org.exolab.castor.xml.util.SAX2ANY();

        IgnoreEntityResolver r = new IgnoreEntityResolver();
        reader.setEntityResolver(r);

        reader.setContentHandler(handler);
        reader.setErrorHandler(handler);
        InputSource source = new InputSource(new StringReader(xml));
        reader.parse(source);

        anyNode = handler.getStartingNode();
    } catch (Exception e) {
        log.error("error", e);
    }
    return anyNode;

}

From source file:nl.nn.adapterframework.align.XmlAligner.java

public XmlAligner(XMLReader psviProvidingXmlReader) {
    this((PSVIProvider) psviProvidingXmlReader);
    psviProvidingXmlReader.setContentHandler(this);
}

From source file:nl.nn.adapterframework.align.XmlTo.java

public static void translate(String xml, URL schemaURL, DocumentContainer documentContainer)
        throws SAXException, IOException {

    // create the ValidatorHandler
    SchemaFactory sf = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
    Schema schema = sf.newSchema(schemaURL);
    ValidatorHandler validatorHandler = schema.newValidatorHandler();

    // create the parser, setup the chain
    XMLReader parser = new SAXParser();
    XmlAligner aligner = new XmlAligner(validatorHandler);
    XmlTo<DocumentContainer> xml2object = new XmlTo<DocumentContainer>(aligner, documentContainer);
    parser.setContentHandler(validatorHandler);
    aligner.setContentHandler(xml2object);

    // start translating
    InputSource is = new InputSource(new StringReader(xml));
    parser.parse(is);//from  w w  w  .j a  v a 2  s  .co m
}

From source file:nl.nn.adapterframework.pipes.BytesOutputPipe.java

public PipeRunResult doPipe(Object input, IPipeLineSession session) throws PipeRunException {
    Object result = null;/*from ww w . java2s  .  c o  m*/
    Variant in = new Variant(input);

    try {
        XMLReader parser = XMLReaderFactory.createXMLReader();
        FieldsContentHandler fieldsContentHandler = new FieldsContentHandler();
        parser.setContentHandler(fieldsContentHandler);
        parser.parse(in.asXmlInputSource());
        result = fieldsContentHandler.getResult();
    } catch (SAXException e) {
        throw new PipeRunException(this, "SAXException", e);
    } catch (IOException e) {
        throw new PipeRunException(this, "IOException", e);
    }
    return new PipeRunResult(getForward(), result);
}

From source file:nl.nn.adapterframework.pipes.Json2XmlValidator.java

protected PipeRunResult alignXml2Json(String messageToValidate, IPipeLineSession session, boolean responseMode)
        throws XmlValidatorException, PipeRunException, ConfigurationException {

    ValidationContext context = validator.createValidationContext(session, getRootValidations(responseMode),
            getInvalidRootNamespaces());
    XMLReader parser = validator.getValidatingParser(session, context);
    XmlAligner aligner = new XmlAligner((PSVIProvider) parser);
    Xml2Json xml2json = new Xml2Json(aligner, isCompactJsonArrays(), !isJsonWithRootElements());
    parser.setContentHandler(aligner);
    aligner.setContentHandler(xml2json);
    aligner.setErrorHandler(context.getErrorHandler());

    String resultEvent = validator.validate(messageToValidate, session, getLogPrefix(session), parser, xml2json,
            context);/*from   w w  w  .ja  va 2  s  .co m*/
    String out = xml2json.toString();
    PipeForward forward = determineForward(resultEvent, session, responseMode);
    PipeRunResult result = new PipeRunResult(forward, out);
    return result;
}

From source file:nl.nn.adapterframework.util.XmlUtils.java

static public void parseXml(ContentHandler handler, InputSource source) throws IOException, SAXException {
    XMLReader parser;
    parser = getParser();/*from   ww  w .  j av a2  s  . c  o  m*/
    parser.setContentHandler(handler);
    parser.parse(source);
}