1 16 package com.google.gwt.junit.viewer.server; 17 18 import com.google.gwt.junit.viewer.client.Report; 19 20 import org.w3c.dom.Element ; 21 import org.w3c.dom.Node ; 22 import org.w3c.dom.NodeList ; 23 24 import java.text.DateFormat ; 25 import java.text.ParseException ; 26 import java.util.ArrayList ; 27 import java.util.Date ; 28 import java.util.List ; 29 30 33 class ReportXml { 34 35 41 public static Report fromXml(Element element) { 42 43 Report report = new Report(); 44 String dateString = element.getAttribute("date"); 45 46 try { 47 DateFormat format = DateFormat.getDateTimeInstance(); 48 Date d = format.parse(dateString); 49 report.setDate(d); 50 report.setDateString(format.format(d)); 51 } catch (ParseException e) { 52 } 54 55 report.setGwtVersion(element.getAttribute("gwt_version")); 56 57 List children = getElementChildren(element, "category"); 58 report.setCategories(new ArrayList (children.size())); 59 for (int i = 0; i < children.size(); ++i) { 60 report.getCategories().add(CategoryXml.fromXml((Element ) children.get(i))); 61 } 62 63 return report; 64 } 65 66 static Element getElementChild(Element e, String name) { 67 NodeList children = e.getElementsByTagName(name); 68 return children.getLength() == 0 ? null : (Element ) children.item(0); 69 } 70 71 static List getElementChildren(Element e, String name) { 72 NodeList children = e.getElementsByTagName(name); 73 int numElements = children.getLength(); 74 List elements = new ArrayList (numElements); 75 for (int i = 0; i < children.getLength(); ++i) { 76 Node n = children.item(i); 77 elements.add((Element ) n); 78 } 79 return elements; 80 } 81 82 static String getText(Element e) { 83 Node n = e.getFirstChild(); 84 return n == null ? null : n.getNodeValue(); 85 } 86 } 87 | Popular Tags |