YANG translator error handler framework and UT fixes.

Change-Id: Icb4d65540ed7ea8d6ecbd8458d44d7d86df969fa
diff --git a/utils/yangutils/src/main/java/org/onosproject/yangutils/translator/tojava/TempJavaCodeFragmentFiles.java b/utils/yangutils/src/main/java/org/onosproject/yangutils/translator/tojava/TempJavaCodeFragmentFiles.java
index 6396c9c..0c7666c 100644
--- a/utils/yangutils/src/main/java/org/onosproject/yangutils/translator/tojava/TempJavaCodeFragmentFiles.java
+++ b/utils/yangutils/src/main/java/org/onosproject/yangutils/translator/tojava/TempJavaCodeFragmentFiles.java
@@ -26,12 +26,7 @@
 import org.onosproject.yangutils.datamodel.YangLeavesHolder;
 import org.onosproject.yangutils.datamodel.YangNode;
 import org.onosproject.yangutils.datamodel.YangTypeDef;
-import org.onosproject.yangutils.translator.tojava.utils.JavaCodeSnippetGen;
-import org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax;
-import org.onosproject.yangutils.utils.UtilConstants;
-import org.onosproject.yangutils.utils.io.impl.FileSystemUtil;
-import org.onosproject.yangutils.utils.io.impl.JavaDocGen;
-import org.onosproject.yangutils.utils.io.impl.JavaDocGen.JavaDocType;
+import org.onosproject.yangutils.translator.exception.TranslatorException;
 
 import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.BUILDER_CLASS_MASK;
 import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.BUILDER_INTERFACE_MASK;
@@ -52,13 +47,18 @@
 import static org.onosproject.yangutils.translator.tojava.JavaAttributeInfo.getAttributeInfoOfTypeDef;
 import static org.onosproject.yangutils.translator.tojava.JavaAttributeInfo.getCurNodeAsAttributeInParent;
 import static org.onosproject.yangutils.translator.tojava.utils.JavaCodeSnippetGen.getJavaAttributeDefination;
+import static org.onosproject.yangutils.translator.tojava.utils.JavaCodeSnippetGen.getJavaClassDefClose;
 import static org.onosproject.yangutils.translator.tojava.utils.JavaFileGenerator.generateBuilderClassFile;
 import static org.onosproject.yangutils.translator.tojava.utils.JavaFileGenerator.generateBuilderInterfaceFile;
 import static org.onosproject.yangutils.translator.tojava.utils.JavaFileGenerator.generateImplClassFile;
 import static org.onosproject.yangutils.translator.tojava.utils.JavaFileGenerator.generateInterfaceFile;
 import static org.onosproject.yangutils.translator.tojava.utils.JavaFileGenerator.generateTypeDefClassFile;
 import static org.onosproject.yangutils.translator.tojava.utils.JavaFileGeneratorUtils.getFileObject;
+import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getCamelCase;
+import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getCaptialCase;
+import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getPackageDirPathFromJavaJPackage;
 import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getParentNodeInGenCode;
+import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getSmallCase;
 import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getBuildString;
 import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getConstructor;
 import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getDefaultConstructorString;
@@ -83,8 +83,11 @@
 import static org.onosproject.yangutils.utils.UtilConstants.PERIOD;
 import static org.onosproject.yangutils.utils.UtilConstants.SLASH;
 import static org.onosproject.yangutils.utils.io.impl.FileSystemUtil.createPackage;
+import static org.onosproject.yangutils.utils.io.impl.FileSystemUtil.readAppendFile;
+import static org.onosproject.yangutils.utils.io.impl.FileSystemUtil.updateFileHandle;
 import static org.onosproject.yangutils.utils.io.impl.JavaDocGen.getJavaDoc;
 import static org.onosproject.yangutils.utils.io.impl.JavaDocGen.JavaDocType.GETTER_METHOD;
+import static org.onosproject.yangutils.utils.io.impl.JavaDocGen.JavaDocType.OF_METHOD;
 import static org.onosproject.yangutils.utils.io.impl.JavaDocGen.JavaDocType.TYPE_DEF_CONSTRUCTOR;
 import static org.onosproject.yangutils.utils.io.impl.JavaDocGen.JavaDocType.TYPE_DEF_SETTER_METHOD;
 import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.clean;
