Example usage for org.dom4j.io SAXReader read

List of usage examples for org.dom4j.io SAXReader read

Introduction

In this page you can find the example usage for org.dom4j.io SAXReader read.

Prototype

public Document read(InputSource in) throws DocumentException 

Source Link

Document

Reads a Document from the given InputSource using SAX

Usage

From source file:com.glaf.activiti.extension.xml.ExtensionReader.java

License:Apache License

public List<ExtensionEntity> readTasks(java.io.InputStream inputStream) {
    List<ExtensionEntity> extensions = new java.util.ArrayList<ExtensionEntity>();
    SAXReader xmlReader = new SAXReader();
    try {//from w w w  .j  ava 2  s . c o m
        Document doc = xmlReader.read(inputStream);
        Element root = doc.getRootElement();
        String x_type = root.attributeValue("type");
        List<?> rows = root.elements("taskmgr");
        Iterator<?> iterator = rows.iterator();
        while (iterator.hasNext()) {
            Element element = (Element) iterator.next();
            ExtensionEntity extension = new ExtensionEntity();
            extension.setProcessName(element.attributeValue("processName"));
            extension.setTaskName(element.attributeValue("taskName"));
            extension.setType(x_type);
            if (element.elementTextTrim("taskMgmtType") != null) {
                ExtensionFieldEntity extensionField = new ExtensionFieldEntity();
                extensionField.setName("taskMgmtType");
                extensionField.setValue(element.elementTextTrim("taskMgmtType"));
                extension.addField(extensionField);
            }
            Element propertiesE = element.element("properties");
            if (propertiesE != null) {
                List<?> properties = propertiesE.elements("property");
                Iterator<?> iter = properties.iterator();
                while (iter.hasNext()) {
                    Element elem = (Element) iter.next();
                    String propertyName = elem.attributeValue("key");
                    String propertyValue = null;
                    if (elem.attribute("value") != null) {
                        propertyValue = elem.attributeValue("value");
                    } else {
                        propertyValue = elem.getTextTrim();
                    }
                    if (StringUtils.isNotEmpty(propertyName) && StringUtils.isNotEmpty(propertyValue)) {
                        ExtensionFieldEntity extensionField = new ExtensionFieldEntity();
                        extensionField.setName(propertyName.trim());
                        extensionField.setValue(propertyValue.trim());
                        extension.addField(extensionField);
                    }
                }
            }
            if (element.elementText("handlers") != null) {
                ExtensionFieldEntity extensionField = new ExtensionFieldEntity();
                extensionField.setName("handlers");
                extensionField.setValue(element.elementTextTrim("handlers"));
                extension.addField(extensionField);
            }
            extensions.add(extension);
        }

    } catch (Exception ex) {
        throw new RuntimeException(ex);
    }
    return extensions;
}

From source file:com.glaf.activiti.extension.xml.ExtensionReader.java

License:Apache License

public List<ExtensionEntity> readActions(java.io.InputStream inputStream) {
    List<ExtensionEntity> extensions = new java.util.ArrayList<ExtensionEntity>();
    SAXReader xmlReader = new SAXReader();
    try {//from w  ww .j  ava2s .  c o m
        Document doc = xmlReader.read(inputStream);
        Element root = doc.getRootElement();
        String x_type = root.attributeValue("type");
        List<?> actions = root.elements("action");
        Iterator<?> iter = actions.iterator();
        while (iter.hasNext()) {
            Element element = (Element) iter.next();
            ExtensionEntity extension = new ExtensionEntity();
            extension.setProcessName(element.attributeValue("processName"));
            extension.setTaskName(element.attributeValue("taskName"));
            extension.setName(element.attributeValue("name"));
            extension.setType(x_type);
            extension.setDescription(element.elementTextTrim("description"));
            Iterator<?> it99 = element.elementIterator();
            while (it99.hasNext()) {
                Element elem = (Element) it99.next();
                String propertyName = elem.getName();
                String propertyValue = elem.getTextTrim();
                if (StringUtils.isNotEmpty(propertyValue)) {
                    ExtensionFieldEntity extensionField = new ExtensionFieldEntity();
                    extensionField.setName(propertyName.trim());
                    extensionField.setValue(propertyValue.trim());
                    extension.addField(extensionField);
                }
            }
            if (element.elementText("sql") != null) {
                ExtensionFieldEntity extensionField = new ExtensionFieldEntity();
                extensionField.setName("sql");
                extensionField.setValue(element.elementTextTrim("sql"));
                extension.addField(extensionField);

            }
            if (element.elementText("handlers") != null) {
                ExtensionFieldEntity extensionField = new ExtensionFieldEntity();
                extensionField.setName("handlers");
                extensionField.setValue(element.elementTextTrim("handlers"));
                extension.addField(extensionField);
            }

            Element parametersE = element.element("parameters");
            if (parametersE != null) {
                List<?> parameters = parametersE.elements("parameter");
                Iterator<?> it = parameters.iterator();
                while (it.hasNext()) {
                    Element elem = (Element) it.next();
                    String propertyName = elem.attributeValue("name");
                    String type = elem.attributeValue("type");
                    String propertyValue = null;
                    if (elem.attribute("value") != null) {
                        propertyValue = elem.attributeValue("value");
                    } else {
                        propertyValue = elem.getTextTrim();
                    }
                    if (StringUtils.isNotEmpty(propertyName) && StringUtils.isNotEmpty(propertyValue)) {
                        ExtensionParamEntity extensionParam = new ExtensionParamEntity();
                        extensionParam.setName(propertyName.trim());
                        extensionParam.setValue(propertyValue.trim());
                        extensionParam.setType(type);
                        extension.addParam(extensionParam);
                    }
                }
            }

            extensions.add(extension);
        }
    } catch (Exception ex) {
        throw new RuntimeException(ex);
    }
    return extensions;
}

