List of usage examples for org.dom4j.io SAXReader read
public Document read(InputSource in) throws DocumentException
Reads a Document from the given InputSource
using SAX
From source file:com.glaf.dts.util.XmlReader.java
License:Apache License
public DataTransfer read(java.io.InputStream inputStream) { DataTransfer tableModel = new DataTransfer(); SAXReader xmlReader = new SAXReader(); try {/*from w w w. j av a2 s . c o m*/ Document doc = xmlReader.read(inputStream); Element root = doc.getRootElement(); Element element = root.element("entity"); if (element != null) { List<?> attrs = element.attributes(); if (attrs != null && !attrs.isEmpty()) { Map<String, Object> dataMap = new java.util.HashMap<String, Object>(); Iterator<?> iter = attrs.iterator(); while (iter.hasNext()) { Attribute attr = (Attribute) iter.next(); dataMap.put(attr.getName(), attr.getStringValue()); tableModel.addProperty(attr.getName(), attr.getStringValue()); } Tools.populate(tableModel, dataMap); } tableModel.setEntityName(element.attributeValue("name")); tableModel.setPrimaryKey(element.attributeValue("primaryKey")); tableModel.setTableName(element.attributeValue("table")); tableModel.setTitle(element.attributeValue("title")); tableModel.setStopWord(element.attributeValue("stopWord")); tableModel.setPackageName(element.attributeValue("package")); tableModel.setEnglishTitle(element.attributeValue("englishTitle")); tableModel.setFilePrefix(element.attributeValue("filePrefix")); tableModel.setParseType(element.attributeValue("parseType")); tableModel.setParseClass(element.attributeValue("parseClass")); tableModel.setAggregationKeys(element.attributeValue("aggregationKeys")); tableModel.setSplit(element.attributeValue("split")); if (StringUtils.equals(element.attributeValue("insertOnly"), "true")) { tableModel.setInsertOnly("true"); } String startRow = element.attributeValue("startRow"); if (StringUtils.isNotEmpty(startRow) && StringUtils.isNumeric(startRow)) { tableModel.setStartRow(Integer.parseInt(startRow)); } String stopSkipRow = element.attributeValue("stopSkipRow"); if (StringUtils.isNotEmpty(stopSkipRow) && StringUtils.isNumeric(stopSkipRow)) { tableModel.setStopSkipRow(Integer.parseInt(stopSkipRow)); } String batchSize = element.attributeValue("batchSize"); if (StringUtils.isNotEmpty(batchSize) && StringUtils.isNumeric(batchSize)) { tableModel.setBatchSize(Integer.parseInt(batchSize)); } List<?> excludes = element.elements("excludes"); if (excludes != null && excludes.size() > 0) { Iterator<?> iterator = excludes.iterator(); while (iterator.hasNext()) { Element elem = (Element) iterator.next(); tableModel.addExclude(elem.getStringValue()); } } List<?> rows = element.elements("property"); if (rows != null && rows.size() > 0) { Iterator<?> iterator = rows.iterator(); while (iterator.hasNext()) { Element elem = (Element) iterator.next(); ColumnDefinition field = new ColumnDefinition(); this.readField(elem, field); tableModel.addColumn(field); if (StringUtils.equalsIgnoreCase(tableModel.getPrimaryKey(), field.getColumnName())) { tableModel.setIdColumn(field); } } } } } catch (Exception ex) { throw new RuntimeException(ex); } return tableModel; }
From source file:com.glaf.jbpm.config.JbpmExtensionReader.java
License:Apache License
public List<Extension> readTasks(java.io.InputStream inputStream) { List<Extension> extensions = new java.util.ArrayList<Extension>(); SAXReader xmlReader = new SAXReader(); try {/*from w w w. j a va2 s .c om*/ 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(); Extension extension = new Extension(); extension.setProcessName(element.attributeValue("processName")); extension.setTaskName(element.attributeValue("taskName")); extension.setType(x_type); if (element.elementTextTrim("taskMgmtType") != null) { ExtensionField extensionField = new ExtensionField(); 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)) { ExtensionField extensionField = new ExtensionField(); extensionField.setName(propertyName.trim()); extensionField.setValue(propertyValue.trim()); extension.addField(extensionField); } } } if (element.elementText("handlers") != null) { ExtensionField extensionField = new ExtensionField(); 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.jbpm.config.JbpmExtensionReader.java
License:Apache License
public List<Extension> readActions(java.io.InputStream inputStream) { List<Extension> extensions = new java.util.ArrayList<Extension>(); SAXReader xmlReader = new SAXReader(); try {/*from w ww . java 2 s. 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(); Extension extension = new Extension(); 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)) { ExtensionField extensionField = new ExtensionField(); extensionField.setName(propertyName.trim()); extensionField.setValue(propertyValue.trim()); extension.addField(extensionField); } } if (element.elementText("sql") != null) { ExtensionField extensionField = new ExtensionField(); extensionField.setName("sql"); extensionField.setValue(element.elementTextTrim("sql")); extension.addField(extensionField); } if (element.elementText("handlers") != null) { ExtensionField extensionField = new ExtensionField(); 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)) { ExtensionParam extensionParam = new ExtensionParam(); 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.jbpm.deploy.MxJbpmProcessDeployer.java
License:Apache License
public ProcessDefinition deploy(JbpmContext jbpmContext, byte[] zipBytes) { SAXReader xmlReader = new SAXReader(); JpdlXmlReader jpdlReader = new JpdlXmlReader(); Document doc = null;//from w w w. j a va2s. co m InputStream inputStream = null; ZipInputStream zipInputStream = null; ProcessDefinition processDefinition = null; Map<String, byte[]> zipMap = null; try { zipInputStream = new ZipInputStream(new ByteArrayInputStream(zipBytes)); zipMap = ZipUtils.getZipBytesMap(zipInputStream); zipInputStream.close(); zipInputStream = null; if (zipMap != null) { if (zipMap.get("processdefinition.xml") != null) { byte[] bytes = zipMap.get("processdefinition.xml"); inputStream = new ByteArrayInputStream(bytes); doc = xmlReader.read(inputStream); jpdlReader.checkTaskNames(doc); this.reconfigProcessDefinition(jbpmContext, doc); Element root = doc.getRootElement(); String encoding = doc.getXMLEncoding(); String processName = root.attributeValue("name"); try { SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMddHHmmss", Locale.getDefault()); String ret = formatter.format(new Date()); String filename = SystemProperties.getConfigRootPath() + "/deploy/" + processName + ret + ".zip"; // ? FileUtils.save(filename, zipBytes); } catch (Exception ex) { if (LogUtils.isDebug()) { logger.debug(ex); ex.printStackTrace(); } } byte[] pdBytes = Dom4jUtils.getBytesFromPrettyDocument(doc, encoding); zipMap.put("processdefinition.xml", pdBytes); // ?? byte[] newZipBytes = ZipUtils.toZipBytes(zipMap); zipInputStream = new ZipInputStream(new ByteArrayInputStream(newZipBytes)); processDefinition = ProcessDefinition.parseParZipInputStream(zipInputStream); jbpmContext.deployProcessDefinition(processDefinition); zipInputStream.close(); zipInputStream = null; String processDefinitionId = String.valueOf(processDefinition.getId()); logger.debug("processDefinitionId:" + processDefinitionId); logger.debug("processName:" + processName); Map<String, Task> taskMap = processDefinition.getTaskMgmtDefinition().getTasks(); if (taskMap != null && taskMap.size() > 0) { Iterator<String> iter = taskMap.keySet().iterator(); while (iter.hasNext()) { String taskName = iter.next(); logger.debug("taskName:" + taskName); } } try { SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMddHHmmss", Locale.getDefault()); String ret = formatter.format(new Date()); String filename = SystemProperties.getConfigRootPath() + "/deploy/" + processName + ret + "_repack.zip"; // ?? FileUtils.save(filename, newZipBytes); } catch (Exception ex) { if (LogUtils.isDebug()) { logger.debug(ex); } } } if (zipMap.get("process.cfg.xml") != null) { byte[] x_bytes = zipMap.get("process.cfg.xml"); if (x_bytes != null) { JbpmExtensionReader reader = new JbpmExtensionReader(); List<Extension> extensions = reader.readTasks(new ByteArrayInputStream(x_bytes)); if (extensions != null && extensions.size() > 0) { JbpmExtensionManager jbpmExtensionManager = ProcessContainer.getContainer() .getJbpmExtensionManager(); jbpmExtensionManager.reconfig(jbpmContext, extensions); } } } } return processDefinition; } catch (Throwable ex) { if (LogUtils.isDebug()) { logger.debug(ex); ex.printStackTrace(); } throw new JbpmException(ex); } finally { try { if (zipInputStream != null) { zipInputStream.close(); zipInputStream = null; } } catch (Exception ex) { if (LogUtils.isDebug()) { logger.debug(ex); } } try { if (inputStream != null) { inputStream.close(); inputStream = null; } } catch (Exception ex) { if (LogUtils.isDebug()) { logger.debug(ex); } } } }
From source file:com.glaf.jbpm.export.MxJbpmProcessExporter.java
License:Apache License
public void addElement(Document doc, Map<String, Object> context) { Element root = doc.getRootElement(); GraphSession graphSession = null;/*from ww w. j a v a2 s .c o m*/ JbpmContext jbpmContext = null; try { jbpmContext = ProcessContainer.getContainer().createJbpmContext(); graphSession = jbpmContext.getGraphSession(); List<ProcessDefinition> processDefinitions = graphSession.findLatestProcessDefinitions(); if (processDefinitions != null && processDefinitions.size() > 0) { Element element = root.addElement("processes"); Iterator<ProcessDefinition> iterator = processDefinitions.iterator(); while (iterator.hasNext()) { ProcessDefinition pd = iterator.next(); Element elem = element.addElement("process"); elem.addAttribute("name", pd.getName()); elem.addAttribute("description", pd.getDescription()); } } } catch (Exception ex) { if (LogUtils.isDebug()) { ex.printStackTrace(); } } finally { Context.close(jbpmContext); } Element jbpmCfgTemplate = root.addElement("jbpm-cfg-template"); String configPath = SystemProperties.getConfigRootPath(); String path = configPath + "/conf/jbpm/template"; java.io.File directory = new java.io.File(path); String[] filelist = directory.list(); InputStream inputStream = null; SAXReader xmlReader = new SAXReader(); for (int i = 0; i < filelist.length; i++) { String filename = directory.getAbsolutePath() + "/" + filelist[i]; File file = new File(filename); if (file.isFile() && file.getName().endsWith(".xml")) { try { inputStream = new FileInputStream(file); Document doc2x = xmlReader.read(inputStream); Element root2x = doc2x.getRootElement(); List<?> elements = root2x.elements("action-definition"); Iterator<?> iterator = elements.iterator(); while (iterator.hasNext()) { Element elem = (Element) iterator.next(); elem.setParent(jbpmCfgTemplate); elem.setDocument(doc); jbpmCfgTemplate.add(elem); } inputStream.close(); inputStream = null; } catch (Exception ex) { throw new RuntimeException(ex); } } } }
From source file:com.glaf.jbpm.xml.JpdlXmlReader.java
License:Apache License
public List<String> getTaskNames(InputStream inputStream) { List<String> taskNames = new ArrayList<String>(); SAXReader xmlReader = new SAXReader(); Document doc = null;//from w ww .j a v a 2 s .c o m try { doc = xmlReader.read(inputStream); } catch (Exception ex) { throw new RuntimeException(ex); } Element root = doc.getRootElement(); List<?> rows = root.elements("task-node"); Iterator<?> iterator = rows.iterator(); while (iterator.hasNext()) { Element element = (Element) iterator.next(); List<?> tasks = element.elements("task"); Iterator<?> iter = tasks.iterator(); while (iter.hasNext()) { Element elem = (Element) iter.next(); String taskName = elem.attributeValue("name"); if (taskNames.contains(taskName)) { throw new RuntimeException("task name '" + taskName + "' is exists."); } taskNames.add(taskName); } } return taskNames; }
From source file:com.glaf.jbpm.xml.JpdlXmlReader.java
License:Apache License
public List<Todo> read(InputStream inputStream) { List<Todo> todoList = new java.util.ArrayList<Todo>(); SAXReader xmlReader = new SAXReader(); int sortNo = 1; try {//from w w w . ja va 2 s . c o m Document doc = xmlReader.read(inputStream); Element root = doc.getRootElement(); String processName = root.attributeValue("name"); String moduleName = root.elementText("description"); List<?> rows = root.elements("task-node"); Iterator<?> iterator = rows.iterator(); while (iterator.hasNext()) { Element element = (Element) iterator.next(); List<?> tasks = element.elements("task"); Iterator<?> iter = tasks.iterator(); while (iter.hasNext()) { Element elem = (Element) iter.next(); String taskName = elem.attributeValue("name"); if (taskName.startsWith("task55")) { continue; } Todo model = new Todo(); model.setSortNo(sortNo++); model.setProcessName(processName); model.setModuleName(moduleName); model.setTitle(moduleName + " " + elem.attributeValue("description") + "??"); model.setContent(moduleName + " " + elem.attributeValue("description") + "??"); model.setCode(processName + "_" + taskName); model.setTaskName(taskName); model.setProvider("jbpm"); model.setLinkType(processName + "_" + taskName); String detail_url = conf.get("jbpm_task_detail_url"); String list_url = conf.get("jbpm_task_url"); model.setLink(detail_url + "&rowId=#{rowId}&x_method=view&app_name=" + processName); model.setListLink(list_url + "&taskType=running&app_name=" + processName); model.setLimitDay(2); model.setXa(6); model.setXb(6); todoList.add(model); } } } catch (Exception ex) { throw new RuntimeException(ex); } return todoList; }
From source file:com.glaf.mail.MxMailHelper.java
License:Apache License
public Map<String, String> getAttributes(String attribute) { Map<String, String> dataMap = new java.util.HashMap<String, String>(); StringReader stringReader = new StringReader(attribute); SAXReader xmlReader = new SAXReader(); try {/*from w w w .j av a 2 s . co m*/ Document doc = xmlReader.read(stringReader); Element root = doc.getRootElement(); List<?> elements = root.elements("element"); if (elements != null && elements.size() > 0) { Iterator<?> iterator = elements.iterator(); while (iterator.hasNext()) { Element element = (Element) iterator.next(); String name = element.attributeValue("name"); String value = element.attributeValue("value"); if (StringUtils.isEmpty(value)) { value = element.getStringValue(); } dataMap.put(name, value); } } } catch (Exception ex) { ex.printStackTrace(); } return dataMap; }
From source file:com.glaf.mail.xml.MailXmlReader.java
License:Apache License
public List<MailTemplate> read(java.io.InputStream inputStream) { List<MailTemplate> mailTemplates = new java.util.ArrayList<MailTemplate>(); SAXReader xmlReader = new SAXReader(); Document doc = null;/*from w w w . j a va 2s .c om*/ try { doc = xmlReader.read(inputStream); } catch (Exception ex) { throw new RuntimeException(ex); } Element root = doc.getRootElement(); List<?> rows = root.elements(); Iterator<?> iterator = rows.iterator(); while (iterator.hasNext()) { Element element = (Element) iterator.next(); String mailId = element.attributeValue("id"); String title = element.attributeValue("title"); String templateId = element.elementText("templateId"); String templatePath = element.elementText("templatePath"); MailTemplate mt = new MailTemplate(); mt.setTitle(title); mt.setMailDefId(mailId); mt.setTemplateId(templateId); mt.setTemplatePath(templatePath); mt.setProperties(this.readProperties(element)); mt.setContent(element.elementText("content")); mt.setDescription(element.elementText("description")); List<?> datasets = element.elements("dataset"); Iterator<?> iter = datasets.iterator(); while (iter.hasNext()) { Element elem = (Element) iter.next(); MailDataSet mailDS = new MailDataSet(); mailDS.setProperties(this.readProperties(elem)); List<?> rowsets = elem.elements("rowset"); Iterator<?> it = rowsets.iterator(); while (it.hasNext()) { Element em = (Element) it.next(); MailRowSet rs = new MailRowSet(); rs.setQuery(em.elementTextTrim("query")); rs.setMapping(em.attributeValue("mapping")); rs.setMailMgr(em.attributeValue("mailMgr")); rs.setMailMgrClassName(em.attributeValue("mailMgrClassName")); rs.setMailMgrMapping(em.attributeValue("mailMgrMapping")); rs.setDataMgr(em.attributeValue("dataMgr")); rs.setDataMgrBeanId(em.attributeValue("dataMgrBeanId")); rs.setDataMgrClassName(em.attributeValue("dataMgrClassName")); rs.setProperties(this.readProperties(em)); String singleResult = em.attributeValue("singleResult"); if ("true".equals(singleResult)) { rs.setSingleResult(true); } mailDS.addRowSet(rs); } mt.addDataSet(mailDS); } mailTemplates.add(mt); } return mailTemplates; }
From source file:com.glaf.report.xml.ReportDefinitionReader.java
License:Apache License
public List<ReportDefinition> read(java.io.InputStream inputStream) { List<ReportDefinition> reports = new java.util.ArrayList<ReportDefinition>(); SAXReader xmlReader = new SAXReader(); Document doc = null;//from w ww . j a v a 2 s. c om try { doc = xmlReader.read(inputStream); } catch (Exception ex) { throw new RuntimeException(ex); } Element root = doc.getRootElement(); List<?> rows = root.elements(); Iterator<?> iterator = rows.iterator(); while (iterator.hasNext()) { Element element = (Element) iterator.next(); String reportId = element.attributeValue("id"); String templateId = element.elementText("templateId"); String templateFile = element.elementText("templateFile"); ReportDefinition rdf = new ReportDefinition(); rdf.setReportId(reportId); rdf.setTemplateId(templateId); rdf.setTemplateFile(templateFile); rdf.setProperties(this.readProperties(element)); List<?> datasets = element.elements("dataset"); Iterator<?> iter = datasets.iterator(); while (iter.hasNext()) { Element elem = (Element) iter.next(); ReportDataSet rds = new ReportDataSet(); rds.setDatasourceName(elem.attributeValue("datasourceName")); rds.setProperties(this.readProperties(elem)); List<?> rowsets = elem.elements("rowset"); Iterator<?> it = rowsets.iterator(); while (it.hasNext()) { Element em = (Element) it.next(); ReportRowSet rs = new ReportRowSet(); rs.setQuery(em.elementTextTrim("query")); rs.setMapping(em.attributeValue("mapping")); rs.setRptMgr(em.attributeValue("rptMgr")); rs.setRptMgrClassName(em.attributeValue("rptMgrClassName")); rs.setRptMgrMapping(em.attributeValue("rptMgrMapping")); rs.setDataMgr(em.attributeValue("dataMgr")); rs.setDataMgrBeanId(em.attributeValue("dataMgrBeanId")); rs.setDataMgrClassName(em.attributeValue("dataMgrClassName")); rs.setProperties(this.readProperties(em)); String singleResult = em.attributeValue("singleResult"); if ("true".equals(singleResult)) { rs.setSingleResult(true); } rds.addRowSet(rs); } rdf.addDataSet(rds); } reports.add(rdf); } return reports; }