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 class
StatelessXmlReporter.ByteConstantsHolder
private static class
StatelessXmlReporter.EncodingOutputStream
-
Field Summary
Fields Modifier and Type Field Description private boolean
phrasedClassName
private boolean
phrasedFileName
private boolean
phrasedMethodName
private boolean
phrasedSuiteName
private java.lang.String
reportNameSuffix
private java.io.File
reportsDirectory
private int
rerunFailingTestsCount
private java.util.Map<java.lang.String,java.util.Deque<WrappedReportEntry>>
testClassMethodRunHistoryMap
private boolean
trimStackTrace
private java.lang.String
xsdSchemaLocation
private java.lang.String
xsdVersion
-
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 void
addOutputStreamElement(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)
void
cleanTestHistoryMap()
Clean testClassMethodRunHistoryMapprivate static boolean
containsEscapesIllegalXml10(java.lang.String message)
private static void
createOutErrElements(java.io.OutputStreamWriter outputStreamWriter, org.apache.maven.shared.utils.xml.XMLWriter ppw, WrappedReportEntry report, java.io.OutputStream fw)
private void
createTestSuiteElement(org.apache.maven.shared.utils.xml.XMLWriter ppw, WrappedReportEntry report, TestSetStats testSetStats)
private static java.lang.String
escapeXml(java.lang.String text, boolean attribute)
escape for XML 1.0private static java.lang.String
extraEscapeAttribute(java.lang.String message)
Handle stuff that may pop up in java that is not legal in xml.private static void
extraEscapeElementValue(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.OutputStream
getOutputStream(WrappedReportEntry testSetReportEntry)
private java.io.File
getReportFile(WrappedReportEntry report)
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)
private DefaultReporterFactory.TestResultType
getTestResultType(java.util.List<WrappedReportEntry> methodEntryList)
Get the result of a test from a list of its runs in WrappedReportEntryprivate static java.io.OutputStreamWriter
getWriter(java.io.OutputStream fos)
private static boolean
isIllegalEscape(char c)
private static boolean
isIllegalEscape(int c)
private void
serializeTestClass(java.io.OutputStream outputStream, java.io.OutputStreamWriter fw, org.apache.maven.shared.utils.xml.XMLWriter ppw, java.util.List<WrappedReportEntry> methodEntries)
private void
serializeTestClassWithoutRerun(java.io.OutputStream outputStream, java.io.OutputStreamWriter fw, org.apache.maven.shared.utils.xml.XMLWriter ppw, java.util.List<WrappedReportEntry> methodEntries)
private void
serializeTestClassWithRerun(java.io.OutputStream outputStream, java.io.OutputStreamWriter fw, org.apache.maven.shared.utils.xml.XMLWriter ppw, java.util.List<WrappedReportEntry> methodEntries)
private static void
showProperties(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 void
startTestElement(org.apache.maven.shared.utils.xml.XMLWriter ppw, WrappedReportEntry report)
void
testSetCompleted(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:StatelessReportEventListener
The callback is called after the test class has been completed and the state of report is final.- Specified by:
testSetCompleted
in 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.IOException
Adds 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.IOException
Writes 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
-
-