@@ -389,7 +392,6 @@
         if ((generatedTempFiles & TO_STRING_IMPL_MASK) != 0) {
             setToStringImplTempFileHandle(getTemporaryFileHandle(TO_STRING_METHOD_FILE_NAME));
         }
-
     }
 
     /**
@@ -398,7 +400,6 @@
      * @return java file handle for interface file
      */
     public File getInterfaceJavaFileHandle() {
-
         return interfaceJavaFileHandle;
     }
 
@@ -408,7 +409,6 @@
      * @param interfaceJavaFileHandle java file handle
      */
     public void setInterfaceJavaFileHandle(File interfaceJavaFileHandle) {
-
         this.interfaceJavaFileHandle = interfaceJavaFileHandle;
     }
 
@@ -418,7 +418,6 @@
      * @return java file handle for builder interface file
      */
     public File getBuilderInterfaceJavaFileHandle() {
-
         return builderInterfaceJavaFileHandle;
     }
 
@@ -428,7 +427,6 @@
      * @param builderInterfaceJavaFileHandle java file handle
      */
     public void setBuilderInterfaceJavaFileHandle(File builderInterfaceJavaFileHandle) {
-
         this.builderInterfaceJavaFileHandle = builderInterfaceJavaFileHandle;
     }
 
@@ -438,7 +436,6 @@
      * @return java file handle for builder class file
      */
     public File getBuilderClassJavaFileHandle() {
-
         return builderClassJavaFileHandle;
     }
 
@@ -448,7 +445,6 @@
      * @param builderClassJavaFileHandle java file handle
      */
     public void setBuilderClassJavaFileHandle(File builderClassJavaFileHandle) {
-
         this.builderClassJavaFileHandle = builderClassJavaFileHandle;
     }
 
@@ -458,7 +454,6 @@
      * @return java file handle for impl class file
      */
     public File getImplClassJavaFileHandle() {
-
         return implClassJavaFileHandle;
     }
 
@@ -468,7 +463,6 @@
      * @param implClassJavaFileHandle java file handle
      */
     public void setImplClassJavaFileHandle(File implClassJavaFileHandle) {
-
         this.implClassJavaFileHandle = implClassJavaFileHandle;
     }
 
@@ -478,7 +472,6 @@
      * @return java file handle for typedef class file
      */
     public File getTypedefClassJavaFileHandle() {
-
         return typedefClassJavaFileHandle;
     }
 
@@ -488,7 +481,6 @@
      * @param typedefClassJavaFileHandle java file handle
      */
     public void setTypedefClassJavaFileHandle(File typedefClassJavaFileHandle) {
-
         this.typedefClassJavaFileHandle = typedefClassJavaFileHandle;
     }
 
@@ -498,7 +490,6 @@
      * @return temporary file handle
      */
     public File getAttributesTempFileHandle() {
-
         return attributesTempFileHandle;
     }
 
@@ -508,7 +499,6 @@
      * @param attributeForClass file handle for attribute
      */
     public void setAttributesTempFileHandle(File attributeForClass) {
-
         attributesTempFileHandle = attributeForClass;
     }
 
@@ -518,7 +508,6 @@
      * @return temporary file handle
      */
     public File getGetterInterfaceTempFileHandle() {
-
         return getterInterfaceTempFileHandle;
     }
 
@@ -528,7 +517,6 @@
      * @param getterForInterface file handle for to getter method
      */
     public void setGetterInterfaceTempFileHandle(File getterForInterface) {
-
         getterInterfaceTempFileHandle = getterForInterface;
     }
 
@@ -538,7 +526,6 @@
      * @return temporary file handle
      */
     public File getGetterImplTempFileHandle() {
-
         return getterImplTempFileHandle;
     }
 
@@ -548,7 +535,6 @@
      * @param getterImpl file handle for to getter method's impl
      */
     public void setGetterImplTempFileHandle(File getterImpl) {
-
         getterImplTempFileHandle = getterImpl;
     }
 
