wlu: refined unzip method
diff --git a/1.5/plugins/org.eclipse.epf.common/src/org/eclipse/epf/common/utils/FileUtil.java b/1.5/plugins/org.eclipse.epf.common/src/org/eclipse/epf/common/utils/FileUtil.java
index c64cc2d..f88ee68 100644
--- a/1.5/plugins/org.eclipse.epf.common/src/org/eclipse/epf/common/utils/FileUtil.java
+++ b/1.5/plugins/org.eclipse.epf.common/src/org/eclipse/epf/common/utils/FileUtil.java
@@ -1143,11 +1143,18 @@
 
 			while (entries.hasMoreElements()) {
 				ZipEntry entry = (ZipEntry) entries.nextElement();
+				
+				File tgtFile = new File(tgtDir, entry.getName());
 
-				if (entry.isDirectory()) {
-					(new File(tgtDir, entry.getName())).mkdir();
+				if (entry.isDirectory() && ! tgtFile.exists()) {
+					tgtFile.mkdirs();
+					
 				} else {
-
+					File parentFolder = tgtFile.getParentFile();
+					if (! parentFolder.exists()) {
+						parentFolder.mkdirs();
+					}
+										
 					copyInputStream(zipFile.getInputStream(entry),
 							new BufferedOutputStream(new FileOutputStream(
 									new File(tgtDir, entry.getName()))));