Example usage for org.jdom2.input SAXBuilder build

List of usage examples for org.jdom2.input SAXBuilder build

Introduction

In this page you can find the example usage for org.jdom2.input SAXBuilder build.

Prototype

@Override
public Document build(final String systemId) throws JDOMException, IOException 

Source Link

Document

This builds a document from the supplied URI.

Usage

From source file:com.googlesource.gerrit.plugins.manifest.ManifestXml.java

License:Apache License

public ManifestXml(String xml) throws IOException, ParserConfigurationException, SAXException, JDOMException {
    // Insert a unique identifier for entity definitions to prevent them from
    // getting expanded during the parse
    genReplacementText(xml);/*  w w w . j a v  a2 s  .c o m*/
    xml = xml.replaceAll("&([^;]*);", replacementText + "$1;");

    SAXBuilder builder = new SAXBuilder();
    builder.setSAXHandlerFactory(new SAXHandlerFactory() {
        @Override
        public SAXHandler createSAXHandler(JDOMFactory jdomFactory) {
            return new SAXHandler() {
                @Override
                public void attributeDecl(String eName, String aName, String type, String valueDefault,
                        String value) {
                    dtdAttributes.add(new DTDAttribute(eName, aName, type, valueDefault, value));
                    super.attributeDecl(eName, aName, type, valueDefault, value);
                }
            };
        }
    });
    builder.setExpandEntities(false);
    doc = builder.build(new InputSource(new StringReader(xml)));
}

From source file:com.hack23.cia.service.external.common.impl.XmlAgentImpl.java

License:Apache License

/**
 * Sets the name space on xml stream.//from ww w. jav a2 s.c o m
 *
 * @param in
 *            the in
 * @param nameSpace
 *            the name space
 * @return the source
 * @throws Exception
 *             the exception
 */
private static Source setNameSpaceOnXmlStream(final InputStream in, final String nameSpace) throws Exception {
    final SAXBuilder sb = new SAXBuilder(new XMLReaderSAX2Factory(false));
    final Document doc = sb.build(in);
    doc.getRootElement().setNamespace(Namespace.getNamespace(nameSpace));
    return new JDOMSource(doc);
}

From source file:com.hotaviano.tableexporter.DefaultStringTableParser.java

License:Open Source License

@Override
public Document parse(String table) throws JDOMException, IOException {
    File xsdfile = new File(XSD_TABLE);
    XMLReaderJDOMFactory schemafac = new XMLReaderXSDFactory(xsdfile);
    SAXBuilder builder = new SAXBuilder(schemafac);

    return builder.build(new StringReader(table));
}

From source file:com.hp.application.automation.tools.octane.actions.UFTParameterFactory.java

License:Apache License

public static String convertResourceMtrAsJSON(InputStream resourceMtrInputStream) throws IOException {

    //TODO: Check is exists
    poiFS = new POIFSFileSystem(resourceMtrInputStream);
    DirectoryNode root = poiFS.getRoot();

    for (Entry entry : root) {
        String name = entry.getName();
        if (name.equals("ComponentInfo")) {
            if (entry instanceof DirectoryEntry) {
                System.out.println(entry);
            } else if (entry instanceof DocumentEntry) {
                byte[] content = new byte[((DocumentEntry) entry).getSize()];
                poiFS.createDocumentInputStream("ComponentInfo").read(content);
                String fromUnicodeLE = StringUtil.getFromUnicodeLE(content);
                xmlData = fromUnicodeLE.substring(fromUnicodeLE.indexOf('<')).replaceAll("\u0000", "");
                //                    System.out.println(xmlData);
            }// www .ja va 2s. c  o m
        }
    }
    try {
        SAXBuilder saxBuilder = new SAXBuilder(XMLReaders.NONVALIDATING, (SAXHandlerFactory) null,
                (JDOMFactory) null);
        Document document = null;
        document = saxBuilder.build(new StringReader(xmlData));
        Element classElement = document.getRootElement();
        List<Element> studentList = classElement.getChildren();
        ObjectMapper mapper = new ObjectMapper();
        ArrayList<UFTParameter> uftParameters = new ArrayList<UFTParameter>();
        UFTParameter uftParameter = new UFTParameter();
        for (int temp = 0; temp < studentList.size(); temp++) {
            Element tag = studentList.get(temp);
            if ("ArgumentsCollection".equalsIgnoreCase(tag.getName())) {
                List<Element> children = tag.getChildren();
                for (int i = 0; i < children.size(); i++) {
                    Element element = children.get(i);
                    List<Element> elements = element.getChildren();

                    for (int j = 0; j < elements.size(); j++) {

                        Element element1 = elements.get(j);
                        switch (element1.getName()) {
                        case "ArgName":
                            uftParameter.setArgName(element1.getValue());
                            break;
                        case "ArgDirection":
                            uftParameter.setArgDirection(Integer.parseInt(element1.getValue()));
                            break;
                        case "ArgDefaultValue":
                            uftParameter.setArgDefaultValue(element1.getValue());
                            break;
                        case "ArgType":
                            uftParameter.setArgType(element1.getValue());
                            break;
                        case "ArgIsExternal":
                            uftParameter.setArgIsExternal(Integer.parseInt(element1.getValue()));
                            break;
                        default:
                            logger.warning(
                                    String.format("Element name %s didn't match any case", element1.getName()));
                            break;
                        }
                    }
                    uftParameters.add(uftParameter);
                }
                return mapper.writerWithDefaultPrettyPrinter().writeValueAsString(uftParameters);
            }
        }
    } catch (Exception e) {
        logger.severe(e.getMessage());
    }
    return null;
}

