List of usage examples for org.dom4j DocumentHelper createDocument
public static Document createDocument()
From source file:com.noterik.bart.fs.legacy.properties.PropertyHandler.java
License:Open Source License
/** * This function creates a default property with the specified value * * @param url/*from w w w. java 2 s . com*/ * @param type * @param value */ public static void createPropertyWithValue(String url, String type, String value) { String uri = url.substring(0, url.lastIndexOf("/properties")); String property = url.substring(url.lastIndexOf("/properties") + 12); Document doc = DocumentHelper.createDocument(); doc.addElement("fsxml").addElement("properties").addElement(property).addText(value); Element fsxml = (Element) doc.selectSingleNode("/fsxml"); String xml = fsxml.asXML(); saveProperties(uri, type, xml); }
From source file:com.noterik.bart.fs.legacy.tools.XmlHelper.java
License:Open Source License
/** * This function returns a Document with the value of the property set by * path/* www. j ava 2 s .c o m*/ * * @param xml * String containing the property file * @param path * The path for the desired value * @return Document with the value of the property */ public static Document getValueOfProperty(String xml, String path) { String xpath = "/fsxml/" + path; Document doc = null; try { doc = DocumentHelper.parseText(xml); } catch (DocumentException e) { e.printStackTrace(); } Element elem = (Element) doc.selectSingleNode(xpath).clone(); Document newDoc = DocumentHelper.createDocument(); Element root = DocumentHelper.createElement("fsxml"); newDoc.setRootElement(root); Element fsxml = (Element) newDoc.selectSingleNode("/fsxml"); fsxml.add(elem); return newDoc; }
From source file:com.noterik.bart.fs.legacy.tools.XmlHelper.java
License:Open Source License
/** * This function will extract the props part of the xml String * passed as parameter and return it as fsxml compatible properties. * * If the node is not found, a default (empty) node will be returned * * @param xml//from ww w . jav a 2 s .c o m * @return */ public static String getPropsFromXml(String xml) { String props = "<fsxml>" + "<properties>" + "</properties>" + "</fsxml>"; Document doc = null; try { doc = DocumentHelper.parseText(xml); } catch (DocumentException e) { logger.error("", e); } Element properties = (Element) doc.selectSingleNode("/fsxml/ingest/props/properties").clone(); if (properties != null) { Document newDoc = DocumentHelper.createDocument(); Element fsxml = (Element) newDoc.addElement("fsxml"); fsxml.add(properties); props = fsxml.asXML(); } return props; }
From source file:com.orange.atk.atkUI.corecli.Campaign.java
License:Apache License
/** * Save current campaign in .mcl file/*w ww . j a v a 2 s . c o m*/ * * @param clFileName * @throws IOException */ public static void save(String clFileName, Campaign camp) { Document document = DocumentHelper.createDocument(); Element root = document.addElement("campaign"); if (camp.getName() != null) root.addAttribute("name", camp.getName()); if (camp.getAuthor() != null) root.addAttribute("author", camp.getAuthor()); if (camp.getDate() != null) root.addAttribute("date", camp.getDate()); if (camp.getDescription() != null) root.addAttribute("description", camp.getDescription()); int stepNumber = 0; for (Step step : camp) { step.save(root, stepNumber); stepNumber++; } OutputFormat format = OutputFormat.createPrettyPrint(); XMLWriter writer = null; try { writer = new XMLWriter(new FileWriter(clFileName), format); writer.write(document); writer.close(); } catch (IOException e) { Alert.raise(e, "Unable to save check-list in a file."); } }
From source file:com.orange.atk.atkUI.corecli.reportGenerator.ReportGenerator.java
License:Apache License
/** * Create a temporary file which contains only the report part * of the security profile./*from ww w . j a v a 2 s .co m*/ * @throws DocumentException */ protected Document getReportPartOfProfile() { Document document = profileParser.getDoc(); Element doElem = (Element) document.getRootElement().selectSingleNode("//do"); Document documentReport = DocumentHelper.createDocument(); documentReport.add(doElem.createCopy()); return documentReport; }
From source file:com.orange.atk.atkUI.corecli.reportGenerator.resultLink.ResultLink.java
License:Apache License
/** * Create <code>Resultvalue</code> object from result element * @param elem//from ww w .j ava 2s . co m * @return the created <code>Resultvalue</code> object. */ public static Resultvalue getResultvalue(Element elem, Unmarshaller unmarshaller) { String kind = elem.attributeValue("kind"); Resultvalue resultvalue = null; if (kind == null || !kind.equals("use")) { Element resultvalueElem = (Element) elem.elements().get(0); Document documentResultvalue = DocumentHelper.createDocument(); documentResultvalue.add(resultvalueElem.createCopy()); DOMWriter d4Writer = new org.dom4j.io.DOMWriter(); try { org.w3c.dom.Document doc = d4Writer.write(documentResultvalue); // Unmarshal the data resultvalue = (Resultvalue) unmarshaller.unmarshal(doc); } catch (Exception e) { Logger.getLogger(ResultLink.class).debug(e); e.printStackTrace(); } } return resultvalue; }
From source file:com.orange.atk.atkUI.corecli.utils.XMLOutput.java
License:Apache License
public XMLOutput(String dir, String rootElt) { try {/*from www. j a va 2 s . c o m*/ File file = new File(dir, rootElt + ".xml"); this.file = file; doc = DocumentHelper.createDocument(); root = doc.addElement(rootElt); } catch (Exception e) { Alert.raise(e, "Problem while preparing " + file); } }
From source file:com.orange.atk.atkUI.coregui.PhoneConfigurationWizard.java
License:Apache License
/** * call when user has changed configuration in interface *///from www . j ava2 s . c o m private void saveconfig() { //build xml Logger.getLogger(this.getClass()).debug("save config"); Document configxml = DocumentHelper.createDocument(); Element root = configxml.addElement("confile"); Element graphlist = root.addElement("graphlist"); //global graph for (int i = 0; i < graphs.getSize(); i++) { graphlist.addElement("graph").addAttribute("name", graphs.getName(i)) .addAttribute("color", graphs.getColor(i)).addAttribute("xcomment", graphs.getcommentX(i)) .addAttribute("ycomment", graphs.getcommentY(i)).addAttribute("unit", graphs.getunit(i)) .addAttribute("scale", graphs.getscale(i)).addAttribute("sampled", graphs.getsampled(i)); } //table Graph if (tablemodel != null) for (int i = 0; i < tablemodel.getRowCount(); i++) { //don't save non-fill row String processname = (String) tablemodel.getValueAt(i, 0); String type = (String) tablemodel.getValueAt(i, 1); String color = (String) tablemodel.getValueAt(i, 2); if ("process".equals(processname) || "color".equals(color) || "Cpu or Mem".equals(type)) { JOptionPane.showMessageDialog(null, "You must select the process, the color AND the type! \nThe line will be ignored."); continue; } String unit = ""; String scale = "1"; if (type.equals("Cpu")) unit = "%"; else if (type.equals("Memory")) { unit = "KBytes"; } else if (type.equals("Data sent")) { unit = "KBytes"; scale = "1000"; } else if (type.equals("Data received")) { unit = "KBytes"; scale = "1000"; } graphlist.addElement("graph").addAttribute("name", type + "_" + processname) .addAttribute("color", color).addAttribute("xcomment", "time (min)") .addAttribute("ycomment", type + " " + processname).addAttribute("unit", unit) .addAttribute("scale", scale).addAttribute("sampled", "true"); } //marker Element markerlist = root.addElement("markerlist"); for (int i = 0; i < events.getSize(); i++) markerlist.addElement("marker").addAttribute("name", events.getName(i)).addAttribute("color", "gray") .addAttribute("position", events.getPosition(i).toString()); OutputFormat format = OutputFormat.createPrettyPrint(); XMLWriter writer = null; try { writer = new XMLWriter(new FileWriter(configpath), format); writer.write(configxml); // // XMLWriter out = new XMLWriter(System.out,format); // out.write(configxml); } catch (UnsupportedEncodingException e1) { e1.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { if (writer != null) try { writer.close(); } catch (IOException e) { e.printStackTrace(); } } }
From source file:com.orange.atk.phone.android.wizard.AndroidWizard.java
License:Apache License
public void printReport() { String configXmlFileName = configFileName + ".xml"; Document configxml = DocumentHelper.createDocument(); configxml.addComment(" " + phone.getName() + " configuration file "); configxml.addComment(" Screen resolution " + screenWidth + "x" + screenHeight + " "); Element root = configxml.addElement("Android-config"); Element canalPattern = root.addElement("CanalPattern"); //keyboards/*w w w. ja v a2 s .c om*/ if (!keyboard.equals("")) printKeyMapping("keyboard", keyboard, canalPattern, root); if (!keyboard2.equals("")) printKeyMapping("keyboard2", keyboard2, canalPattern, root); if (!keyboard3.equals("")) printKeyMapping("keyboard3", keyboard3, canalPattern, root); Set<String> softKeySet = softKeyMap.keySet(); Element keyMapping = root.addElement("SoftKeyMapping"); for (String key : softKeySet) { keyMapping.addElement("Key").addAttribute("name", key) .addAttribute("avgX", "" + softKeyMap.get(key).getX()) .addAttribute("avgY", "" + softKeyMap.get(key).getY()); } //touchscreen if (!touchscreen.equals("")) { canalPattern.addElement("Pattern").addAttribute("canal", "touchscreen").addAttribute("value", touchscreen.replace("\"", "")); Element Touchscreen = root.addElement("Touchscreen"); Touchscreen.addComment("!!! THIS IS JUST TOUCHSCREEN Elements TEMPLATE !!!"); Touchscreen .addComment("!!! SEE ATK User Guide - Configuration section - and UPDATE following values !!!"); if (codeX != -1 && codeY != -1) { Touchscreen.addComment("!!! Please check following X Y ratioX and ratioY patterns"); Touchscreen.addElement("Pattern").addAttribute("name", "X").addAttribute("value", "3 " + codeX + " "); Touchscreen.addElement("Pattern").addAttribute("name", "Y").addAttribute("value", "3 " + codeY + " "); long ratio = maxX * 100 / screenWidth; Touchscreen.addElement("Pattern").addAttribute("name", "ratioX").addAttribute("value", String.valueOf((double) ratio / 100.0)); ratio = maxY * 100 / screenHeight; Touchscreen.addElement("Pattern").addAttribute("name", "ratioY").addAttribute("value", String.valueOf((double) ratio / 100.0)); Touchscreen.addComment("!!! Please update following patterns"); } else { Touchscreen.addElement("Pattern").addAttribute("name", "X").addAttribute("value", "0 0 "); Touchscreen.addElement("Pattern").addAttribute("name", "Y").addAttribute("value", "0 0 "); Touchscreen.addElement("Pattern").addAttribute("name", "ratioX").addAttribute("value", "1.0"); Touchscreen.addElement("Pattern").addAttribute("name", "ratioY").addAttribute("value", "1.0"); } Touchscreen.addElement("Pattern").addAttribute("name", "down").addAttribute("value", "0 0 0"); Touchscreen.addElement("Pattern").addAttribute("name", "downmax").addAttribute("value", "0 0 0"); Touchscreen.addElement("Pattern").addAttribute("name", "up").addAttribute("value", "0 0 0"); Touchscreen.addElement("Pattern").addAttribute("name", "flush").addAttribute("value", "0 0 0"); Touchscreen.addElement("Pattern").addAttribute("name", "flush2").addAttribute("value", "0 2 0"); Touchscreen.addElement("Threshold").addAttribute("name", "move").addAttribute("value", "15"); Touchscreen.addElement("Option").addAttribute("name", "sendMouseDownForMove").addAttribute("value", "true"); Touchscreen.addElement("Option").addAttribute("name", "sendMouseEventFirst").addAttribute("value", "true"); Touchscreen.addElement("Option").addAttribute("name", "useMonkeyForPress").addAttribute("value", "true"); } //Write the file. OutputFormat format = OutputFormat.createPrettyPrint(); XMLWriter writer = null; try { writer = new XMLWriter(new FileWriter(configXmlFileName), format); writer.write(configxml); writer.close(); } catch (IOException e) { e.printStackTrace(); } //Show a confirm dialog and exit the wizard JOptionPane.showConfirmDialog(this, "A template of the config file has been created under \n" + configXmlFileName + "\n" + "See ATK User guide to configure the Touchscreen section of this template\n", "Success", JOptionPane.CLOSED_OPTION); exit(true); }
From source file:com.ostrichemulators.semtool.ui.components.playsheets.BrowserPlaySheet2.java
License:Open Source License
protected BufferedImage getExportImageFromSVGBlock() throws IOException { log.debug("Using SVG block to save image."); DOMReader rdr = new DOMReader(); Document doc = rdr.read(engine.getDocument()); Document svgdoc = null;/* w ww . j a va 2 s. com*/ File svgfile = null; try { Map<String, String> namespaceUris = new HashMap<>(); namespaceUris.put("svg", "http://www.w3.org/2000/svg"); namespaceUris.put("xhtml", "http://www.w3.org/1999/xhtml"); XPath xp = DocumentHelper.createXPath("//svg:svg"); xp.setNamespaceURIs(namespaceUris); // don't forget about the styles XPath stylexp = DocumentHelper.createXPath("//xhtml:style"); stylexp.setNamespaceURIs(namespaceUris); svgdoc = DocumentHelper.createDocument(); Element svg = null; List<?> theSVGElements = xp.selectNodes(doc); if (theSVGElements.size() == 1) { svg = Element.class.cast(theSVGElements.get(0)).createCopy(); } else { int currentTop = 0; int biggestSize = 0; for (int i = 0; i < theSVGElements.size(); i++) { Element thisElement = Element.class.cast(theSVGElements.get(i)).createCopy(); int thisSize = thisElement.asXML().length(); if (thisSize > biggestSize) { currentTop = i; biggestSize = thisSize; } } svg = Element.class.cast(theSVGElements.get(currentTop)).createCopy(); } svgdoc.setRootElement(svg); Element oldstyle = Element.class.cast(stylexp.selectSingleNode(doc)); if (null != oldstyle) { Element defs = svg.addElement("defs"); Element style = defs.addElement("style"); style.addAttribute("type", "text/css"); String styledata = oldstyle.getTextTrim(); style.addCDATA(styledata); // put the stylesheet definitions first List l = svg.elements(); l.remove(defs); l.add(0, defs); } // clean up the SVG a little... // d3 comes up with coords like // M360,27475.063247863247C450,27475.063247863247 450,27269.907692307694 540,27269.907692307694 XPath cleanxp1 = DocumentHelper.createXPath("//svg:path"); Pattern pat = Pattern.compile(",([0-9]+)\\.([0-9]{1,2})[0-9]+"); cleanxp1.setNamespaceURIs(namespaceUris); List<?> cleanups = cleanxp1.selectNodes(svgdoc); for (Object n : cleanups) { Element e = Element.class.cast(n); String dstr = e.attributeValue("d"); Matcher m = pat.matcher(dstr); dstr = m.replaceAll(",$1.$2 "); e.addAttribute("d", dstr.replaceAll("([0-9])C([0-9])", "$1 C$2").trim()); } XPath cleanxp2 = DocumentHelper.createXPath("//svg:g[@class='node']"); cleanxp2.setNamespaceURIs(namespaceUris); cleanups = cleanxp2.selectNodes(svgdoc); for (Object n : cleanups) { Element e = Element.class.cast(n); String dstr = e.attributeValue("transform"); Matcher m = pat.matcher(dstr); dstr = m.replaceAll(",$1.$2"); e.addAttribute("transform", dstr.trim()); } svgfile = File.createTempFile("graphviz-", ".svg"); try (Writer svgw = new BufferedWriter(new FileWriter(svgfile))) { OutputFormat format = OutputFormat.createPrettyPrint(); XMLWriter xmlw = new XMLWriter(svgw, format); xmlw.write(svgdoc); xmlw.close(); if (log.isDebugEnabled()) { FileUtils.copyFile(svgfile, new File(FileUtils.getTempDirectory(), "graphvisualization.svg")); } } try (Reader svgr = new BufferedReader(new FileReader(svgfile))) { TranscoderInput inputSvg = new TranscoderInput(svgr); ByteArrayOutputStream baos = new ByteArrayOutputStream((int) svgfile.length()); TranscoderOutput outputPng = new TranscoderOutput(baos); try { PNGTranscoder transcoder = new PNGTranscoder(); transcoder.addTranscodingHint(PNGTranscoder.KEY_INDEXED, 256); transcoder.addTranscodingHint(ImageTranscoder.KEY_BACKGROUND_COLOR, Color.WHITE); transcoder.transcode(inputSvg, outputPng); } catch (Throwable t) { log.error(t, t); } baos.flush(); baos.close(); return ImageIO.read(new ByteArrayInputStream(baos.toByteArray())); } } catch (InvalidXPathException e) { log.error(e); String msg = "Problem creating image"; if (null != svgdoc) { try { File errsvg = new File(FileUtils.getTempDirectory(), "graphvisualization.svg"); FileUtils.write(errsvg, svgdoc.asXML(), Charset.defaultCharset()); msg = "Could not create the image. SVG data store here: " + errsvg.getAbsolutePath(); } catch (IOException ex) { // don't care } } throw new IOException(msg, e); } finally { if (null != svgfile) { FileUtils.deleteQuietly(svgfile); } } }