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 2009/12/15 03:26:50 UTC

svn commit: r890604 - in /archiva/branches/MRM-1296/archiva-modules: archiva-database/src/main/java/org/apache/maven/archiva/database/constraints/ archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/reports/ archiva-web/archiva...

Author: oching
Date: Tue Dec 15 02:26:50 2009
New Revision: 890604

URL: http://svn.apache.org/viewvc?rev=890604&view=rev
Log:
[MRM-1296] Audit Log Reports
o fixed query for recent statistics
o added bits for pagination

Modified:
    archiva/branches/MRM-1296/archiva-modules/archiva-database/src/main/java/org/apache/maven/archiva/database/constraints/ArchivaAuditLogsConstraint.java
    archiva/branches/MRM-1296/archiva-modules/archiva-database/src/main/java/org/apache/maven/archiva/database/constraints/MostRecentArchivaAuditLogsConstraint.java
    archiva/branches/MRM-1296/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/reports/ViewAuditLogReportAction.java
    archiva/branches/MRM-1296/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/reports/auditLogReport.jsp

Modified: archiva/branches/MRM-1296/archiva-modules/archiva-database/src/main/java/org/apache/maven/archiva/database/constraints/ArchivaAuditLogsConstraint.java
URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1296/archiva-modules/archiva-database/src/main/java/org/apache/maven/archiva/database/constraints/ArchivaAuditLogsConstraint.java?rev=890604&r1=890603&r2=890604&view=diff
==============================================================================
--- archiva/branches/MRM-1296/archiva-modules/archiva-database/src/main/java/org/apache/maven/archiva/database/constraints/ArchivaAuditLogsConstraint.java (original)
+++ archiva/branches/MRM-1296/archiva-modules/archiva-database/src/main/java/org/apache/maven/archiva/database/constraints/ArchivaAuditLogsConstraint.java Tue Dec 15 02:26:50 2009
@@ -30,23 +30,13 @@
     extends RangeConstraint
 {
     private String whereClause;
-
-    /**
-     * Complete custom query!
-     * 
-     * @param desiredArtifact
-     * @param desiredRepositoryId
-     * @param desiredEvent
-     * @param startDate
-     * @param endDate
-     */
+    
     private void createWhereClause( String desiredArtifact, String desiredRepositoryId, String desiredEvent,
                                     Date startDate, Date endDate )
     {
-        whereClause = "eventDate >= desiredStartDate && eventDate <= desiredEndDate";
-
+        whereClause = "eventDate >= desiredStartDate && eventDate <= desiredEndDate";        
         declImports = new String[] { "import java.util.Date" };
-
+                
         List<String> declParamsList = new ArrayList<String>();
         declParamsList.add( "Date desiredStartDate" );
         declParamsList.add( "Date desiredEndDate" );

Modified: archiva/branches/MRM-1296/archiva-modules/archiva-database/src/main/java/org/apache/maven/archiva/database/constraints/MostRecentArchivaAuditLogsConstraint.java
URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1296/archiva-modules/archiva-database/src/main/java/org/apache/maven/archiva/database/constraints/MostRecentArchivaAuditLogsConstraint.java?rev=890604&r1=890603&r2=890604&view=diff
==============================================================================
--- archiva/branches/MRM-1296/archiva-modules/archiva-database/src/main/java/org/apache/maven/archiva/database/constraints/MostRecentArchivaAuditLogsConstraint.java (original)
+++ archiva/branches/MRM-1296/archiva-modules/archiva-database/src/main/java/org/apache/maven/archiva/database/constraints/MostRecentArchivaAuditLogsConstraint.java Tue Dec 15 02:26:50 2009
@@ -20,6 +20,7 @@
  */
 
 import org.apache.maven.archiva.model.ArchivaAuditLogs;
+import org.apache.maven.archiva.repository.audit.AuditEvent;
 
 public class MostRecentArchivaAuditLogsConstraint
     extends AbstractSimpleConstraint
@@ -28,7 +29,12 @@
 
     public MostRecentArchivaAuditLogsConstraint()
     {
-        sql = "SELECT FROM " + ArchivaAuditLogs.class.getName() + " ORDER BY eventDate DESCENDING RANGE 0,1";
+        sql =
+            "SELECT FROM " + ArchivaAuditLogs.class.getName() +
+                " WHERE event == uploadArtifact PARAMETERS String uploadArtifact" +
+                " ORDER BY eventDate DESCENDING RANGE 0,10";
+
+        super.params = new Object[] { AuditEvent.UPLOAD_FILE };
     }
 
     public Class<?> getResultClass()

Modified: archiva/branches/MRM-1296/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/reports/ViewAuditLogReportAction.java
URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1296/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/reports/ViewAuditLogReportAction.java?rev=890604&r1=890603&r2=890604&view=diff
==============================================================================
--- archiva/branches/MRM-1296/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/reports/ViewAuditLogReportAction.java (original)
+++ archiva/branches/MRM-1296/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/reports/ViewAuditLogReportAction.java Tue Dec 15 02:26:50 2009
@@ -28,9 +28,10 @@
 import javax.servlet.http.HttpServletRequest;
 
 import org.apache.maven.archiva.database.ArchivaAuditLogsDao;
+import org.apache.maven.archiva.database.ArchivaDAO;
 import org.apache.maven.archiva.database.ArchivaDatabaseException;
-import org.apache.maven.archiva.database.Constraint;
 import org.apache.maven.archiva.database.ObjectNotFoundException;
+import org.apache.maven.archiva.database.SimpleConstraint;
 import org.apache.maven.archiva.database.constraints.ArchivaAuditLogsConstraint;
 import org.apache.maven.archiva.database.constraints.MostRecentArchivaAuditLogsConstraint;
 import org.apache.maven.archiva.model.ArchivaAuditLogs;
@@ -66,6 +67,11 @@
      */
     private ArchivaAuditLogsDao auditLogsDao;
     
+    /**
+     * @plexus.requirement role-hint="jdo"
+     */
+    private ArchivaDAO dao;
+    
     private String repository;
 
     private List<String> repositories;
@@ -80,11 +86,13 @@
         
     private int rowCount = 30;
     
-    private int page;
+    private int page = 1;
 
     private List<ArchivaAuditLogs> auditLogs;    
     
     private static final String ALL_REPOSITORIES = "all";
+    
+    protected int[] range = new int[2];
         
     public SecureActionBundle getSecureActionBundle()
         throws SecureActionException
@@ -97,6 +105,7 @@
         this.request = request;
     }
 
+    @SuppressWarnings( "unchecked" )
     public void prepare()
         throws Exception
     {     
@@ -106,34 +115,22 @@
         
         auditLogs = null;
         
-        Constraint constraint = new MostRecentArchivaAuditLogsConstraint();
-        
-        try
-        {
-            this.auditLogs = auditLogsDao.queryAuditLogs( constraint );            
-        }
-        catch( ObjectNotFoundException e )
-        {
-            log.warn( "No audit logs found." );
-        }
-        catch ( ArchivaDatabaseException e )
-        {
-            log.warn( "Error occurred while querying audit logs." );
-        }
+        SimpleConstraint constraint = new MostRecentArchivaAuditLogsConstraint();        
+        auditLogs = (List<ArchivaAuditLogs>) dao.query( constraint );
     }
     
     public String execute()
         throws Exception
     {     
         auditLogs = null;
-        String artifact = null;
+        String artifact = "";
         
-        if( groupId != null || !"".equals( groupId ) )
+        if( groupId != null || !"".equals( groupId.trim() ) )
         {
             artifact = groupId;
         }
         
-        if( artifactId != null || !"".equals( artifactId ) )
+        if( artifactId != null || !"".equals( artifactId.trim() ) )
         {
             artifact = artifact + ":" + artifactId;
         }
@@ -153,13 +150,13 @@
             endDate = Calendar.getInstance().getTime();
         }
                 
-        int[] range = {1, 30 };        
+        range[0] = ( page - 1 ) * rowCount;
+        range[1] = ( page * rowCount ) + 1; 
 
         ArchivaAuditLogsConstraint constraint = null;
         if( !repository.equals( ALL_REPOSITORIES ) )
         {
-            //constraint = new ArchivaAuditLogsConstraint( range, artifact, repository, AuditEvent.UPLOAD_FILE, startDate, endDate );
-            constraint = new ArchivaAuditLogsConstraint( artifact, repository, AuditEvent.UPLOAD_FILE, startDate, endDate );
+            constraint = new ArchivaAuditLogsConstraint( range, artifact, repository, AuditEvent.UPLOAD_FILE, startDate, endDate );
         }
         else
         {

Modified: archiva/branches/MRM-1296/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/reports/auditLogReport.jsp
URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1296/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/reports/auditLogReport.jsp?rev=890604&r1=890603&r2=890604&view=diff
==============================================================================
--- archiva/branches/MRM-1296/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/reports/auditLogReport.jsp (original)
+++ archiva/branches/MRM-1296/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/reports/auditLogReport.jsp Tue Dec 15 02:26:50 2009
@@ -80,30 +80,34 @@
 		<s:textfield label="Row Count" name="rowCount" />
 		
 	    <s:submit value="View Audit Log"/>
-    </div>
-  </s:form> 
+    </div>    
+   
+  </s:form>
   
-  <c:if test="${not empty (auditLogs)}">
+   <c:if test="${not empty (auditLogs)}">
 	  <table border="1">
-	    <tr>
-	      <th align="center">Event</th>
-	      <th align="center">Repository</th>
-	      <th align="center">Artifact</th>
-	      <th align="center">Event Date</th>
-	      <th align="center">Username</th>
-	    </tr>
+        <thead>
+	      <tr>
+	        <th align="center">Event</th>
+	        <th align="center">Repository</th>
+	        <th align="center">Artifact</th>
+	        <th align="center">Event Date</th>
+	        <th align="center">Username</th>
+	      </tr>
+	    </thead>
 	    <c:forEach items="${auditLogs}" var="auditLog" varStatus="i">
+	    <tbody>
 	      <tr>
 	        <td>${auditLog.event}</td>
 	        <td>${auditLog.repositoryId}</td>
-	          <td>${auditLog.artifact}</td>
-	          <td>${auditLog.eventDate}</td>
-	          <td>${auditLog.username}</td>
-	        </tr>
+	        <td>${auditLog.artifact}</td>
+	        <td>${auditLog.eventDate}</td>
+	        <td>${auditLog.username}</td>
+	      </tr>
+	    </tbody>
 	    </c:forEach>
 	  </table>   
-  </c:if>
-
+    </c:if> 
 </div>
 
 </body>