| 1 package org.contineo.core.transfer; 2 3 import java.io.File ; 4 5 import org.apache.log4j.Level; 6 import org.apache.log4j.Logger; 7 import org.contineo.admin.Menu; 8 import org.contineo.core.FileBean; 9 import org.contineo.core.LoggingManager; 10 import org.contineo.core.ZipBean; 11 import org.contineo.core.config.SettingConfigurator; 12 import org.contineo.documan.CheckinDocUtil; 13 14 18 public class ZipImport { 19 20 private SettingConfigurator settings; 21 private String username; 22 private Logger logger; 23 24 public ZipImport() { 25 settings = new SettingConfigurator(); 26 username = ""; 27 logger = LoggingManager.getLogger(this.getClass()); 28 } 29 30 public void process(String zipsource, Menu parent, String user) { 31 username = user; 32 String userpath = settings.getValue("userdir"); 33 if (!userpath.endsWith(File.pathSeparator)) 34 userpath += "/"; 35 userpath += username + "/unzip"; 36 if (FileBean.exists(userpath)) 37 FileBean.deleteDir(userpath); 38 FileBean.createDir(userpath); 39 ZipBean.unzip(zipsource, userpath); 40 File file = new File (userpath); 41 File [] files = file.listFiles(); 42 for (int i=0; i<files.length; i++) 43 addEntry(files[i], parent); 44 FileBean.deleteDir(userpath); 45 } 46 47 52 protected void addEntry(File file, Menu parent) { 53 try { 54 String menuName = file.getName(); 55 if (file.isDirectory()) { Menu menu = CheckinDocUtil.createFolder(parent, menuName); 57 File files[] = file.listFiles(); 58 for (int i=0; i<files.length; i++) 59 addEntry(files[i], menu); 60 } else { CheckinDocUtil.createDocument(file, parent, username); 62 } 63 } catch (Exception e) { 64 if (logger.isEnabledFor(Level.ERROR)) 65 logger.error(e.getMessage()); 66 } 67 } 68 } | Popular Tags |