[MINDEXER-117] ability to set index temp directory for index update

Closes #26
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 38c8d0d..bcab914 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
@@ -186,7 +186,11 @@
                                      final boolean merge, final String remoteIndexFile )
         throws IOException
     {
-        File indexDir = File.createTempFile( remoteIndexFile, ".dir" );
+        if ( updateRequest.getIndexTempDir() != null )
+        {
+            updateRequest.getIndexTempDir().mkdirs();
+        }
+        File indexDir = File.createTempFile( remoteIndexFile, ".dir" , updateRequest.getIndexTempDir() );
         indexDir.delete();
         indexDir.mkdirs();
 
diff --git a/indexer-core/src/main/java/org/apache/maven/index/updater/IndexUpdateRequest.java b/indexer-core/src/main/java/org/apache/maven/index/updater/IndexUpdateRequest.java
index 9b4e7e3..8dfbe9a 100644
--- a/indexer-core/src/main/java/org/apache/maven/index/updater/IndexUpdateRequest.java
+++ b/indexer-core/src/main/java/org/apache/maven/index/updater/IndexUpdateRequest.java
@@ -43,6 +43,8 @@
     
     private boolean incrementalOnly;
 
+    private File indexTempDir;
+
     private File localIndexCacheDir;
 
     private Locker locker;
@@ -153,4 +155,14 @@
     {
         return directoryFactory != null ? directoryFactory : FSDirectoryFactory.DEFAULT;
     }
-}
\ No newline at end of file
+
+    public void setIndexTempDir( File indexTempDir )
+    {
+        this.indexTempDir = indexTempDir;
+    }
+
+    public File getIndexTempDir()
+    {
+        return indexTempDir;
+    }
+}