This is an automated email from the ASF dual-hosted git repository.

martin_s pushed a commit to branch feature/storage_refactoring
in repository https://gitbox.apache.org/repos/asf/archiva.git

commit c2bbd80b1b728fb6e7bff05d6fe2123c8b0f6122
Author: Martin Stockhammer <[email protected]>
AuthorDate: Thu Jun 6 21:36:46 2019 +0200

    Adding type for repository group config
---
 .../configuration/RepositoryGroupConfiguration.java   | 17 +++++++++++++++++
 .../io/registry/ConfigurationRegistryReader.java      |  1 +
 .../io/registry/ConfigurationRegistryWriter.java      |  3 +++
 .../apache/archiva/indexer/merger/IndexMerger.java    |  4 ++--
 .../archiva/indexer/merger/IndexMergerException.java  |  0
 .../archiva/indexer/merger/IndexMergerRequest.java    |  0
 .../indexer/merger}/MergedRemoteIndexesScheduler.java |  5 +++--
 .../archiva/indexer/merger/TemporaryGroupIndex.java   |  0
 .../merger/DefaultMergedRemoteIndexesScheduler.java   | 19 +++++++++++--------
 .../indexer/merger/MergedRemoteIndexesTask.java       |  4 ++--
 .../merger/MergedRemoteIndexesTaskRequest.java        |  0
 .../indexer/merger/MergedRemoteIndexesTaskResult.java | 10 +++++-----
 .../indexer/merger/TemporaryGroupIndexCleaner.java    |  0
 .../maven/{merger => }/DefaultIndexMerger.java        |  6 ++++--
 14 files changed, 48 insertions(+), 21 deletions(-)

diff --git 
a/archiva-modules/archiva-base/archiva-configuration/src/main/java/org/apache/archiva/configuration/RepositoryGroupConfiguration.java
 
b/archiva-modules/archiva-base/archiva-configuration/src/main/java/org/apache/archiva/configuration/RepositoryGroupConfiguration.java
index d2cc9cb..db3498b 100644
--- 
a/archiva-modules/archiva-base/archiva-configuration/src/main/java/org/apache/archiva/configuration/RepositoryGroupConfiguration.java
+++ 
b/archiva-modules/archiva-base/archiva-configuration/src/main/java/org/apache/archiva/configuration/RepositoryGroupConfiguration.java
@@ -48,6 +48,15 @@ public class RepositoryGroupConfiguration
     private String name;
 
     /**
+     *
+     *             The repository type. Currently only MAVEN type
+     * is known.
+     *
+     */
+    private String type = "MAVEN";
+
+
+    /**
      * The path of the merged index.
      */
     private String mergedIndexPath = ".indexer";
@@ -211,4 +220,12 @@ public class RepositoryGroupConfiguration
     public void setName(String name) {
         this.name = name;
     }
+
+    public String getType() {
+        return type;
+    }
+
+    public void setType(String type) {
+        this.type = type;
+    }
 }
diff --git 
a/archiva-modules/archiva-base/archiva-configuration/src/main/java/org/apache/archiva/configuration/io/registry/ConfigurationRegistryReader.java
 
b/archiva-modules/archiva-base/archiva-configuration/src/main/java/org/apache/archiva/configuration/io/registry/ConfigurationRegistryReader.java
index 7c0535e..8c0ff5d 100644
--- 
a/archiva-modules/archiva-base/archiva-configuration/src/main/java/org/apache/archiva/configuration/io/registry/ConfigurationRegistryReader.java
+++ 
b/archiva-modules/archiva-base/archiva-configuration/src/main/java/org/apache/archiva/configuration/io/registry/ConfigurationRegistryReader.java
@@ -731,6 +731,7 @@ public class ConfigurationRegistryReader {
         value.setId(id);
 
         value.setName(registry.getString(prefix + "name"));
+        value.setType(registry.getString(prefix + "type"));
 
         //String mergedIndexPath = registry.getString( prefix + 
"mergedIndexPath", value.getMergedIndexPath() );
 
diff --git 
a/archiva-modules/archiva-base/archiva-configuration/src/main/java/org/apache/archiva/configuration/io/registry/ConfigurationRegistryWriter.java
 
