Styling changes for checkstyle

This commit is contained in:
Telesphoreo 2021-10-01 03:06:26 -05:00
parent fe9ade1217
commit d94011ce38
2 changed files with 135 additions and 137 deletions

View file

@ -1,25 +1,27 @@
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="html" indent="yes"/>
<xsl:decimal-format decimal-separator="." grouping-separator=","/>
<!--
Checkstyle XML Style Sheet by Daniel Grenner
<daniel DOT grenner AT enea DOT se>
This stylesheet groups the errors by author name, if used in combination
with the WriteTag check:
<module name="WriteTag">
<property name="tag" value="@author"/>
<property name="tagFormat" value="\S"/>
<property name="severity" value="ignore"/>
</module>
<xsl:key name="files" match="file" use="@name"/>
The output contains both error and warning messages.
Files without errors or warnings are not included.
This stylesheet is based on checkstyle-noframes.xsl.
-->
<!-- Checkstyle XML Style Sheet by Rolf Wojtech <rolf@wojtech.de> -->
<!-- (based on checkstyle-noframe-sorted.xsl by Stephane Bailliez -->
<!-- <sbailliez@apache.org> and sf-patch 1721291 by Leo Liang) -->
<!-- Changes: -->
<!-- * Outputs seperate columns for error/warning/info -->
<!-- * Sorts primarily by #error, secondarily by #warning, tertiary by #info -->
<!-- * Compatible with windows path names (converts '\' to '/' for html anchor) -->
<!-- -->
<!-- Part of the Checkstyle distribution found at https://checkstyle.org -->
<!-- Usage (generates checkstyle_report.html): -->
<!-- <checkstyle failonviolation="false" config="${check.config}"> -->
<!-- <fileset dir="${src.dir}" includes="**/*.java"/> -->
<!-- <formatter type="xml" toFile="${doc.dir}/checkstyle_report.xml"/> -->
<!-- </checkstyle> -->
<!-- <style basedir="${doc.dir}" destdir="${doc.dir}" -->
<!-- includes="checkstyle_report.xml" -->
<!-- style="${doc.dir}/checkstyle-noframes-severity-sorted.xsl"/> -->
<xsl:key name="keyAuthorID" match="//file/error[contains(@message,'@author')]" use="@message"/>
<xsl:key name="keySeverityID" match="//file/error" use="@severity"/>
<xsl:template match="checkstyle">
<html>
<head>
@ -31,7 +33,7 @@
body {
margin-left: 10;
margin-right: 10;
font:normal 68% verdana,arial,helvetica;
font:normal 80% arial,helvetica,sanserif;
background-color:#FFFFFF;
color:#000000;
}
@ -76,23 +78,23 @@
</style>
</head>
<body>
<a name="#top"/>
<a name="top"></a>
<!-- jakarta logo -->
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td class="bannercell" rowspan="2">
<!--a href="http://jakarta.apache.org/">
<img src="http://jakarta.apache.org/images/jakarta-logo.gif" alt="http://jakarta.apache.org" align="left" border="0"/>
</a-->
<img src="http://jakarta.apache.org/images/jakarta-logo.gif" alt="http://jakarta.apache.org" align="left" border="0"/>
</a-->
</td>
<td class="text-align:right">
<h2>CheckStyle Audit</h2>
</td>
</tr>
<tr>
<td class="text-align:right">Designed for use with <a href="https://checkstyle.org/">
<td class="text-align:right">Designed for use with <a href='https://checkstyle.org/'>
CheckStyle
</a> and <a href="http://jakarta.apache.org">Ant</a>.
</a> and <a href='http://jakarta.apache.org'>Ant</a>.
</td>
</tr>
</table>
@ -102,31 +104,116 @@
<xsl:apply-templates select="." mode="summary"/>
<hr size="1" width="100%" align="left"/>
<!-- Author List part -->
<xsl:apply-templates select="." mode="authorlist"/>
<!-- Package List part -->
<xsl:apply-templates select="." mode="filelist"/>
<hr size="1" width="100%" align="left"/>
<!-- For each package create its part -->
<xsl:for-each select="file">
<xsl:sort select="./error[contains(@message,'@author=')]/@message"/>
<xsl:apply-templates select="."/>
<p/>
<p/>
</xsl:for-each>
<xsl:apply-templates select="file[@name and generate-id(.) = generate-id(key('files', @name))]"/>
<hr size="1" width="100%" align="left"/>
</body>
</html>
</xsl:template>
<xsl:template match="checkstyle" mode="filelist">
<h3>Files</h3>
<table class="log" border="0" cellpadding="5" cellspacing="2" width="100%">
<tr>
<th>Name</th>
<th>Errors</th>
<th>Warnings</th>
<th>Infos</th>
</tr>
<xsl:for-each select="file[@name and generate-id(.) = generate-id(key('files', @name))]">
<!-- Sort method 1: Primary by #error, secondary by #warning, tertiary by #info -->
<xsl:sort data-type="number" order="descending"
select="count(key('files', @name)/error[@severity='error'])"/>
<xsl:sort data-type="number" order="descending"
select="count(key('files', @name)/error[@severity='warning'])"/>
<xsl:sort data-type="number" order="descending"
select="count(key('files', @name)/error[@severity='info'])"/>
<!-- Sort method 1: Sum(#error+#info+#warning) (uncomment to use, comment method 1) -->
<!--
<xsl:sort data-type="number" order="descending" select="count(key('files', @name)/error)"/>
-->
<xsl:variable name="errorCount" select="count(key('files', @name)/error[@severity='error'])"/>
<xsl:variable name="warningCount" select="count(key('files', @name)/error[@severity='warning'])"/>
<xsl:variable name="infoCount" select="count(key('files', @name)/error[@severity='info'])"/>
<tr>
<xsl:call-template name="alternated-row"/>
<td>
<a href="#f-{translate(@name,'\','/')}">
<xsl:value-of select="@name"/>
</a>
</td>
<td>
<xsl:value-of select="$errorCount"/>
</td>
<td>
<xsl:value-of select="$warningCount"/>
</td>
<td>
<xsl:value-of select="$infoCount"/>
</td>
</tr>
</xsl:for-each>
</table>
</xsl:template>
<xsl:template match="file">
<a name="f-{translate(@name,'\','/')}"></a>
<h3>File
<xsl:value-of select="@name"/>
</h3>
<table class="log" border="0" cellpadding="5" cellspacing="2" width="100%">
<tr>
<th>Severity</th>
<th>Error Description</th>
<th>Line</th>
</tr>
<xsl:for-each select="key('files', @name)/error">
<xsl:sort data-type="number" order="ascending" select="@line"/>
<tr>
<xsl:call-template name="alternated-row"/>
<td>
<xsl:value-of select="@severity"/>
</td>
<td>
<xsl:value-of select="@message"/>
</td>
<td>
<xsl:value-of select="@line"/>
</td>
</tr>
</xsl:for-each>
</table>
<a href="#top">Back to top</a>
</xsl:template>
<xsl:template match="checkstyle" mode="summary">
<h3>Summary</h3>
<xsl:variable name="fileCount" select="count(file)"/>
<xsl:variable name="errorCount" select="count(key('keySeverityID', 'error'))"/>
<xsl:variable name="warningCount" select="count(key('keySeverityID', 'warning'))"/>
<xsl:variable name="fileCount"
select="count(file[@name and generate-id(.) = generate-id(key('files', @name))])"/>
<xsl:variable name="errorCount" select="count(file/error[@severity='error'])"/>
<xsl:variable name="warningCount" select="count(file/error[@severity='warning'])"/>
<xsl:variable name="infoCount" select="count(file/error[@severity='info'])"/>
<table class="log" border="0" cellpadding="5" cellspacing="2" width="100%">
<tr>
<th>Files</th>
<th>Errors</th>
<th>Warnings</th>
<th>Infos</th>
</tr>
<tr>
<xsl:call-template name="alternated-row"/>
@ -139,100 +226,12 @@
<td>
<xsl:value-of select="$warningCount"/>
</td>
<td>
<xsl:value-of select="$infoCount"/>
</td>
</tr>
</table>
</xsl:template>
<xsl:template match="checkstyle" mode="authorlist">
<h3>Authors</h3>
<table class="log" border="0" cellpadding="5" cellspacing="2" width="100%">
<tr>
<th>Name</th>
<th>Errors</th>
<th>Warnings</th>
</tr>
<!-- Process each Author -->
<xsl:for-each select="file/error[generate-id(.) = generate-id(key('keyAuthorID', @message)[1])]">
<xsl:sort select="@message"/>
<xsl:variable name="authorFull" select="@message"/>
<xsl:variable name="author" select="substring-after($authorFull,'@author=')"/>
<xsl:variable name="errors" select="count(key('keyAuthorID', @message)/../error[@severity='error'])"/>
<xsl:variable name="warnings"
select="count(key('keyAuthorID', @message)/../error[@severity='warning'])"/>
<xsl:if test="not ($author='' or ($errors + $warnings = 0))">
<tr>
<xsl:call-template name="alternated-row"/>
<td>
<a href="#{$author}">
<xsl:value-of select="$author"/>
</a>
</td>
<td>
<xsl:value-of select="$errors"/>
</td>
<td>
<xsl:value-of select="$warnings"/>
</td>
</tr>
</xsl:if>
</xsl:for-each>
</table>
</xsl:template>
<xsl:template match="file">
<xsl:variable name="errorCount" select="count(error[@severity='error']) + count(error[@severity='warning'])"/>
<xsl:if test="not ($errorCount=0)">
<xsl:variable name="author"
select="substring-after(./error[contains(@message,'@author')]/@message,'@author=')"/>
<a name="#{$author}"/>
<h3>File
<xsl:value-of select="@name"/>
<br/>
Author
<xsl:value-of select="$author"/>
</h3>
<table class="log" border="0" cellpadding="5" cellspacing="2" width="100%">
<tr>
<th>Error Description</th>
<th>Line</th>
</tr>
<xsl:for-each select="error[not(@severity='info')]">
<xsl:sort select="@line" data-type="number"/>
<tr>
<xsl:call-template name="alternated-row"/>
<td>
<xsl:value-of select="@message"/>
</td>
<td>
<xsl:value-of select="@line"/>
</td>
</tr>
</xsl:for-each>
</table>
<a href="#top">Back to top</a>
</xsl:if>
</xsl:template>
<xsl:template name="basename">
<xsl:param name="path"/>
<xsl:choose>
<xsl:when test="contains($path, '\')">
<xsl:call-template name="basename">
<xsl:with-param name="path">substring-after($path, '\')</xsl:with-param>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$path"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template name="alternated-row">
<xsl:attribute name="class">
@ -240,5 +239,4 @@
<xsl:if test="position() mod 2 = 0">b</xsl:if>
</xsl:attribute>
</xsl:template>
</xsl:stylesheet>

View file

@ -95,18 +95,18 @@ public class PlayerData
public String toString()
{
return "Player: " + name + "\n" +
"- IPs: " + StringUtils.join(ips, ", ") + "\n" +
"- Discord ID: " + discordID + "\n" +
"- Master Builder: " + masterBuilder + "\n" +
"- Has Verification: " + verification + "\n" +
"- Coins: " + coins + "\n" +
"- Total Votes: " + totalVotes + "\n" +
"- Display Discord: " + displayDiscord + "\n" +
"- Tag: " + FUtil.colorize(tag) + ChatColor.GRAY + "\n" +
"- Ride Mode: " + rideMode + "\n" +
"- Backup Codes: " + backupCodes.size() + "/10" + "\n" +
"- Login Message: " + loginMessage;
return "Player: " + name + "\n"
+ "- IPs: " + StringUtils.join(ips, ", ") + "\n"
+ "- Discord ID: " + discordID + "\n"
+ "- Master Builder: " + masterBuilder + "\n"
+ "- Has Verification: " + verification + "\n"
+ "- Coins: " + coins + "\n"
+ "- Total Votes: " + totalVotes + "\n"
+ "- Display Discord: " + displayDiscord + "\n"
+ "- Tag: " + FUtil.colorize(tag) + ChatColor.GRAY + "\n"
+ "- Ride Mode: " + rideMode + "\n"
+ "- Backup Codes: " + backupCodes.size() + "/10" + "\n"
+ "- Login Message: " + loginMessage;
}
public List<String> getIps()