Issue Details (XML | Word | Printable)

Key: MOJO-1075
Type: Bug Bug
Status: Closed Closed
Resolution: Fixed
Priority: Major Major
Assignee: David Vicente
Reporter: vishwanee Haranghi
Votes: 0
Watchers: 1
Operations

If you were logged in you would be able to see more operations.
Mojo

Parent dashboard report is inconsistent with the child dashboard reports

Created: 20/Mar/08 07:27 AM   Updated: 05/Apr/08 01:27 PM
Component/s: dashboard
Affects Version/s: None
Fix Version/s: None

Time Tracking:
Not Specified

File Attachments: 1. Zip Archive sample1.zip (3.78 MB)

Environment:
Maven version: 2.0.8
Java version: 1.4.2
OS name: "windows xp" version: "5.1" arch: "x86" Family: "windows"

Complexity: Intermediate


 Description  « Hide
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.



 All   Comments   Work Log   Change History      Sort Order: Ascending order - Click to sort in descending order
David Vicente added a comment - 20/Mar/08 07:52 AM
Could you give as attachment a sample project with your checkstyle xml file ?

Best regards

David Vicente


vishwanee Haranghi added a comment - 21/Mar/08 08:06 AM
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;


David Vicente added a comment - 28/Mar/08 10:22 AM
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


David Vicente added a comment - 05/Apr/08 01:27 PM
desployed the 2008-04-05 as 1.0-SNAPSHOT ( dashboard-maven-plugin-1.0-20080405.182352-19.jar)