]> source.dussan.org Git - archiva.git/commitdiff
some webapp task completion
authorBrett Porter <brett@apache.org>
Wed, 7 Jun 2006 09:22:10 +0000 (09:22 +0000)
committerBrett Porter <brett@apache.org>
Wed, 7 Jun 2006 09:22:10 +0000 (09:22 +0000)
git-svn-id: https://svn.apache.org/repos/asf/maven/repository-manager/trunk@412341 13f79535-47bb-0310-9956-ffa450edef68

maven-repository-indexer/src/main/java/org/apache/maven/repository/indexing/MetadataRepositoryIndex.java
maven-repository-indexer/src/main/java/org/apache/maven/repository/indexing/PomRepositoryIndex.java
maven-repository-webapp/src/main/java/org/apache/maven/repository/manager/web/action/RepositoryBrowseAction.java
maven-repository-webapp/src/main/java/org/apache/maven/repository/manager/web/execution/DiscovererExecution.java
maven-repository-webapp/src/main/java/org/apache/maven/repository/manager/web/job/Configuration.java
maven-repository-webapp/src/main/java/org/apache/maven/repository/manager/web/job/DiscovererJob.java

index ded2c30df0b291e62b2936a8a8e73ed65b05581b..15ce02e84e296e4e6b862172a7cc8c89dc40bc49 100644 (file)
@@ -153,7 +153,7 @@ public class MetadataRepositoryIndex
         {\r
             doc.add( Field.Text( FLD_VERSION, "" ) );\r
         }\r
-        // TODO! do we need to add all these empty fields?\r
+        // TODO: do we need to add all these empty fields?\r
         doc.add( Field.Text( FLD_DOCTYPE, METADATA ) );\r
         doc.add( Field.Keyword( FLD_PACKAGING, "" ) );\r
         doc.add( Field.Text( FLD_SHA1, "" ) );\r
index a911b83f8d1ce384bccbe1db83fa28af8cf9cc8e..b4f7260b0197b419f92333b3e2fae8e024c04959 100644 (file)
@@ -140,7 +140,7 @@ public class PomRepositoryIndex
             doc.add( Field.Text( FLD_PLUGINS_ALL, "" ) );
         }
         doc.add( Field.UnIndexed( FLD_DOCTYPE, POM ) );
-        // TODO! do we need to add all these empty fields?
+        // TODO: do we need to add all these empty fields?
         doc.add( Field.Text( FLD_PLUGINPREFIX, "" ) );
         doc.add( Field.Text( FLD_LASTUPDATE, "" ) );
         doc.add( Field.Text( FLD_NAME, "" ) );
index 3315936c5cda71bdaf728fbee3a545fd485f139f..5b5031b725f117942b002a143b6b4430bd4f5f45 100644 (file)
@@ -109,20 +109,6 @@ public class RepositoryBrowseAction
         return SUCCESS;\r
     }\r
 \r
