< prev index next >

src/com/sun/javatest/mrep/XMLReportWriter.java

Print this page
rev 145 : 7902237: Fixing raw use of parameterized class
Reviewed-by: jjg


 107      */
 108     static Date ISO8601toDate(String dateStr) throws ParseException {
 109         DateFormat dfISO8601 = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ");
 110         // format in (almost) ISO8601 format
 111         Date date = dfISO8601.parse(dateStr.substring(0, 22)
 112                 + dateStr.substring(23));
 113         // remap the timezone from 0000 to 00:00 (starts at char 22)
 114         return date;
 115     }
 116 
 117     private void sReport() throws SAXException {
 118         AttributesImpl atts = new AttributesImpl();
 119         atts.addAttribute("", "", Scheme.XSI, "String", Scheme.XSI_VAL);
 120         atts.addAttribute("", "", Scheme.SCH_LOC, "String", Scheme.SCH_LOC_VAL);
 121         atts.addAttribute("", "", Scheme.REPORT_FORMST, "String", "v1");
 122         atts.addAttribute("", "", Scheme.REPORT_GENTIME, "String",
 123                 dateToISO8601(new Date()));
 124         ser.startElement("", "", Scheme.REPORT, atts);
 125     }
 126 
 127     public void write(File[] file, Map[] map) throws SAXException,
 128             ParserConfigurationException, IOException {
 129         try {
 130             ser.startDocument();
 131             sReport();
 132             ser.startElement("", "", Scheme.WDS, emptyAttr);
 133             for (int i = 0; i < file.length; i++) {
 134                 XMLReader reader = XMLReportReader.createXMLReader(false);
 135                 reader.setContentHandler(new CopyHandler(ser, true, map[i]));
 136                 reader.parse(new InputSource(file[i].getAbsolutePath()));
 137             }
 138             ser.endElement("", "", Scheme.WDS);
 139             ser.startElement("", "", Scheme.TRS, emptyAttr);
 140             for (int i = 0; i < file.length; i++) {
 141                 XMLReader reader = XMLReportReader.createXMLReader(false);
 142                 reader.setContentHandler(new CopyHandler(ser, false, map[i]));
 143                 reader.parse(new InputSource(file[i].getAbsolutePath()));
 144             }
 145             ser.endElement("", "", Scheme.TRS);
 146             ser.endElement("", "", Scheme.REPORT);
 147             ser.endDocument();


 154 
 155 // This handler just copy one xml to other,
 156 // modifying elements according mapping
 157 
 158 class CopyHandler extends DefaultHandler {
 159 
 160     private ContentHandler ser;
 161     private LexicalHandler lh;
 162 
 163     // are we collect workdirs or not
 164     private final boolean isWorkDir;
 165 
 166     // is it need to write
 167     private boolean needWrite;
 168 
 169     // skipping by conflict resolving
 170     private boolean skipByConflict;
 171 
 172     // id -> new_id mapping
 173     // url -> new_TestDescr mapping
 174     private Map map;
 175 
 176     public CopyHandler(ContentHandler ser, boolean isWorkDir, Map map) {
 177         this.ser = ser;
 178         if (ser instanceof LexicalHandler) {
 179             lh = (LexicalHandler) ser;
 180         }
 181         this.isWorkDir = isWorkDir;
 182         this.needWrite = false;
 183         this.map = map;
 184         this.skipByConflict = false;
 185     }
 186 
 187     public void startElement(String namespaceUri, String localName,
 188             String qName, Attributes attrs) throws SAXException {
 189         if (needWrite == true && skipByConflict == false) {
 190 
 191             if (qName.equals(Scheme.WD)) {
 192                 // for WD WD_ID may be updated
 193                 AttributesImpl newAttrs = new AttributesImpl();
 194                 for (int i = 0; i < attrs.getLength(); i++) {
 195                     if (attrs.getQName(i).equals(Scheme.WD_ID)) {
 196                         String id = String.valueOf(map.get(Integer




 107      */
 108     static Date ISO8601toDate(String dateStr) throws ParseException {
 109         DateFormat dfISO8601 = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ");
 110         // format in (almost) ISO8601 format
 111         Date date = dfISO8601.parse(dateStr.substring(0, 22)
 112                 + dateStr.substring(23));
 113         // remap the timezone from 0000 to 00:00 (starts at char 22)
 114         return date;
 115     }
 116 
 117     private void sReport() throws SAXException {
 118         AttributesImpl atts = new AttributesImpl();
 119         atts.addAttribute("", "", Scheme.XSI, "String", Scheme.XSI_VAL);
 120         atts.addAttribute("", "", Scheme.SCH_LOC, "String", Scheme.SCH_LOC_VAL);
 121         atts.addAttribute("", "", Scheme.REPORT_FORMST, "String", "v1");
 122         atts.addAttribute("", "", Scheme.REPORT_GENTIME, "String",
 123                 dateToISO8601(new Date()));
 124         ser.startElement("", "", Scheme.REPORT, atts);
 125     }
 126 
 127     public void write(File[] file, Map<?, ?>[] map) throws SAXException,
 128             ParserConfigurationException, IOException {
 129         try {
 130             ser.startDocument();
 131             sReport();
 132             ser.startElement("", "", Scheme.WDS, emptyAttr);
 133             for (int i = 0; i < file.length; i++) {
 134                 XMLReader reader = XMLReportReader.createXMLReader(false);
 135                 reader.setContentHandler(new CopyHandler(ser, true, map[i]));
 136                 reader.parse(new InputSource(file[i].getAbsolutePath()));
 137             }
 138             ser.endElement("", "", Scheme.WDS);
 139             ser.startElement("", "", Scheme.TRS, emptyAttr);
 140             for (int i = 0; i < file.length; i++) {
 141                 XMLReader reader = XMLReportReader.createXMLReader(false);
 142                 reader.setContentHandler(new CopyHandler(ser, false, map[i]));
 143                 reader.parse(new InputSource(file[i].getAbsolutePath()));
 144             }
 145             ser.endElement("", "", Scheme.TRS);
 146             ser.endElement("", "", Scheme.REPORT);
 147             ser.endDocument();


 154 
 155 // This handler just copy one xml to other,
 156 // modifying elements according mapping
 157 
 158 class CopyHandler extends DefaultHandler {
 159 
 160     private ContentHandler ser;
 161     private LexicalHandler lh;
 162 
 163     // are we collect workdirs or not
 164     private final boolean isWorkDir;
 165 
 166     // is it need to write
 167     private boolean needWrite;
 168 
 169     // skipping by conflict resolving
 170     private boolean skipByConflict;
 171 
 172     // id -> new_id mapping
 173     // url -> new_TestDescr mapping
 174     private Map<?, ?> map;
 175 
 176     public CopyHandler(ContentHandler ser, boolean isWorkDir, Map<?, ?> map) {
 177         this.ser = ser;
 178         if (ser instanceof LexicalHandler) {
 179             lh = (LexicalHandler) ser;
 180         }
 181         this.isWorkDir = isWorkDir;
 182         this.needWrite = false;
 183         this.map = map;
 184         this.skipByConflict = false;
 185     }
 186 
 187     public void startElement(String namespaceUri, String localName,
 188             String qName, Attributes attrs) throws SAXException {
 189         if (needWrite == true && skipByConflict == false) {
 190 
 191             if (qName.equals(Scheme.WD)) {
 192                 // for WD WD_ID may be updated
 193                 AttributesImpl newAttrs = new AttributesImpl();
 194                 for (int i = 0; i < attrs.getLength(); i++) {
 195                     if (attrs.getQName(i).equals(Scheme.WD_ID)) {
 196                         String id = String.valueOf(map.get(Integer


< prev index next >