]> source.dussan.org Git - archiva.git/commitdiff
Switching to layout interface
authorMartin Stockhammer <martin_s@apache.org>
Tue, 2 Jun 2020 14:33:20 +0000 (16:33 +0200)
committerMartin Stockhammer <martin_s@apache.org>
Tue, 2 Jun 2020 14:33:20 +0000 (16:33 +0200)
archiva-modules/archiva-base/archiva-repository-api/src/main/java/org/apache/archiva/repository/BaseRepositoryContentLayout.java
archiva-modules/archiva-base/archiva-repository-layer/src/test/java/org/apache/archiva/repository/mock/ManagedRepositoryContentMock.java
archiva-modules/archiva-base/archiva-repository-scanner/src/test/java/org/apache/archiva/repository/scanner/mock/ManagedRepositoryContentMock.java
archiva-modules/archiva-maven/archiva-maven-proxy/src/test/java/org/apache/archiva/repository/mock/ManagedRepositoryContentMock.java
archiva-modules/archiva-maven/archiva-maven-repository/src/main/java/org/apache/archiva/repository/maven/content/ManagedDefaultRepositoryContent.java
archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/archiva/webdav/ArchivaDavResourceFactory.java

index 20a9577ffa9dc47d6cf9e43007ae8965424c7462..bd1e2933cf32e43d90579dd616a4f6b3f54884fc 100644 (file)
@@ -386,23 +386,6 @@ public interface BaseRepositoryContentLayout extends ManagedRepositoryContentLay
      */
     String getRepoRoot();
 
-    /**
-     * Determines if the artifact referenced exists in the repository.
-     *
-     * @param reference the artifact reference to check for.
-     * @return true if the artifact referenced exists.
-     */
-    boolean hasContent( ArtifactReference reference ) throws ContentAccessException;
-
-    /**
-     * Determines if the version reference exists in the repository.
-     *
-     * @param reference the version reference to check for.
-     * @return true if the version referenced exists.
-     */
-    boolean hasContent( VersionedReference reference ) throws ContentAccessException;
-
-
 
     /**
      * Given an {@link ArtifactReference}, return the file reference to the artifact.
@@ -420,13 +403,5 @@ public interface BaseRepositoryContentLayout extends ManagedRepositoryContentLay
      */
     StorageAsset toFile( ArtifactReference reference );
 
-    /**
-     * Given an {@link ArchivaArtifact}, return the file reference to the artifact.
-     *
-     * @param reference the archiva artifact to use.
-     * @return the relative path to the artifact.
-     */
-    StorageAsset toFile( ArchivaArtifact reference );
-
 
 }
index 16c83a7af265b730b7c5c8dc1387b024f6cf8e92..ae32b0ee9d0609e13c7a2b2c59a263b628e231e9 100644 (file)
@@ -19,7 +19,6 @@ package org.apache.archiva.repository.mock;
  * under the License.
  */
 
-import org.apache.archiva.model.ArchivaArtifact;
 import org.apache.archiva.model.ArtifactReference;
 import org.apache.archiva.model.ProjectReference;
 import org.apache.archiva.model.VersionedReference;
@@ -375,18 +374,6 @@ public class ManagedRepositoryContentMock implements BaseRepositoryContentLayout
         return repository;
     }
 
-    @Override
-    public boolean hasContent( ArtifactReference reference ) throws ContentAccessException
-    {
-        return false;
-    }
-
-    @Override
-    public boolean hasContent( VersionedReference reference ) throws ContentAccessException
-    {
-        return false;
-    }
-
     @Override
     public void setRepository( ManagedRepository repo )
     {
@@ -411,12 +398,6 @@ public class ManagedRepositoryContentMock implements BaseRepositoryContentLayout
         return null;
     }
 
-    @Override
-    public StorageAsset toFile( ArchivaArtifact reference )
-    {
-        return null;
-    }
-
     @Override
     public String toPath( ArtifactReference reference )
     {
index ab42866bbfe6cac24c3ec304fdaf84e4a674aa93..604c70b21f9f7a04105dfc7491c9cb3995433fbf 100644 (file)
@@ -23,7 +23,6 @@ import org.apache.archiva.common.filelock.DefaultFileLockManager;
 import org.apache.archiva.common.utils.VersionUtil;
 import org.apache.archiva.metadata.model.ArtifactMetadata;
 import org.apache.archiva.metadata.maven.model.MavenArtifactFacet;
-import org.apache.archiva.model.ArchivaArtifact;
 import org.apache.archiva.model.ArtifactReference;
 import org.apache.archiva.model.ProjectReference;
 import org.apache.archiva.model.VersionedReference;
@@ -385,18 +384,6 @@ public class ManagedRepositoryContentMock implements BaseRepositoryContentLayout
         return repository;
     }
 
-    @Override
-    public boolean hasContent( ArtifactReference reference ) throws ContentAccessException
-    {
-        return false;
-    }
-
-    @Override
-    public boolean hasContent( VersionedReference reference ) throws ContentAccessException
-    {
-        return false;
-    }
-
     @Override
     public void setRepository( ManagedRepository repo )
     {
@@ -604,12 +591,6 @@ public class ManagedRepositoryContentMock implements BaseRepositoryContentLayout
         return getRepoRootAsset().resolve(refs.get(reference));
     }
 
-    @Override
-    public StorageAsset toFile( ArchivaArtifact reference )
-    {
-        return null;
-    }
-
     private String formatAsDirectory( String directory )
     {
         return directory.replace( GROUP_SEPARATOR, PATH_SEPARATOR );
index 623bf8c67a4ea1509d05f137863e7b90e0fbbd31..e49c913c75f3f3262bbf54c11d47dc43c06239f1 100644 (file)
@@ -23,7 +23,6 @@ import org.apache.archiva.common.filelock.DefaultFileLockManager;
 import org.apache.archiva.common.utils.VersionUtil;
 import org.apache.archiva.metadata.model.ArtifactMetadata;
 import org.apache.archiva.metadata.maven.model.MavenArtifactFacet;
-import org.apache.archiva.model.ArchivaArtifact;
 import org.apache.archiva.model.ArtifactReference;
 import org.apache.archiva.model.ProjectReference;
 import org.apache.archiva.model.VersionedReference;
@@ -397,18 +396,6 @@ public class ManagedRepositoryContentMock implements BaseRepositoryContentLayout
         return repository;
     }
 
-    @Override
-    public boolean hasContent( ArtifactReference reference ) throws ContentAccessException
-    {
-        return false;
-    }
-
-    @Override
-    public boolean hasContent( VersionedReference reference ) throws ContentAccessException
-    {
-        return false;
-    }
-
     @Override
     public void setRepository( ManagedRepository repo )
     {
@@ -616,12 +603,6 @@ public class ManagedRepositoryContentMock implements BaseRepositoryContentLayout
         return getRepoRootAsset().resolve( refs.get(reference));
     }
 
-    @Override
-    public StorageAsset toFile( ArchivaArtifact reference )
-    {
-        return null;
-    }
-
     private String formatAsDirectory( String directory )
     {
         return directory.replace( GROUP_SEPARATOR, PATH_SEPARATOR );
index 91657ce09a86a5b74549f78bd911790e0498007b..032c531d7ac36869c2790141225ce95fe15e4276 100644 (file)
@@ -20,11 +20,9 @@ package org.apache.archiva.repository.maven.content;
 
 import org.apache.archiva.common.filelock.FileLockManager;
 import org.apache.archiva.common.utils.FileUtils;
-import org.apache.archiva.common.utils.VersionUtil;
 import org.apache.archiva.configuration.FileTypes;
 import org.apache.archiva.metadata.maven.MavenMetadataReader;
 import org.apache.archiva.metadata.repository.storage.RepositoryPathTranslator;
-import org.apache.archiva.model.ArchivaArtifact;
 import org.apache.archiva.model.ArtifactReference;
 import org.apache.archiva.model.ProjectReference;
 import org.apache.archiva.model.VersionedReference;
@@ -1624,32 +1622,6 @@ public class ManagedDefaultRepositoryContent
         return repository;
     }
 
-    @Override
-    public boolean hasContent( ArtifactReference reference ) throws ContentAccessException
-    {
-        StorageAsset artifactFile = toFile( reference );
-        return artifactFile.exists( ) && !artifactFile.isContainer( );
-    }
-
-    @Override
-    public boolean hasContent( VersionedReference reference ) throws ContentAccessException
-    {
-        try
-        {
-            return ( getFirstArtifact( reference ) != null );
-        }
-        catch ( LayoutException | ContentNotFoundException e )
-        {
-            return false;
-        }
-        catch ( IOException e )
-        {
-            String path = toPath( reference );
-            log.error( "Could not read directory from repository {} - {}: ", getId( ), path, e.getMessage( ), e );
-            throw new ContentAccessException( "Could not read path from repository " + getId( ) + ": " + path, e );
-        }
-    }
-
     @Override
     public void setRepository( final ManagedRepository repo )
     {
@@ -1723,12 +1695,6 @@ public class ManagedDefaultRepositoryContent
         return repository.getAsset( toPath( reference ) );
     }
 
-    @Override
-    public StorageAsset toFile( ArchivaArtifact reference )
-    {
-        return repository.getAsset( toPath( reference ) );
-    }
-
     @Override
     public StorageAsset toFile( VersionedReference reference )
     {
index f1028633971b1044dd2923786a7c3ae682c6a6b8..fcc9c844b6d7e33438c403c8bba9ab62f9562140 100644 (file)
@@ -66,6 +66,8 @@ import org.apache.archiva.repository.ReleaseScheme;
 import org.apache.archiva.repository.RepositoryGroup;
 import org.apache.archiva.repository.RepositoryRegistry;
 import org.apache.archiva.repository.RepositoryRequestInfo;
+import org.apache.archiva.repository.content.Artifact;
+import org.apache.archiva.repository.content.ContentItem;
 import org.apache.archiva.repository.storage.fs.FilesystemStorage;
 import org.apache.archiva.repository.storage.StorageAsset;
 import org.apache.archiva.metadata.audit.AuditListener;
@@ -647,16 +649,17 @@ public class ArchivaDavResourceFactory
                 if ( managedRepositoryContent.getRepository().getActiveReleaseSchemes().contains( ReleaseScheme.RELEASE ) && !repositoryRequestInfo.isMetadata(
                     resourcePath ) && !repositoryRequestInfo.isSupportFile( resourcePath ) )
                 {
-                    ArtifactReference artifact = null;
+                    // ArtifactReference artifact = null;
+                    Artifact artifact = null;
                     try
                     {
                         BaseRepositoryContentLayout layout = managedRepositoryContent.getLayout( BaseRepositoryContentLayout.class );
-                        artifact = managedRepositoryContent.toArtifactReference( resourcePath );
-
-                        if ( !VersionUtil.isSnapshot( artifact.getVersion() ) )
+                        ContentItem artifactItem = managedRepositoryContent.toItem( resourcePath );
+                        artifact = layout.adaptItem( Artifact.class, artifactItem );
+                        if ( !VersionUtil.isSnapshot( artifact.getVersion().getVersion() ) )
                         {
                             // check if artifact already exists and if artifact re-deployment to the repository is allowed
-                            if ( layout.hasContent( artifact )
+                            if ( artifactItem.exists()
                                 && managedRepositoryContent.getRepository().blocksRedeployments())
                             {
                                 log.warn( "Overwriting released artifacts in repository '{}' is not allowed.",