Class StatelessXmlReporter
- java.lang.Object
-
- org.apache.maven.plugin.surefire.report.StatelessXmlReporter
-
- All Implemented Interfaces:
StatelessReportEventListener<WrappedReportEntry,TestSetStats>
- Direct Known Subclasses:
NullStatelessXmlReporter
public class StatelessXmlReporter extends java.lang.Object implements StatelessReportEventListener<WrappedReportEntry,TestSetStats>
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static classStatelessXmlReporter.ByteConstantsHolderprivate static classStatelessXmlReporter.EncodingOutputStream
-
Field Summary
Fields Modifier and Type Field Description private booleanphrasedClassNameprivate booleanphrasedFileNameprivate booleanphrasedMethodNameprivate booleanphrasedSuiteNameprivate java.lang.StringreportNameSuffixprivate java.io.FilereportsDirectoryprivate intrerunFailingTestsCountprivate java.util.Map<java.lang.String,java.util.Deque<WrappedReportEntry>>testClassMethodRunHistoryMapprivate booleantrimStackTraceprivate java.lang.StringxsdSchemaLocationprivate java.lang.StringxsdVersion
-
Constructor Summary
Constructors Constructor Description StatelessXmlReporter(java.io.File reportsDirectory, java.lang.String reportNameSuffix, boolean trimStackTrace, int rerunFailingTestsCount, java.util.Map<java.lang.String,java.util.Deque<WrappedReportEntry>> testClassMethodRunHistoryMap, java.lang.String xsdSchemaLocation, java.lang.String xsdVersion, boolean phrasedFileName, boolean phrasedSuiteName, boolean phrasedClassName, boolean phrasedMethodName)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private static voidaddOutputStreamElement(java.io.OutputStreamWriter outputStreamWriter, StatelessXmlReporter.EncodingOutputStream eos, org.apache.maven.shared.utils.xml.XMLWriter xmlWriter, Utf8RecodingDeferredFileOutputStream utf8RecodingDeferredFileOutputStream, java.lang.String name)private java.util.Deque<WrappedReportEntry>aggregateCacheFromMultipleReruns(WrappedReportEntry testSetReportEntry, TestSetStats testSetStats)private java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.util.List<WrappedReportEntry>>>arrangeMethodStatistics(WrappedReportEntry testSetReportEntry, TestSetStats testSetStats)voidcleanTestHistoryMap()Clean testClassMethodRunHistoryMapprivate static booleancontainsEscapesIllegalXml10(java.lang.String message)private static voidcreateOutErrElements(java.io.OutputStreamWriter outputStreamWriter, org.apache.maven.shared.utils.xml.XMLWriter ppw, WrappedReportEntry report, java.io.OutputStream fw)private voidcreateTestSuiteElement(org.apache.maven.shared.utils.xml.XMLWriter ppw, WrappedReportEntry report, TestSetStats testSetStats)private static java.lang.StringescapeXml(java.lang.String text, boolean attribute)escape for XML 1.0private static java.lang.StringextraEscapeAttribute(java.lang.String message)Handle stuff that may pop up in java that is not legal in xml.private static voidextraEscapeElementValue(java.lang.String message, java.io.OutputStreamWriter outputStreamWriter, org.apache.maven.shared.utils.xml.XMLWriter xmlWriter, java.io.OutputStream fw)Writes escaped string or the message within CDATA if all characters are legal.private java.util.Deque<WrappedReportEntry>getAddMethodRunHistoryMap(java.lang.String testClassName)private java.io.OutputStreamgetOutputStream(WrappedReportEntry testSetReportEntry)private java.io.FilegetReportFile(WrappedReportEntry report)private static voidgetTestProblems(java.io.OutputStreamWriter outputStreamWriter, org.apache.maven.shared.utils.xml.XMLWriter ppw, WrappedReportEntry report, boolean trimStackTrace, java.io.OutputStream fw, java.lang.String testErrorType, boolean createOutErrElementsInside)private DefaultReporterFactory.TestResultTypegetTestResultType(java.util.List<WrappedReportEntry> methodEntryList)Get the result of a test from a list of its runs in WrappedReportEntryprivate static java.io.OutputStreamWritergetWriter(java.io.OutputStream fos)private static booleanisIllegalEscape(char c)private static booleanisIllegalEscape(int c)private voidserializeTestClass(java.io.OutputStream outputStream, java.io.OutputStreamWriter fw, org.apache.maven.shared.utils.xml.XMLWriter ppw, java.util.List<WrappedReportEntry> methodEntries)private voidserializeTestClassWithoutRerun(java.io.OutputStream outputStream, java.io.OutputStreamWriter fw, org.apache.maven.shared.utils.xml.XMLWriter ppw, java.util.List<WrappedReportEntry> methodEntries)private voidserializeTestClassWithRerun(java.io.OutputStream outputStream, java.io.OutputStreamWriter fw, org.apache.maven.shared.utils.xml.XMLWriter ppw, java.util.List<WrappedReportEntry> methodEntries)private static voidshowProperties(org.apache.maven.shared.utils.xml.XMLWriter xmlWriter, java.util.Map<java.lang.String,java.lang.String> systemProperties)Adds system properties to the XML report.private voidstartTestElement(org.apache.maven.shared.utils.xml.XMLWriter ppw, WrappedReportEntry report)voidtestSetCompleted(WrappedReportEntry testSetReportEntry, TestSetStats testSetStats)The callback is called after the test class has been completed and the state of report is final.
-
-
-
Field Detail
-
reportsDirectory
private final java.io.File reportsDirectory
-
reportNameSuffix
private final java.lang.String reportNameSuffix
-
trimStackTrace
private final boolean trimStackTrace
-
rerunFailingTestsCount
private final int rerunFailingTestsCount
-
xsdSchemaLocation
private final java.lang.String xsdSchemaLocation
-
xsdVersion
private final java.lang.String xsdVersion
-
testClassMethodRunHistoryMap
private final java.util.Map<java.lang.String,java.util.Deque<WrappedReportEntry>> testClassMethodRunHistoryMap
-
phrasedFileName
private final boolean phrasedFileName
-
phrasedSuiteName
private final boolean phrasedSuiteName
-
phrasedClassName
private final boolean phrasedClassName
-
phrasedMethodName
private final boolean phrasedMethodName
-
-
Constructor Detail
-
StatelessXmlReporter
public StatelessXmlReporter(java.io.File reportsDirectory, java.lang.String reportNameSuffix, boolean trimStackTrace, int rerunFailingTestsCount, java.util.Map<java.lang.String,java.util.Deque<WrappedReportEntry>> testClassMethodRunHistoryMap, java.lang.String xsdSchemaLocation, java.lang.String xsdVersion, boolean phrasedFileName, boolean phrasedSuiteName, boolean phrasedClassName, boolean phrasedMethodName)
-
-
Method Detail
-
testSetCompleted
public void testSetCompleted(WrappedReportEntry testSetReportEntry, TestSetStats testSetStats)
Description copied from interface:StatelessReportEventListenerThe callback is called after the test class has been completed and the state of report is final.- Specified by:
testSetCompletedin interfaceStatelessReportEventListener<WrappedReportEntry,TestSetStats>- Parameters:
testSetReportEntry- WrappedReportEntrytestSetStats- TestSetStats
-
arrangeMethodStatistics
private java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.util.List<WrappedReportEntry>>> arrangeMethodStatistics(WrappedReportEntry testSetReportEntry, TestSetStats testSetStats)
-
aggregateCacheFromMultipleReruns
private java.util.Deque<WrappedReportEntry> aggregateCacheFromMultipleReruns(WrappedReportEntry testSetReportEntry, TestSetStats testSetStats)
-
serializeTestClass
private void serializeTestClass(java.io.OutputStream outputStream, java.io.OutputStreamWriter fw, org.apache.maven.shared.utils.xml.XMLWriter ppw, java.util.List<WrappedReportEntry> methodEntries) throws java.io.IOException- Throws:
java.io.IOException
-
serializeTestClassWithoutRerun
private void serializeTestClassWithoutRerun(java.io.OutputStream outputStream, java.io.OutputStreamWriter fw, org.apache.maven.shared.utils.xml.XMLWriter ppw, java.util.List<WrappedReportEntry> methodEntries) throws java.io.IOException- Throws:
java.io.IOException
-
serializeTestClassWithRerun
private void serializeTestClassWithRerun(java.io.OutputStream outputStream, java.io.OutputStreamWriter fw, org.apache.maven.shared.utils.xml.XMLWriter ppw, java.util.List<WrappedReportEntry> methodEntries) throws java.io.IOException- Throws:
java.io.IOException
-
cleanTestHistoryMap
public void cleanTestHistoryMap()
Clean testClassMethodRunHistoryMap
-
getTestResultType
private DefaultReporterFactory.TestResultType getTestResultType(java.util.List<WrappedReportEntry> methodEntryList)
Get the result of a test from a list of its runs in WrappedReportEntry- Parameters:
methodEntryList- the list of runs for a given test- Returns:
- the TestResultType for the given test
-
getAddMethodRunHistoryMap
private java.util.Deque<WrappedReportEntry> getAddMethodRunHistoryMap(java.lang.String testClassName)
-
getOutputStream
private java.io.OutputStream getOutputStream(WrappedReportEntry testSetReportEntry)
-
getWriter
private static java.io.OutputStreamWriter getWriter(java.io.OutputStream fos)
-
getReportFile
private java.io.File getReportFile(WrappedReportEntry report)
-
startTestElement
private void startTestElement(org.apache.maven.shared.utils.xml.XMLWriter ppw, WrappedReportEntry report) throws java.io.IOException- Throws:
java.io.IOException
-
createTestSuiteElement
private void createTestSuiteElement(org.apache.maven.shared.utils.xml.XMLWriter ppw, WrappedReportEntry report, TestSetStats testSetStats) throws java.io.IOException- Throws:
java.io.IOException
-
getTestProblems
private static void getTestProblems(java.io.OutputStreamWriter outputStreamWriter, org.apache.maven.shared.utils.xml.XMLWriter ppw, WrappedReportEntry report, boolean trimStackTrace, java.io.OutputStream fw, java.lang.String testErrorType, boolean createOutErrElementsInside) throws java.io.IOException- Throws:
java.io.IOException
-
createOutErrElements
private static void createOutErrElements(java.io.OutputStreamWriter outputStreamWriter, org.apache.maven.shared.utils.xml.XMLWriter ppw, WrappedReportEntry report, java.io.OutputStream fw) throws java.io.IOException- Throws:
java.io.IOException
-
addOutputStreamElement
private static void addOutputStreamElement(java.io.OutputStreamWriter outputStreamWriter, StatelessXmlReporter.EncodingOutputStream eos, org.apache.maven.shared.utils.xml.XMLWriter xmlWriter, Utf8RecodingDeferredFileOutputStream utf8RecodingDeferredFileOutputStream, java.lang.String name) throws java.io.IOException- Throws:
java.io.IOException
-
showProperties
private static void showProperties(org.apache.maven.shared.utils.xml.XMLWriter xmlWriter, java.util.Map<java.lang.String,java.lang.String> systemProperties) throws java.io.IOExceptionAdds system properties to the XML report.- Parameters:
xmlWriter- The test suite to report to- Throws:
java.io.IOException
-
extraEscapeAttribute
private static java.lang.String extraEscapeAttribute(java.lang.String message)
Handle stuff that may pop up in java that is not legal in xml.- Parameters:
message- The string- Returns:
- The escaped string or returns itself if all characters are legal
-
extraEscapeElementValue
private static void extraEscapeElementValue(java.lang.String message, java.io.OutputStreamWriter outputStreamWriter, org.apache.maven.shared.utils.xml.XMLWriter xmlWriter, java.io.OutputStream fw) throws java.io.IOExceptionWrites escaped string or the message within CDATA if all characters are legal.- Parameters:
message- The string- Throws:
java.io.IOException
-
containsEscapesIllegalXml10
private static boolean containsEscapesIllegalXml10(java.lang.String message)
-
isIllegalEscape
private static boolean isIllegalEscape(char c)
-
isIllegalEscape
private static boolean isIllegalEscape(int c)
-
escapeXml
private static java.lang.String escapeXml(java.lang.String text, boolean attribute)escape for XML 1.0- Parameters:
text- The stringattribute- true if the escaped value is inside an attribute- Returns:
- The escaped string
-
-