@@ -558,7 +544,6 @@
      * @return temporary file handle
      */
     public File getSetterInterfaceTempFileHandle() {
-
         return setterInterfaceTempFileHandle;
     }
 
@@ -568,7 +553,6 @@
      * @param setterForInterface file handle for to setter method
      */
     public void setSetterInterfaceTempFileHandle(File setterForInterface) {
-
         setterInterfaceTempFileHandle = setterForInterface;
     }
 
@@ -578,7 +562,6 @@
      * @return temporary file handle
      */
     public File getSetterImplTempFileHandle() {
-
         return setterImplTempFileHandle;
     }
 
@@ -588,7 +571,6 @@
      * @param setterImpl file handle for to setter method's implementation class
      */
     public void setSetterImplTempFileHandle(File setterImpl) {
-
         setterImplTempFileHandle = setterImpl;
     }
 
@@ -598,7 +580,6 @@
      * @return temporary file handle
      */
     public File getConstructorImplTempFileHandle() {
-
         return constructorImplTempFileHandle;
     }
 
@@ -608,7 +589,6 @@
      * @param constructor file handle for to constructor
      */
     public void setConstructorImplTempFileHandle(File constructor) {
-
         constructorImplTempFileHandle = constructor;
     }
 
@@ -618,7 +598,6 @@
      * @return temporary file handle
      */
     public File getHashCodeImplTempFileHandle() {
-
         return hashCodeImplTempFileHandle;
     }
 
@@ -628,7 +607,6 @@
      * @param hashCodeMethod file handle for hash code method
      */
     public void setHashCodeImplTempFileHandle(File hashCodeMethod) {
-
         hashCodeImplTempFileHandle = hashCodeMethod;
     }
 
@@ -638,7 +616,6 @@
      * @return temporary file handle
      */
     public File getEqualsImplTempFileHandle() {
-
         return equalsImplTempFileHandle;
     }
 
@@ -648,7 +625,6 @@
      * @param equalsMethod file handle for to equals method
      */
     public void setEqualsImplTempFileHandle(File equalsMethod) {
-
         equalsImplTempFileHandle = equalsMethod;
     }
 
@@ -658,7 +634,6 @@
      * @return temporary file handle
      */
     public File getToStringImplTempFileHandle() {
-
         return toStringImplTempFileHandle;
     }
 
@@ -668,7 +643,6 @@
      * @param toStringMethod file handle for to string method
      */
     public void setToStringImplTempFileHandle(File toStringMethod) {
-
         toStringImplTempFileHandle = toStringMethod;
     }
 
@@ -678,7 +652,6 @@
      * @return java attribute info
      */
     public JavaAttributeInfo getNewAttrInfo() {
-
         return newAttrInfo;
     }
 
@@ -701,7 +674,6 @@
      * @return current YANG node
      */
     public YangNode getCurYangNode() {
-
         return curYangNode;
     }
 
@@ -711,7 +683,6 @@
      * @param curYangNode YANG node
      */
     public void setCurYangNode(YangNode curYangNode) {
-
         this.curYangNode = curYangNode;
     }
 
@@ -722,7 +693,6 @@
      * @throws IOException when fails to append to temporary file
      */
     public void addAttribute(JavaAttributeInfo attr) throws IOException {
-
         appendToFile(getAttributesTempFileHandle(), parseAttribute(attr) + FOUR_SPACE_INDENTATION);
     }
 
@@ -733,7 +703,6 @@
      * @throws IOException when fails to append to temporary file
      */
     public void addGetterForInterface(JavaAttributeInfo attr) throws IOException {
-
         appendToFile(getGetterInterfaceTempFileHandle(), getGetterString(attr) + NEW_LINE);
     }
 
@@ -761,7 +730,6 @@
      * @throws IOException when fails to append to temporary file
      */
     public void addSetterForInterface(JavaAttributeInfo attr) throws IOException {
-
         appendToFile(getSetterInterfaceTempFileHandle(),
                 getSetterString(attr, generatedJavaClassName) + NEW_LINE);
     }
