List of usage examples for org.dom4j.io XMLWriter XMLWriter
public XMLWriter(OutputStream out, OutputFormat format) throws UnsupportedEncodingException
From source file:org.apache.poi.openxml4j.opc.StreamHelper.java
License:Apache License
/** * Turning the DOM4j object in the specified output stream. * * @param xmlContent/*from www . j a va 2 s. c o m*/ * The XML document. * @param outStream * The OutputStream in which the XML document will be written. * @return <b>true</b> if the xml is successfully written in the stream, * else <b>false</b>. */ public static boolean saveXmlInStream(Document xmlContent, OutputStream outStream) { try { OutputFormat outformat = OutputFormat.createPrettyPrint(); outformat.setEncoding("UTF-8"); XMLWriter writer = new XMLWriter(outStream, outformat); writer.write(xmlContent); } catch (Exception e) { return false; } return true; }
From source file:org.apache.taglibs.xtags.xpath.OutputTag.java
License:Apache License
public int doStartTag() throws JspException { OutputFormat format = null;/*from ww w . ja v a 2s .c o m*/ if (indent != null) { format = OutputFormat.createPrettyPrint(); format.setIndent(indent); } else { format = new OutputFormat(); } format.setOmitEncoding(asBoolean(omitXmlDeclaration)); Writer out = pageContext.getOut(); if (method != null && method.equalsIgnoreCase("html")) { xmlWriter = new HTMLWriter(out, format); } else { xmlWriter = new XMLWriter(out, format); } return EVAL_BODY_INCLUDE; }
From source file:org.apache.taglibs.xtags.xpath.TagHelper.java
License:Apache License
public static XMLWriter getXMLWriter(PageContext pageContext, Tag thisTag) { OutputTag tag = (OutputTag) TagSupport.findAncestorWithClass(thisTag, OutputTag.class); if (tag != null) { return tag.getXMLWriter(); }/*from www . j a va2 s . c o m*/ return new XMLWriter(pageContext.getOut(), getOutputFormat(pageContext)); }
From source file:org.apache.taglibs.xtags.xpath.TagHelper.java
License:Apache License
public static XMLWriter createXMLWriter(PageContext pageContext) { return new XMLWriter(pageContext.getOut(), getOutputFormat(pageContext)); }
From source file:org.apereo.portal.layout.dlm.RDBMDistributedLayoutStore.java
License:Apache License
private org.dom4j.Element getExportLayoutDom(IPerson person, IUserProfile profile) { if (!this.layoutExistsForUser(person)) { return null; }/*from w ww .j a va 2 s . co m*/ org.dom4j.Document layoutDoc = null; try { final Document layoutDom = this._safeGetUserLayout(person, profile); person.setAttribute(Constants.PLF, layoutDom); layoutDoc = this.reader.get().read(layoutDom); } catch (final Throwable t) { final String msg = "Unable to obtain layout & profile for user '" + person.getUserName() + "', profileId " + profile.getProfileId(); throw new RuntimeException(msg, t); } if (logger.isDebugEnabled()) { // Write out this version of the layout to the log for dev purposes... final StringWriter str = new StringWriter(); final XMLWriter xml = new XMLWriter(str, new OutputFormat(" ", true)); try { xml.write(layoutDoc); xml.close(); } catch (final Throwable t) { throw new RuntimeException( "Failed to write the layout for user '" + person.getUserName() + "' to the DEBUG log", t); } logger.debug("Layout for user: {}\n{}", person.getUserName(), str.getBuffer().toString()); } /* * Attempt to detect a corrupted layout; return null in such cases */ if (isLayoutCorrupt(layoutDoc)) { logger.warn("Layout for user: {} is corrupt; layout structures will not be exported.", person.getUserName()); return null; } /* * Clean up the DOM for export. */ // (1) Add structure & theme attributes... final int structureStylesheetId = profile.getStructureStylesheetId(); this.addStylesheetUserPreferencesAttributes(person, profile, layoutDoc, structureStylesheetId, "structure"); final int themeStylesheetId = profile.getThemeStylesheetId(); this.addStylesheetUserPreferencesAttributes(person, profile, layoutDoc, themeStylesheetId, "theme"); // (2) Remove locale info... final Iterator<org.dom4j.Attribute> locale = (Iterator<org.dom4j.Attribute>) layoutDoc .selectNodes("//@locale").iterator(); while (locale.hasNext()) { final org.dom4j.Attribute loc = locale.next(); loc.getParent().remove(loc); } // (3) Scrub unnecessary channel information... for (final Iterator<org.dom4j.Element> orphanedChannels = (Iterator<org.dom4j.Element>) layoutDoc .selectNodes("//channel[@fname = '']").iterator(); orphanedChannels.hasNext();) { // These elements represent UP_LAYOUT_STRUCT rows where the // CHAN_ID field was not recognized by ChannelRegistryStore; // best thing to do is remove the elements... final org.dom4j.Element ch = orphanedChannels.next(); ch.getParent().remove(ch); } final List<String> channelAttributeWhitelist = Arrays.asList(new String[] { "fname", "unremovable", "hidden", "immutable", "ID", "dlm:plfID", "dlm:moveAllowed", "dlm:deleteAllowed" }); final Iterator<org.dom4j.Element> channels = (Iterator<org.dom4j.Element>) layoutDoc .selectNodes("//channel").iterator(); while (channels.hasNext()) { final org.dom4j.Element oldCh = channels.next(); final org.dom4j.Element parent = oldCh.getParent(); final org.dom4j.Element newCh = this.fac.createElement("channel"); for (final String aName : channelAttributeWhitelist) { final org.dom4j.Attribute a = (org.dom4j.Attribute) oldCh.selectSingleNode("@" + aName); if (a != null) { newCh.addAttribute(a.getQName(), a.getValue()); } } parent.elements().add(parent.elements().indexOf(oldCh), newCh); parent.remove(oldCh); } // (4) Convert internal DLM noderefs to external form (pathrefs)... for (final Iterator<org.dom4j.Attribute> origins = (Iterator<org.dom4j.Attribute>) layoutDoc .selectNodes("//@dlm:origin").iterator(); origins.hasNext();) { final org.dom4j.Attribute org = origins.next(); final Pathref dlmPathref = this.nodeReferenceFactory.getPathrefFromNoderef( (String) person.getAttribute(IPerson.USERNAME), org.getValue(), layoutDoc.getRootElement()); if (dlmPathref != null) { // Change the value only if we have a valid pathref... org.setValue(dlmPathref.toString()); } else { if (logger.isWarnEnabled()) { logger.warn("Layout element '{}' from user '{}' failed to match noderef '{}'", org.getUniquePath(), person.getAttribute(IPerson.USERNAME), org.getValue()); } } } for (final Iterator<org.dom4j.Attribute> it = (Iterator<org.dom4j.Attribute>) layoutDoc .selectNodes("//@dlm:target").iterator(); it.hasNext();) { final org.dom4j.Attribute target = it.next(); final Pathref dlmPathref = this.nodeReferenceFactory.getPathrefFromNoderef( (String) person.getAttribute(IPerson.USERNAME), target.getValue(), layoutDoc.getRootElement()); if (dlmPathref != null) { // Change the value only if we have a valid pathref... target.setValue(dlmPathref.toString()); } else { if (logger.isWarnEnabled()) { logger.warn("Layout element '{}' from user '{}' failed to match noderef '{}'", target.getUniquePath(), person.getAttribute(IPerson.USERNAME), target.getValue()); } } } for (final Iterator<org.dom4j.Attribute> names = (Iterator<org.dom4j.Attribute>) layoutDoc .selectNodes("//dlm:*/@name").iterator(); names.hasNext();) { final org.dom4j.Attribute n = names.next(); if (n.getValue() == null || n.getValue().trim().length() == 0) { // Outer <dlm:positionSet> elements don't seem to use the name // attribute, though their childern do. Just skip these so we // don't send a false WARNING. continue; } final Pathref dlmPathref = this.nodeReferenceFactory.getPathrefFromNoderef( (String) person.getAttribute(IPerson.USERNAME), n.getValue(), layoutDoc.getRootElement()); if (dlmPathref != null) { // Change the value only if we have a valid pathref... n.setValue(dlmPathref.toString()); // These *may* have fnames... if (dlmPathref.getPortletFname() != null) { n.getParent().addAttribute("fname", dlmPathref.getPortletFname()); } } else { if (logger.isWarnEnabled()) { logger.warn("Layout element '{}' from user '{}' failed to match noderef '{}'", n.getUniquePath(), person.getAttribute(IPerson.USERNAME), n.getValue()); } } } // Remove synthetic Ids, but from non-fragment owners only... if (!this.isFragmentOwner(person)) { /* * In the case of fragment owners, the original database Ids allow * us keep (not break) the associations that subscribers have with * nodes on the fragment layout. */ // (5) Remove dlm:plfID... for (final Iterator<org.dom4j.Attribute> plfid = (Iterator<org.dom4j.Attribute>) layoutDoc .selectNodes("//@dlm:plfID").iterator(); plfid.hasNext();) { final org.dom4j.Attribute plf = plfid.next(); plf.getParent().remove(plf); } // (6) Remove database Ids... for (final Iterator<org.dom4j.Attribute> ids = (Iterator<org.dom4j.Attribute>) layoutDoc .selectNodes("//@ID").iterator(); ids.hasNext();) { final org.dom4j.Attribute a = ids.next(); a.getParent().remove(a); } } return layoutDoc.getRootElement(); }
From source file:org.arangitester.log.XmlResult.java
License:Apache License
public void save(File file, FunctionalSuite result) { // file indicates a pathname Document document = DocumentHelper.createDocument(); // create a new xml document Element root = document.addElement("LccFunctionalSuite"); // create the root tag named LccFunctionalSuite if (result == null) return;// ww w .j a va 2 s .com SummaryHelper summary = new SummaryHelper(result); root.addAttribute("totalTime", String.valueOf(summary.getTotalTime())); System.out.println("Tempo de Execuo: " + summary.getTotalTime() + " min"); root.addAttribute("total", String.valueOf(summary.getTotal())); System.out.println("Total: " + summary.getTotal()); root.addAttribute("skip", String.valueOf(summary.getSkip())); System.out.println("Skiped: " + summary.getSkip()); root.addAttribute("fail", String.valueOf(summary.getFail())); System.out.println("Fail: " + summary.getFail()); root.addAttribute("successful", String.valueOf(summary.getSuccessful())); System.out.println("Successful: " + summary.getSuccessful()); root.addAttribute("percent", String.valueOf(summary.getPercent())); System.out.println("Sucessful: " + summary.getPercent() + "%"); for (UseCase usecase : result.getCases()) { Element userCaseElement = root.addElement("UseCase").addAttribute("name", usecase.getName()) .addAttribute("startTime", getFormatedDate((usecase.getStartTime()))) .addAttribute("endTime", getFormatedDate(usecase.getEndTime())); for (String obs : usecase.getObs()) { Element obsElement = userCaseElement.addElement("Obs"); obsElement.addText(obs); } for (Object log : usecase.getlogs()) { if (log instanceof Info) { userCaseElement.addElement("info").addText(((Info) log).getMessage()); } else { Error error = ((Error) log); Element errorElement = userCaseElement.addElement("error").addAttribute("cause", error.getCause()); if (error.getScreenshot() != null) errorElement.addAttribute("screenshot", error.getScreenshot()); if (error.getError() != null) errorElement.addText(error.getError()); } } for (TestCase testcase : usecase.getTestcases()) { Element testCaseElement = userCaseElement.addElement("TestCase") .addAttribute("name", testcase.getJavaMethod()) .addAttribute("description", testcase.getTestcase()) .addAttribute("startTime", getFormatedDate(testcase.getStartTime())) .addAttribute("endTime", getFormatedDate(testcase.getEndTime())) .addAttribute("skip", String.valueOf(testcase.isSkip())); for (Object log : testcase.getlogs()) { if (log instanceof Info) { testCaseElement.addElement("info").addText(((Info) log).getMessage()); } else { Error error = ((Error) log); Element errorElement = testCaseElement.addElement("error").addAttribute("cause", error.getCause()); if (error.getScreenshot() != null) errorElement.addAttribute("screenshot", error.getScreenshot()); if (error.getError() != null) errorElement.addText(error.getError()); } } } } // End of the document building // Now, we will start to write in document try { file.getParentFile().mkdirs(); file.createNewFile(); OutputFormat outformat = OutputFormat.createPrettyPrint(); XMLWriter write = new XMLWriter(new FileWriter(file), outformat); // Initialize the xml file write.write(document); // Write the final document on xml file write.close(); } catch (IOException e) { System.out.println("Erro durante a gravao no arquivo " + file + " :\n" + e.toString()); } }