You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by cs...@apache.org on 2022/02/02 10:27:44 UTC

[maven-indexer] branch master updated: [MINDEXER-132] use Java 7 Files.createTempDirectory() API (#164)

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

cstamas pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/maven-indexer.git


The following commit(s) were added to refs/heads/master by this push:
     new 019edb7  [MINDEXER-132] use Java 7 Files.createTempDirectory() API (#164)
019edb7 is described below

commit 019edb7ff87a505372ad4f469c1b2a6c9d4ae292
Author: Hervé Boutemy <hb...@apache.org>
AuthorDate: Wed Feb 2 11:27:40 2022 +0100

    [MINDEXER-132] use Java 7 Files.createTempDirectory() API (#164)
    
    
    
    Co-authored-by: Tamas Cservenak <ta...@cservenak.net>
---
 .../java/org/apache/maven/index/DefaultNexusIndexer.java  | 15 ++-------------
 .../maven/index/context/DefaultIndexingContext.java       |  9 +++------
 .../apache/maven/index/context/MergedIndexingContext.java | 10 ++++------
 .../apache/maven/index/updater/DefaultIndexUpdater.java   | 12 ++++++++----
 .../java/org/apache/maven/index/updater/WagonHelper.java  |  3 ++-
 .../maven/index/updater/FullBootProofOfConcept.java       |  3 ++-
 .../java/org/apache/maven/index/reader/TestSupport.java   | 11 ++++-------
 7 files changed, 25 insertions(+), 38 deletions(-)

diff --git a/indexer-core/src/main/java/org/apache/maven/index/DefaultNexusIndexer.java b/indexer-core/src/main/java/org/apache/maven/index/DefaultNexusIndexer.java
index cfd0429..8efd5be 100644
--- a/indexer-core/src/main/java/org/apache/maven/index/DefaultNexusIndexer.java
+++ b/indexer-core/src/main/java/org/apache/maven/index/DefaultNexusIndexer.java
@@ -24,6 +24,7 @@ import javax.inject.Named;
 import javax.inject.Singleton;
 import java.io.File;
 import java.io.IOException;
+import java.nio.file.Files;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.List;
@@ -269,14 +270,7 @@ public class DefaultNexusIndexer
         }
 
         // always use temporary context when reindexing
-        final File tmpFile = File.createTempFile( context.getId() + "-tmp", "" );
-        tmpFile.deleteOnExit();
-        final File tmpDir = new File( tmpFile.getParentFile(), tmpFile.getName() + ".dir" );
-        if ( !tmpDir.mkdirs() )
-        {
-            throw new IOException( "Cannot create temporary directory: " + tmpDir );
-        }
-
+        final File tmpDir = Files.createTempDirectory( context.getId() + "-tmp" ).toFile();
         IndexingContext tmpContext = null;
         try
         {
@@ -312,11 +306,6 @@ public class DefaultNexusIndexer
                 tmpContext.close( true );
             }
 
-            if ( tmpFile.exists() )
-            {
-                tmpFile.delete();
-            }
-
             FileUtils.deleteDirectory( tmpDir );
         }
     }