From source file:com.hpe.application.automation.tools.octane.actions.UFTParameterFactory.java

License:Open Source License

public static String convertResourceMtrAsJSON(InputStream resourceMtrInputStream) throws IOException {

    //String QTPFileParameterFileName = "resource.mtr";
    //InputStream is = paths.get(0).getParent().child("Action0").child(QTPFileParameterFileName).read();

    String xmlData = UFTTestUtil.decodeXmlContent(resourceMtrInputStream);

    try {// w  ww  .  j a v a  2s.c o m
        SAXBuilder saxBuilder = new SAXBuilder(XMLReaders.NONVALIDATING, null, null);
        Document document = saxBuilder.build(new StringReader(xmlData));
        Element rootElement = document.getRootElement();
        List<Element> rootChildrenElements = rootElement.getChildren();
        ArrayList<UFTParameter> uftParameters = new ArrayList<>();
        for (int temp = 0; temp < rootChildrenElements.size(); temp++) {
            Element tag = rootChildrenElements.get(temp);
            if ("ArgumentsCollection".equalsIgnoreCase(tag.getName())) {
                List<Element> children = tag.getChildren();
                for (int i = 0; i < children.size(); i++) {
                    UFTParameter uftParameter = new UFTParameter();
                    Element element = children.get(i);
                    List<Element> elements = element.getChildren();

                    for (int j = 0; j < elements.size(); j++) {

                        Element element1 = elements.get(j);
                        switch (element1.getName()) {
                        case "ArgName":
                            uftParameter.setArgName(element1.getValue());
                            break;
                        case "ArgDirection":
                            uftParameter.setArgDirection(Integer.parseInt(element1.getValue()));
                            break;
                        case "ArgDefaultValue":
                            uftParameter.setArgDefaultValue(element1.getValue());
                            break;
                        case "ArgType":
                            uftParameter.setArgType(element1.getValue());
                            break;
                        case "ArgIsExternal":
                            uftParameter.setArgIsExternal(Integer.parseInt(element1.getValue()));
                            break;
                        default:
                            logger.warning(
                                    String.format("Element name %s didn't match any case", element1.getName()));
                            break;
                        }
                    }
                    uftParameters.add(uftParameter);
                }
                ObjectMapper mapper = new ObjectMapper();
                String result = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(uftParameters);
                return result;
            }
        }
    } catch (Exception e) {
        logger.severe(e.getMessage());
    }
    return null;
}

From source file:com.hpe.application.automation.tools.octane.actions.UFTParameterFactory.java

License:Open Source License

