PIG-5417: Replace guava's Files.createTempDir() (xiaoheipangzi via rohini)

git-svn-id: https://svn.apache.org/repos/asf/pig/trunk@1906717 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/CHANGES.txt b/CHANGES.txt
index 483bc95..20cb3fc 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -26,6 +26,8 @@
  
 IMPROVEMENTS
 
+PIG-5417: Replace guava's Files.createTempDir() (xiaoheipangzi via rohini)
+
 PIG-5429: Update hbase version from 2.0.0 to 2.4.14 (knoguchi)
 
 PIG-5428: Update hadoop2,3 and tez to recent versions (knoguchi)
diff --git a/src/org/apache/pig/data/SchemaTupleBackend.java b/src/org/apache/pig/data/SchemaTupleBackend.java
index 2158300..a7111c4 100644
--- a/src/org/apache/pig/data/SchemaTupleBackend.java
+++ b/src/org/apache/pig/data/SchemaTupleBackend.java
@@ -27,6 +27,7 @@
 import java.net.MalformedURLException;
 import java.net.URL;
 import java.net.URLClassLoader;
+import java.nio.file.Files;
 import java.util.Map;
 import java.util.Set;
 
@@ -43,7 +44,6 @@
 
 import com.google.common.collect.Maps;
 import com.google.common.collect.Sets;
-import com.google.common.io.Files;
 
 public class SchemaTupleBackend {
     private static final Log LOG = LogFactory.getLog(SchemaTupleBackend.class);
@@ -81,8 +81,14 @@
             }
             codeDir = new File(jConf.get(PigConstants.LOCAL_CODE_DIR));
         } else {
-            codeDir = Files.createTempDir();
-            codeDir.deleteOnExit();
+            try {
+                File tempDirBase = new File(System.getProperty("java.io.tmpdir"));
+                codeDir = Files.createTempDirectory(
+                              tempDirBase.toPath(), System.currentTimeMillis() + "-").toFile();
+                codeDir.deleteOnExit();
+            } catch (IOException e) {
+                throw new RuntimeException("Unable to create temporary directory", e);
+            }
         }
 
         try {
diff --git a/src/org/apache/pig/data/SchemaTupleFrontend.java b/src/org/apache/pig/data/SchemaTupleFrontend.java
index b38e40d..ed892cc 100644
--- a/src/org/apache/pig/data/SchemaTupleFrontend.java
+++ b/src/org/apache/pig/data/SchemaTupleFrontend.java
@@ -26,6 +26,7 @@
 import java.io.IOException;
 import java.net.URI;
 import java.net.URISyntaxException;
+import java.nio.file.Files;
 import java.util.Map;
 import java.util.Properties;
 import java.util.Set;
@@ -46,7 +47,6 @@
 
 import com.google.common.collect.Maps;
 import com.google.common.collect.Sets;
-import com.google.common.io.Files;
 
 /**
  * This class is to be used at job creation time. It provides the API that lets code
@@ -94,8 +94,14 @@
         private Configuration conf;
 
         public SchemaTupleFrontendGenHelper(PigContext pigContext, Configuration conf) {
-            codeDir = Files.createTempDir();
-            codeDir.deleteOnExit();
+            try {
+                File tempDirBase = new File(System.getProperty("java.io.tmpdir"));
+                codeDir = Files.createTempDirectory(
+                              tempDirBase.toPath(), System.currentTimeMillis() + "-").toFile();
+                codeDir.deleteOnExit();
+            } catch (IOException e) {
+                throw new RuntimeException("Unable to create temporary directory", e);
+            }
             LOG.debug("Temporary directory for generated code created: "
                     + codeDir.getAbsolutePath());
             this.pigContext = pigContext;