Author: brett
Date: Sat Sep 9 08:19:42 2006
New Revision: 441795
URL: http://svn.apache.org/viewvc?view=rev&rev=441795
Log:
[MRM-167] add the execution times to the report
Modified:
maven/archiva/trunk/archiva-core/src/main/java/org/apache/maven/archiva/scheduler/task/IndexerTask.java
maven/archiva/trunk/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/DefaultReportingStore.java
maven/archiva/trunk/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/ReportingDatabase.java
maven/archiva/trunk/archiva-reports-standard/src/main/mdo/reporting.mdo
maven/archiva/trunk/archiva-webapp/src/main/webapp/WEB-INF/jsp/reports/reports.jsp
maven/archiva/trunk/design/white-site/src/site/xdoc/reports.xml
Modified:
maven/archiva/trunk/archiva-core/src/main/java/org/apache/maven/archiva/scheduler/task/IndexerTask.java
URL:
http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-core/src/main/java/org/apache/maven/archiva/scheduler/task/IndexerTask.java?view=diff&rev=441795&r1=441794&r2=441795
==============================================================================
---
maven/archiva/trunk/archiva-core/src/main/java/org/apache/maven/archiva/scheduler/task/IndexerTask.java
(original)
+++
maven/archiva/trunk/archiva-core/src/main/java/org/apache/maven/archiva/scheduler/task/IndexerTask.java
Sat Sep 9 08:19:42 2006
@@ -32,6 +32,7 @@
import org.apache.maven.archiva.indexer.record.IndexRecordExistsArtifactFilter;
import org.apache.maven.archiva.indexer.record.RepositoryIndexRecordFactory;
import org.apache.maven.archiva.reporting.ReportExecutor;
+import org.apache.maven.archiva.reporting.ReportingDatabase;
import org.apache.maven.archiva.reporting.ReportingMetadataFilter;
import org.apache.maven.archiva.reporting.ReportingStoreException;
import org.apache.maven.archiva.scheduler.TaskExecutionException;
@@ -153,6 +154,11 @@
boolean includeSnapshots =
repositoryConfiguration.isIncludeSnapshots();
ArtifactRepository repository =
repoFactory.createRepository( repositoryConfiguration );
+ ReportingDatabase reporter =
reportExecutor.getReportDatabase( repository );
+
+ // keep original value in case there is another process
under way
+ long origStartTime = reporter.getStartTime();
+ reporter.setStartTime( System.currentTimeMillis() );
// Discovery process
String layoutProperty =
repositoryConfiguration.getLayout();
@@ -196,8 +202,7 @@
}
}
- MetadataFilter metadataFilter =
- new ReportingMetadataFilter(
reportExecutor.getReportDatabase( repository ) );
+ MetadataFilter metadataFilter = new
ReportingMetadataFilter( reporter );
MetadataDiscoverer metadataDiscoverer =
(MetadataDiscoverer) metadataDiscoverers.get(
layoutProperty );
@@ -211,6 +216,8 @@
// run the reports
reportExecutor.runMetadataReports( metadata,
repository );
}
+
+ reporter.setStartTime( origStartTime );
}
}
}
Modified:
maven/archiva/trunk/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/DefaultReportingStore.java
URL:
http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/DefaultReportingStore.java?view=diff&rev=441795&r1=441794&r2=441795
==============================================================================
---
maven/archiva/trunk/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/DefaultReportingStore.java
(original)
+++
maven/archiva/trunk/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/DefaultReportingStore.java
Sat Sep 9 08:19:42 2006
@@ -99,6 +99,8 @@
public void storeReports( ReportingDatabase database, ArtifactRepository
repository )
throws ReportingStoreException
{
+ database.updateTimings();
+
ReportingXpp3Writer writer = new ReportingXpp3Writer();
File file = new File( repository.getBasedir(), "report-database.xml" );
@@ -120,5 +122,4 @@
IOUtil.close( fileWriter );
}
}
-
}
Modified:
maven/archiva/trunk/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/ReportingDatabase.java
URL:
http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/ReportingDatabase.java?view=diff&rev=441795&r1=441794&r2=441795
==============================================================================
---
maven/archiva/trunk/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/ReportingDatabase.java
(original)
+++
maven/archiva/trunk/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/ReportingDatabase.java
Sat Sep 9 08:19:42 2006
@@ -24,6 +24,7 @@
import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.artifact.repository.metadata.RepositoryMetadata;
+import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
@@ -47,6 +48,8 @@
private boolean inProgress;
+ private long startTime;
+
public ReportingDatabase()
{
this( new Reporting(), null );
@@ -78,6 +81,7 @@
ArtifactResults results = getArtifactResults( artifact );
results.addFailure( createResults( reason ) );
numFailures++;
+ updateTimings();
}
public void addWarning( Artifact artifact, String reason )
@@ -85,6 +89,7 @@
ArtifactResults results = getArtifactResults( artifact );
results.addWarning( createResults( reason ) );
numWarnings++;
+ updateTimings();
}
private ArtifactResults getArtifactResults( Artifact artifact )
@@ -145,6 +150,7 @@
MetadataResults results = getMetadataResults( metadata,
System.currentTimeMillis() );
results.addFailure( createResults( reason ) );
numFailures++;
+ updateTimings();
}
public void addWarning( RepositoryMetadata metadata, String reason )
@@ -152,6 +158,7 @@
MetadataResults results = getMetadataResults( metadata,
System.currentTimeMillis() );
results.addWarning( createResults( reason ) );
numWarnings++;
+ updateTimings();
}
private void initMetadataMap()
@@ -289,6 +296,11 @@
public void setInProgress( boolean inProgress )
{
this.inProgress = inProgress;
+
+ if ( inProgress )
+ {
+ startTime = System.currentTimeMillis();
+ }
}
public void clear()
@@ -302,5 +314,28 @@
reporting.getArtifacts().clear();
reporting.getMetadata().clear();
+
+ updateTimings();
+ }
+
+ public void setStartTime( long startTime )
+ {
+ this.startTime = startTime;
+ }
+
+ public long getStartTime()
+ {
+ return startTime;
+ }
+
+ public void updateTimings()
+ {
+ long startTime = getStartTime();
+ Date endTime = new Date();
+ if ( startTime > 0 )
+ {
+ getReporting().setExecutionTime( endTime.getTime() - startTime );
+ }
+ getReporting().setLastModified( endTime );
}
}
Modified:
maven/archiva/trunk/archiva-reports-standard/src/main/mdo/reporting.mdo
URL:
http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-reports-standard/src/main/mdo/reporting.mdo?view=diff&rev=441795&r1=441794&r2=441795
==============================================================================
--- maven/archiva/trunk/archiva-reports-standard/src/main/mdo/reporting.mdo
(original)
+++ maven/archiva/trunk/archiva-reports-standard/src/main/mdo/reporting.mdo Sat
Sep 9 08:19:42 2006
@@ -47,6 +47,16 @@
<multiplicity>*</multiplicity>
</association>
</field>
+ <field xml.attribute="true">
+ <name>lastModified</name>
+ <version>1.0.0</version>
+ <type>Date</type>
+ </field>
+ <field xml.attribute="true">
+ <name>executionTime</name>
+ <version>1.0.0</version>
+ <type>long</type>
+ </field>
</fields>
</class>
<class>
Modified:
maven/archiva/trunk/archiva-webapp/src/main/webapp/WEB-INF/jsp/reports/reports.jsp
URL:
http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-webapp/src/main/webapp/WEB-INF/jsp/reports/reports.jsp?view=diff&rev=441795&r1=441794&r2=441795
==============================================================================
---
maven/archiva/trunk/archiva-webapp/src/main/webapp/WEB-INF/jsp/reports/reports.jsp
(original)
+++
maven/archiva/trunk/archiva-webapp/src/main/webapp/WEB-INF/jsp/reports/reports.jsp
Sat Sep 9 08:19:42 2006
@@ -16,11 +16,13 @@
<%@ taglib prefix="ww" uri="/webwork" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
+<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<html>
<head>
- <title>Repository Health</title>
+ <%-- TODO! change the name --%>
+ <title>Report: Repository Health</title>
<ww:head/>
</head>
@@ -30,7 +32,7 @@
<div id="contentArea">
-<ww:actionerror/>
+<%-- TODO!: select report, repository and filter --%>
<ww:set name="databases" value="databases"/>
<c:forEach items="${databases}" var="database">
@@ -64,6 +66,13 @@
${database.numFailures}
<img src="<c:url value="/images/icon_warning_sml.gif"/>" width="15"
height="15" alt=""/>
${database.numWarnings}
+
+ <span style="font-size: x-small">
+ <%-- TODO! use better formatting here --%>
+ Last updated: ${database.reporting.lastModified},
+ execution time: <fmt:formatNumber maxFractionDigits="0"
value="${database.reporting.executionTime / 60000}"/> minutes
+ <fmt:formatNumber maxFractionDigits="0"
value="${(database.reporting.executionTime / 1000) % 60}"/> seconds
+ </span>
</p>
<%-- TODO need to protect iterations against concurrent modification
exceptions by cloning the lists synchronously --%>
Modified: maven/archiva/trunk/design/white-site/src/site/xdoc/reports.xml
URL:
http://svn.apache.org/viewvc/maven/archiva/trunk/design/white-site/src/site/xdoc/reports.xml?view=diff&rev=441795&r1=441794&r2=441795
==============================================================================
--- maven/archiva/trunk/design/white-site/src/site/xdoc/reports.xml (original)
+++ maven/archiva/trunk/design/white-site/src/site/xdoc/reports.xml Sat Sep 9
08:19:42 2006
@@ -51,10 +51,6 @@
</tr>
</table>
- <p>
- <span style="font-size: x-small">Report finished: 12 Jun 2006
10:11:12, execution time: 10 minutes 15 seconds
- </span>
- </p>
<div>
<div style="float: right">
<a href="#">Repair all</a>
@@ -69,6 +65,8 @@
2
<img src="images/icon_warning_sml.gif" width="15" height="15"
alt=""/>
1
+ <span style="font-size: x-small">Report finished: 12 Jun 2006
10:11:12, execution time: 10 minutes 15 seconds
+ </span>
</p>
<h3>Artifacts</h3>
@@ -136,6 +134,8 @@
2
<img src="images/icon_warning_sml.gif" width="15" height="15"
alt=""/>
0
+ <span style="font-size: x-small">Report finished: 12 Jun 2006
10:11:12, execution time: 10 minutes 15 seconds
+ </span>
</p>
<h3>Artifacts</h3>