public static Collection<UFTParameter> convertApiTestXmlToArguments(File parametersFile,
        boolean isInputParameters) throws IOException {

    /*<TestParameters>
    <Schema>//from w w  w  .j  a  v a 2  s . co  m
        <xsd:schema xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:types="http://hp.vtd.schemas/types/v1.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
            <xs:import schemaLocation="../../../dat/schemas/Types.xsd" namespace="http://hp.vtd.schemas/types/v1.0" />
            <xs:element types:displayName="Parameters" name="Arguments">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element types:masked="false" name="StartParam1" type="xs:long">
                            <xs:annotation>
                                <xs:documentation />
                            </xs:annotation>
                        </xs:element>
                        <xs:element types:masked="false" name="endParam1" type="xs:string">
                            <xs:annotation>
                                <xs:documentation />
                            </xs:annotation>
                        </xs:element>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
        </xsd:schema>
    </Schema>
    <Values>
        <Arguments>
            <StartParam1>1</StartParam1>
            <endParam1>f</endParam1>
        </Arguments>
    </Values>
    </TestParameters>*/

    try {
        SAXBuilder saxBuilder = new SAXBuilder(XMLReaders.NONVALIDATING, null, null);
        Document document = saxBuilder.build(parametersFile);
        Element rootElement = document.getRootElement();

        Map<String, UFTParameter> uftParametersMap = new HashMap<>();
        List<Element> argElements = getHierarchyChildElement(rootElement, "Schema", "schema", "element",
                "complexType", "sequence").getChildren();
        for (Element argElement : argElements) {
            String name = argElement.getAttributeValue("name");
            String type = argElement.getAttributeValue("type").replace("xs:", "");
            int direction = isInputParameters ? 0 : 1;

            UFTParameter parameter = new UFTParameter();
            parameter.setArgName(name);
            parameter.setArgType(type);
            parameter.setArgDirection(direction);
            uftParametersMap.put(parameter.getArgName(), parameter);
        }

        //getArg default values
        List<Element> argDefValuesElements = getHierarchyChildElement(rootElement, "Values", "Arguments")
                .getChildren();
        for (Element argElement : argDefValuesElements) {
            UFTParameter parameter = uftParametersMap.get(argElement.getName());
            if (parameter != null) {
                parameter.setArgDefaultValue(argElement.getValue());
            }
        }

        return uftParametersMap.values();
    } catch (Exception e) {
        logger.severe(e.getMessage());
    }
    return Collections.emptySet();
}

From source file:com.hpe.application.automation.tools.octane.actions.UFTTestUtil.java

License:Open Source License

/**
 * Extract test description from UFT GUI test.
 * Note : UFT API test doesn't contain description
 * @param dirPath path of UFT test/* ww w .  ja  v  a2 s  .  co m*/
 * @return test description
 */
public static String getTestDescription(FilePath dirPath) {
    String desc;

    try {
        if (!dirPath.exists()) {
            return null;
        }

        FilePath tspTestFile = new FilePath(dirPath, "Test.tsp");
        InputStream is = new FileInputStream(tspTestFile.getRemote());
        String xmlContent = decodeXmlContent(is);

        SAXBuilder saxBuilder = new SAXBuilder(XMLReaders.NONVALIDATING, null, null);
        Document document = saxBuilder.build(new StringReader(xmlContent));
        Element rootElement = document.getRootElement();
        Element descElement = rootElement.getChild("Description");
        desc = descElement.getValue();
    } catch (Exception e) {
        return null;
    }

    return desc;
}

From source file:com.htm.utils.Utilities.java

License:Open Source License

public static Document getXMLFromString(String xml) {

    if (xml == null) {
        return null;
    }//from  w ww. j a va  2s . c om

    SAXBuilder builder = new SAXBuilder();
    try {
        return builder.build(new StringReader(xml));
    } catch (Exception e) {
        throw new RuntimeException(e);
    }

}

From source file:com.init.octo.XMLtoSQL.java

License:Open Source License

public void setInputXML(String inxml) throws JDOMException, IOException {
    // convert the XML into a jdom structure...
    SAXBuilder xmlReader = new SAXBuilder();
    xmlInput = xmlReader.build(new ByteArrayInputStream(inxml.getBytes()));
}

From source file:com.init.octo.XMLtoSQL.java

License:Open Source License

public Element setScript(String script) throws JDOMException, IOException, ParseException {
    Element scriptRoot = null;/*from   w  w  w .  ja va  2s .  c om*/

    if (getFileType(script).equals("application/xml")) {
        SAXBuilder xmlReader = new SAXBuilder();
        Document doc = xmlReader.build(new ByteArrayInputStream(script.getBytes()));
        scriptRoot = doc.getRootElement();
    } else {
        XMLtoSQLScript parser = new XMLtoSQLScript(new StringReader(script));
        //         parser.parseUpdateScript();
        scriptRoot = parser.getParsedDocumentRoot();
    }

    return scriptRoot;
}