b/archiva-modules/archiva-base/archiva-configuration/src/main/java/org/apache/archiva/configuration/io/registry/ConfigurationRegistryWriter.java
index 915cd8b..786b027 100644
--- 
a/archiva-modules/archiva-base/archiva-configuration/src/main/java/org/apache/archiva/configuration/io/registry/ConfigurationRegistryWriter.java
+++ 
b/archiva-modules/archiva-base/archiva-configuration/src/main/java/org/apache/archiva/configuration/io/registry/ConfigurationRegistryWriter.java
@@ -422,6 +422,9 @@ public class ConfigurationRegistryWriter {
             if (value.getName() != null) {
                 registry.setString(prefix + "name", value.getName());
             }
+            if (value.getType() != null) {
+                registry.setString(prefix + "type", value.getType());
+            }
             if (value.getMergedIndexPath() != null && 
!value.getMergedIndexPath().equals(".indexer")
             ) {
                 String mergedIndexPath = "mergedIndexPath";
diff --git 
a/archiva-modules/archiva-maven/archiva-maven-indexer/src/main/java/org/apache/archiva/indexer/merger/IndexMerger.java
 
b/archiva-modules/archiva-base/archiva-repository-api/src/main/java/org/apache/archiva/indexer/merger/IndexMerger.java
similarity index 90%
rename from 
archiva-modules/archiva-maven/archiva-maven-indexer/src/main/java/org/apache/archiva/indexer/merger/IndexMerger.java
rename to 
archiva-modules/archiva-base/archiva-repository-api/src/main/java/org/apache/archiva/indexer/merger/IndexMerger.java
index 756819e..79c7466 100644
--- 
a/archiva-modules/archiva-maven/archiva-maven-indexer/src/main/java/org/apache/archiva/indexer/merger/IndexMerger.java
+++ 
b/archiva-modules/archiva-base/archiva-repository-api/src/main/java/org/apache/archiva/indexer/merger/IndexMerger.java
@@ -18,7 +18,7 @@ package org.apache.archiva.indexer.merger;
  * under the License.
  */
 
-import org.apache.maven.index.context.IndexingContext;
+import org.apache.archiva.indexer.ArchivaIndexingContext;
 
 import java.util.Collection;
 
@@ -33,7 +33,7 @@ public interface IndexMerger
      * @return a temporary directory with a merge index (directory marked 
deleteOnExit)
      * @throws IndexMergerException
      */
-    IndexingContext buildMergedIndex( IndexMergerRequest indexMergerRequest )
+    ArchivaIndexingContext buildMergedIndex(IndexMergerRequest 
indexMergerRequest )
         throws IndexMergerException;
 
     void cleanTemporaryGroupIndex( TemporaryGroupIndex temporaryGroupIndex );
diff --git 
a/archiva-modules/archiva-maven/archiva-maven-indexer/src/main/java/org/apache/archiva/indexer/merger/IndexMergerException.java
 
b/archiva-modules/archiva-base/archiva-repository-api/src/main/java/org/apache/archiva/indexer/merger/IndexMergerException.java
similarity index 100%
rename from 
archiva-modules/archiva-maven/archiva-maven-indexer/src/main/java/org/apache/archiva/indexer/merger/IndexMergerException.java
rename to 
archiva-modules/archiva-base/archiva-repository-api/src/main/java/org/apache/archiva/indexer/merger/IndexMergerException.java
diff --git 
a/archiva-modules/archiva-maven/archiva-maven-indexer/src/main/java/org/apache/archiva/indexer/merger/IndexMergerRequest.java
 
b/archiva-modules/archiva-base/archiva-repository-api/src/main/java/org/apache/archiva/indexer/merger/IndexMergerRequest.java
similarity index 100%
rename from 
archiva-modules/archiva-maven/archiva-maven-indexer/src/main/java/org/apache/archiva/indexer/merger/IndexMergerRequest.java
rename to 
archiva-modules/archiva-base/archiva-repository-api/src/main/java/org/apache/archiva/indexer/merger/IndexMergerRequest.java
diff --git 
a/archiva-modules/archiva-scheduler/archiva-scheduler-api/src/main/java/org/apache/archiva/scheduler/MergedRemoteIndexesScheduler.java
 
b/archiva-modules/archiva-base/archiva-repository-api/src/main/java/org/apache/archiva/indexer/merger/MergedRemoteIndexesScheduler.java
similarity index 90%
rename from 
archiva-modules/archiva-scheduler/archiva-scheduler-api/src/main/java/org/apache/archiva/scheduler/MergedRemoteIndexesScheduler.java
rename to 
archiva-modules/archiva-base/archiva-repository-api/src/main/java/org/apache/archiva/indexer/merger/MergedRemoteIndexesScheduler.java
index cd9520c..9ba97e7 100644
--- 
a/archiva-modules/archiva-scheduler/archiva-scheduler-api/src/main/java/org/apache/archiva/scheduler/MergedRemoteIndexesScheduler.java
+++ 
b/archiva-modules/archiva-base/archiva-repository-api/src/main/java/org/apache/archiva/indexer/merger/MergedRemoteIndexesScheduler.java
@@ -19,7 +19,8 @@ package org.apache.archiva.scheduler;
  * under the License.
  */
 
-import org.apache.archiva.admin.model.beans.RepositoryGroup;
+
+import org.apache.archiva.repository.RepositoryGroup;
 
 import java.nio.file.Path;
 
@@ -35,7 +36,7 @@ public interface MergedRemoteIndexesScheduler
      * remote indexes
      * @param repositoryGroup
      */
-    void schedule( RepositoryGroup repositoryGroup, Path directory );
+    void schedule(RepositoryGroup repositoryGroup, Path directory );
 
     void unschedule( RepositoryGroup repositoryGroup );
 
diff --git 
a/archiva-modules/archiva-maven/archiva-maven-indexer/src/main/java/org/apache/archiva/indexer/merger/TemporaryGroupIndex.java
 
b/archiva-modules/archiva-base/archiva-repository-api/src/main/java/org/apache/archiva/indexer/merger/TemporaryGroupIndex.java
similarity index 100%
rename from 
archiva-modules/archiva-maven/archiva-maven-indexer/src/main/java/org/apache/archiva/indexer/merger/TemporaryGroupIndex.java
rename to 
archiva-modules/archiva-base/archiva-repository-api/src/main/java/org/apache/archiva/indexer/merger/TemporaryGroupIndex.java
diff --git 
a/archiva-modules/archiva-maven/archiva-maven-indexer/src/main/java/org/apache/archiva/indexer/merger/DefaultMergedRemoteIndexesScheduler.java
 
b/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/archiva/indexer/merger/DefaultMergedRemoteIndexesScheduler.java
similarity index 79%
rename from 
archiva-modules/archiva-maven/archiva-maven-indexer/src/main/java/org/apache/archiva/indexer/merger/DefaultMergedRemoteIndexesScheduler.java
rename to 
archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/archiva/indexer/merger/DefaultMergedRemoteIndexesScheduler.java
index f0fbcbd..0e918a5 100644
--- 
a/archiva-modules/archiva-maven/archiva-maven-indexer/src/main/java/org/apache/archiva/indexer/merger/DefaultMergedRemoteIndexesScheduler.java
+++ 
b/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/archiva/indexer/merger/DefaultMergedRemoteIndexesScheduler.java
@@ -19,7 +19,8 @@ package org.apache.archiva.indexer.merger;
  * under the License.
  */
 
-import org.apache.archiva.admin.model.beans.RepositoryGroup;
+import org.apache.archiva.repository.ManagedRepository;
+import org.apache.archiva.repository.RepositoryGroup;
 import org.apache.archiva.scheduler.MergedRemoteIndexesScheduler;
 import org.apache.commons.lang.StringUtils;
 import org.slf4j.Logger;
@@ -35,6 +36,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ScheduledFuture;
+import java.util.stream.Collectors;
 
 /**
  * @author Olivier Lamy
@@ -57,25 +59,26 @@ public class DefaultMergedRemoteIndexesScheduler
     private Map<String, ScheduledFuture> scheduledFutureMap = new 
ConcurrentHashMap<>();
 
     @Override
-    public void schedule( RepositoryGroup repositoryGroup, Path directory )
+    public void schedule(RepositoryGroup repositoryGroup, Path directory )
     {
-        if ( StringUtils.isEmpty( repositoryGroup.getCronExpression() ) )
+        if ( StringUtils.isEmpty( repositoryGroup.getSchedulingDefinition() ) )
         {
             return;
         }
-        CronTrigger cronTrigger = new CronTrigger( 
repositoryGroup.getCronExpression() );
+        CronTrigger cronTrigger = new CronTrigger( 
repositoryGroup.getSchedulingDefinition() );
 
-        List<String> repositories = repositoryGroup.getRepositories();
+        List<ManagedRepository> repositories = 
repositoryGroup.getRepositories();
 
         IndexMergerRequest indexMergerRequest =
-            new IndexMergerRequest( repositories, true, 
repositoryGroup.getId(), repositoryGroup.getMergedIndexPath(),
-                                    repositoryGroup.getMergedIndexTtl() 
).mergedIndexDirectory( directory );
+            new IndexMergerRequest( repositories.stream().map(r -> 
r.getId()).collect(Collectors.toList()), true, repositoryGroup.getId(),
+                    
repositoryGroup.getMergedIndexPath().getFilePath().toString(),
+                                    repositoryGroup.getMergedIndexTTL() 
).mergedIndexDirectory( directory );
 
         MergedRemoteIndexesTaskRequest taskRequest =
             new MergedRemoteIndexesTaskRequest( indexMergerRequest, 
indexMerger );
 
         logger.info( "schedule merge remote index for group {} with cron {}", 
repositoryGroup.getId(),
-                     repositoryGroup.getCronExpression() );
+                     repositoryGroup.getSchedulingDefinition() );
 
         ScheduledFuture scheduledFuture =
             taskScheduler.schedule( new MergedRemoteIndexesTask( taskRequest 
), cronTrigger );
diff --git 
a/archiva-modules/archiva-maven/archiva-maven-indexer/src/main/java/org/apache/archiva/indexer/merger/MergedRemoteIndexesTask.java
 
b/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/archiva/indexer/merger/MergedRemoteIndexesTask.java
similarity index 95%
rename from 
archiva-modules/archiva-maven/archiva-maven-indexer/src/main/java/org/apache/archiva/indexer/merger/MergedRemoteIndexesTask.java
rename to 
archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/archiva/indexer/merger/MergedRemoteIndexesTask.java
index c67d312..42896e1 100644
--- 
a/archiva-modules/archiva-maven/archiva-maven-indexer/src/main/java/org/apache/archiva/indexer/merger/MergedRemoteIndexesTask.java
+++ 
b/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/archiva/indexer/merger/MergedRemoteIndexesTask.java
@@ -19,7 +19,7 @@ package org.apache.archiva.indexer.merger;
  * under the License.
  */
 
-import org.apache.maven.index.context.IndexingContext;
+import org.apache.archiva.indexer.ArchivaIndexingContext;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -58,7 +58,7 @@ public class MergedRemoteIndexesTask
     {
         IndexMerger indexMerger = 
mergedRemoteIndexesTaskRequest.getIndexMerger();
 
-        IndexingContext indexingContext =
+        ArchivaIndexingContext indexingContext =
             indexMerger.buildMergedIndex( 
mergedRemoteIndexesTaskRequest.getIndexMergerRequest() );
 
         return new MergedRemoteIndexesTaskResult( indexingContext );
diff --git 
a/archiva-modules/archiva-maven/archiva-maven-indexer/src/main/java/org/apache/archiva/indexer/merger/MergedRemoteIndexesTaskRequest.java
 
b/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/archiva/indexer/merger/MergedRemoteIndexesTaskRequest.java
similarity index 100%
rename from 
archiva-modules/archiva-maven/archiva-maven-indexer/src/main/java/org/apache/archiva/indexer/merger/MergedRemoteIndexesTaskRequest.java
rename to 
archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/archiva/indexer/merger/MergedRemoteIndexesTaskRequest.java
diff --git 
a/archiva-modules/archiva-maven/archiva-maven-indexer/src/main/java/org/apache/archiva/indexer/merger/MergedRemoteIndexesTaskResult.java
 
b/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/archiva/indexer/merger/MergedRemoteIndexesTaskResult.java
similarity index 77%
rename from 
archiva-modules/archiva-maven/archiva-maven-indexer/src/main/java/org/apache/archiva/indexer/merger/MergedRemoteIndexesTaskResult.java
rename to 
archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/archiva/indexer/merger/MergedRemoteIndexesTaskResult.java
index b75a292..b7def70 100644
--- 
a/archiva-modules/archiva-maven/archiva-maven-indexer/src/main/java/org/apache/archiva/indexer/merger/MergedRemoteIndexesTaskResult.java
+++ 
b/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/archiva/indexer/merger/MergedRemoteIndexesTaskResult.java
@@ -19,7 +19,7 @@ package org.apache.archiva.indexer.merger;
  * under the License.
  */
 
-import org.apache.maven.index.context.IndexingContext;
+import org.apache.archiva.indexer.ArchivaIndexingContext;
 
 /**
  * @author Olivier Lamy
@@ -27,19 +27,19 @@ import org.apache.maven.index.context.IndexingContext;
  */
 public class MergedRemoteIndexesTaskResult
 {
-    private IndexingContext indexingContext;
+    private ArchivaIndexingContext indexingContext;
 
-    public MergedRemoteIndexesTaskResult( IndexingContext indexingContext )
+    public MergedRemoteIndexesTaskResult( ArchivaIndexingContext 
indexingContext )
     {
         this.indexingContext = indexingContext;
     }
 
-    public IndexingContext getIndexingContext()
+    public ArchivaIndexingContext getIndexingContext()
     {
         return indexingContext;
     }
 
-    public void setIndexingContext( IndexingContext indexingContext )
+    public void setIndexingContext( ArchivaIndexingContext indexingContext )
     {
         this.indexingContext = indexingContext;
     }
diff --git 
a/archiva-modules/archiva-maven/archiva-maven-indexer/src/main/java/org/apache/archiva/indexer/merger/TemporaryGroupIndexCleaner.java
 
b/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/archiva/indexer/merger/TemporaryGroupIndexCleaner.java
similarity index 100%
rename from 
archiva-modules/archiva-maven/archiva-maven-indexer/src/main/java/org/apache/archiva/indexer/merger/TemporaryGroupIndexCleaner.java
rename to 
archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/archiva/indexer/merger/TemporaryGroupIndexCleaner.java
diff --git 
a/archiva-modules/archiva-maven/archiva-maven-indexer/src/main/java/org/apache/archiva/indexer/maven/merger/DefaultIndexMerger.java
 
b/archiva-modules/archiva-maven/archiva-maven-indexer/src/main/java/org/apache/archiva/indexer/maven/DefaultIndexMerger.java
similarity index 95%
rename from 
archiva-modules/archiva-maven/archiva-maven-indexer/src/main/java/org/apache/archiva/indexer/maven/merger/DefaultIndexMerger.java
rename to 
archiva-modules/archiva-maven/archiva-maven-indexer/src/main/java/org/apache/archiva/indexer/maven/DefaultIndexMerger.java
index 1f46480..0843f23 100644
--- 
a/archiva-modules/archiva-maven/archiva-maven-indexer/src/main/java/org/apache/archiva/indexer/maven/merger/DefaultIndexMerger.java
+++ 
b/archiva-modules/archiva-maven/archiva-maven-indexer/src/main/java/org/apache/archiva/indexer/maven/DefaultIndexMerger.java
@@ -19,7 +19,9 @@ package org.apache.archiva.indexer.maven.merger;
  */
 
 import org.apache.archiva.common.utils.FileUtils;
+import org.apache.archiva.indexer.ArchivaIndexingContext;
 import org.apache.archiva.indexer.UnsupportedBaseContextException;
+import org.apache.archiva.indexer.maven.MavenIndexContext;
 import org.apache.archiva.indexer.merger.IndexMerger;
 import org.apache.archiva.indexer.merger.IndexMergerException;
 import org.apache.archiva.indexer.merger.IndexMergerRequest;
@@ -86,7 +88,7 @@ public class DefaultIndexMerger
     }
 
     @Override
-    public IndexingContext buildMergedIndex( IndexMergerRequest 
indexMergerRequest )
+    public ArchivaIndexingContext buildMergedIndex(IndexMergerRequest 
indexMergerRequest )
         throws IndexMergerException
     {
         String groupId = indexMergerRequest.getGroupId();
@@ -146,7 +148,7 @@ public class DefaultIndexMerger
             stopWatch.stop();
             log.info( "merged index for repos {} in {} s", 
indexMergerRequest.getRepositoriesIds(),
                       stopWatch.getTime() );
-            return mergedCtx;
+            return new 
MavenIndexContext(repositoryRegistry.getRepositoryGroup(groupId), mergedCtx);
         }
         catch ( IOException e)
         {

Reply via email to