in java/src/org/apache/qetest/xalanj2/TraceListenerTest.java [364:457]
public boolean testCase4()
{
reporter.testCaseInit("Test TraceListener with XalanProperties.SOURCE_LOCATION");
reporter.logWarningMsg("Note: limited validation: partly just a crash test so far.");
try
{
TransformerFactory factory = TransformerFactory.newInstance();
Transformer transformer = factory.newTransformer(testFileInfo.getXSLSource());
TraceManager traceManager = ((TransformerImpl)transformer).getTraceManager();
reporter.logTraceMsg("getTraceManager is:" + traceManager);
LoggingTraceListener ltl = new LoggingTraceListener(reporter);
ltl.setLoggingLevel(Logger.INFOMSG + 1);
reporter.logInfoMsg("Transformer created, addTraceListener(LoggingTraceListener)...");
traceManager.addTraceListener((TraceListener)ltl);
// Verify new Xalan-J 2.x specific property as true (non-default value)
reporter.logInfoMsg("About to run with Source Location Property ON");
((TransformerImpl)transformer).setProperty(XalanProperties.SOURCE_LOCATION, Boolean.TRUE);
reporter.logInfoMsg("About to create output: " + outNames.nextName());
transformer.transform(testFileInfo.getXMLSource(),
new StreamResult(outNames.currentName()));
reporter.logInfoMsg("Done creating output: " + outNames.currentName());
int[] tracedEvents = ltl.getCounters();
reporter.logStatusMsg("Last event traced(LPTL):" + ltl.getLast());
reporter.logStatusMsg("Events traced(LPTL):" + tracedEvents[LoggingPrintTraceListener.TYPE_TRACE]
+ " events generated:" + tracedEvents[LoggingPrintTraceListener.TYPE_GENERATED]
+ " events selected:" + tracedEvents[LoggingPrintTraceListener.TYPE_SELECTED]);
reporter.checkPass("Crash test: completed transformations with SOURCE_LOCATION just ON");
}
catch (Throwable t)
{
reporter.logThrowable(Logger.ERRORMSG, t, "testCase4a-XalanProperties.SOURCE_LOCATION threw: ");
reporter.checkFail("testCase4a-XalanProperties.SOURCE_LOCATION threw: " + t.toString());
}
try
{
TransformerFactory factory = TransformerFactory.newInstance();
Transformer transformer = factory.newTransformer(testFileInfo.getXSLSource());
TraceManager traceManager = ((TransformerImpl)transformer).getTraceManager();
reporter.logTraceMsg("getTraceManager is:" + traceManager);
LoggingTraceListener ltl = new LoggingTraceListener(reporter);
ltl.setLoggingLevel(Logger.INFOMSG + 1);
reporter.logInfoMsg("Transformer created, addTraceListener(LoggingTraceListener)...");
traceManager.addTraceListener((TraceListener)ltl);
// Verify new Xalan-J 2.x specific property; false then true
reporter.logInfoMsg("About to run with Source Location Property OFF");
((TransformerImpl)transformer).setProperty(XalanProperties.SOURCE_LOCATION, Boolean.FALSE);
reporter.logInfoMsg("About to create output: " + outNames.nextName());
transformer.transform(testFileInfo.getXMLSource(),
new StreamResult(outNames.currentName()));
reporter.logInfoMsg("Done creating output: " + outNames.currentName());
int[] tracedEvents1 = ltl.getCounters();
reporter.logStatusMsg("Last event traced(LPTL):" + ltl.getLast());
reporter.logStatusMsg("Events traced(LPTL):" + tracedEvents1[LoggingPrintTraceListener.TYPE_TRACE]
+ " events generated:" + tracedEvents1[LoggingPrintTraceListener.TYPE_GENERATED]
+ " events selected:" + tracedEvents1[LoggingPrintTraceListener.TYPE_SELECTED]);
ltl.reset();
// Verify new Xalan-J 2.x specific property; false then true
reporter.logInfoMsg("About to run with Source Location Property ON");
((TransformerImpl)transformer).setProperty(XalanProperties.SOURCE_LOCATION, Boolean.TRUE);
reporter.logInfoMsg("About to create output: " + outNames.nextName());
transformer.transform(testFileInfo.getXMLSource(),
new StreamResult(outNames.currentName()));
reporter.logInfoMsg("Done creating output: " + outNames.currentName());
int[] tracedEvents2 = ltl.getCounters();
reporter.logStatusMsg("Last event traced(LPTL):" + ltl.getLast());
reporter.logStatusMsg("Events traced(LPTL):" + tracedEvents2[LoggingPrintTraceListener.TYPE_TRACE]
+ " events generated:" + tracedEvents2[LoggingPrintTraceListener.TYPE_GENERATED]
+ " events selected:" + tracedEvents2[LoggingPrintTraceListener.TYPE_SELECTED]);
reporter.checkPass("Crash test: completed transformations with SOURCE_LOCATION OFF and ON");
}
catch (Throwable t)
{
reporter.logThrowable(Logger.ERRORMSG, t, "testCase4b-XalanProperties.SOURCE_LOCATION threw: ");
reporter.checkFail("testCase4b-XalanProperties.SOURCE_LOCATION threw: " + t.toString());
}
reporter.testCaseClose();
return true;
}