@@ -773,7 +741,6 @@
      * @throws IOException when fails to append to temporary file
      */
     public void addSetterImpl(JavaAttributeInfo attr) throws IOException {
-
         appendToFile(getSetterImplTempFileHandle(),
                 getOverRideString() + getSetterForClass(attr, generatedJavaClassName) + NEW_LINE);
     }
@@ -785,7 +752,6 @@
      * @throws IOException when fails to append to temporary file
      */
     public String addBuildMethodForInterface() throws IOException {
-
         return parseBuilderInterfaceBuildMethodString(generatedJavaClassName);
     }
 
@@ -796,7 +762,6 @@
      * @throws IOException when fails to append to temporary file
      */
     public String addBuildMethodImpl() throws IOException {
-
         return getBuildString(generatedJavaClassName) + NEW_LINE;
     }
 
@@ -807,7 +772,6 @@
      * @throws IOException when fails to append to temporary file
      */
     public void addConstructor(JavaAttributeInfo attr) throws IOException {
-
         appendToFile(getConstructorImplTempFileHandle(), getConstructor(generatedJavaClassName, attr));
     }
 
@@ -820,7 +784,6 @@
      * @throws IOException when fails to append to file
      */
     public String addDefaultConstructor(String modifier, String toAppend) throws IOException {
-
         return NEW_LINE + getDefaultConstructorString(generatedJavaClassName + toAppend, modifier);
     }
 
@@ -831,7 +794,6 @@
      * @throws IOException when fails to append to file
      */
     public String addTypeDefConstructor() throws IOException {
-
         return NEW_LINE + getJavaDoc(TYPE_DEF_CONSTRUCTOR, generatedJavaClassName, false)
                 + getTypeDefConstructor(newAttrInfo, generatedJavaClassName) + NEW_LINE;
     }
@@ -843,7 +805,6 @@
      * @throws IOException when fails to append to file
      */
     public String addTypeDefsSetter() throws IOException {
-
         return getJavaDoc(TYPE_DEF_SETTER_METHOD, generatedJavaClassName, false) + getSetterForTypeDefClass(newAttrInfo)
                 + NEW_LINE;
     }
@@ -855,8 +816,7 @@
      * @throws IOException when fails to append to file
      */
     public String addOfMethod() throws IOException {
-
-        return JavaDocGen.getJavaDoc(JavaDocType.OF_METHOD, generatedJavaClassName, false)
+        return getJavaDoc(OF_METHOD, generatedJavaClassName, false)
                 + getOfMethod(generatedJavaClassName, newAttrInfo);
     }
 
@@ -867,7 +827,6 @@
      * @throws IOException when fails to append to temporary file
      */
     public void addHashCodeMethod(JavaAttributeInfo attr) throws IOException {
-
         appendToFile(getHashCodeImplTempFileHandle(), getHashCodeMethod(attr) + NEW_LINE);
     }
 
@@ -878,7 +837,6 @@
      * @throws IOException when fails to append to temporary file
      */
     public void addEqualsMethod(JavaAttributeInfo attr) throws IOException {
-
         appendToFile(getEqualsImplTempFileHandle(), getEqualsMethod(attr) + NEW_LINE);
     }
 
@@ -889,7 +847,6 @@
      * @throws IOException when fails to append to temporary file
      */
     public void addToStringMethod(JavaAttributeInfo attr) throws IOException {
-
         appendToFile(getToStringImplTempFileHandle(), getToStringMethod(attr) + NEW_LINE);
     }
 
@@ -923,9 +880,7 @@
      * @throws IOException when fails to create new file handle
      */
     private File getJavaFileHandle(String fileName) throws IOException {
-
         createPackage(absoluteDirPath, getJavaFileInfo().getJavaName());
-
         return getFileObject(getDirPath(), fileName, JAVA_FILE_EXTENSION, getJavaFileInfo());
     }
 
