-
Notifications
You must be signed in to change notification settings - Fork 12
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Co-authored-by: Daniel.Smrcek <daniel.smrcek@embedit.cz>
- Loading branch information
Showing
9 changed files
with
190 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
14 changes: 14 additions & 0 deletions
14
...pport-core/src/main/java/org/jbehavesupport/core/internal/splunk/SplunkSearchContext.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
package org.jbehavesupport.core.internal.splunk; | ||
|
||
import java.util.List; | ||
import lombok.AllArgsConstructor; | ||
import lombok.Getter; | ||
import org.jbehavesupport.core.splunk.SplunkSearchResultEntry; | ||
|
||
@AllArgsConstructor | ||
public class SplunkSearchContext { | ||
@Getter | ||
private List<SplunkSearchResultEntry> searchResults; | ||
@Getter | ||
private String query; | ||
} |
55 changes: 55 additions & 0 deletions
55
...re/src/main/java/org/jbehavesupport/core/report/extension/SplunkXmlReporterExtension.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,55 @@ | ||
package org.jbehavesupport.core.report.extension; | ||
|
||
import java.io.Writer; | ||
import java.util.ArrayList; | ||
import java.util.List; | ||
import org.jbehavesupport.core.report.ReportContext; | ||
import org.jbehavesupport.core.internal.splunk.SplunkSearchContext; | ||
import org.jbehavesupport.core.splunk.SplunkSearchResultEntry; | ||
|
||
public class SplunkXmlReporterExtension extends AbstractXmlReporterExtension { | ||
|
||
private static final String SPLUNK_XML_REPORTER_EXTENSION = "splunk"; | ||
private static final String SEARCH_RESULT_TAG = "searchResult"; | ||
private static final String TIME_TAG = "time"; | ||
private static final String QUERY_TAG = "query"; | ||
private static final String MESSAGE_TAG = "message"; | ||
private static final String RECORD_TAG = "record"; | ||
|
||
private final List<SplunkSearchContext> searchResults = new ArrayList<>(); | ||
|
||
@Override | ||
public String getName() { | ||
return SPLUNK_XML_REPORTER_EXTENSION; | ||
} | ||
|
||
@Override | ||
public void print(Writer writer, ReportContext reportContext) { | ||
searchResults.forEach(query -> printSplunkSearchResult(writer, query)); | ||
searchResults.clear(); | ||
} | ||
|
||
public void addSplunkSearchContext(SplunkSearchContext splunkSearchContext) { | ||
searchResults.add(splunkSearchContext); | ||
} | ||
|
||
private void printSplunkSearchResult(Writer writer, SplunkSearchContext splunkSearchContext) { | ||
printBegin(writer, SEARCH_RESULT_TAG); | ||
printBegin(writer, QUERY_TAG); | ||
printCData(writer, splunkSearchContext.getQuery()); | ||
printEnd(writer, QUERY_TAG); | ||
|
||
for(SplunkSearchResultEntry searchResult : splunkSearchContext.getSearchResults()){ | ||
printBegin(writer, RECORD_TAG); | ||
printBegin(writer, TIME_TAG); | ||
printCData(writer, searchResult.getTime()); | ||
printEnd(writer, TIME_TAG); | ||
printBegin(writer, MESSAGE_TAG); | ||
printCData(writer, searchResult.getMessage()); | ||
printEnd(writer, MESSAGE_TAG); | ||
printEnd(writer, RECORD_TAG); | ||
} | ||
|
||
printEnd(writer, SEARCH_RESULT_TAG); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
83 changes: 83 additions & 0 deletions
83
jbehave-support-core/src/main/resources/report-generator/splunkXmlReport.xslt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,83 @@ | ||
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> | ||
|
||
<xsl:template name="splunk"> | ||
<xsl:param name="storyIndex"/> | ||
<xsl:for-each select="splunk"> | ||
<p> | ||
<div class="card"> | ||
<xsl:attribute name="id"> | ||
<xsl:value-of select="concat('splunk-queries',$storyIndex)"/> | ||
</xsl:attribute> | ||
<div class="card-header"> | ||
<i class="fa fa-file-text-o" aria-hidden="true"></i> | ||
Splunk queries (<a href="#splunk-queries-body" id="expand-all-splunk-queries">Toggle all queries</a>) | ||
<a href="#splunk-queries-body" data-toggle="collapse" class="float-right">Collapse</a> | ||
</div> | ||
<div id="splunk-queries-body" class="card-body collapse show"> | ||
<xsl:choose> | ||
<xsl:when test="searchResult"> | ||
<xsl:call-template name="searchResult"/> | ||
</xsl:when> | ||
<xsl:otherwise>No splunk queries available</xsl:otherwise> | ||
</xsl:choose> | ||
</div> | ||
</div> | ||
</p> | ||
</xsl:for-each> | ||
</xsl:template> | ||
|
||
<xsl:template name="searchResult"> | ||
<xsl:for-each select="searchResult"> | ||
<xsl:variable name="searchResultNum"> | ||
<xsl:number level="any"/> | ||
</xsl:variable> | ||
|
||
<div> | ||
<xsl:attribute name="class"> | ||
<xsl:if test="not(record)">emptySplunkSearch</xsl:if> | ||
</xsl:attribute> | ||
|
||
<a data-toggle="collapse"> | ||
<xsl:attribute name="class"> | ||
<xsl:choose> | ||
<xsl:when test="record">pointerCursor</xsl:when> | ||
<xsl:otherwise>inactiveLink</xsl:otherwise> | ||
</xsl:choose> | ||
</xsl:attribute> | ||
|
||
<xsl:if test="record"> | ||
<xsl:attribute name="href"> | ||
#search-result-<xsl:value-of select="$searchResultNum"/> | ||
</xsl:attribute> | ||
<i class="fa fa-plus-circle" aria-hidden="true"/> | ||
</xsl:if> | ||
<xsl:value-of select="query" disable-output-escaping="yes"/> | ||
</a> | ||
|
||
<div id="search-result-{$searchResultNum}" class="collapse"> | ||
<xsl:if test="record"> | ||
<table class="table table-sm table-hover"> | ||
<thead> | ||
<tr> | ||
<th>Time</th> | ||
<th>Message</th> | ||
</tr> | ||
</thead> | ||
<xsl:for-each select="record"> | ||
<tr> | ||
<td> | ||
<xsl:value-of select="time"/> | ||
</td> | ||
<td> | ||
<xsl:value-of select="message"/> | ||
</td> | ||
</tr> | ||
</xsl:for-each> | ||
</table>> | ||
</xsl:if> | ||
</div> | ||
</div> | ||
</xsl:for-each> | ||
</xsl:template> | ||
|
||
</xsl:stylesheet> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters