]> source.dussan.org Git - archiva.git/commitdiff
Switching pathparser to new API
authorMartin Stockhammer <martin_s@apache.org>
Thu, 11 Jun 2020 14:50:11 +0000 (16:50 +0200)
committerMartin Stockhammer <martin_s@apache.org>
Thu, 11 Jun 2020 14:50:11 +0000 (16:50 +0200)
archiva-modules/archiva-base/archiva-repository-api/src/main/java/org/apache/archiva/repository/content/PathParser.java
archiva-modules/archiva-maven/archiva-maven-repository/src/main/java/org/apache/archiva/repository/maven/content/DefaultPathParser.java
archiva-modules/archiva-maven/archiva-maven-repository/src/main/java/org/apache/archiva/repository/maven/metadata/storage/Maven2RepositoryStorage.java
archiva-modules/archiva-web/archiva-security/src/test/java/org/apache/archiva/security/mock/MockBeanServices.java
archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/storage/RepositoryPathTranslator.java
archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/storage/RepositoryStorage.java
archiva-modules/plugins/metadata-store-cassandra/src/test/java/org/apache/archiva/metadata/repository/cassandra/MockRepositoryStorage.java

index f72ca2b72c35337b2f5bb2c12a52ec2921560ea1..28f1018c112c786cded82d6436adb1e19cda87ef 100644 (file)
@@ -28,16 +28,6 @@ import org.apache.archiva.repository.LayoutException;
 public interface PathParser
 {
 
-    /**
-     * Take a path and get the ArtifactReference associated with it.
-     *
-     * @param path the relative path to parse.
-     * @return the ArtifactReference for the provided path. (never null)
-     * @throws LayoutException if there was a problem parsing the path.
-     */
-    ArtifactReference toArtifactReference( String path )
-        throws LayoutException;
-
 
     /**
      * Return a item selector for the given path.
index f37910744f4c339481f3b275ad963b9e206c8fc8..3418e0cc2de9e5620ae8ef5ea49376a69d3f4560 100644 (file)
@@ -24,7 +24,6 @@ import org.apache.archiva.metadata.repository.storage.RepositoryPathTranslator;
 import org.apache.archiva.repository.maven.metadata.storage.ArtifactMappingProvider;
 import org.apache.archiva.repository.maven.metadata.storage.DefaultArtifactMappingProvider;
 import org.apache.archiva.repository.maven.metadata.storage.Maven2RepositoryPathTranslator;
-import org.apache.archiva.model.ArtifactReference;
 import org.apache.archiva.repository.LayoutException;
 import org.apache.archiva.repository.content.ItemSelector;
 import org.apache.archiva.repository.content.PathParser;
@@ -51,45 +50,6 @@ public class DefaultPathParser
     private RepositoryPathTranslator pathTranslator = new Maven2RepositoryPathTranslator(
         Collections.<ArtifactMappingProvider>singletonList( new DefaultArtifactMappingProvider() ) );
 
-    /**
-     * {@inheritDoc}
-     *
-     * @see org.apache.archiva.repository.content.PathParser#toArtifactReference(String)
-     */
-    @Override
-    public ArtifactReference toArtifactReference( String path )
-        throws LayoutException
-    {
-        if ( StringUtils.isBlank( path ) )
-        {
-            throw new LayoutException( "Unable to convert blank path." );
-        }
-
-        ArtifactMetadata metadata;
-        try
-        {
-            metadata = pathTranslator.getArtifactForPath( null, path );
-        }
-        catch ( IllegalArgumentException e )
-        {
-            throw new LayoutException( e.getMessage(), e );
-        }
-
-        ArtifactReference artifact = new ArtifactReference();
-        artifact.setGroupId( metadata.getNamespace() );
-        artifact.setArtifactId( metadata.getProject() );
-        artifact.setVersion( metadata.getVersion() );
-        artifact.setProjectVersion( metadata.getProjectVersion( ) );
-        MavenArtifactFacet facet = (MavenArtifactFacet) metadata.getFacet( MavenArtifactFacet.FACET_ID );
-        if ( facet != null )
-        {
-            artifact.setClassifier( facet.getClassifier() );
-            artifact.setType( facet.getType() );
-        }
-
-        return artifact;
-    }
-
     @Override
     public ItemSelector toItemSelector( String path ) throws LayoutException
     {
index 8c4023dc514616b84bc4313fd5a833812540fee9..70c967dd8ca17a71bfedc8a41c9f79eb2c71b2b3 100644 (file)
@@ -30,7 +30,6 @@ import org.apache.archiva.metadata.model.ProjectVersionMetadata;
 import org.apache.archiva.metadata.model.facets.RepositoryProblemFacet;
 import org.apache.archiva.metadata.repository.storage.*;
 import org.apache.archiva.model.ArchivaRepositoryMetadata;
-import org.apache.archiva.model.ArtifactReference;
 import org.apache.archiva.model.SnapshotVersion;
 import org.apache.archiva.policies.ProxyDownloadException;
 import org.apache.archiva.proxy.ProxyRegistry;
@@ -564,87 +563,6 @@ public class Maven2RepositoryStorage
         return metadata;
     }
 
-    @Override
-    public void applyServerSideRelocation(ManagedRepository managedRepository, ArtifactReference artifact)
-            throws ProxyDownloadException {
-        if ("pom".equals(artifact.getType())) {
-            return;
-        }
-
-        // Build the artifact POM reference
-        ArtifactReference pomReference = new ArtifactReference();
-        pomReference.setGroupId(artifact.getGroupId());
-        pomReference.setArtifactId(artifact.getArtifactId());
-        pomReference.setVersion(artifact.getVersion());
-        pomReference.setProjectVersion( artifact.getProjectVersion() );
-        pomReference.setType("pom");
-        BaseRepositoryContentLayout layout;
-        try
-        {
-            layout = managedRepository.getContent( ).getLayout( BaseRepositoryContentLayout.class );
-        }
-        catch ( LayoutException e )
-        {
-            throw new ProxyDownloadException( "Could not set layout " + e.getMessage( ), new HashMap<>(  ) );
-        }
-
-        RepositoryType repositoryType = managedRepository.getType();
-        if (!proxyRegistry.hasHandler(repositoryType)) {
-            throw new ProxyDownloadException("No proxy handler found for repository type " + repositoryType, new HashMap<>());
-        }
-
-        ItemSelector selector = ArchivaItemSelector.builder( )
-            .withNamespace( artifact.getGroupId( ) )
-            .withProjectId( artifact.getArtifactId( ) )
-            .withArtifactId( artifact.getArtifactId( ) )
-            .withVersion( artifact.getVersion( ) )
-            .withArtifactVersion( artifact.getVersion( ) )
-            .withType( "pom" ).build( );
-
-        Artifact pom = layout.getArtifact( selector );
-
-        RepositoryProxyHandler proxyHandler = proxyRegistry.getHandler(repositoryType).get(0);
-
-        // Get the artifact POM from proxied repositories if needed
-        proxyHandler.fetchFromProxies(managedRepository, pomReference);
-
-        // Open and read the POM from the managed repo
-
-        if (!pom.exists()) {
-            return;
-        }
-
-        try {
-            // MavenXpp3Reader leaves the file open, so we need to close it ourselves.
-
-            Model model;
-            try (Reader reader = Channels.newReader(pom.getAsset().getReadChannel(), Charset.defaultCharset().name())) {
-                model = MAVEN_XPP_3_READER.read(reader);
-            }
-
-            DistributionManagement dist = model.getDistributionManagement();
-            if (dist != null) {
-                Relocation relocation = dist.getRelocation();
-                if (relocation != null) {
-                    // artifact is relocated : update the repositoryPath
-                    if (relocation.getGroupId() != null) {
-                        artifact.setGroupId(relocation.getGroupId());
-                    }
-                    if (relocation.getArtifactId() != null) {
-                        artifact.setArtifactId(relocation.getArtifactId());
-                    }
-                    if (relocation.getVersion() != null) {
-                        artifact.setVersion(relocation.getVersion());
-                    }
-                }
-            }
-        } catch (IOException e) {
-            // Unable to read POM : ignore.
-        } catch (XmlPullParserException e) {
-            // Invalid POM : ignore
-        }
-    }
-
     @Override
     public ItemSelector applyServerSideRelocation(ManagedRepository managedRepository, ItemSelector artifactSelector)
         throws ProxyDownloadException {
index edb686bff1cc89e989875816dbaa5137162df2b9..b2d445e069d4796164ec1494a83b8958ff67cc3b 100644 (file)
@@ -25,7 +25,6 @@ import org.apache.archiva.metadata.repository.MetadataRepository;
 import org.apache.archiva.metadata.repository.RepositorySession;
 import org.apache.archiva.filter.Filter;
 import org.apache.archiva.metadata.repository.storage.*;
-import org.apache.archiva.model.ArtifactReference;
 import org.apache.archiva.policies.ProxyDownloadException;
 import org.apache.archiva.components.taskqueue.TaskQueueException;
 import org.apache.archiva.repository.ManagedRepositoryContent;
@@ -102,13 +101,6 @@ public class MockBeanServices
         return null;
     }
 
-    @Override
-    public void applyServerSideRelocation( ManagedRepository managedRepository, ArtifactReference artifact )
-        throws ProxyDownloadException
-    {
-
-    }
-
     @Override
     public ItemSelector applyServerSideRelocation( ManagedRepository managedRepository, ItemSelector selector ) throws ProxyDownloadException
     {
index 6b135fda2ae4c67a9f958d09118ad20646330ec3..1d84a82ddce832c082e6375b4f225e287be2b534 100644 (file)
@@ -42,7 +42,6 @@ public interface RepositoryPathTranslator
 
     StorageAsset toFile( StorageAsset basedir, String namespace, String projectId, String projectVersion );
 
-
     ArtifactMetadata getArtifactForPath( String repoId, String relativePath );
 
     ArtifactMetadata getArtifactFromId( String repoId, String namespace, String projectId, String projectVersion,
index e563115063d229be8a857497da89114156815855..44a4fa7642580e49b372a7df76cffb46d7b14e53 100644 (file)
@@ -60,20 +60,6 @@ public interface RepositoryStorage
     // FIXME: reconsider this API, do we want to expose storage format in the form of a path?
     ArtifactMetadata readArtifactMetadataFromPath( String repoId, String path )
         throws RepositoryStorageRuntimeException;
-    
-    /**
-     * A relocation capable client will request the POM prior to the artifact, and will then read meta-data and do
-     * client side relocation. A simplier client (like maven 1) will only request the artifact and not use the
-     * metadatas.
-     * <p>
-     * For such clients, archiva does server-side relocation by reading itself the &lt;relocation&gt; element in
-     * metadatas and serving the expected artifact.
-     * @param managedRepository the used managed repository
-     * @param artifact the artifact reference
-     * @throws org.apache.archiva.policies.ProxyDownloadException
-     */    
-    void applyServerSideRelocation( ManagedRepository managedRepository, ArtifactReference artifact )
-        throws ProxyDownloadException;
 
     /**
      * A relocation capable client will request the POM prior to the artifact, and will then read meta-data and do
@@ -83,7 +69,7 @@ public interface RepositoryStorage
      * For such clients, archiva does server-side relocation by reading itself the &lt;relocation&gt; element in
      * metadatas and serving the expected artifact.
      * @param managedRepository the used managed repository
-     * @param artifact the artifact reference
+     * @param selector the artifact reference
      * @throws org.apache.archiva.policies.ProxyDownloadException
      */
     ItemSelector applyServerSideRelocation( ManagedRepository managedRepository, ItemSelector selector )
index d320ecbb4d08eb43fb2893723d504c668d6615df..5c82f6ee5b99b54202e4a2a508be627afefc036a 100644 (file)
@@ -32,7 +32,6 @@ import org.apache.archiva.metadata.repository.storage.RepositoryStorageMetadataE
 import org.apache.archiva.metadata.repository.storage.RepositoryStorageMetadataInvalidException;
 import org.apache.archiva.metadata.repository.storage.RepositoryStorageMetadataNotFoundException;
 import org.apache.archiva.metadata.repository.storage.RepositoryStorageRuntimeException;
-import org.apache.archiva.model.ArtifactReference;
 import org.apache.archiva.policies.ProxyDownloadException;
 import org.apache.archiva.repository.ManagedRepositoryContent;
 import org.apache.archiva.repository.ManagedRepository;
@@ -106,13 +105,6 @@ public class MockRepositoryStorage
         return null;
     }
 
-    @Override
-    public void applyServerSideRelocation( ManagedRepository managedRepository, ArtifactReference artifact )
-        throws ProxyDownloadException
-    {
-
-    }
-
     @Override
     public ItemSelector applyServerSideRelocation( ManagedRepository managedRepository, ItemSelector selector ) throws ProxyDownloadException
     {