From source file:com.glaf.activiti.spring.SpringProcessEngineConfigurationBean.java

License:Apache License

@Override
protected void initSqlSessionFactory() {
    logger.info("-------------------------------------------");
    logger.info("-------------initSqlSessionFactory()-------");
    logger.info("sqlSessionFactory:" + sqlSessionFactory);
    logger.info("transactionFactory:" + transactionFactory);
    if (sqlSessionFactory == null) {
        InputStream inputStream = null;
        try {/*from  ww w .j a va 2 s . co  m*/
            if (configLocation != null) {
                logger.info("mybatis config:" + this.configLocation.getFile().getAbsolutePath());
                inputStream = this.configLocation.getInputStream();
            } else {
                Resource resource = new ClassPathResource("com/glaf/activiti/activiti.mybatis.conf.xml");
                inputStream = resource.getInputStream();
            }

            if (!ObjectUtils.isEmpty(this.mapperLocations)) {
                SAXReader xmlReader = new SAXReader();
                EntityResolver entityResolver = new XMLMapperEntityResolver();
                xmlReader.setEntityResolver(entityResolver);
                Document doc = xmlReader.read(inputStream);
                Element root = doc.getRootElement();
                Element mappers = root.element("mappers");
                if (mappers != null) {
                    java.util.List<?> list = mappers.elements();
                    Collection<String> files = new HashSet<String>();

                    if (list != null && !list.isEmpty()) {
                        Iterator<?> iterator = list.iterator();
                        while (iterator.hasNext()) {
                            Element elem = (Element) iterator.next();
                            if (elem.attributeValue("resource") != null) {
                                String file = elem.attributeValue("resource");
                                files.add(file);
                            } else if (elem.attributeValue("url") != null) {
                                String file = elem.attributeValue("url");
                                files.add(file);
                            }
                        }
                    }

                    for (Resource mapperLocation : this.mapperLocations) {
                        if (mapperLocation == null) {
                            continue;
                        }
                        String url = mapperLocation.getURL().toString();
                        // logger.debug("find mapper:" + url);
                        if (!files.contains(url)) {
                            Element element = mappers.addElement("mapper");
                            element.addAttribute("url", url);
                        }
                    }
                }

                IOUtils.closeStream(inputStream);

                byte[] bytes = Dom4jUtils.getBytesFromPrettyDocument(doc);
                inputStream = new ByteArrayInputStream(bytes);

            }

            // update the jdbc parameters to the configured ones...
            Environment environment = new Environment("default", transactionFactory, dataSource);
            Reader reader = new InputStreamReader(inputStream);
            Properties properties = new Properties();
            properties.put("prefix", databaseTablePrefix);
            if (databaseType != null) {
                properties.put("limitBefore",
                        DbSqlSessionFactory.databaseSpecificLimitBeforeStatements.get(databaseType));
                properties.put("limitAfter",
                        DbSqlSessionFactory.databaseSpecificLimitAfterStatements.get(databaseType));
                properties.put("limitBetween",
                        DbSqlSessionFactory.databaseSpecificLimitBetweenStatements.get(databaseType));
                properties.put("orderBy",
                        DbSqlSessionFactory.databaseSpecificOrderByStatements.get(databaseType));
            }
            XMLConfigBuilder parser = new XMLConfigBuilder(reader, "", properties);
            Configuration configuration = parser.getConfiguration();
            configuration.setEnvironment(environment);
            configuration.getTypeHandlerRegistry().register(VariableType.class, JdbcType.VARCHAR,
                    new IbatisVariableTypeHandler());
            configuration = parser.parse();

            sqlSessionFactory = new DefaultSqlSessionFactory(configuration);

        } catch (Exception e) {
            throw new ActivitiException("Error while building ibatis SqlSessionFactory: " + e.getMessage(), e);
        } finally {
            IoUtil.closeSilently(inputStream);
        }
    }
}

