]> source.dussan.org Git - archiva.git/commitdiff
[MRM-1025] remove some consumers that don't actually do anything
authorBrett Porter <brett@apache.org>
Tue, 1 Dec 2009 00:58:28 +0000 (00:58 +0000)
committerBrett Porter <brett@apache.org>
Tue, 1 Dec 2009 00:58:28 +0000 (00:58 +0000)
git-svn-id: https://svn.apache.org/repos/asf/archiva/branches/MRM-1025@885638 13f79535-47bb-0310-9956-ffa450edef68

archiva-cli/src/main/java/org/apache/maven/archiva/cli/ProjectReaderConsumer.java [deleted file]
archiva-modules/archiva-reporting/archiva-artifact-reports/src/main/java/org/apache/maven/archiva/reporting/artifact/LocationArtifactsConsumer.java [deleted file]
archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/src/test/java/org/apache/archiva/web/xmlrpc/services/SearchServiceImplTest.java

diff --git a/archiva-cli/src/main/java/org/apache/maven/archiva/cli/ProjectReaderConsumer.java b/archiva-cli/src/main/java/org/apache/maven/archiva/cli/ProjectReaderConsumer.java
deleted file mode 100644 (file)
index be19a1a..0000000
+++ /dev/null
@@ -1,126 +0,0 @@
-package org.apache.maven.archiva.cli;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-
-import org.apache.maven.archiva.configuration.ManagedRepositoryConfiguration;
-import org.apache.maven.archiva.consumers.ConsumerException;
-import org.apache.maven.archiva.consumers.KnownRepositoryContentConsumer;
-import org.apache.maven.archiva.model.ArchivaProjectModel;
-import org.apache.maven.archiva.repository.project.ProjectModelReader;
-import org.apache.maven.archiva.repository.project.readers.ProjectModel400Reader;
-import org.apache.maven.archiva.xml.XMLException;
-
-/**
- * ProjectReaderConsumer 
- *
- * @version $Id$
- * 
- * @plexus.component role="org.apache.maven.archiva.consumers.KnownRepositoryContentConsumer"
- *                   role-hint="read-poms"
- *                   instantiation-strategy="per-lookup"
- */
-public class ProjectReaderConsumer
-    extends AbstractProgressConsumer
-    implements KnownRepositoryContentConsumer
-{
-    /**
-     * @plexus.configuration default-value="read-poms"
-     */
-    private String id;
-
-    /**
-     * @plexus.configuration default-value="Read POMs and report anomolies."
-     */
-    private String description;
-
-    private ProjectModelReader reader;
-
-    private ManagedRepositoryConfiguration repo;
-
-    private List<String> includes;
-
-    public ProjectReaderConsumer()
-    {
-        reader = new ProjectModel400Reader();
-
-        includes = new ArrayList<String>();
-        includes.add( "**/*.pom" );
-    }
-
-    public String getDescription()
-    {
-        return description;
-    }
-
-    public String getId()
-    {
-        return id;
-    }
-
-    public boolean isPermanent()
-    {
-        return false;
-    }
-
-    public List<String> getExcludes()
-    {
-        return null;
-    }
-
-    public List<String> getIncludes()
-    {
-        return includes;
-    }
-
-    @Override
-    public void beginScan( ManagedRepositoryConfiguration repository, Date whenGathered )
-        throws ConsumerException
-    {
-        super.beginScan( repository, whenGathered );
-        this.repo = repository;
-    }
-
-    @Override
-    public void processFile( String path )
-        throws ConsumerException
-    {
-        super.processFile( path );
-
-        File pomFile = new File( repo.getLocation(), path );
-        try
-        {
-            ArchivaProjectModel model = reader.read( pomFile );
-            if ( model == null )
-            {
-                System.err.println( "Got null model on " + pomFile );
-            }
-        }
-        catch ( XMLException e )
-        {
-            System.err.println( "Unable to process: " + pomFile );
-            e.printStackTrace( System.out );
-        }
-    }
-}
diff --git a/archiva-modules/archiva-reporting/archiva-artifact-reports/src/main/java/org/apache/maven/archiva/reporting/artifact/LocationArtifactsConsumer.java b/archiva-modules/archiva-reporting/archiva-artifact-reports/src/main/java/org/apache/maven/archiva/reporting/artifact/LocationArtifactsConsumer.java
deleted file mode 100644 (file)
index 2929abe..0000000
+++ /dev/null
@@ -1,361 +0,0 @@
-package org.apache.maven.archiva.reporting.artifact;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.File;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.jar.JarEntry;
-import java.util.jar.JarFile;
-
-import org.apache.commons.lang.StringUtils;
-import org.apache.maven.archiva.configuration.ArchivaConfiguration;
-import org.apache.maven.archiva.configuration.ConfigurationNames;
-import org.apache.maven.archiva.configuration.FileTypes;
-import org.apache.maven.archiva.configuration.ManagedRepositoryConfiguration;
-import org.apache.maven.archiva.consumers.AbstractMonitoredConsumer;
-import org.apache.maven.archiva.consumers.ConsumerException;
-import org.apache.maven.archiva.database.ArchivaDAO;
-import org.apache.maven.archiva.database.ArchivaDatabaseException;
-import org.apache.maven.archiva.database.updater.ArchivaArtifactConsumer;
-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.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 org.codehaus.plexus.util.SelectorUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * Validate the location of the artifact based on the values indicated
- * in its pom (both the pom packaged with the artifact & the pom in the
- * file system).
- *
- * @version $Id$
- * @plexus.component role="org.apache.maven.archiva.database.updater.ArchivaArtifactConsumer"
- * role-hint="validate-artifacts-location"
- */
-public class LocationArtifactsConsumer
-    extends AbstractMonitoredConsumer
-    implements ArchivaArtifactConsumer, RegistryListener, Initializable
-{
-    private Logger log = LoggerFactory.getLogger( LocationArtifactsConsumer.class );
-    
-    /**
-     * @plexus.configuration default-value="duplicate-artifacts"
-     */
-    private String id;
-
-    /**
-     * @plexus.configuration default-value="Check for Duplicate Artifacts via SHA1 Checksums"
-     */
-    private String description;
-
-    /**
-     * @plexus.requirement
-     */
-    private ArchivaConfiguration configuration;
-
-    /**
-     * @plexus.requirement
-     */
-    private FileTypes filetypes;
-
-    /**
-     * @plexus.requirement role-hint="jdo"
-     */
-    private ArchivaDAO dao;
-
-    /**
-     * @plexus.requirement
-     */
-    private RepositoryContentFactory repositoryFactory;
-
-    private Map<String, ManagedRepositoryConfiguration> repositoryMap =
-        new HashMap<String, ManagedRepositoryConfiguration>();
-
-    // TODO: why is this not used? If it should be, what about excludes?
-    private List<String> includes = new ArrayList<String>();
-
-    public String getId()
-    {
-        return id;
-    }
-
-    public String getDescription()
-    {
-        return description;
-    }
-
-    public boolean isPermanent()
-    {
-        return false;
-    }
-
-    public void beginScan()
-    {
-        /* do nothing */
-    }
-
-    public void completeScan()
-    {
-        /* do nothing */
-    }
-
-    public List<String> getIncludedTypes()
-    {
-        return null;
-    }
-
-    /**
-     * Check whether the artifact is in its proper location. The location of the artifact
-     * is validated first against the groupId, artifactId and versionId in the specified model
-     * object (pom in the file system). Then unpack the artifact (jar file) and get the model (pom)
-     * included in the package. If a model exists inside the package, then check if the artifact's
-     * location is valid based on the location specified in the pom. Check if the both the location
-     * specified in the file system pom and in the pom included in the package is the same.
-     */
-    public void processArchivaArtifact( ArchivaArtifact artifact )
-        throws ConsumerException
-    {
-        ManagedRepositoryConfiguration repository = findRepository( artifact );
-
-        File artifactFile = new File( repository.getLocation(), toPath( artifact ) );
-        ArchivaProjectModel fsModel = readFilesystemModel( artifactFile );
-        ArchivaProjectModel embeddedModel = readEmbeddedModel( artifact, artifactFile );
-
-        validateAppropriateModel( "Filesystem", artifact, fsModel );
-        validateAppropriateModel( "Embedded", artifact, embeddedModel );
-    }
-
-    private void validateAppropriateModel( String location, ArchivaArtifact artifact, ArchivaProjectModel model )
-        throws ConsumerException
-    {
-        if ( model != null )
-        {
-            if ( !StringUtils.equals( model.getGroupId(), artifact.getGroupId() ) )
-            {
-                addProblem( artifact, "The groupId of the " + location +
-                    " project model doesn't match with the artifact, expected <" + artifact.getGroupId() +
-                    ">, but was actually <" + model.getGroupId() + ">" );
-            }
-
-            if ( !StringUtils.equals( model.getArtifactId(), artifact.getArtifactId() ) )
-            {
-                addProblem( artifact, "The artifactId of the " + location +
-                    " project model doesn't match with the artifact, expected <" + artifact.getArtifactId() +
-                    ">, but was actually <" + model.getArtifactId() + ">" );
-            }
-
-            if ( !StringUtils.equals( model.getVersion(), artifact.getVersion() ) )
-            {
-                addProblem( artifact, "The version of the " + location +
-                    " project model doesn't match with the artifact, expected <" + artifact.getVersion() +
-                    ">, but was actually <" + model.getVersion() + ">" );
-            }
-        }
-    }
-
-    private ArchivaProjectModel readEmbeddedModel( ArchivaArtifact artifact, File artifactFile )
-        throws ConsumerException
-    {
-        try
-        {
-            JarFile jar = new JarFile( artifactFile );
-
-            // Get the entry and its input stream.
-            JarEntry expectedEntry = jar.getJarEntry(
-                "META-INF/maven/" + artifact.getGroupId() + "/" + artifact.getArtifactId() + "/pom.xml" );
-
-            if ( expectedEntry != null )
-            {
-                // TODO: read and resolve model here.
-                return null;
-            }
-
-            /* Expected Entry not found, look for alternate that might
-            * indicate that the artifact is, indeed located in the wrong place.
-            */
-
-            List<JarEntry> actualPomXmls = findJarEntryPattern( jar, "META-INF/maven/**/pom.xml" );
-            if ( actualPomXmls.isEmpty() )
-            {
-                // No check needed.
-
-            }
-
-            // TODO: test for invalid actual pom.xml
-            // TODO: test
-        }
-        catch ( IOException e )
-        {
-            // Not able to read from the file.
-            String emsg = "Unable to read file contents: " + e.getMessage();
-            addProblem( artifact, emsg );
-        }
-
-        return null;
-    }
-
-    private List<JarEntry> findJarEntryPattern( JarFile jar, String pattern )
-    {
-        List<JarEntry> hits = new ArrayList<JarEntry>();
-
-        Enumeration<JarEntry> entries = jar.entries();
-        while ( entries.hasMoreElements() )
-        {
-            JarEntry entry = entries.nextElement();
-            if ( SelectorUtils.match( pattern, entry.getName() ) )
-            {
-                hits.add( entry );
-            }
-        }
-
-        return hits;
-    }
-
-    private void addProblem( ArchivaArtifact artifact, String msg )
-        throws ConsumerException
-    {
-        RepositoryProblem problem = new RepositoryProblem();
-        problem.setRepositoryId( artifact.getModel().getRepositoryId() );
-        problem.setPath( toPath( artifact ) );
-        problem.setGroupId( artifact.getGroupId() );
-        problem.setArtifactId( artifact.getArtifactId() );
-        problem.setVersion( artifact.getVersion() );
-        problem.setType( LocationArtifactsReport.PROBLEM_TYPE_BAD_ARTIFACT_LOCATION );
-        problem.setOrigin( getId() );
-        problem.setMessage( msg );
-
-        try
-        {
-            dao.getRepositoryProblemDAO().saveRepositoryProblem( problem );
-        }
-        catch ( ArchivaDatabaseException e )
-        {
-            String emsg = "Unable to save problem with artifact location to DB: " + e.getMessage();
-            log.warn( emsg, e );
-            throw new ConsumerException( emsg, e );
-        }
-    }
-
-    private ArchivaProjectModel readFilesystemModel( File artifactFile )
-    {
-//        File pomFile = createPomFileReference( artifactFile );
-
-        // TODO: read and resolve model here.
-
-        return null;
-    }
-
-//    private File createPomFileReference( File artifactFile )
-//    {
-//        String pomFilename = artifactFile.getAbsolutePath();
-//
-//        int pos = pomFilename.lastIndexOf( '.' );
-//        if ( pos <= 0 )
-//        {
-//            // Invalid filename.
-//            return null;
-//        }
-//
-//        pomFilename = pomFilename.substring( 0, pos ) + ".pom";
-//        return new File( pomFilename );
-//    }
-
-    private ManagedRepositoryConfiguration findRepository( ArchivaArtifact artifact )
-    {
-        return (ManagedRepositoryConfiguration) this.repositoryMap.get( artifact.getModel().getRepositoryId() );
-    }
-
-    private String toPath( ArchivaArtifact artifact )
-    {
-        try
-        {
-            String repoId = artifact.getModel().getRepositoryId();
-            ManagedRepositoryContent repo = repositoryFactory.getManagedRepositoryContent( repoId );
-            return repo.toPath( artifact );
-        }
-        catch ( RepositoryException e )
-        {
-            log.warn( "Unable to calculate path for artifact: " + artifact );
-            return "";
-        }
-    }
-
-    public void afterConfigurationChange( Registry registry, String propertyName, Object propertyValue )
-    {
-        if ( ConfigurationNames.isManagedRepositories( propertyName ) )
-        {
-            initRepositoryMap();
-        }
-
-        if ( ConfigurationNames.isRepositoryScanning( propertyName ) )
-        {
-            initIncludes();
-        }
-    }
-
-    public void beforeConfigurationChange( Registry registry, String propertyName, Object propertyValue )
-    {
-        /* do nothing */
-    }
-
-    private void initIncludes()
-    {
-        includes.clear();
-
-        includes.addAll( filetypes.getFileTypePatterns( FileTypes.ARTIFACTS ) );
-    }
-
-    private void initRepositoryMap()
-    {
-        synchronized ( this.repositoryMap )
-        {
-            this.repositoryMap.clear();
-
-            Map<String, ManagedRepositoryConfiguration> map = 
-                configuration.getConfiguration().getManagedRepositoriesAsMap();
-            
-            for ( Map.Entry<String, ManagedRepositoryConfiguration> entry : map.entrySet() )
-            {
-                this.repositoryMap.put( entry.getKey(), entry.getValue() );
-            }
-        }
-    }
-
-    public void initialize()
-        throws InitializationException
-    {
-        initRepositoryMap();
-        initIncludes();
-        configuration.addChangeListener( this );
-    }
-}
index 1ba94877ccd98dc7deeea80e86ec3381a9c686ba..34b18b48377a4d20f605718cfb4d59f49687c188 100644 (file)
@@ -44,7 +44,6 @@ import org.apache.maven.archiva.database.ArtifactDAO;
 import org.apache.maven.archiva.database.constraints.ArtifactsByChecksumConstraint;
 import org.apache.maven.archiva.database.constraints.UniqueVersionConstraint;
 import org.apache.maven.archiva.model.ArchivaArtifact;
-import org.apache.maven.archiva.model.ArchivaProjectModel;
 import org.codehaus.plexus.spring.PlexusInSpringTestCase;
 import org.easymock.MockControl;
 import org.easymock.classextension.MockClassControl;