mirror of https://github.com/apache/archiva.git
[MRM-166] select repository to show in reports page
git-svn-id: https://svn.apache.org/repos/asf/maven/archiva/trunk@441799 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
8630479fc6
commit
1a3026414e
|
@ -17,6 +17,7 @@ package org.apache.maven.archiva.web.action;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import com.opensymphony.xwork.ActionSupport;
|
import com.opensymphony.xwork.ActionSupport;
|
||||||
|
import com.opensymphony.xwork.Preparable;
|
||||||
import org.apache.maven.archiva.configuration.Configuration;
|
import org.apache.maven.archiva.configuration.Configuration;
|
||||||
import org.apache.maven.archiva.configuration.ConfigurationStore;
|
import org.apache.maven.archiva.configuration.ConfigurationStore;
|
||||||
import org.apache.maven.archiva.configuration.ConfiguredRepositoryFactory;
|
import org.apache.maven.archiva.configuration.ConfiguredRepositoryFactory;
|
||||||
|
@ -26,6 +27,7 @@ import org.apache.maven.archiva.discoverer.filter.SnapshotArtifactFilter;
|
||||||
import org.apache.maven.archiva.reporting.ReportExecutor;
|
import org.apache.maven.archiva.reporting.ReportExecutor;
|
||||||
import org.apache.maven.archiva.reporting.ReportingDatabase;
|
import org.apache.maven.archiva.reporting.ReportingDatabase;
|
||||||
import org.apache.maven.archiva.reporting.ReportingStore;
|
import org.apache.maven.archiva.reporting.ReportingStore;
|
||||||
|
import org.apache.maven.archiva.reporting.ReportingStoreException;
|
||||||
import org.apache.maven.artifact.repository.ArtifactRepository;
|
import org.apache.maven.artifact.repository.ArtifactRepository;
|
||||||
import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
|
import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
|
||||||
|
|
||||||
|
@ -40,6 +42,7 @@ import java.util.List;
|
||||||
*/
|
*/
|
||||||
public class ReportsAction
|
public class ReportsAction
|
||||||
extends ActionSupport
|
extends ActionSupport
|
||||||
|
implements Preparable
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* @plexus.requirement
|
* @plexus.requirement
|
||||||
|
@ -65,33 +68,45 @@ public class ReportsAction
|
||||||
*/
|
*/
|
||||||
private ReportExecutor executor;
|
private ReportExecutor executor;
|
||||||
|
|
||||||
|
private Configuration configuration;
|
||||||
|
|
||||||
public String execute()
|
public String execute()
|
||||||
throws Exception
|
throws Exception
|
||||||
{
|
{
|
||||||
databases = new ArrayList();
|
databases = new ArrayList();
|
||||||
|
|
||||||
Configuration configuration = configurationStore.getConfigurationFromStore();
|
if ( repositoryId != null && !repositoryId.equals( "-" ) )
|
||||||
|
|
||||||
for ( Iterator i = configuration.getRepositories().iterator(); i.hasNext(); )
|
|
||||||
{
|
{
|
||||||
RepositoryConfiguration repositoryConfiguration = (RepositoryConfiguration) i.next();
|
RepositoryConfiguration repositoryConfiguration = configuration.getRepositoryById( repositoryId );
|
||||||
|
getReport( repositoryConfiguration );
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
for ( Iterator i = configuration.getRepositories().iterator(); i.hasNext(); )
|
||||||
|
{
|
||||||
|
RepositoryConfiguration repositoryConfiguration = (RepositoryConfiguration) i.next();
|
||||||
|
|
||||||
ArtifactRepository repository = factory.createRepository( repositoryConfiguration );
|
getReport( repositoryConfiguration );
|
||||||
|
}
|
||||||
ReportingDatabase database = reportingStore.getReportsFromStore( repository );
|
|
||||||
|
|
||||||
databases.add( database );
|
|
||||||
}
|
}
|
||||||
return SUCCESS;
|
return SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void getReport( RepositoryConfiguration repositoryConfiguration )
|
||||||
|
throws ReportingStoreException
|
||||||
|
{
|
||||||
|
ArtifactRepository repository = factory.createRepository( repositoryConfiguration );
|
||||||
|
|
||||||
|
ReportingDatabase database = reportingStore.getReportsFromStore( repository );
|
||||||
|
|
||||||
|
databases.add( database );
|
||||||
|
}
|
||||||
|
|
||||||
public String runReport()
|
public String runReport()
|
||||||
throws Exception
|
throws Exception
|
||||||
{
|
{
|
||||||
// TODO: this should be one that runs in the background - see the showcase
|
// TODO: this should be one that runs in the background - see the showcase
|
||||||
|
|
||||||
Configuration configuration = configurationStore.getConfigurationFromStore();
|
|
||||||
|
|
||||||
RepositoryConfiguration repositoryConfiguration = configuration.getRepositoryById( repositoryId );
|
RepositoryConfiguration repositoryConfiguration = configuration.getRepositoryById( repositoryId );
|
||||||
ArtifactRepository repository = factory.createRepository( repositoryConfiguration );
|
ArtifactRepository repository = factory.createRepository( repositoryConfiguration );
|
||||||
|
|
||||||
|
@ -149,4 +164,15 @@ public class ReportsAction
|
||||||
{
|
{
|
||||||
return databases;
|
return databases;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void prepare()
|
||||||
|
throws Exception
|
||||||
|
{
|
||||||
|
configuration = configurationStore.getConfigurationFromStore();
|
||||||
|
}
|
||||||
|
|
||||||
|
public Configuration getConfiguration()
|
||||||
|
{
|
||||||
|
return configuration;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -32,7 +32,12 @@
|
||||||
|
|
||||||
<div id="contentArea">
|
<div id="contentArea">
|
||||||
|
|
||||||
<%-- TODO!: select report, repository and filter --%>
|
<%-- TODO!: select report, filter --%>
|
||||||
|
<ww:form action="reports" namespace="/admin">
|
||||||
|
<ww:select list="configuration.repositories" listKey="id" listValue="name" label="Repository" headerKey="-"
|
||||||
|
headerValue="(All repositories)" name="repositoryId"/>
|
||||||
|
<ww:submit value="Get Report"/>
|
||||||
|
</ww:form>
|
||||||
|
|
||||||
<ww:set name="databases" value="databases"/>
|
<ww:set name="databases" value="databases"/>
|
||||||
<c:forEach items="${databases}" var="database">
|
<c:forEach items="${databases}" var="database">
|
||||||
|
|
Loading…
Reference in New Issue