import java.io.*; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; import org.w3c.dom.NodeList; public class GenerateProtexScanDashboard { private static void usage() { System.out.println("Input Parameters:" ); System.out.println("Folder path\\name - Location and folder name where all scan results xml files are stored\n" + "File path\\name - location and filename to store the dashboard summary html report "); System.out.println(""); } public String getAllScanResult(File file) { try { DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); DocumentBuilder db = dbf.newDocumentBuilder(); int number; //File file = new File(fileName); //System.out.println("Exists: " + file.getName() + " " + file.exists()); if (file.exists()) { Document doc = db.parse(file); //System.out.println("File: " + fileName); //System.out.println("Root element :" + doc.getDocumentElement().getNodeName()); //System.out.println("Root element attrib :" + doc.getDocumentElement().getAttribute("name")); NodeList serverList = doc.getElementsByTagName("ServerUrl"); Node serverUrlNode = serverList.item(0); Element serverUrlElement = (Element) serverUrlNode; //System.out.println("Server url: " + serverUrlElement.getTextContent()); NodeList analyzedTimeList = doc.getElementsByTagName("LastAnalyzed"); Node anaTimeNode = analyzedTimeList.item(0); Element anaTimeElement = (Element) anaTimeNode; //System.out.println("ANAly Time: " + anaTimeElement.getTextContent()); NodeList analyzedList = doc.getElementsByTagName("Analyzed"); Node anaNode = analyzedList.item(0); Element anaElement = (Element) anaNode; //System.out.println("ANAly : " + anaElement.getTextContent()); NodeList pendingList = doc.getElementsByTagName("PendingID"); Node penNode = pendingList.item(0); Element penElement = (Element) penNode; //System.out.println("Pending : " + penElement.getTextContent()); NodeList totCompList = doc.getElementsByTagName("TotalComponents"); Node tCompNode = totCompList.item(0); Element tCompElement = (Element) tCompNode; //System.out.println("total Comp : " + tCompElement.getTextContent()); NodeList totLicList = doc.getElementsByTagName("TotalLicenses"); Node tLicNode = totLicList.item(0); Element tLicElement = (Element) tLicNode; //System.out.println("Tot Lic : " + tLicElement.getTextContent()); NodeList pendingRevList = doc.getElementsByTagName("PendingReview"); Node penRevNode = pendingRevList.item(0); Element penRevElement = (Element) penRevNode; //System.out.println("Pending Rev: " + penRevElement.getTextContent()); NodeList licVioList = doc.getElementsByTagName("LicenseViolations"); Node licVioNode = licVioList.item(0); Element licVioElement = (Element) licVioNode; //System.out.println("Lice Violati : " + licVioElement.getTextContent()); String prj_str = "
| Protex Project | " + "Last Scan Timestamp | " + "Files | " + "BOM | " // + "Detailed Summary | " + "||||
|---|---|---|---|---|---|---|---|---|
| Analyzed | " + "Pending | " + "Components | " + "NumLicense | " + "PendingReview | " + "LicenseViolations | |||