@@ -940,7 +895,7 @@
 
         String path = getTempDirPath();
         if (new File(path + file.getName()).exists()) {
-            return FileSystemUtil.readAppendFile(path + file.getName(), EMPTY_STRING);
+            return readAppendFile(path + file.getName(), EMPTY_STRING);
         } else {
             throw new IOException("Unable to get data from the given "
                     + file.getName() + " file for " + generatedJavaClassName + PERIOD);
@@ -953,9 +908,8 @@
      * @return directory path
      */
     private String getTempDirPath() {
-
-        return absoluteDirPath.replace(PERIOD, UtilConstants.SLASH)
-                + SLASH + generatedJavaClassName + TEMP_FOLDER_NAME_SUFIX + SLASH;
+        return getPackageDirPathFromJavaJPackage(absoluteDirPath) + SLASH + generatedJavaClassName
+                + TEMP_FOLDER_NAME_SUFIX + SLASH;
     }
 
     /**
@@ -969,8 +923,7 @@
         /*
          * TODO: check if this utility needs to be called or move to the caller
          */
-        String attributeName = JavaIdentifierSyntax
-                .getCamelCase(JavaIdentifierSyntax.getSmallCase(attr.getAttributeName()));
+        String attributeName = getCamelCase(getSmallCase(attr.getAttributeName()));
         if (attr.isQualifiedName()) {
             return getJavaAttributeDefination(attr.getImportInfo().getPkgInfo(), attr.getImportInfo().getClassInfo(),
                     attributeName, attr.isListAttr());
@@ -1009,13 +962,13 @@
 
         YangNode parent = getParentNodeInGenCode(curNode);
         if (!(parent instanceof JavaCodeGenerator)) {
-            throw new RuntimeException("missing parent node to contain current node info in generated file");
+            throw new TranslatorException("missing parent node to contain current node info in generated file");
         }
         JavaAttributeInfo javaAttributeInfo = getCurNodeAsAttributeInParent(curNode,
                 parent, isList);
 
         if (!(parent instanceof HasTempJavaCodeFragmentFiles)) {
-            throw new RuntimeException("missing parent temp file handle");
+            throw new TranslatorException("missing parent temp file handle");
         }
         ((HasTempJavaCodeFragmentFiles) parent)
                 .getTempJavaCodeFragmentFiles()
@@ -1060,7 +1013,7 @@
              */
             if (listOfLeafList.size() != 0) {
                 if (!(curNode instanceof HasJavaImportData)) {
-                    throw new RuntimeException("missing import info in current data model node");
+                    throw new TranslatorException("missing import info in current data model node");
 
                 }
                 ((HasJavaImportData) curNode).getJavaImportData()
@@ -1164,7 +1117,6 @@
      * @return java file info
      */
     private JavaFileInfo getJavaFileInfo() {
-
         return ((HasJavaFileInfo) getCurYangNode()).getJavaFileInfo();
     }
 
@@ -1175,8 +1127,7 @@
      * @return java class name
      */
     private String getJavaClassName(String suffix) {
-
-        return JavaIdentifierSyntax.getCaptialCase(getJavaFileInfo().getJavaName()) + suffix;
+        return getCaptialCase(getJavaFileInfo().getJavaName()) + suffix;
     }
 
     /**
@@ -1185,7 +1136,6 @@
      * @return directory path
      */
     private String getDirPath() {
-
         return getJavaFileInfo().getPackageFilePath();
     }
 
@@ -1225,7 +1175,7 @@
              * Append builder interface file to interface file and close it.
              */
             mergeJavaFiles(getBuilderInterfaceJavaFileHandle(), getInterfaceJavaFileHandle());
-            insertDataIntoJavaFile(getInterfaceJavaFileHandle(), JavaCodeSnippetGen.getJavaClassDefClose());
+            insertDataIntoJavaFile(getInterfaceJavaFileHandle(), getJavaClassDefClose());
 
         }
 
@@ -1254,8 +1204,7 @@
              * Append impl class to builder class and close it.
              */
             mergeJavaFiles(getImplClassJavaFileHandle(), getBuilderClassJavaFileHandle());
-            insertDataIntoJavaFile(getBuilderClassJavaFileHandle(), JavaCodeSnippetGen.getJavaClassDefClose());
-
+            insertDataIntoJavaFile(getBuilderClassJavaFileHandle(), getJavaClassDefClose());
         }
 
         /**
@@ -1269,48 +1218,72 @@
         /**
          * Close all the file handles.
          */
-        close();
+        close(false);
     }
 
     /**
      * Removes all temporary file handles.
      *
+     * @param isErrorOccurred when translator fails to generate java files we need to close
+     * all open file handles include temporary files and java files.
+     *
      * @throws IOException when failed to delete the temporary files
      */