-    // TODO! is this method needed?\r
-    public String doEdit()\r
-    {\r
-        idx = idx + 1;\r
-\r
-        //set folder to "" if we are at the root directory\r
-        if ( idx == 1 )\r
-        {\r
-            folder = "";\r
-        }\r
-\r
-        return SUCCESS;\r
-    }\r
-\r
     public Map getArtifactMap()\r
     {\r
         return artifactMap;\r
index 4cce7a8eec0a88750869375854232eb4d12a0980..1c056e69d677a1ba86b1ceed3f165b46be484864 100644 (file)
@@ -38,12 +38,14 @@ import java.io.File;
 import java.net.MalformedURLException;
 import java.util.Iterator;
 import java.util.List;
+import java.util.Map;
 import java.util.Properties;
 
 /**
  * This is the class that executes the discoverer and indexer.
  *
  * @plexus.component role="org.apache.maven.repository.manager.web.execution.DiscovererExecution"
+ * @todo note that a legacy repository will fail due to lack of metadata discoverer
  */
 public class DiscovererExecution
     extends AbstractLogEnabled
@@ -54,19 +56,14 @@ public class DiscovererExecution
     private Configuration config;
 
     /**
-     * @plexus.requirement role-hint="default"
+     * @plexus.requirement role="org.apache.maven.repository.discovery.ArtifactDiscoverer"
      */
-    private ArtifactDiscoverer defaultArtifactDiscoverer;
+    private Map artifactDiscoverers;
 
     /**
-     * @plexus.requirement role-hint="legacy"
+     * @plexus.requirement role="org.apache.maven.repository.discovery.MetadataDiscoverer"
      */
-    private ArtifactDiscoverer legacyArtifactDiscoverer;
-
-    /**
-     * @plexus.requirement role-hint="default"
-     */
-    private MetadataDiscoverer defaultMetadataDiscoverer;
+    private Map metadataDiscoverers;
 
     /**
      * @plexus.requirement
@@ -78,18 +75,6 @@ public class DiscovererExecution
      */
     private ArtifactRepositoryFactory repoFactory;
 
-    private ArtifactRepositoryLayout layout;
-
-    private String indexPath;
-
-    private String blacklistedPatterns;
-
-    private boolean includeSnapshots;
-
-    private boolean convertSnapshots;
-
-    private ArtifactRepository defaultRepository;
-
     /**
      * Executes discoverer and indexer if an index does not exist yet
      *
@@ -100,7 +85,7 @@ public class DiscovererExecution
         throws MalformedURLException, RepositoryIndexException
     {
         Properties props = config.getProperties();
-        indexPath = props.getProperty( "index.path" );
+        String indexPath = props.getProperty( "index.path" );
 
         File indexDir = new File( indexPath );
         boolean isExisting = false;
@@ -123,68 +108,27 @@ public class DiscovererExecution
         throws MalformedURLException, RepositoryIndexException
     {
         Properties props = config.getProperties();
-        indexPath = props.getProperty( "index.path" );
-        layout = config.getLayout();
-        blacklistedPatterns = props.getProperty( "blacklist.patterns" );
-        includeSnapshots = Boolean.valueOf( props.getProperty( "include.snapshots" ) ).booleanValue();
-        convertSnapshots = Boolean.valueOf( props.getProperty( "convert.snapshots" ) ).booleanValue();
+        String indexPath = props.getProperty( "index.path" );
+        String blacklistedPatterns = props.getProperty( "blacklist.patterns" );
+        boolean includeSnapshots = Boolean.valueOf( props.getProperty( "include.snapshots" ) ).booleanValue();
+        boolean convertSnapshots = Boolean.valueOf( props.getProperty( "convert.snapshots" ) ).booleanValue();
 
-        try
-        {
-            defaultRepository = getDefaultRepository();
-        }
-        catch ( MalformedURLException me )
-        {
-            getLogger().error( me.getMessage() );
-        }
+        ArtifactRepository defaultRepository = getDefaultRepository();
 
         getLogger().info( "[DiscovererExecution] Started discovery and indexing.." );
-        if ( "default".equals( props.getProperty( "layout" ) ) )
-        {
-            executeDiscovererInDefaultRepo();
-        }
-        else if ( "legacy".equals( props.getProperty( "layout" ) ) )
-        {
-            executeDiscovererInLegacyRepo();
-        }
-        getLogger().info( "[DiscovererExecution] Finished discovery and indexing." );
-    }
-
-    /**
-     * Method that discovers and indexes artifacts, poms and metadata in a default
-     * m2 repository structure.
-     *
-     * @throws MalformedURLException
-     * @throws RepositoryIndexException
-     * @todo why is this any different from legacy? [!]
-     */
-    protected void executeDiscovererInDefaultRepo()
-        throws MalformedURLException, RepositoryIndexException
-    {
-        List artifacts =
-            defaultArtifactDiscoverer.discoverArtifacts( defaultRepository, blacklistedPatterns, includeSnapshots );
+        String layoutProperty = props.getProperty( "layout" );
+        ArtifactDiscoverer discoverer = (ArtifactDiscoverer) artifactDiscoverers.get( layoutProperty );
+        List artifacts = discoverer.discoverArtifacts( defaultRepository, blacklistedPatterns, includeSnapshots );
         indexArtifact( artifacts, indexPath, defaultRepository );
 
-        List models = defaultArtifactDiscoverer.discoverStandalonePoms( defaultRepository, blacklistedPatterns,
-                                                                        convertSnapshots );
+        List models = discoverer.discoverStandalonePoms( defaultRepository, blacklistedPatterns, convertSnapshots );
         indexPom( models, indexPath, defaultRepository );
 
-        List metadataList = defaultMetadataDiscoverer.discoverMetadata( new File( defaultRepository
-            .getBasedir() ), blacklistedPatterns );
-        indexMetadata( metadataList, indexPath, new File( defaultRepository.getBasedir() ) );
-    }
-
-    /**
-     * Method that discovers and indexes artifacts in a legacy type repository
-     *
-     * @throws RepositoryIndexException
-     */
-    protected void executeDiscovererInLegacyRepo()
-        throws RepositoryIndexException
-    {
-        List artifacts =
-            legacyArtifactDiscoverer.discoverArtifacts( defaultRepository, blacklistedPatterns, includeSnapshots );
-        indexArtifact( artifacts, indexPath, defaultRepository );
+        MetadataDiscoverer metadataDiscoverer = (MetadataDiscoverer) metadataDiscoverers.get( layoutProperty );
+        List metadataList =
+            metadataDiscoverer.discoverMetadata( new File( defaultRepository.getBasedir() ), blacklistedPatterns );
+        indexMetadata( metadataList, indexPath, new File( defaultRepository.getBasedir() ), config.getLayout() );
+        getLogger().info( "[DiscovererExecution] Finished discovery and indexing." );
     }
 
     /**
@@ -218,12 +162,13 @@ public class DiscovererExecution
      * @param indexPath      the path to the index file
      * @param repositoryBase the repository where the metadata are located
      */
-    protected void indexMetadata( List metadataList, String indexPath, File repositoryBase )
+    protected void indexMetadata( List metadataList, String indexPath, File repositoryBase,
+                                  ArtifactRepositoryLayout layout )
         throws RepositoryIndexException, MalformedURLException
     {
         String repoDir = repositoryBase.toURL().toString();
-        ArtifactRepository repository = repoFactory
-            .createArtifactRepository( "repository", repoDir, layout, null, null );
+        ArtifactRepository repository =
+            repoFactory.createArtifactRepository( "repository", repoDir, layout, null, null );
 
         MetadataRepositoryIndex metadataIndex = indexFactory.createMetadataRepositoryIndex( indexPath, repository );
         for ( Iterator iter = metadataList.iterator(); iter.hasNext(); )
index 0e147321c24aab34863e2ce3a12b4a06fe6c7586..0da84405d2b458c396a7ee17f982f1eb3ab2b030 100644 (file)
@@ -26,6 +26,8 @@ import java.util.Properties;
 \r
 /**\r
  * This class contains the configuration values to be used by the scheduler\r
+ *\r
+ * @todo should not need to be initializable [!] Should have individual configuration items, and they could well be configured on the job itself, not in this class\r
  */\r
 public class Configuration\r
     implements Initializable\r
@@ -63,6 +65,7 @@ public class Configuration
 \r
     public ArtifactRepositoryLayout getLayout()\r
     {\r
+        // TODO: lookup from map [!]\r
         ArtifactRepositoryLayout layout;\r
         if ( "legacy".equals( props.getProperty( "layout" ) ) )\r
         {\r
index 9a93a115bf766b93beebe39857ab5335e64fc98a..af350dced22897b974fd7c77f6a5dc83220efb1f 100644 (file)
@@ -58,13 +58,11 @@ public class DiscovererJob
         }\r
         catch ( RepositoryIndexException e )\r
         {\r
-            // TODO!\r
-            e.printStackTrace();\r
+            getLogger().error( "Error indexing: " + e.getMessage(), e );\r
         }\r
         catch ( MalformedURLException me )\r
         {\r
-            // TODO!\r
-            me.printStackTrace();\r
+            getLogger().error( "Error indexing: " + me.getMessage(), me );\r
         }\r
 \r
         getLogger().info( "[DiscovererJob] DiscovererJob has finished executing." );\r