diff --git a/indexer-core/src/main/java/org/apache/maven/index/context/DefaultIndexingContext.java b/indexer-core/src/main/java/org/apache/maven/index/context/DefaultIndexingContext.java
index df8d73f..837d699 100644
--- a/indexer-core/src/main/java/org/apache/maven/index/context/DefaultIndexingContext.java
+++ b/indexer-core/src/main/java/org/apache/maven/index/context/DefaultIndexingContext.java
@@ -216,12 +216,9 @@ public class DefaultIndexingContext
     {
         if ( dir == null )
         {
-            // best effort, to have a directory thru the life of a ctx
-            File tmpFile = File.createTempFile( "mindexer-ctx" + id, "tmp" );
-            tmpFile.deleteOnExit();
-            tmpFile.delete();
-            tmpFile.mkdirs();
-            this.indexDirectoryFile = tmpFile;
+            // best effort, to have a directory through the life of a ctx
+            this.indexDirectoryFile = Files.createTempDirectory( "mindexer-ctx" + id ).toFile();
+            this.indexDirectoryFile.deleteOnExit();
         }
         else
         {
diff --git a/indexer-core/src/main/java/org/apache/maven/index/context/MergedIndexingContext.java b/indexer-core/src/main/java/org/apache/maven/index/context/MergedIndexingContext.java
index 0048e89..694dd0c 100644
--- a/indexer-core/src/main/java/org/apache/maven/index/context/MergedIndexingContext.java
+++ b/indexer-core/src/main/java/org/apache/maven/index/context/MergedIndexingContext.java
@@ -21,6 +21,7 @@ package org.apache.maven.index.context;
 
 import java.io.File;
 import java.io.IOException;
+import java.nio.file.Files;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Date;
@@ -308,12 +309,9 @@ public class MergedIndexingContext
     {
         if ( dir == null )
         {
-            // best effort, to have a directory thru the life of a ctx
-            File tmpFile = File.createTempFile( "mindexer-ctx" + id, "tmp" );
-            tmpFile.deleteOnExit();
-            tmpFile.delete();
-            tmpFile.mkdirs();
-            this.directoryFile = tmpFile;
+            // best effort, to have a directory through the life of a ctx
+            this.directoryFile = Files.createTempDirectory( "mindexer-ctx" + id ).toFile();
+            this.directoryFile.deleteOnExit();
         }
         else
         {
diff --git a/indexer-core/src/main/java/org/apache/maven/index/updater/DefaultIndexUpdater.java b/indexer-core/src/main/java/org/apache/maven/index/updater/DefaultIndexUpdater.java
index 0bdf03e..2a7b9de 100644
--- a/indexer-core/src/main/java/org/apache/maven/index/updater/DefaultIndexUpdater.java
+++ b/indexer-core/src/main/java/org/apache/maven/index/updater/DefaultIndexUpdater.java
@@ -35,6 +35,7 @@ import java.io.InputStreamReader;
 import java.io.OutputStream;
 import java.io.OutputStreamWriter;
 import java.io.Writer;
+import java.nio.file.Files;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
@@ -186,14 +187,17 @@ public class DefaultIndexUpdater
                                      final boolean merge, final String remoteIndexFile )
         throws IOException
     {
+        File indexDir;
         if ( updateRequest.getIndexTempDir() != null )
         {
             updateRequest.getIndexTempDir().mkdirs();
+            indexDir = Files.createTempDirectory( updateRequest.getIndexTempDir().toPath(),
+                remoteIndexFile + ".dir" ).toFile();
+        }
+        else
+        {
+            indexDir = Files.createTempDirectory( remoteIndexFile + ".dir" ).toFile();
         }
-        File indexDir = File.createTempFile( remoteIndexFile, ".dir" , updateRequest.getIndexTempDir() );
-        indexDir.delete();
-        indexDir.mkdirs();
-
         try ( BufferedInputStream is = new BufferedInputStream( fetcher.retrieve( remoteIndexFile ) ); //
                         Directory directory = updateRequest.getFSDirectoryFactory().open( indexDir ) )
         {
diff --git a/indexer-core/src/main/java/org/apache/maven/index/updater/WagonHelper.java b/indexer-core/src/main/java/org/apache/maven/index/updater/WagonHelper.java
index 1f806e5..43338b4 100644
--- a/indexer-core/src/main/java/org/apache/maven/index/updater/WagonHelper.java
+++ b/indexer-core/src/main/java/org/apache/maven/index/updater/WagonHelper.java
@@ -37,6 +37,7 @@ import java.io.FileInputStream;
 import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.io.InputStream;
+import java.nio.file.Files;
 
 /**
  * This is a helper for obtaining Wagon based ResourceFetchers. Some Indexer integrations does have access to Wagon
@@ -191,7 +192,7 @@ public class WagonHelper
         public InputStream retrieve( String name )
             throws IOException, FileNotFoundException
         {
-            final File target = File.createTempFile( name, "" );
+            final File target = Files.createTempFile( name, "tmp" ).toFile();
             target.deleteOnExit();
             retrieve( name, target );
             return new FileInputStream( target )
diff --git a/indexer-core/src/test/java/org/apache/maven/index/updater/FullBootProofOfConcept.java b/indexer-core/src/test/java/org/apache/maven/index/updater/FullBootProofOfConcept.java
index 8c18a0b..922084e 100644
--- a/indexer-core/src/test/java/org/apache/maven/index/updater/FullBootProofOfConcept.java
+++ b/indexer-core/src/test/java/org/apache/maven/index/updater/FullBootProofOfConcept.java
@@ -21,6 +21,7 @@ package org.apache.maven.index.updater;
 
 import java.io.File;
 import java.io.IOException;
+import java.nio.file.Files;
 import java.text.ParseException;
 import java.util.ArrayList;
 import java.util.List;
@@ -48,7 +49,7 @@ public class FullBootProofOfConcept
     {
         for ( int i = 0; i < 1; i++ )
         {
-            File basedir = File.createTempFile( "nexus-indexer.", ".dir" );
+            File basedir = Files.createTempDirectory("nexus-indexer..dir" ).toFile();
             basedir.deleteOnExit();
 
             try
diff --git a/indexer-reader/src/test/java/org/apache/maven/index/reader/TestSupport.java b/indexer-reader/src/test/java/org/apache/maven/index/reader/TestSupport.java
index f71bb7d..72f1040 100644
--- a/indexer-reader/src/test/java/org/apache/maven/index/reader/TestSupport.java
+++ b/indexer-reader/src/test/java/org/apache/maven/index/reader/TestSupport.java
@@ -27,6 +27,8 @@ import org.junit.rules.TestName;
 
 import java.io.File;
 import java.io.IOException;
+import java.nio.file.Files;
+import java.nio.file.Paths;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
@@ -54,9 +56,7 @@ public class TestSupport
     public void setup()
         throws IOException
     {
-        this.tempDir = new File( "target/tmp-" + getClass().getSimpleName() );
-        this.tempDir.delete();
-        this.tempDir.mkdirs();
+        this.tempDir = Files.createTempDirectory( getClass().getSimpleName() + ".temp" ).toFile();
         this.directoryResourceHandlers = new ArrayList<>();
     }
 
@@ -91,10 +91,7 @@ public class TestSupport
     protected File createTempDirectory()
         throws IOException
     {
-        File result = File.createTempFile( testName.getMethodName() + "-dir", "", tempDir );
-        result.delete();
-        result.mkdirs();
-        return result;
+        return Files.createTempDirectory( tempDir.toPath(), testName.getMethodName() + "-dir" ).toFile();
     }
 
     /**