List of usage examples for org.jsoup.nodes Element appendChild
public Element appendChild(Node child)
From source file:im.ene.lab.attiq.ui.activities.ItemDetailActivity.java
@SuppressWarnings("unused") public void onEventMainThread(ItemCommentsEvent event) { if (!UIUtil.isEmpty(event.comments)) { mCommentsView.setVisibility(View.VISIBLE); List<Comment> comments = event.comments; mCommentCount.setText(comments.size() + ""); String info = comments.size() == 1 ? getString(R.string.comment_singular) : getString(R.string.comment_plural); // FIXME should use plural strings mCommentInfo.setText(getString(R.string.article_comment, comments.size(), info)); final String html; try {//from ww w .j av a 2 s .c o m html = IOUtil.readAssets("html/comments.html"); Document fullBody = Jsoup.parse(html); Element content = fullBody.getElementById("content"); for (Comment comment : comments) { String commentHtml = IOUtil.readAssets("html/comment.html"); commentHtml = commentHtml.replace("{user_icon_url}", comment.getUser().getProfileImageUrl()) .replace("{user_name}", comment.getUser().getId()) .replace("{comment_time}", TimeUtil.commentTime(comment.getCreatedAt())) .replace("{article_uuid}", mItemUuid).replace("{comment_id}", comment.getId()); Document commentDoc = Jsoup.parse(commentHtml); Element eComment = commentDoc.getElementsByClass("comment-box").first(); eComment.getElementsByClass("message").first().append(comment.getRenderedBody()); // remove comment edit block if it is not from current user if (mMyProfile == null || !mMyProfile.getId().equals(comment.getUser().getId())) { String commentId = "comment_{comment_id}_{user_name}" .replace("{comment_id}", comment.getId()) .replace("{user_name}", comment.getUser().getId()); Element commentEditor = commentDoc.getElementById(commentId); commentEditor.remove(); } content.appendChild(eComment); } String result = fullBody.outerHtml(); mCommentsView.loadDataWithBaseURL("http://qiita.com/", result, null, null, null); } catch (IOException e) { e.printStackTrace(); } } else { mCommentCount.setText("0"); mCommentInfo.setText(getString(R.string.article_comment, 0, getString(R.string.comment_plural))); mCommentsView.setVisibility(View.GONE); } }
From source file:org.craftercms.social.migration.controllers.MainController.java
protected void getHtml(final FileWriter writer) throws TransformerException, IOException { final URL in = getClass().getResource( MigrationTool.systemProperties.getString("crafter" + ".migration" + "" + ".loggerTemplate")); if (in == null) { log.error("Unable to find {} " + MigrationTool.systemProperties.getString("crafter" + ".migration" + "" + ".loggerTemplate")); }/*from ww w . j a va 2 s. c om*/ final Document loggingDoc = Jsoup.parse(IOUtils.toString(in)); final Element logs = loggingDoc.getElementById("logs"); for (Object o : logTable.getItems()) { if (o instanceof UserLogEntry) { UserLogEntry userLogEntry = (UserLogEntry) o; String dateFormat = new SimpleDateFormat("yyyy MM dd hh:mm:ss zzz").format(userLogEntry.getDate()); final Element tr = loggingDoc.createElement("tr"); tr.attr("class", userLogEntry.getLevel().getCssClass()); final Element tmigrator = loggingDoc.createElement("td"); final Element tdate = loggingDoc.createElement("td"); final Element tmessage = loggingDoc.createElement("td"); tmessage.attr("class", "text-center"); tmessage.text(userLogEntry.getMessage()); tdate.text(dateFormat); tmigrator.text(userLogEntry.getSource()); tr.appendChild(tmigrator); tr.appendChild(tdate); tr.appendChild(tmessage); logs.appendChild(tr); } } IOUtils.write(loggingDoc.toString(), writer); // Transformer transformer = TransformerFactory.newInstance().newTransformer(); // transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "no"); // transformer.setOutputProperty(OutputKeys.METHOD, "xml"); // transformer.setOutputProperty(OutputKeys.INDENT, "yes"); // transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8"); // transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "4"); // transformer.transform(new DOMSource(loggingDoc), new StreamResult(writer)); writer.flush(); writer.close(); }
From source file:org.jboss.tools.windup.ui.internal.issues.IssueDetailsView.java
public static void addPrism(Document doc) { try {//from w w w . j a v a 2 s .co m Bundle bundle = WindupUIPlugin.getDefault().getBundle(); Elements codeElements = doc.getElementsByTag("code"); codeElements.forEach(element -> { Set<String> classNames = element.classNames(); Set<String> newNames = Sets.newHashSet(); classNames.forEach(className -> { // prismjs requires prefix, i'm not sure about another/easier workaround. newNames.add("language-" + className); }); element.classNames(newNames); }); DocumentType type = new DocumentType("html", "", "", ""); doc.insertChildren(0, Lists.newArrayList(type)); Element head = doc.head(); Element css = doc.createElement("link"); URL fileURL = FileLocator.find(bundle, new Path("html/prism.css"), null); String srcPath = FileLocator.resolve(fileURL).getPath(); css.attr("href", srcPath); css.attr("rel", "stylesheet"); head.appendChild(css); Element body = doc.body(); Element script = doc.createElement("script"); fileURL = FileLocator.find(bundle, new Path("html/prism.js"), null); srcPath = FileLocator.resolve(fileURL).getPath(); script.attr("src", srcPath); body.appendChild(script); } catch (Exception e) { WindupUIPlugin.log(e); } }
From source file:org.structr.web.importer.Importer.java
/** * Parse the code previously read by {@link Importer#readPage()} and treat it as page fragment. * * @param fragment/*from www . j av a2 s. com*/ * @return * @throws FrameworkException */ public boolean parse(final boolean fragment) throws FrameworkException { init(); if (StringUtils.isNotBlank(code)) { if (!isDeployment) { logger.info("##### Start parsing code for page {} #####", new Object[] { name }); } else { // a trailing slash to all void/self-closing tags so the XML parser can parse it correctly code = code.replaceAll( "<(area|base|br|col|command|embed|hr|img|input|keygen|link|meta|param|source|track|wbr)([^>]*)>", "<$1$2/>"); } if (fragment) { if (isDeployment) { final List<Node> nodeList = Parser.parseXmlFragment(code, ""); parsedDocument = Document.createShell(""); final Element body = parsedDocument.body(); final Node[] nodes = nodeList.toArray(new Node[nodeList.size()]); for (int i = nodes.length - 1; i > 0; i--) { nodes[i].remove(); } for (Node node : nodes) { body.appendChild(node); } } else { parsedDocument = Jsoup.parseBodyFragment(code); } } else { if (isDeployment) { parsedDocument = Jsoup.parse(code, "", Parser.xmlParser()); } else { parsedDocument = Jsoup.parse(code); } } } else { if (!isDeployment) { logger.info("##### Start fetching {} for page {} #####", new Object[] { address, name }); } code = HttpHelper.get(address); parsedDocument = Jsoup.parse(code); } return true; }
From source file:perflab.LoadrunnerWrapper.java
/** * @param transactions - ArrayList of LoadRunnerTransaction objects * @param summaryFile - location of xml summary file to be generated out of transaction objects in jUnit format * @return// ww w. j a v a2 s. c om */ private void generatejUnitReport(ArrayList<LoadRunnerTransaction> transactions, String summaryFile) { getLog().info("Transformation to jUnit XML started ..."); String stringReport = ""; try { /* * http://llg.cubic.org/docs/junit/ <testsuite tests="3" time="42.5"> <testcase classname="ZZZ_1" name="ZZZ_1" time="10.1"/> <testcase classname="ZZZ_2" name="ZZZ_2" time="11.7"/> <testcase classname="ZZZ_3" name="ZZZ_3" time="12.2"> <!--failure type="NotEnoughFoo"> too slow </failure--> </testcase> </testsuite> */ DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance(); DocumentBuilder docBuilder = docFactory.newDocumentBuilder(); // root elements org.w3c.dom.Document doc = (org.w3c.dom.Document) docBuilder.newDocument(); org.w3c.dom.Element testsuiteElement = (org.w3c.dom.Element) doc.createElement("testsuite"); testsuiteElement.setAttribute("tests", String.valueOf(transactions.size())); //testsuiteElement.setAttribute("time", "total test duration"); doc.appendChild(testsuiteElement); //////////////////////////////////////////////////////////////////////////// for (LoadRunnerTransaction tr : this.transactions) { getLog().info("Dump " + tr.getName()); org.w3c.dom.Element testcaseElement = doc.createElement("testcase"); testcaseElement.setAttribute("classname", "load.ResponseTime"); testcaseElement.setAttribute("name", tr.getName()); testcaseElement.setAttribute("time", String.valueOf(tr.getAvgRT())); testsuiteElement.appendChild(testcaseElement); } //////////////////////////////////////////////////////////////////////////// // write the content into xml file TransformerFactory transformerFactory = TransformerFactory.newInstance(); Transformer transformer = transformerFactory.newTransformer(); transformer.setOutputProperty(OutputKeys.INDENT, "yes"); transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "4"); DOMSource source = new DOMSource(doc); File lr_report = new File(summaryFile); StreamResult result = new StreamResult(lr_report); transformer.transform(source, result); getLog().info("File saved in " + lr_report.getAbsolutePath()); } catch (ParserConfigurationException pce) { getLog().error(pce.getMessage()); pce.printStackTrace(); } catch (TransformerException tfe) { getLog().error(tfe.getMessage()); tfe.printStackTrace(); } }
From source file:perflab.LoadrunnerWrapper.java
/** * @param transactions - ArrayList of LoadRunnerTransaction objects * @return//from ww w .j ava 2s. com */ private void generatePerfPublisherReport(ArrayList<LoadRunnerTransaction> transactions, String xmlFile) { getLog().info("Transformation to XML started ..."); try { DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance(); DocumentBuilder docBuilder = docFactory.newDocumentBuilder(); // root elements org.w3c.dom.Document doc = (org.w3c.dom.Document) docBuilder.newDocument(); org.w3c.dom.Element reportElement = (org.w3c.dom.Element) doc.createElement("report"); doc.appendChild(reportElement); //////////////////////////////////////////////////////////////////////////// //<categories> // <category name="memory" scale="mb"> // <observations> // <observation name="Server 1">100</observation> // <observation name="Server 2">200</observation> // </observations> // </category> // <category name="disk" scale="gb"> // <observations> // <observation name="Server 1">41</observation> // <observation name="Server 2">58</observation> // </observations> // </category> //</categories> // start element org.w3c.dom.Element startElement = (org.w3c.dom.Element) doc.createElement("start"); reportElement.appendChild(startElement); // date element org.w3c.dom.Element date = (org.w3c.dom.Element) doc.createElement("date"); startElement.appendChild(date); date.setAttribute("format", "YYYYMMDD"); date.setAttribute("val", "20100922"); // time element org.w3c.dom.Element time = (org.w3c.dom.Element) doc.createElement("date"); startElement.appendChild(time); time.setAttribute("format", "HHMMSS"); time.setAttribute("val", "215935"); //////////////////////////////////////////////////////////////////////////// //<test name="Smoke test" executed="yes" categ="Smoke test"> //<description>Tests if ATE LAN socket and communication works.</description> //<result> // <success passed="yes" state ="100" hasTimedOut="no" /> // <compiletime unit="s" mesure="0" isRelevant="yes" /> // <performance unit="%" mesure="0" isRelevant="yes" /> // <executiontime unit="s" mesure="12" isRelevant="yes" /> // <metrics> // <006_My_Benefits unit="sec" mesure="0.115" isRelevant="yes"/> // <007_My_Timesheet unit="sec" mesure="1.247" isRelevant="yes"/> // </metrics> //</result> //</test> //</report> //////////////////////////////////////////////////////////////////////////// // test element org.w3c.dom.Element testElement = doc.createElement("test"); reportElement.appendChild(testElement); testElement.setAttribute("name", "Smoke test"); testElement.setAttribute("executed", "yes"); testElement.setAttribute("categ", "Smoke test"); // description element org.w3c.dom.Element descriptionElement = doc.createElement("description"); descriptionElement.appendChild(doc.createTextNode("This is the best Load test ever executed...")); reportElement.appendChild(descriptionElement); //////////////////////////////////////////////////////////////////////////// // result org.w3c.dom.Element resultElement = doc.createElement("result"); reportElement.appendChild(resultElement); org.w3c.dom.Element successElement = doc.createElement("success"); resultElement.appendChild(successElement); org.w3c.dom.Element compiletimeElement = doc.createElement("compiletime"); resultElement.appendChild(compiletimeElement); org.w3c.dom.Element performanceElement = doc.createElement("performance"); resultElement.appendChild(performanceElement); org.w3c.dom.Element executiontimeElement = doc.createElement("executiontime"); resultElement.appendChild(executiontimeElement); org.w3c.dom.Element metricsElement = doc.createElement("metrics"); resultElement.appendChild(metricsElement); //////////////////////////////////////////////////////////////////////////// for (LoadRunnerTransaction tr : this.transactions) { //<006_My_Benefits unit="sec" mesure="0.115" isRelevant="yes"/> String trName = "tr_" + tr.getName(); getLog().info("Dump " + trName); org.w3c.dom.Element trElement = doc.createElement(trName); trElement.setAttribute("unit", "sec"); trElement.setAttribute("mesure", String.valueOf(tr.getAvgRT())); trElement.setAttribute("isRelevant", "yes"); metricsElement.appendChild(trElement); } //////////////////////////////////////////////////////////////////////////// // write the content into xml file TransformerFactory transformerFactory = TransformerFactory.newInstance(); Transformer transformer = transformerFactory.newTransformer(); transformer.setOutputProperty(OutputKeys.INDENT, "yes"); transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "4"); DOMSource source = new DOMSource(doc); File lr_report = new File(xmlFile); StreamResult result = new StreamResult(lr_report); transformer.transform(source, result); getLog().info("File saved in " + lr_report.getAbsolutePath()); } catch (ParserConfigurationException pce) { getLog().error(pce.getMessage()); pce.printStackTrace(); } catch (TransformerException tfe) { getLog().error(tfe.getMessage()); tfe.printStackTrace(); } }
From source file:perflab.loadrunnerwrapperjenkins.LoadRunnerWrapper.java
/** * @param transactions - ArrayList of LoadRunnerTransaction objects * @return//ww w . j ava2s. co m */ private String generatejUnitReport(ArrayList<LoadRunnerTransaction> transactions) { String stringReport = ""; logger.println("Transformation to jUnit XML started ..."); try { /* * http://llg.cubic.org/docs/junit/ *<testsuite tests="3" time="42.5"> * <testcase classname="ZZZ_1" name="ZZZ_1" time="10.1"/> * <testcase classname="ZZZ_2" name="ZZZ_2" time="11.7"/> * <testcase classname="ZZZ_3" name="ZZZ_3" time="12.2"> * <!--failure type="NotEnoughFoo"> too slow </failure--> * </testcase> *</testsuite> */ DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance(); DocumentBuilder docBuilder = docFactory.newDocumentBuilder(); // root elements org.w3c.dom.Document doc = (org.w3c.dom.Document) docBuilder.newDocument(); org.w3c.dom.Element testsuiteElement = (org.w3c.dom.Element) doc.createElement("testsuite"); testsuiteElement.setAttribute("tests", String.valueOf(transactions.size())); // testsuiteElement.setAttribute("time", "total test duration"); doc.appendChild(testsuiteElement); // ////////////////////////////////////////////////////////////////////////// for (LoadRunnerTransaction tr : this.transactions) { logger.println("Dump " + tr.getName()); org.w3c.dom.Element testcaseElement = doc.createElement("testcase"); //testcaseElement.setAttribute("classname", tr.getName()); testcaseElement.setAttribute("classname", "load." + new File(this.loadRunnerScenario).getName().replace(".lrs", "")); testcaseElement.setAttribute("name", tr.getName()); testcaseElement.setAttribute("time", String.valueOf(tr.getAvgRT())); testsuiteElement.appendChild(testcaseElement); } // ////////////////////////////////////////////////////////////////////////// // write the content into xml file TransformerFactory transformerFactory = TransformerFactory.newInstance(); Transformer transformer = transformerFactory.newTransformer(); transformer.setOutputProperty(OutputKeys.INDENT, "yes"); transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "4"); stringReport = this.getStringFromDoc(doc); } catch (ParserConfigurationException pce) { logger.println(pce.getMessage()); pce.printStackTrace(); } catch (TransformerException tfe) { logger.println(tfe.getMessage()); tfe.printStackTrace(); } return stringReport; }
From source file:perflab.loadrunnerwrapperjenkins.LoadRunnerWrapper.java
/** * @param transactions - ArrayList of LoadRunnerTransaction objects * //@param summaryFile - location of SCV summary file to be generated out of * transaction objects in PerfPublisher Report format * @return//ww w .jav a 2 s .co m */ private String generatePerfPublisherReport(ArrayList<LoadRunnerTransaction> transactions) { logger.println("Transformation to XML started ..."); String stringReport = ""; try { DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance(); DocumentBuilder docBuilder = docFactory.newDocumentBuilder(); // root elements org.w3c.dom.Document doc = (org.w3c.dom.Document) docBuilder.newDocument(); org.w3c.dom.Element reportElement = (org.w3c.dom.Element) doc.createElement("report"); doc.appendChild(reportElement); // ////////////////////////////////////////////////////////////////////////// // <categories> // <category name="memory" scale="mb"> // <observations> // <observation name="Server 1">100</observation> // <observation name="Server 2">200</observation> // </observations> // </category> // <category name="disk" scale="gb"> // <observations> // <observation name="Server 1">41</observation> // <observation name="Server 2">58</observation> // </observations> // </category> // </categories> // start element org.w3c.dom.Element startElement = (org.w3c.dom.Element) doc.createElement("start"); reportElement.appendChild(startElement); // date element org.w3c.dom.Element date = (org.w3c.dom.Element) doc.createElement("date"); startElement.appendChild(date); date.setAttribute("format", "YYYYMMDD"); SimpleDateFormat sdf = new SimpleDateFormat("yyyyMdd"); date.setAttribute("val", sdf.format(startTime)); // time element org.w3c.dom.Element time = (org.w3c.dom.Element) doc.createElement("date"); startElement.appendChild(time); time.setAttribute("format", "HHMMSS"); SimpleDateFormat stf = new SimpleDateFormat("hhmmss"); time.setAttribute("val", stf.format(startTime)); // ////////////////////////////////////////////////////////////////////////// // <test name="Smoke test" executed="yes" categ="Smoke test"> // <description>Tests if ATE LAN socket and communication // works.</description> // <result> // <success passed="yes" state ="100" hasTimedOut="no" /> // <compiletime unit="s" mesure="0" isRelevant="yes" /> // <performance unit="%" mesure="0" isRelevant="yes" /> // <executiontime unit="s" mesure="12" isRelevant="yes" /> // <metrics> // <006_My_Benefits unit="sec" mesure="0.115" isRelevant="yes"/> // <007_My_Timesheet unit="sec" mesure="1.247" isRelevant="yes"/> // </metrics> // </result> // </test> // </report> // ////////////////////////////////////////////////////////////////////////// // test element org.w3c.dom.Element testElement = doc.createElement("test"); reportElement.appendChild(testElement); testElement.setAttribute("name", "Load test"); testElement.setAttribute("executed", "yes"); testElement.setAttribute("categ", "Load test"); // description element org.w3c.dom.Element descriptionElement = doc.createElement("description"); descriptionElement.appendChild(doc.createTextNode("This is the best Load test ever executed...")); reportElement.appendChild(descriptionElement); // ////////////////////////////////////////////////////////////////////////// // result org.w3c.dom.Element resultElement = doc.createElement("result"); reportElement.appendChild(resultElement); org.w3c.dom.Element successElement = doc.createElement("success"); resultElement.appendChild(successElement); org.w3c.dom.Element compiletimeElement = doc.createElement("compiletime"); resultElement.appendChild(compiletimeElement); org.w3c.dom.Element performanceElement = doc.createElement("performance"); resultElement.appendChild(performanceElement); org.w3c.dom.Element executiontimeElement = doc.createElement("executiontime"); resultElement.appendChild(executiontimeElement); org.w3c.dom.Element metricsElement = doc.createElement("metrics"); resultElement.appendChild(metricsElement); // ////////////////////////////////////////////////////////////////////////// for (LoadRunnerTransaction tr : this.transactions) { // <006_My_Benefits unit="sec" mesure="0.115" isRelevant="yes"/> String trName = "tr_" + tr.getName(); logger.println("Dump " + trName); org.w3c.dom.Element trElement = doc.createElement(trName); trElement.setAttribute("unit", "sec"); trElement.setAttribute("mesure", String.valueOf(tr.getAvgRT())); trElement.setAttribute("isRelevant", "yes"); metricsElement.appendChild(trElement); } // ////////////////////////////////////////////////////////////////////////// // write the content into xml file TransformerFactory transformerFactory = TransformerFactory.newInstance(); Transformer transformer = transformerFactory.newTransformer(); transformer.setOutputProperty(OutputKeys.INDENT, "yes"); transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "4"); stringReport = this.getStringFromDoc(doc); } catch (ParserConfigurationException pce) { logger.println(pce.getMessage()); pce.printStackTrace(); } catch (TransformerException tfe) { logger.println(tfe.getMessage()); tfe.printStackTrace(); } return stringReport; }