127 }
128 maker.sWorkdirectory( jti == null ? null : jti.getPath());
129
130 writeTemplateInfo(maker, sett);
131 writeInterview(maker, sett);
132 writeStandardValues(maker, sett);
133 writeEnvironment(maker, sett);
134
135 maker.eWorkdirectory();
136 maker.eWorkdirectories();
137 writeResults(maker, sett);
138 maker.eReport();
139 maker.eDocument();
140
141 }
142
143 private void writeResults(final XMLReportMaker maker, final ReportSettings sett) throws SAXException, JavaTestError, IOException {
144 maker.sTestResults();
145
146 File[] initFiles = sett.getInitialFiles();
147 Iterator iter = null;
148 TestResultTable resultTable = sett.getInterview().getWorkDirectory().getTestResultTable();
149
150 try {
151 if (initFiles == null) {
152 iter = resultTable.getIterator(new TestFilter[] {sett.getTestFilter()});
153 } else {
154 iter = resultTable.getIterator(initFiles, new TestFilter[] {sett.getTestFilter()});
155 }
156 for (; iter.hasNext(); ) {
157 TestResult tr = (TestResult) (iter.next());
158 writeResult(maker, tr);
159 }
160 maker.eTestResults();
161 } catch (TestResultTable.Fault f) {
162 throw new JavaTestError(i18n.getString("report.testResult.err"), f);
163 }
164 }
165
166 private void writeResult(final XMLReportMaker maker, final TestResult testResult) throws SAXException, IOException {
167
168 maker.sTestResult(testResult.getTestName(), testResult.getStatus(), 1);
169 try {
170 writeDescriptionData(maker, testResult);
171 writeEnvironment(maker, testResult);
172 writeResultProps(maker, testResult);
173 writeSections(maker, testResult);
174 writeAnnotations(maker, testResult);
175 } catch (TestResult.Fault e) {
176 System.err.println(i18n.getString("report.writing.err"));
177 e.printStackTrace();
186 for (int i = 0; i < testResult.getSectionCount() ; i++) {
187 String st = testResult.getSectionTitles()[i];
188 Section sec = testResult.getSection(i);
189 Status stat = sec.getStatus();
190 maker.sSection(st, stat);
191 for (int j=0; j < sec.getOutputCount(); j++) {
192 String oName = sec.getOutputNames()[j];
193 maker.sOutput(oName, sec.getOutput(oName));
194 maker.eOutput();
195 }
196 maker.eSection();
197 }
198 maker.eSections();
199 }
200
201 private void writeResultProps(final XMLReportMaker maker, final TestResult testResult) throws SAXException, TestResult.Fault {
202
203 String time = testResult.getProperty(TestResult.END);
204
205 maker.sResultProps(time);
206 Enumeration en = testResult.getPropertyNames();
207 while (en.hasMoreElements()) {
208 String key = (String) en.nextElement();
209 String val = testResult.getProperty(key);
210 if (!TestResult.END.equals(key)) {
211 maker.makeProperty(key, val);
212 }
213 }
214 maker.eResultProps();
215 }
216
217 private void writeEnvironment(final XMLReportMaker maker, final TestResult testResult) throws SAXException {
218
219 Iterator keysIt;
220 try {
221 Map m = testResult.getEnvironment();
222 keysIt = m.keySet().iterator();
223 maker.sTestEnvironment();
224 while (keysIt.hasNext()) {
225 String key = (String) keysIt.next();
226 String val = (String) m.get(key);
227 maker.makeProperty(key, val);
228 }
229 maker.eTestEnvironment();
230 } catch (TestResult.Fault e) {
231
232 }
233 }
234
235 private void writeDescriptionData(final XMLReportMaker maker, final TestResult testResult) throws SAXException, TestResult.Fault {
236 maker.sDescriptionData();
237
238 TestDescription td = testResult.getDescription();
239 Iterator<String> keysIt = td.getParameterKeys();
240
241 maker.makeProperty("$root", td.getRootDir());
242 maker.makeProperty("$file", td.getFile().getPath());
243
244 while (keysIt.hasNext()) {
245 String key = keysIt.next();
246 // dump keywords separately
279 maker.sTAnnotationData();
280 for (String key: map.keySet()) {
281 maker.makeProperty(key, map.get(key));
282 } // for
283 maker.eTAnnotationData();
284 }
285 }
286
287 private void writeEnvironment(final XMLReportMaker maker, final ReportSettings sett) throws SAXException {
288
289 String name = null, descr = null;
290
291 if (sett.getInterview().getEnv() != null) {
292 name = sett.getInterview().getEnv().getName();
293 descr= sett.getInterview().getEnv().getDescription();
294 }
295
296 maker.sEnvironment(name, descr);
297 TestEnvironment env = sett.getInterview().getEnv();
298 if (env != null) {
299 for (Iterator i = env.elements().iterator(); i.hasNext(); ) {
300 TestEnvironment.Element envElem = (TestEnvironment.Element) (i.next());
301 maker.makeProperty(envElem.getKey(), envElem.getValue());
302 }
303 }
304 maker.eEnvironment();
305 }
306
307 private void writeStandardValues(final XMLReportMaker maker, ReportSettings sett) throws SAXException {
308 maker.sStdValues();
309 writeTestsToRun(maker, sett);
310 writePriorStatusList(maker, sett);
311 writeExcludeLists(maker, sett);
312 maker.conCur(sett.getInterview().getConcurrency());
313 maker.timeOut(sett.getInterview().getTimeoutFactor());
314 writeKeyWords(maker, sett);
315 maker.eStdValues();
316 }
317
318 private void writeKeyWords(final XMLReportMaker maker, final ReportSettings sett) throws SAXException {
319 // keywords
320 Keywords keywords = sett.getInterview().getKeywords();
|
127 }
128 maker.sWorkdirectory( jti == null ? null : jti.getPath());
129
130 writeTemplateInfo(maker, sett);
131 writeInterview(maker, sett);
132 writeStandardValues(maker, sett);
133 writeEnvironment(maker, sett);
134
135 maker.eWorkdirectory();
136 maker.eWorkdirectories();
137 writeResults(maker, sett);
138 maker.eReport();
139 maker.eDocument();
140
141 }
142
143 private void writeResults(final XMLReportMaker maker, final ReportSettings sett) throws SAXException, JavaTestError, IOException {
144 maker.sTestResults();
145
146 File[] initFiles = sett.getInitialFiles();
147 Iterator<TestResult> iter = null;
148 TestResultTable resultTable = sett.getInterview().getWorkDirectory().getTestResultTable();
149
150 try {
151 if (initFiles == null) {
152 iter = resultTable.getIterator(new TestFilter[] {sett.getTestFilter()});
153 } else {
154 iter = resultTable.getIterator(initFiles, new TestFilter[] {sett.getTestFilter()});
155 }
156 for (; iter.hasNext(); ) {
157 TestResult tr = (iter.next());
158 writeResult(maker, tr);
159 }
160 maker.eTestResults();
161 } catch (TestResultTable.Fault f) {
162 throw new JavaTestError(i18n.getString("report.testResult.err"), f);
163 }
164 }
165
166 private void writeResult(final XMLReportMaker maker, final TestResult testResult) throws SAXException, IOException {
167
168 maker.sTestResult(testResult.getTestName(), testResult.getStatus(), 1);
169 try {
170 writeDescriptionData(maker, testResult);
171 writeEnvironment(maker, testResult);
172 writeResultProps(maker, testResult);
173 writeSections(maker, testResult);
174 writeAnnotations(maker, testResult);
175 } catch (TestResult.Fault e) {
176 System.err.println(i18n.getString("report.writing.err"));
177 e.printStackTrace();
186 for (int i = 0; i < testResult.getSectionCount() ; i++) {
187 String st = testResult.getSectionTitles()[i];
188 Section sec = testResult.getSection(i);
189 Status stat = sec.getStatus();
190 maker.sSection(st, stat);
191 for (int j=0; j < sec.getOutputCount(); j++) {
192 String oName = sec.getOutputNames()[j];
193 maker.sOutput(oName, sec.getOutput(oName));
194 maker.eOutput();
195 }
196 maker.eSection();
197 }
198 maker.eSections();
199 }
200
201 private void writeResultProps(final XMLReportMaker maker, final TestResult testResult) throws SAXException, TestResult.Fault {
202
203 String time = testResult.getProperty(TestResult.END);
204
205 maker.sResultProps(time);
206 Enumeration<String> en = testResult.getPropertyNames();
207 while (en.hasMoreElements()) {
208 String key = en.nextElement();
209 String val = testResult.getProperty(key);
210 if (!TestResult.END.equals(key)) {
211 maker.makeProperty(key, val);
212 }
213 }
214 maker.eResultProps();
215 }
216
217 private void writeEnvironment(final XMLReportMaker maker, final TestResult testResult) throws SAXException {
218
219 Iterator<String> keysIt;
220 try {
221 Map<String, String> m = testResult.getEnvironment();
222 keysIt = m.keySet().iterator();
223 maker.sTestEnvironment();
224 while (keysIt.hasNext()) {
225 String key = keysIt.next();
226 String val = m.get(key);
227 maker.makeProperty(key, val);
228 }
229 maker.eTestEnvironment();
230 } catch (TestResult.Fault e) {
231
232 }
233 }
234
235 private void writeDescriptionData(final XMLReportMaker maker, final TestResult testResult) throws SAXException, TestResult.Fault {
236 maker.sDescriptionData();
237
238 TestDescription td = testResult.getDescription();
239 Iterator<String> keysIt = td.getParameterKeys();
240
241 maker.makeProperty("$root", td.getRootDir());
242 maker.makeProperty("$file", td.getFile().getPath());
243
244 while (keysIt.hasNext()) {
245 String key = keysIt.next();
246 // dump keywords separately
279 maker.sTAnnotationData();
280 for (String key: map.keySet()) {
281 maker.makeProperty(key, map.get(key));
282 } // for
283 maker.eTAnnotationData();
284 }
285 }
286
287 private void writeEnvironment(final XMLReportMaker maker, final ReportSettings sett) throws SAXException {
288
289 String name = null, descr = null;
290
291 if (sett.getInterview().getEnv() != null) {
292 name = sett.getInterview().getEnv().getName();
293 descr= sett.getInterview().getEnv().getDescription();
294 }
295
296 maker.sEnvironment(name, descr);
297 TestEnvironment env = sett.getInterview().getEnv();
298 if (env != null) {
299 for (Iterator<TestEnvironment.Element> i = env.elements().iterator(); i.hasNext(); ) {
300 TestEnvironment.Element envElem = (i.next());
301 maker.makeProperty(envElem.getKey(), envElem.getValue());
302 }
303 }
304 maker.eEnvironment();
305 }
306
307 private void writeStandardValues(final XMLReportMaker maker, ReportSettings sett) throws SAXException {
308 maker.sStdValues();
309 writeTestsToRun(maker, sett);
310 writePriorStatusList(maker, sett);
311 writeExcludeLists(maker, sett);
312 maker.conCur(sett.getInterview().getConcurrency());
313 maker.timeOut(sett.getInterview().getTimeoutFactor());
314 writeKeyWords(maker, sett);
315 maker.eStdValues();
316 }
317
318 private void writeKeyWords(final XMLReportMaker maker, final ReportSettings sett) throws SAXException {
319 // keywords
320 Keywords keywords = sett.getInterview().getKeywords();
|