Details
-
Type:
Bug
-
Status:
Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: None
-
Fix Version/s: None
-
Component/s: dashboard
-
Labels:None
-
Environment:Maven version: 2.0.8
Java version: 1.4.2
OS name: "windows xp" version: "5.1" arch: "x86" Family: "windows"
-
Complexity:Intermediate
-
Number of attachments :1
Description
I found that the number of errors per checkstyle categories (element <checkstyleerror>) of the children is incorrect in the dashboard-report.xml file(Parent dashboard report) .
For example, you have a parent project and two children: A and B. Now child A has 10 errors of category1 and child B has 16 errors of category1. The parent should have in total 26 errors of category1 but the parent dashboard displays 26 errors of category1 for child B instead of 16.
In the dashboard report of children:
child A:
<module> < org.codehaus.mojo.dashboard.report.plugin.beans.CheckstyleReportBean> <errors> <checkstyleerror> <category>category1</category> <nberror>10</nberror> </checkstyleerror> </errors> < org.codehaus.mojo.dashboard.report.plugin.beans.CheckstyleReportBean> </module>
child B:
<module> < org.codehaus.mojo.dashboard.report.plugin.beans.CheckstyleReportBean> <errors> <checkstyleerror> <category>category1</category> <nberror>16</nberror> </checkstyleerror> </errors> < org.codehaus.mojo.dashboard.report.plugin.beans.CheckstyleReportBean> </module>
In the Parent dashboard report :
parent (contains Child A and Child B):
***********************************child A******************************************* <module> < org.codehaus.mojo.dashboard.report.plugin.beans.CheckstyleReportBean> <errors> <checkstyleerror> <category>category1</category> <nberror>10</nberror> </checkstyleerror> </errors> < org.codehaus.mojo.dashboard.report.plugin.beans.CheckstyleReportBean> </module> ***********************************child B******************************************* <module> < org.codehaus.mojo.dashboard.report.plugin.beans.CheckstyleReportBean> <errors> <checkstyleerror> <category>category1</category> <nberror>26</nberror> </checkstyleerror> </errors> < org.codehaus.mojo.dashboard.report.plugin.beans.CheckstyleReportBean> </module> ***********************************parent******************************************* <report> < org.codehaus.mojo.dashboard.report.plugin.beans.CheckstyleReportBean> <errors> <checkstyleerror> <category>category1</category> <nberror>26</nberror> </checkstyleerror> </errors> < org.codehaus.mojo.dashboard.report.plugin.beans.CheckstyleReportBean> </report>
Find attached the sample dashboard-report.xml .
The error according to me is with the method addAllError( List errorsList ) of the CheckstyleReportBean.java file.
-
Hide
- sample1.zip
- 21/Mar/08 8:06 AM
- 3.78 MB
- vishwanee Haranghi
-
- sample1/.metadata/.lock 0.0 kB
- sample1/.metadata/.log 4 kB
- sample1/.../20ebe7352ef7001c1490a1079b308edd 6 kB
- sample1/.../604f98362ef7001c1490a1079b308edd 2 kB
- sample1/.../e12902362ef7001c1490a1079b308edd 2 kB
- sample1/.../81cf4c6a2df7001c1490a1079b308edd 3 kB
- sample1/.../a00d7ff92bf7001c1490a1079b308edd 0.6 kB
- sample1/.../21d283352ef7001c1490a1079b308edd 1.0 kB
- sample1/.../b0b7a26a2df7001c1490a1079b308edd 0.6 kB
- sample1/.../219349362ef7001c1490a1079b308edd 3 kB
- sample1/.../417f696a2df7001c1490a1079b308edd 0.2 kB
- sample1/.../8054bf352ef7001c1490a1079b308edd 0.1 kB
- sample1/.../b0d59d6a2df7001c1490a1079b308edd 4 kB
- sample1/.../209349362ef7001c1490a1079b308edd 2 kB
- sample1/.../e04cf16a2df7001c1490a1079b308edd 4 kB
- sample1/.../20d283352ef7001c1490a1079b308edd 0.6 kB
- sample1/.../611dd0352ef7001c1490a1079b308edd 1.0 kB
- sample1/.../f002ef6a2df7001c1490a1079b308edd 4 kB
- sample1/.../417a75352ef7001c1490a1079b308edd 1.0 kB
- sample1/.../61ca256b2df7001c1490a1079b308edd 1.0 kB
- sample1/.../b25f046b2df7001c1490a1079b308edd 2 kB
- sample1/.../c072376a2df7001c1490a1079b308edd 0.1 kB
- sample1/.../22f07e352ef7001c1490a1079b308edd 0.1 kB
- sample1/.../60c58e6b2df7001c1490a1079b308edd 4 kB
- sample1/.../818b7b6b2df7001c1490a1079b308edd 0.1 kB
- sample1/.../90c883f92bf7001c1490a1079b308edd 0.6 kB
- sample1/.../619369352ef7001c1490a1079b308edd 3 kB
- sample1/.../816d806b2df7001c1490a1079b308edd 1.0 kB
- sample1/.../c18b3e352ef7001c1490a1079b308edd 3 kB
- sample1/.../108d88352ef7001c1490a1079b308edd 2 kB
Activity
Please find attached the sample project with checkstyle-report.xml.
i have also found that when tried to persist the detailed checkstyle error for 4 projects (3 children and 1 parent), only 3 project get persisted (2 children and 1 parent).
For 3 projects (2 children and 1 parent), only 2 project get persisted (1 child and 1 parent).
The following modification was made to the dashboard.hbm.xml to persist the detailed checkstyle error:
<class name="CheckstyleReportBean" table="CheckstyleReportBean"> <id name="id" type="long" column="report_id"> <generator class="native" /> </id> <many-to-one name="mavenProject" column="MAVENPROJECT_ID" class="DashBoardMavenProject" /> <property name="dateGeneration" column="dateGeneration" type="timestamp" /> <property name="nbClasses" column="nbClasses" type="int" /> <property name="nbInfos" column="nbInfos" type="int" /> <property name="nbErrors" column="nbErrors" type="int" /> <property name="nbWarnings" column="nbWarnings" type="int" /> <property name="nbTotal" column="nbTotal" type="int" /> <list name="errors" cascade="all"> <key column="report_id"/> <index column="id_list" /> <one-to-many class="CheckstyleError"/> </list> <query name="getCheckstyleByDashBoardMavenProjectID"> <![CDATA[ select c from CheckstyleReportBean c,DashBoardMavenProject m where c.mavenProject = m and m.id = :id ]]> </query> <query name="getCheckstyleByPeriod"> <![CDATA[ select c from CheckstyleReportBean c,DashBoardMavenProject m where c.mavenProject = m and m.id = :id and c.dateGeneration >= :startdate and c.dateGeneration <= :enddate ]]> </query> </class> <class name="CheckstyleError" table="CheckstyleError"> <id name="id" type="long" column="id"> <generator class="native" /> </id> <property name="nameClass" column="nameClass" type="string" /> <property name="type" column="type" type="string" /> <property name="message" column="message" type="string" /> <property name="nbIteration" column="nbErrors" type="int" /> <many-to-one name="checkstyleReportBean" class="CheckstyleReportBean" column="report_id"/> </class>
The following attributes should also be added in the CheckstyleError.java file:
private long id;
private CheckstyleReportBean checkstyleReportBean;
Ok done.
The same problem exists with Findbugs.
The Clone method for these beans must be "deep" (for objects list).
I hope to deploy a new snapshot release this afternoon.
No persistance of CheckstyleError value is planned at this time. If you want some help, contact me with my gmail adress
desployed the 2008-04-05 as 1.0-SNAPSHOT ( dashboard-maven-plugin-1.0-20080405.182352-19.jar)
Could you give as attachment a sample project with your checkstyle xml file ?
Best regards
David Vicente