Example usage for org.jdom2.input SAXBuilder SAXBuilder

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

Introduction

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

Prototype

public SAXBuilder(final XMLReaderJDOMFactory xmlreaderfactory, final SAXHandlerFactory handlerfactory,
        final JDOMFactory jdomfactory) 

Source Link

Document

Creates a new SAXBuilder.

Usage

From source file:com.ardor3d.extension.model.collada.jdom.ColladaImporter.java

License:Open Source License

/**
 * Reads the whole Collada DOM tree from the given resource and returns its root element. Exceptions may be thrown
 * by underlying tools; these will be wrapped in a RuntimeException and rethrown.
 * /* www. ja  v  a2s .  co  m*/
 * @param resource
 *            the ResourceSource to read the resource from
 * @return the Collada root element
 */
private Element readCollada(final ResourceSource resource, final DataCache dataCache) {
    try {
        final JDOMFactory jdomFac = new ArdorFactory(dataCache);
        final SAXBuilder builder = new SAXBuilder(null, new SAXHandlerFactory() {
            @Override
            public SAXHandler createSAXHandler(final JDOMFactory factory) {
                return new SAXHandler(jdomFac) {
                    @Override
                    public void startPrefixMapping(final String prefix, final String uri) throws SAXException {
                        // Just kill what's usually done here...
                    }
                };
            }
        }, jdomFac);

        final Document doc = builder.build(resource.openStream());
        final Element collada = doc.getRootElement();

        // ColladaDOMUtil.stripNamespace(collada);

        return collada;
    } catch (final Exception e) {
        throw new RuntimeException("Unable to load collada resource from source: " + resource, e);
    }
}

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);
            }//from w  w w. ja v  a  2 s  .c  om
        }
    }
    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 w w  .  j av  a 2  s  . c om*/
        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 av a  2s  . c  o 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/* w w w. j a  v  a2  s  . c  o 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;
}