You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by jo...@apache.org on 2007/10/17 19:23:05 UTC
svn commit: r585583 - in
/maven/archiva/trunk/archiva-reporting/archiva-artifact-reports/src/main/java/org/apache/maven/archiva/reporting/artifact:
DuplicateArtifactsConsumer.java LocationArtifactsConsumer.java
Author: joakime
Date: Wed Oct 17 10:23:04 2007
New Revision: 585583
URL: http://svn.apache.org/viewvc?rev=585583&view=rev
Log:
Upgrading bidirlayout usage to RepoContent usage to eliminate bugs around missing content from bad layout routines.
Modified:
maven/archiva/trunk/archiva-reporting/archiva-artifact-reports/src/main/java/org/apache/maven/archiva/reporting/artifact/DuplicateArtifactsConsumer.java
maven/archiva/trunk/archiva-reporting/archiva-artifact-reports/src/main/java/org/apache/maven/archiva/reporting/artifact/LocationArtifactsConsumer.java
Modified: maven/archiva/trunk/archiva-reporting/archiva-artifact-reports/src/main/java/org/apache/maven/archiva/reporting/artifact/DuplicateArtifactsConsumer.java
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-reporting/archiva-artifact-reports/src/main/java/org/apache/maven/archiva/reporting/artifact/DuplicateArtifactsConsumer.java?rev=585583&r1=585582&r2=585583&view=diff
==============================================================================
--- maven/archiva/trunk/archiva-reporting/archiva-artifact-reports/src/main/java/org/apache/maven/archiva/reporting/artifact/DuplicateArtifactsConsumer.java (original)
+++ maven/archiva/trunk/archiva-reporting/archiva-artifact-reports/src/main/java/org/apache/maven/archiva/reporting/artifact/DuplicateArtifactsConsumer.java Wed Oct 17 10:23:04 2007
@@ -32,16 +32,15 @@
import org.apache.maven.archiva.database.constraints.ArtifactsByChecksumConstraint;
import org.apache.maven.archiva.model.ArchivaArtifact;
import org.apache.maven.archiva.model.RepositoryProblem;
-import org.apache.maven.archiva.repository.layout.BidirectionalRepositoryLayout;
-import org.apache.maven.archiva.repository.layout.BidirectionalRepositoryLayoutFactory;
-import org.apache.maven.archiva.repository.layout.LayoutException;
+import org.apache.maven.archiva.repository.ManagedRepositoryContent;
+import org.apache.maven.archiva.repository.RepositoryContentFactory;
+import org.apache.maven.archiva.repository.RepositoryException;
import org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable;
import org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationException;
import org.codehaus.plexus.registry.Registry;
import org.codehaus.plexus.registry.RegistryListener;
import java.util.ArrayList;
-import java.util.Iterator;
import java.util.List;
/**
@@ -85,9 +84,9 @@
/**
* @plexus.requirement
*/
- private BidirectionalRepositoryLayoutFactory layoutFactory;
+ private RepositoryContentFactory repositoryFactory;
- private List includes = new ArrayList();
+ private List<String> includes = new ArrayList<String>();
public String getId()
{
@@ -114,7 +113,7 @@
/* do nothing */
}
- public List getIncludedTypes()
+ public List<String> getIncludedTypes()
{
return null;
}
@@ -124,7 +123,7 @@
{
String checksumSha1 = artifact.getModel().getChecksumSHA1();
- List results = null;
+ List<ArchivaArtifact> results = null;
try
{
results = dao.getArtifactDAO().queryArtifacts( new ArtifactsByChecksumConstraint(
@@ -150,11 +149,8 @@
return;
}
- Iterator it = results.iterator();
- while ( it.hasNext() )
+ for ( ArchivaArtifact dupArtifact : results )
{
- ArchivaArtifact dupArtifact = (ArchivaArtifact) it.next();
-
if ( dupArtifact.equals( artifact ) )
{
// Skip reference to itself.
@@ -190,10 +186,11 @@
{
try
{
- BidirectionalRepositoryLayout layout = layoutFactory.getLayout( artifact );
- return layout.toPath( artifact );
+ String repoId = artifact.getModel().getRepositoryId();
+ ManagedRepositoryContent repo = repositoryFactory.getManagedRepositoryContent( repoId );
+ return repo.toPath( artifact );
}
- catch ( LayoutException e )
+ catch ( RepositoryException e )
{
getLogger().warn( "Unable to calculate path for artifact: " + artifact );
return "";
Modified: maven/archiva/trunk/archiva-reporting/archiva-artifact-reports/src/main/java/org/apache/maven/archiva/reporting/artifact/LocationArtifactsConsumer.java
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-reporting/archiva-artifact-reports/src/main/java/org/apache/maven/archiva/reporting/artifact/LocationArtifactsConsumer.java?rev=585583&r1=585582&r2=585583&view=diff
==============================================================================
--- maven/archiva/trunk/archiva-reporting/archiva-artifact-reports/src/main/java/org/apache/maven/archiva/reporting/artifact/LocationArtifactsConsumer.java (original)
+++ maven/archiva/trunk/archiva-reporting/archiva-artifact-reports/src/main/java/org/apache/maven/archiva/reporting/artifact/LocationArtifactsConsumer.java Wed Oct 17 10:23:04 2007
@@ -32,9 +32,9 @@
import org.apache.maven.archiva.model.ArchivaArtifact;
import org.apache.maven.archiva.model.ArchivaProjectModel;
import org.apache.maven.archiva.model.RepositoryProblem;
-import org.apache.maven.archiva.repository.layout.BidirectionalRepositoryLayout;
-import org.apache.maven.archiva.repository.layout.BidirectionalRepositoryLayoutFactory;
-import org.apache.maven.archiva.repository.layout.LayoutException;
+import org.apache.maven.archiva.repository.ManagedRepositoryContent;
+import org.apache.maven.archiva.repository.RepositoryContentFactory;
+import org.apache.maven.archiva.repository.RepositoryException;
import org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable;
import org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationException;
import org.codehaus.plexus.registry.Registry;
@@ -93,11 +93,11 @@
/**
* @plexus.requirement
*/
- private BidirectionalRepositoryLayoutFactory layoutFactory;
+ private RepositoryContentFactory repositoryFactory;
private Map repositoryMap = new HashMap();
- private List includes = new ArrayList();
+ private List<String> includes = new ArrayList<String>();
public String getId()
{
@@ -219,14 +219,14 @@
return null;
}
- private List findJarEntryPattern( JarFile jar, String pattern )
+ private List<JarEntry> findJarEntryPattern( JarFile jar, String pattern )
{
- List hits = new ArrayList();
+ List<JarEntry> hits = new ArrayList<JarEntry>();
- Enumeration entries = jar.entries();
+ Enumeration<JarEntry> entries = jar.entries();
while ( entries.hasMoreElements() )
{
- JarEntry entry = (JarEntry) entries.nextElement();
+ JarEntry entry = entries.nextElement();
if ( SelectorUtils.match( pattern, entry.getName() ) )
{
hits.add( entry );
@@ -294,13 +294,14 @@
{
try
{
- BidirectionalRepositoryLayout layout = layoutFactory.getLayout( artifact );
- return layout.toPath( artifact );
+ String repoId = artifact.getModel().getRepositoryId();
+ ManagedRepositoryContent repo = repositoryFactory.getManagedRepositoryContent( repoId );
+ return repo.toPath( artifact );
}
- catch ( LayoutException e )
+ catch ( RepositoryException e )
{
getLogger().warn( "Unable to calculate path for artifact: " + artifact );
- return null;
+ return "";
}
}
Re: svn commit: r585583 - in /maven/archiva/trunk/archiva-reporting/archiva-artifact-reports/src/main/java/org/apache/maven/archiva/reporting/artifact:
DuplicateArtifactsConsumer.java LocationArtifactsConsumer.java
Posted by Joakim Erdfelt <jo...@erdfelt.com>.
Good catch.
That is minor problem, and contained entirely within the reporting
consumers with this change.
I'll fix that toot-sweet.
- Joakim
Brett Porter wrote:
>
> On 18/10/2007, at 3:23 AM, joakime@apache.org wrote:
>
>> @@ -294,13 +294,14 @@
>> {
>> try
>> {
>> - BidirectionalRepositoryLayout layout =
>> layoutFactory.getLayout( artifact );
>> - return layout.toPath( artifact );
>> + String repoId = artifact.getModel().getRepositoryId();
>> + ManagedRepositoryContent repo =
>> repositoryFactory.getManagedRepositoryContent( repoId );
>> + return repo.toPath( artifact );
>> }
>> - catch ( LayoutException e )
>> + catch ( RepositoryException e )
>> {
>> getLogger().warn( "Unable to calculate path for
>> artifact: " + artifact );
>> - return null;
>> + return "";
>> }
>
> Is that really an appropriate response to a request for a path, or
> will this expect the caller to do some error handling on the empty
> string?
>
> Also - the commit seems to be spread out across multiple revisions
> again - what tooling are you using?
>
> - Brett
>
> --
> Brett Porter - brett@apache.org
> Blog: http://www.devzuz.org/blogs/bporter/
>
--
- Joakim Erdfelt
joakim@erdfelt.com
Open Source Software (OSS) Developer
Re: svn commit: r585583 - in /maven/archiva/trunk/archiva-reporting/archiva-artifact-reports/src/main/java/org/apache/maven/archiva/reporting/artifact: DuplicateArtifactsConsumer.java LocationArtifactsConsumer.java
Posted by Brett Porter <br...@apache.org>.
On 18/10/2007, at 3:23 AM, joakime@apache.org wrote:
> @@ -294,13 +294,14 @@
> {
> try
> {
> - BidirectionalRepositoryLayout layout =
> layoutFactory.getLayout( artifact );
> - return layout.toPath( artifact );
> + String repoId = artifact.getModel().getRepositoryId();
> + ManagedRepositoryContent repo =
> repositoryFactory.getManagedRepositoryContent( repoId );
> + return repo.toPath( artifact );
> }
> - catch ( LayoutException e )
> + catch ( RepositoryException e )
> {
> getLogger().warn( "Unable to calculate path for
> artifact: " + artifact );
> - return null;
> + return "";
> }
Is that really an appropriate response to a request for a path, or
will this expect the caller to do some error handling on the empty
string?
Also - the commit seems to be spread out across multiple revisions
again - what tooling are you using?
- Brett
--
Brett Porter - brett@apache.org
Blog: http://www.devzuz.org/blogs/bporter/