List of usage examples for org.dom4j.io XMLWriter writeOpen
public void writeOpen(Element element) throws IOException
Writes the opening tag of an Element , including its Attribute s but without its content.
From source file:com.bstek.dorado.idesupport.output.RuleSetOutputter.java
License:Open Source License
public void output(Writer writer, RuleTemplateManager ruleTemplateManager) throws Exception { OutputFormat format = OutputFormat.createPrettyPrint(); format.setEncoding(Constants.DEFAULT_CHARSET); XMLWriter xmlWriter = new XMLWriter(writer, format); xmlWriter.startDocument();// ww w.java2 s . c om Element rootElement = DocumentHelper.createElement("RuleSet"); rootElement.addAttribute("version", ruleTemplateManager.getVersion()); xmlWriter.writeOpen(rootElement); OutputContext context = new OutputContext(); outputPackageInfos(xmlWriter, ruleTemplateManager, context); for (RuleTemplate ruleTemplate : ruleTemplateManager.getRuleTemplates()) { // PropertyDataType? // if (ruleTemplate.isAbstract() // && ruleTemplate.getSubRuleTemplates().length == 0) { // continue; // } outputRuleTemplate(xmlWriter, ruleTemplate, context); } xmlWriter.writeClose(rootElement); xmlWriter.endDocument(); xmlWriter.close(); }
From source file:com.bstek.dorado.idesupport.output.RuleSetOutputter.java
License:Open Source License
protected void outputPackageInfos(XMLWriter xmlWriter, RuleTemplateManager ruleTemplateManager, OutputContext context) throws Exception { Map<String, PackageInfo> finalPackageInfos = new LinkedHashMap<String, PackageInfo>( PackageManager.getPackageInfoMap()); Collection<PackageInfo> packageInfos = ruleTemplateManager.getPackageInfos(); if (packageInfos != null) { for (PackageInfo packageInfo : packageInfos) { finalPackageInfos.put(packageInfo.getName(), packageInfo); }// w w w . jav a2 s.c o m } Element packageInfosElement = DocumentHelper.createElement("PackageInfos"); xmlWriter.writeOpen(packageInfosElement); for (PackageInfo packageInfo : finalPackageInfos.values()) { Element packageInfoElement = DocumentHelper.createElement("PackageInfo"); setElementAttributes(packageInfoElement, packageInfo, "name,version"); xmlWriter.write(packageInfoElement); } xmlWriter.writeClose(packageInfosElement); }
From source file:com.bstek.dorado.idesupport.output.RuleSetOutputter.java
License:Open Source License
protected void outputRuleTemplate(XMLWriter xmlWriter, RuleTemplate ruleTemplate, OutputContext context) throws Exception { Element element = DocumentHelper.createElement("Rule"); setElementAttribute(element, ruleTemplate, "name"); RuleTemplate[] parents = ruleTemplate.getParents(); if (parents != null && parents.length > 0) { String parentsText = ""; for (RuleTemplate parent : parents) { if (parentsText.length() > 0) parentsText += ','; parentsText += parent.getName(); }/*from www . j a v a2 s . com*/ element.addAttribute("parents", parentsText); } setElementAttributes(element, ruleTemplate, "label,abstract,nodeName,type,scope,sortFactor,category,robots,icon,labelProperty,autoGenerateId,clientTypes,deprecated,reserve"); if (!ruleTemplate.isVisible()) { element.addAttribute("visible", "false"); } xmlWriter.writeOpen(element); Collection<PropertyTemplate> primitiveProperties = ruleTemplate.getPrimitiveProperties().values(); if (!primitiveProperties.isEmpty()) { Element subElement = DocumentHelper.createElement("PrimitiveProps"); xmlWriter.writeOpen(subElement); for (PropertyTemplate property : primitiveProperties) { outputProperty(xmlWriter, property, context); } xmlWriter.writeClose(subElement); } Collection<PropertyTemplate> properties = ruleTemplate.getProperties().values(); if (!properties.isEmpty()) { Element subElement = DocumentHelper.createElement("Props"); xmlWriter.writeOpen(subElement); for (PropertyTemplate property : properties) { outputProperty(xmlWriter, property, context); } xmlWriter.writeClose(subElement); } Collection<ClientEvent> clientEvents = ruleTemplate.getClientEvents().values(); if (!clientEvents.isEmpty()) { Element subElement = DocumentHelper.createElement("ClientEvents"); xmlWriter.writeOpen(subElement); for (ClientEvent clientEvent : clientEvents) { outputClientEvent(xmlWriter, clientEvent, context); } xmlWriter.writeClose(subElement); } Collection<ChildTemplate> children = ruleTemplate.getChildren().values(); if (!children.isEmpty()) { Element subElement = DocumentHelper.createElement("Children"); xmlWriter.writeOpen(subElement); for (ChildTemplate childTemplate : children) { outputChildTemplate(xmlWriter, childTemplate, context); } xmlWriter.writeClose(subElement); } xmlWriter.writeClose(element); }
From source file:com.bstek.dorado.idesupport.output.RuleSetOutputter.java
License:Open Source License
protected void outputProperty(XMLWriter xmlWriter, PropertyTemplate property, OutputContext context) throws Exception { Element element = DocumentHelper.createElement("Prop"); setElementAttributes(element, property, "name,defaultValue,highlight,fixed,enumValues,editor,clientTypes,deprecated,reserve"); if (!property.isVisible()) { element.addAttribute("visible", "false"); }//from ww w .ja va2 s. c o m if (StringUtils.isNotEmpty(property.getType())) { try { Class<?> type = ClassUtils.forName(property.getType()); if (!String.class.equals(type) && !type.isEnum()) { element.addAttribute("type", type.getName()); } } catch (ClassNotFoundException e) { // do nothing } } CompositeType compositeType = property.getCompositeType(); if (compositeType != CompositeType.Unsupport) { element.addAttribute("compositeType", compositeType.toString()); } ReferenceTemplate reference = property.getReference(); if (reference != null) { String referenceText = reference.getRuleTemplate().getName(); if (StringUtils.isNotEmpty(reference.getProperty())) { referenceText += ':' + reference.getProperty(); } element.addAttribute("reference", referenceText); } if (compositeType == CompositeType.Fixed || compositeType == CompositeType.Open) { xmlWriter.writeOpen(element); for (PropertyTemplate subProperty : property.getProperties().values()) { outputProperty(xmlWriter, subProperty, context); } xmlWriter.writeClose(element); } else { xmlWriter.write(element); } }
From source file:com.bstek.dorado.idesupport.output.RuleSetOutputter.java
License:Open Source License
protected void outputChildTemplate(XMLWriter xmlWriter, ChildTemplate childTemplate, OutputContext context) throws Exception { Element element = DocumentHelper.createElement("Child"); RuleTemplate ruleTemplate = childTemplate.getRuleTemplate(); String ruleName = ruleTemplate.getName(); if (ruleTemplate.isGlobal()) { element.addAttribute("rule", ruleName); }/*www. j av a2 s .c o m*/ setElementAttributes(element, childTemplate, "name,fixed,aggregated,clientTypes,deprecated,reserve"); if (!childTemplate.isPublic()) { element.addAttribute("public", Boolean.FALSE.toString()); } if (!childTemplate.isVisible()) { element.addAttribute("visible", "false"); } xmlWriter.writeOpen(element); if (!ruleTemplate.isGlobal()) { outputRuleTemplate(xmlWriter, ruleTemplate, context); } xmlWriter.writeClose(element); }
From source file:org.itracker.web.util.ImportExportUtilities.java
License:Open Source License
public static void exportIssues(XMLWriter writer, List<Issue> issues, SystemConfiguration config) throws ImportExportException { Element elRoot = getDocumentFactory().createElement(TAG_ROOT); try {/*ww w. j a v a 2s . c om*/ writer.startDocument(); writer.writeOpen(elRoot); exportConfigModels(writer, config); exportIssuesModels(writer, issues); writer.writeClose(elRoot); writer.endDocument(); } catch (SAXException e) { throw new ImportExportException(e.getMessage(), ImportExportException.TYPE_UNKNOWN); } catch (IOException e) { throw new ImportExportException("Problem writing export stream. " + e.getMessage(), ImportExportException.TYPE_UNKNOWN); } }
From source file:org.itracker.web.util.ImportExportUtilities.java
License:Open Source License
public static void exportConfigModels(XMLWriter writer, SystemConfiguration config) throws IOException { if (config != null) { Element elConfigs = getDocumentFactory().createElement(TAG_CONFIGURATION); writer.writeOpen(elConfigs); getConfigurationXML(writer, config); writer.writeClose(elConfigs);/*from ww w . jav a 2 s. c o m*/ } }
From source file:org.itracker.web.util.ImportExportUtilities.java
License:Open Source License
public static void exportIssuesModels(XMLWriter writer, List<Issue> issues) throws IOException { HashMap<String, Project> projects = new HashMap<>(); HashMap<String, User> users = new HashMap<>(); if (issues == null || issues.size() == 0) { throw new IllegalArgumentException("The issue list was null or zero length."); }/*from ww w. j a va 2 s . c o m*/ // initialize dataset for (Issue issue : issues) { if (!projects.containsKey(issue.getProject().getId().toString())) { if (logger.isDebugEnabled()) logger.debug("Adding new project " + issue.getProject().getId() + " to export."); projects.put(issue.getProject().getId().toString(), issue.getProject()); } if (issue.getCreator() != null && !users.containsKey(issue.getCreator().getId().toString())) { if (logger.isDebugEnabled()) logger.debug("Adding new user " + issue.getCreator().getId() + " to export."); users.put(issue.getCreator().getId().toString(), issue.getCreator()); } if (issue.getOwner() != null && !users.containsKey(issue.getOwner().getId().toString())) { if (logger.isDebugEnabled()) logger.debug("Adding new user " + issue.getOwner().getId() + " to export."); users.put(issue.getOwner().getId().toString(), issue.getOwner()); } List<IssueHistory> history = issue.getHistory(); for (IssueHistory aHistory : history) { if (aHistory != null && aHistory.getUser() != null && !users.containsKey(aHistory.getUser().getId().toString())) { if (logger.isDebugEnabled()) logger.debug("Adding new user " + aHistory.getUser().getId() + " to export."); users.put(aHistory.getUser().getId().toString(), aHistory.getUser()); } } List<IssueAttachment> attachments = issue.getAttachments(); for (IssueAttachment attachment : attachments) { if (attachment != null && attachment.getUser() != null && !users.containsKey(attachment.getUser().getId().toString())) { if (logger.isDebugEnabled()) logger.debug("Adding new user " + attachment.getUser().getId() + " to export."); users.put(attachment.getUser().getId().toString(), attachment.getUser()); } } } for (String s : projects.keySet()) { Project project = projects.get(s); for (User o : project.getOwners()) { users.put(o.getId().toString(), o); } } Element elUsers = getDocumentFactory().createElement(TAG_USERS); writer.writeOpen(elUsers); for (User u : users.values()) { exportModel(writer, u); } writer.writeClose(elUsers); Element elProjects = getDocumentFactory().createElement(TAG_PROJECTS); writer.writeOpen(elProjects); for (Project s : projects.values()) { exportModel(writer, s); } writer.writeClose(elProjects); Element elIssues = getDocumentFactory().createElement(TAG_ISSUES); writer.writeOpen(elIssues); for (Issue issue : issues) { exportModel(writer, issue); } writer.writeClose(elIssues); }
From source file:org.itracker.web.util.ImportExportUtilities.java
License:Open Source License
private static void addIdCollection(XMLWriter writer, List<? extends AbstractEntity> entities, String elName, String itName, String idPrefix) throws IOException { if (entities.size() > 0) { Element elTmp;/*from w ww .j a v a 2s . co m*/ final DocumentFactory factory = getDocumentFactory(); final Element el = factory.createElement(elName); writer.writeOpen(el); for (AbstractEntity c : entities) { elTmp = factory.createElement(itName); elTmp.setText(idPrefix + c.getId()); writer.write(elTmp); } writer.writeClose(el); } }
From source file:org.itracker.web.util.ImportExportUtilities.java
License:Open Source License
private static void addIssueFields(XMLWriter writer, List<IssueField> entities) throws IOException { if (entities.size() > 0) { Element elTmp;//from w ww . j a v a 2 s . c o m final DocumentFactory factory = getDocumentFactory(); final Element el = factory.createElement(TAG_ISSUE_FIELDS); writer.writeOpen(el); for (IssueField c : entities) { elTmp = factory.createElement(TAG_ISSUE_FIELD); elTmp.addAttribute(ATTR_ID, TAG_CUSTOM_FIELD + c.getId()); elTmp.add(factory.createCDATA(c.getValue(EXPORT_LOCALE))); writer.write(elTmp); } writer.writeClose(el); } }