From source file:com.glaf.activiti.xml.BpmnXmlReader.java

License:Apache License

public Element getRootElement(InputStream inputStream) {
    SAXReader xmlReader = new SAXReader();
    Document doc = null;/*from  w  w  w  .jav a2s .  c  o  m*/
    try {
        doc = xmlReader.read(inputStream);
    } catch (DocumentException ex) {
        throw new RuntimeException(ex);
    }
    Element root = doc.getRootElement();
    return root;
}

From source file:com.glaf.core.provider.ServicePropertiesProvider.java

License:Apache License

public Document getFormatXMLDocument() {
    if (formatXML == null) {
        File file = getFileFromDevelopmentPath("Format.xml");
        if (file != null && file.exists() && file.isFile()) {
            try {
                SAXReader reader = new SAXReader();
                formatXML = reader.read(new FileReader(file));
            } catch (Exception ex) {
                throw new IllegalStateException(ex);
            }/*w  w w.  jav  a 2s.c om*/
        } else {
            file = new File(SystemProperties.getConfigRootPath() + "/Format.xml");
            try {
                SAXReader reader = new SAXReader();
                formatXML = reader.read(new FileReader(file));
            } catch (Exception ex) {
                throw new IllegalStateException(ex);
            }
        }
    }
    return formatXML;
}

From source file:com.glaf.core.provider.ServicePropertiesProvider.java

License:Apache License

public void setFormatXML(InputStream is) {
    try {/*  www.ja v  a 2  s .  co m*/
        SAXReader reader = new SAXReader();
        formatXML = reader.read(is);
    } catch (Exception e) {
        throw new IllegalStateException(e);
    }
}

From source file:com.glaf.core.provider.ServiceProviderConfigReader.java

License:Apache License

void read(String prefix, InputStream is) {
    try {/* w  w w .jav a2  s .c  o  m*/
        final SAXReader reader = new SAXReader();
        final Document doc = reader.read(is);
        process(prefix, doc);
    } catch (final Exception e) {
        throw new ServiceProviderException(e);
    }
}

From source file:com.glaf.core.provider.ServiceProviderConfigReader.java

License:Apache License

void read(String prefix, String fileLocation) {
    try {// w  ww .  ja  va2 s.  com
        final SAXReader reader = new SAXReader();
        final Document doc = reader.read(new FileInputStream(fileLocation));
        process(prefix, doc);
    } catch (final Exception ex) {
        ex.printStackTrace();
        throw new ServiceProviderException(ex);
    }
}

From source file:com.glaf.core.todo.util.TodoXmlReader.java

License:Apache License

public List<Todo> read(java.io.InputStream inputStream) {
    List<Todo> todos = new java.util.ArrayList<Todo>();
    SAXReader xmlReader = new SAXReader();
    int sortNo = 1;
    try {//ww  w  .  jav  a  2s.  c  o  m
        Document doc = xmlReader.read(inputStream);
        Element root = doc.getRootElement();
        List<?> rows = root.elements();
        Iterator<?> iterator = rows.iterator();
        while (iterator.hasNext()) {
            Element element = (Element) iterator.next();
            String id = element.attributeValue("id");
            Map<String, Object> rowMap = new java.util.HashMap<String, Object>();
            rowMap.put("id", id);
            List<?> properties = element.elements("property");
            Iterator<?> iter = properties.iterator();
            while (iter.hasNext()) {
                Element elem = (Element) iter.next();
                String propertyName = elem.attributeValue("name");
                String propertyValue = null;
                if (elem.attribute("value") != null) {
                    propertyValue = elem.attributeValue("value");
                } else {
                    propertyValue = elem.getTextTrim();
                }
                if (StringUtils.isNotEmpty(propertyName) && StringUtils.isNotEmpty(propertyValue)) {
                    rowMap.put(propertyName, propertyValue);
                }
            }

            Todo model = new Todo();
            model.setSortNo(sortNo++);
            Tools.populate(model, rowMap);

            todos.add(model);
        }
    } catch (Exception ex) {
        ex.printStackTrace();
        throw new RuntimeException(ex.getMessage());
    }
    return todos;
}

From source file:com.glaf.core.util.Dom4jUtils.java

License:Apache License

/**
 * ??//  w w w .j a v a  2 s .c om
 * 
 * @param inputStream
 *            InputStream
 * @param xpath
 *            String
 * @return Element
 * @throws Exception
 */
public static Element getElementCopy(InputStream inputStream, String xpath) throws Exception {
    if (xpath == null) {
        return toElement(inputStream);
    }
    SAXReader xmlReader = new SAXReader();
    Document doc = xmlReader.read(inputStream);
    Element root = doc.getRootElement();
    Element element = (Element) root.selectSingleNode(xpath);
    return element;
}