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/