You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by oc...@apache.org on 2008/03/26 02:30:03 UTC
svn commit: r641103 - in /maven/archiva/trunk:
archiva-base/archiva-model/src/main/java/org/apache/maven/archiva/model/
archiva-database/src/main/java/org/apache/maven/archiva/database/constraints/
archiva-web/archiva-webapp/src/main/java/org/apache/ma...
Author: oching
Date: Tue Mar 25 18:30:01 2008
New Revision: 641103
URL: http://svn.apache.org/viewvc?rev=641103&view=rev
Log:
[MRM-591]
-group defective artifacts by repository in the report
Modified:
maven/archiva/trunk/archiva-base/archiva-model/src/main/java/org/apache/maven/archiva/model/RepositoryProblemReport.java
maven/archiva/trunk/archiva-database/src/main/java/org/apache/maven/archiva/database/constraints/RangeConstraint.java
maven/archiva/trunk/archiva-database/src/main/java/org/apache/maven/archiva/database/constraints/RepositoryProblemByGroupIdConstraint.java
maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/reports/GenerateReportAction.java
maven/archiva/trunk/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/reports/basicReport.jsp
Modified: maven/archiva/trunk/archiva-base/archiva-model/src/main/java/org/apache/maven/archiva/model/RepositoryProblemReport.java
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-base/archiva-model/src/main/java/org/apache/maven/archiva/model/RepositoryProblemReport.java?rev=641103&r1=641102&r2=641103&view=diff
==============================================================================
--- maven/archiva/trunk/archiva-base/archiva-model/src/main/java/org/apache/maven/archiva/model/RepositoryProblemReport.java (original)
+++ maven/archiva/trunk/archiva-base/archiva-model/src/main/java/org/apache/maven/archiva/model/RepositoryProblemReport.java Tue Mar 25 18:30:01 2008
@@ -45,6 +45,7 @@
setOrigin( repositoryProblem.getOrigin() );
setPath( repositoryProblem.getPath() );
setType( repositoryProblem.getType() );
+ setRepositoryId( repositoryProblem.getRepositoryId() );
}
public void setGroupURL( String groupURL )
Modified: maven/archiva/trunk/archiva-database/src/main/java/org/apache/maven/archiva/database/constraints/RangeConstraint.java
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-database/src/main/java/org/apache/maven/archiva/database/constraints/RangeConstraint.java?rev=641103&r1=641102&r2=641103&view=diff
==============================================================================
--- maven/archiva/trunk/archiva-database/src/main/java/org/apache/maven/archiva/database/constraints/RangeConstraint.java (original)
+++ maven/archiva/trunk/archiva-database/src/main/java/org/apache/maven/archiva/database/constraints/RangeConstraint.java Tue Mar 25 18:30:01 2008
@@ -28,19 +28,29 @@
extends AbstractDeclarativeConstraint
implements Constraint
{
+ private String sortColumn;
+
public RangeConstraint()
{
this.range = null;
+ this.sortColumn = null;
}
-
+
public RangeConstraint( int[] range )
{
this.range = range;
+ this.sortColumn = null;
+ }
+
+ public RangeConstraint( int[] range, String sortColumn )
+ {
+ this.range = range;
+ this.sortColumn = sortColumn;
}
public String getSortColumn()
{
- return null;
+ return sortColumn;
}
public String getWhereCondition()
Modified: maven/archiva/trunk/archiva-database/src/main/java/org/apache/maven/archiva/database/constraints/RepositoryProblemByGroupIdConstraint.java
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-database/src/main/java/org/apache/maven/archiva/database/constraints/RepositoryProblemByGroupIdConstraint.java?rev=641103&r1=641102&r2=641103&view=diff
==============================================================================
--- maven/archiva/trunk/archiva-database/src/main/java/org/apache/maven/archiva/database/constraints/RepositoryProblemByGroupIdConstraint.java (original)
+++ maven/archiva/trunk/archiva-database/src/main/java/org/apache/maven/archiva/database/constraints/RepositoryProblemByGroupIdConstraint.java Tue Mar 25 18:30:01 2008
@@ -51,11 +51,11 @@
public String getSortColumn()
{
- return "artifactId";
+ return "repositoryId";
}
public String getWhereCondition()
{
return whereClause;
- }
+ }
}
Modified: maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/reports/GenerateReportAction.java
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/reports/GenerateReportAction.java?rev=641103&r1=641102&r2=641103&view=diff
==============================================================================
--- maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/reports/GenerateReportAction.java (original)
+++ maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/reports/GenerateReportAction.java Tue Mar 25 18:30:01 2008
@@ -41,6 +41,8 @@
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
+import java.util.Map;
+import java.util.TreeMap;
/**
* @plexus.component role="com.opensymphony.xwork.Action" role-hint="generateReport"
@@ -85,6 +87,9 @@
private Collection<String> repositoryIds;
public static final String ALL_REPOSITORIES = "All Repositories";
+
+ protected Map<String, List<RepositoryProblemReport>> repositoriesMap =
+ new TreeMap<String, List<RepositoryProblemReport>>();
public void prepare()
{
@@ -118,9 +123,12 @@
problemArtifactReport.setArtifactURL(
contextPath + "/browse/" + problemArtifact.getGroupId() + "/" + problemArtifact.getArtifactId() );
+ addToList( problemArtifactReport );
+
+ // retained the reports list because this is the datasource for the jasper report
reports.add( problemArtifactReport );
}
-
+
if ( reports.size() <= rowCount )
{
isLastPage = true;
@@ -194,7 +202,7 @@
}
else
{
- constraint = new RangeConstraint( range );
+ constraint = new RangeConstraint( range, "repositoryId" );
}
return constraint;
@@ -265,6 +273,16 @@
return isLastPage;
}
+ public void setRepositoriesMap( Map<String, List<RepositoryProblemReport>> repositoriesMap )
+ {
+ this.repositoriesMap = repositoriesMap;
+ }
+
+ public Map<String, List<RepositoryProblemReport>> getRepositoriesMap()
+ {
+ return repositoriesMap;
+ }
+
public SecureActionBundle getSecureActionBundle()
throws SecureActionException
{
@@ -274,5 +292,22 @@
bundle.addRequiredAuthorization( ArchivaRoleConstants.OPERATION_ACCESS_REPORT, Resource.GLOBAL );
return bundle;
+ }
+
+ private void addToList( RepositoryProblemReport repoProblemReport )
+ {
+ List<RepositoryProblemReport> problemsList = null;
+
+ if ( repositoriesMap.containsKey( repoProblemReport.getRepositoryId() ) )
+ {
+ problemsList = ( List<RepositoryProblemReport> ) repositoriesMap.get( repoProblemReport.getRepositoryId() );
+ }
+ else
+ {
+ problemsList = new ArrayList<RepositoryProblemReport>();
+ repositoriesMap.put( repoProblemReport.getRepositoryId(), problemsList );
+ }
+
+ problemsList.add( repoProblemReport );
}
}
Modified: maven/archiva/trunk/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/reports/basicReport.jsp
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/reports/basicReport.jsp?rev=641103&r1=641102&r2=641103&view=diff
==============================================================================
--- maven/archiva/trunk/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/reports/basicReport.jsp (original)
+++ maven/archiva/trunk/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/reports/basicReport.jsp Tue Mar 25 18:30:01 2008
@@ -32,23 +32,26 @@
<div id="contentArea">
- <ww:set name="reports" value="reports"/>
- <c:forEach items="${reports}" var="report">
-
- <p>
- <archiva:groupIdLink var="${report.groupId}" includeTop="true"/>
-
- <c:set var="url">
+ <ww:set name="reports" value="reports"/>
+
+ <c:forEach var="repository" items="${repositoriesMap}">
+ <strong>Repository: ${repository.key}</strong>
+ <c:forEach var="report" items='${repository.value}'>
+
+ <p>
+ <archiva:groupIdLink var="${report.groupId}" includeTop="true"/>
+ <c:set var="url">
<ww:url action="browseArtifact" namespace="/">
<ww:param name="groupId" value="%{'${report.groupId}'}"/>
<ww:param name="artifactId" value="%{'${report.artifactId}'}"/>
</ww:url>
- </c:set>
- <a href="${url}">${report.artifactId}</a> /
- <strong>${report.version}</strong>
- </p>
-
- <blockquote>${report.message}</blockquote>
+ </c:set>
+ <a href="${url}">${report.artifactId}</a> /
+ <strong>${report.version}</strong>
+ </p>
+
+ <blockquote>${report.message}</blockquote>
+ </c:forEach>
</c:forEach>
<ww:set name="page" value="page"/>