]> source.dussan.org Git - archiva.git/commitdiff
[MRM-1751] include mergedIndexTtl in temporary group index & indexmergerrequest so...
authorMaria Odea B. Ching <oching@apache.org>
Mon, 20 May 2013 06:24:33 +0000 (06:24 +0000)
committerMaria Odea B. Ching <oching@apache.org>
Mon, 20 May 2013 06:24:33 +0000 (06:24 +0000)
git-svn-id: https://svn.apache.org/repos/asf/archiva/trunk@1484377 13f79535-47bb-0310-9956-ffa450edef68

archiva-modules/archiva-base/archiva-indexer/src/main/java/org/apache/archiva/indexer/merger/DefaultIndexMerger.java
archiva-modules/archiva-base/archiva-indexer/src/main/java/org/apache/archiva/indexer/merger/IndexMergerRequest.java
archiva-modules/archiva-base/archiva-indexer/src/main/java/org/apache/archiva/indexer/merger/TemporaryGroupIndex.java
archiva-modules/archiva-base/archiva-indexer/src/main/java/org/apache/archiva/indexer/merger/TemporaryGroupIndexCleaner.java
archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/archiva/webdav/ArchivaDavResourceFactory.java

index 77618be8bc19d0c3daed348c362c2db8e36cd2b7..e97de6ff8d3173ff70d76af4bd7a189c7d9ebbd4 100644 (file)
@@ -122,7 +122,7 @@ public class DefaultIndexMerger
                 indexPacker.packIndex( request );
             }
             temporaryGroupIndexes.add(
-                new TemporaryGroupIndex( tempRepoFile, tempRepoId, indexMergerRequest.getGroupId() ) );
+                new TemporaryGroupIndex( tempRepoFile, tempRepoId, indexMergerRequest.getGroupId(), indexMergerRequest.getMergedIndexTtl() ) );
             stopWatch.stop();
             log.info( "merged index for repos {} in {} s", indexMergerRequest.getRepositoriesIds(),
                       stopWatch.getTime() );
index 76d238fd2885646f8fced76750250a16c543ed3c..a7a3b656f6692209035f038620cd56ab9bd39376 100644 (file)
@@ -42,6 +42,8 @@ public class IndexMergerRequest
 
     private String mergedIndexPath = "/.indexer";
 
+    private int mergedIndexTtl;
+
     public IndexMergerRequest( Collection<String> repositoriesIds, boolean packIndex, String groupId )
     {
         this.repositoriesIds = repositoriesIds;
@@ -52,13 +54,14 @@ public class IndexMergerRequest
     /**
      * @since 1.4-M4
      */
-    public IndexMergerRequest( Collection<String> repositoriesIds, boolean packIndex, String groupId,
-                               String mergedIndexPath )
+    public IndexMergerRequest(Collection<String> repositoriesIds, boolean packIndex, String groupId,
+                              String mergedIndexPath, int mergedIndexTtl)
     {
         this.repositoriesIds = repositoriesIds;
         this.packIndex = packIndex;
         this.groupId = groupId;
         this.mergedIndexPath = mergedIndexPath;
+        this.mergedIndexTtl = mergedIndexTtl;
     }
 
     public Collection<String> getRepositoriesIds()
@@ -101,6 +104,14 @@ public class IndexMergerRequest
         this.mergedIndexPath = mergedIndexPath;
     }
 
+    public int getMergedIndexTtl() {
+        return mergedIndexTtl;
+    }
+
+    public void setMergedIndexTtl(int mergedIndexTtl) {
+        this.mergedIndexTtl = mergedIndexTtl;
+    }
+
     @Override
     public String toString()
     {
@@ -109,6 +120,7 @@ public class IndexMergerRequest
         sb.append( ", packIndex=" ).append( packIndex );
         sb.append( ", groupId='" ).append( groupId ).append( '\'' );
         sb.append( ", mergedIndexPath='" ).append( mergedIndexPath ).append( '\'' );
+        sb.append( ", mergedIndexTtl='" ).append( mergedIndexTtl ).append( '\'' );
         sb.append( '}' );
         return sb.toString();
     }
index 9152160b0f82f69283c09ee3e893e79a11bb7c94..9ab06d6478c8f13eae5402ed9c46b855016086b4 100644 (file)
@@ -36,11 +36,14 @@ public class TemporaryGroupIndex
 
     private String groupId;
 
-    public TemporaryGroupIndex( File directory, String indexId, String groupId )
+    private int mergedIndexTtl;
+
+    public TemporaryGroupIndex(File directory, String indexId, String groupId, int mergedIndexTtl)
     {
         this.directory = directory;
         this.indexId = indexId;
         this.groupId = groupId;
+        this.mergedIndexTtl = mergedIndexTtl;
     }
 
     public long getCreationTime()
@@ -86,6 +89,14 @@ public class TemporaryGroupIndex
         this.groupId = groupId;
     }
 
+    public int getMergedIndexTtl() {
+        return mergedIndexTtl;
+    }
+
+    public void setMergedIndexTtl(int mergedIndexTtl) {
+        this.mergedIndexTtl = mergedIndexTtl;
+    }
+
     @Override
     public int hashCode()
     {
index e34b24991992496956b617ecc13a545b23f3f1d2..322d82e06102229539d7e8f833d528d3cfa39601 100644 (file)
@@ -58,7 +58,7 @@ public class TemporaryGroupIndexCleaner
         for ( TemporaryGroupIndex temporaryGroupIndex : indexMerger.getTemporaryGroupIndexes() )
         {
             // cleanup files older than the ttl
-            if ( new Date().getTime() - temporaryGroupIndex.getCreationTime() > indexMerger.getGroupMergedIndexTtl() )
+            if ( new Date().getTime() - temporaryGroupIndex.getCreationTime() > temporaryGroupIndex.getMergedIndexTtl() )
             {
                 log.info( "cleanTemporaryIndex for groupId {}", temporaryGroupIndex.getGroupId() );
                 indexMerger.cleanTemporaryGroupIndex( temporaryGroupIndex );
index 67f0c1786dee71d9ac43dfb963ae5ae065a795de..d9d1754e87a5289a078db181abb90c8482fe93e8 100644 (file)
@@ -1240,11 +1240,11 @@ public class ArchivaDavResourceFactory
                       repositoryGroupConfiguration.getId(), authzRepos );
             IndexingContext indexingContext = indexMerger.buildMergedIndex(
                 new IndexMergerRequest( authzRepos, true, repositoryGroupConfiguration.getId(),
-                                        repositoryGroupConfiguration.getMergedIndexPath() ) );
+                                        repositoryGroupConfiguration.getMergedIndexPath(), repositoryGroupConfiguration.getMergedIndexTtl() ) );
             File mergedRepoDir = indexingContext.getIndexDirectoryFile();
             TemporaryGroupIndex temporaryGroupIndex = new TemporaryGroupIndex( mergedRepoDir, indexingContext.getId(),
-                                                                               repositoryGroupConfiguration.getId() ).setCreationTime(
-                new Date().getTime() );
+                    repositoryGroupConfiguration.getId(),repositoryGroupConfiguration.getMergedIndexTtl() )
+                    .setCreationTime(new Date().getTime() );
             temporaryGroupIndexMap.put( repositoryGroupConfiguration.getId(), temporaryGroupIndex );
             session.setAttribute( TemporaryGroupIndexSessionCleaner.TEMPORARY_INDEX_SESSION_KEY,
                                   temporaryGroupIndexMap );