-    private void close() throws IOException {
+    public void close(boolean isErrorOccurred) throws IOException {
 
+        boolean isError = isErrorOccurred;
+        /**
+         * Close all java file handles and when error occurs delete the files.
+         */
         if ((generatedJavaFiles & INTERFACE_MASK) != 0) {
-            closeFile(getInterfaceJavaFileHandle(), false);
+            closeFile(getInterfaceJavaFileHandle(), isError);
         }
-
         if ((generatedJavaFiles & BUILDER_CLASS_MASK) != 0) {
-            closeFile(getBuilderClassJavaFileHandle(), false);
+            closeFile(getBuilderClassJavaFileHandle(), isError);
         }
-
         if ((generatedJavaFiles & BUILDER_INTERFACE_MASK) != 0) {
             closeFile(getBuilderInterfaceJavaFileHandle(), true);
         }
-
         if ((generatedJavaFiles & IMPL_CLASS_MASK) != 0) {
             closeFile(getImplClassJavaFileHandle(), true);
         }
-
         if ((generatedJavaFiles & GENERATE_TYPEDEF_CLASS) != 0) {
-            closeFile(getTypedefClassJavaFileHandle(), false);
+            closeFile(getTypedefClassJavaFileHandle(), isError);
         }
 
         /**
          * Close all temporary file handles and delete the files.
          */
-        closeFile(getGetterInterfaceTempFileHandle(), true);
-        closeFile(getGetterImplTempFileHandle(), true);
-        closeFile(getSetterInterfaceTempFileHandle(), true);
-        closeFile(getSetterImplTempFileHandle(), true);
-        closeFile(getConstructorImplTempFileHandle(), true);
-        closeFile(getAttributesTempFileHandle(), true);
-        closeFile(getHashCodeImplTempFileHandle(), true);
-        closeFile(getToStringImplTempFileHandle(), true);
-        closeFile(getEqualsImplTempFileHandle(), true);
+        if ((generatedTempFiles & GETTER_FOR_INTERFACE_MASK) != 0) {
+            closeFile(getGetterInterfaceTempFileHandle(), true);
+        }
+        if ((generatedTempFiles & GETTER_FOR_CLASS_MASK) != 0) {
+            closeFile(getGetterImplTempFileHandle(), true);
+        }
+        if ((generatedTempFiles & SETTER_FOR_INTERFACE_MASK) != 0) {
+            closeFile(getSetterInterfaceTempFileHandle(), true);
+        }
+        if ((generatedTempFiles & SETTER_FOR_CLASS_MASK) != 0) {
+            closeFile(getSetterImplTempFileHandle(), true);
+        }
+        if ((generatedTempFiles & CONSTRUCTOR_IMPL_MASK) != 0) {
+            closeFile(getConstructorImplTempFileHandle(), true);
+        }
+        if ((generatedTempFiles & ATTRIBUTES_MASK) != 0) {
+            closeFile(getAttributesTempFileHandle(), true);
+        }
+        if ((generatedTempFiles & HASH_CODE_IMPL_MASK) != 0) {
+            closeFile(getHashCodeImplTempFileHandle(), true);
+        }
+        if ((generatedTempFiles & TO_STRING_IMPL_MASK) != 0) {
+            closeFile(getToStringImplTempFileHandle(), true);
+        }
+        if ((generatedTempFiles & EQUALS_IMPL_MASK) != 0) {
+            closeFile(getEqualsImplTempFileHandle(), true);
+        }
+
+        clean(getTempDirPath());
+        generatedTempFiles = 0;
     }
 
     /**
@@ -1321,12 +1294,11 @@
      */
     private void closeFile(File file, boolean toBeDeleted) throws IOException {
 
-        if (file.exists()) {
-            FileSystemUtil.updateFileHandle(file, null, true);
+        if (file != null) {
+            updateFileHandle(file, null, true);
             if (toBeDeleted) {
                 file.delete();
             }
-            clean(getTempDirPath());
         }
     }
 }