1 4 package org.contineo.core.doxter.filesystem; 5 6 import java.io.InputStream ; 7 8 import org.apache.log4j.Level; 9 import org.apache.log4j.Logger; 10 import org.contineo.core.FileBean; 11 import org.contineo.core.LoggingManager; 12 import org.contineo.core.config.BackupConfigurator; 13 import org.contineo.core.config.SettingConfigurator; 14 import org.contineo.core.doxter.Storer; 15 16 17 22 public class FSStorer implements Storer { 23 24 private Logger logger; 25 26 29 public FSStorer() { 30 logger = LoggingManager.getLogger(org.contineo.core.FileBean.class); 31 } 32 33 36 public boolean store(InputStream stream, String menupath, String filename, String version) { 37 try { 38 SettingConfigurator settings = new SettingConfigurator(); 39 String path = settings.getValue("docdir"); 40 path += menupath + "/"; 41 FileBean.createDir(path); 42 FileBean.writeFile(stream, path + filename); 43 BackupConfigurator conf = new BackupConfigurator(); 45 if (conf.isEnabled()) { 46 String backupPath = conf.getLocation(); 47 FileBean.copyDir(path, backupPath + menupath); 49 } 50 } catch (Exception e) { 51 if (logger.isEnabledFor(Level.ERROR)) 52 logger.error(e.getMessage()); 53 return false; 54 } 55 return true; 56 } 57 58 61 public boolean delete(String menupath) { 62 SettingConfigurator settings = new SettingConfigurator(); 63 String path = settings.getValue("docdir"); 64 BackupConfigurator backup = new BackupConfigurator(); 65 String backupPath = backup.getLocation(); 66 boolean delOrg = FileBean.deleteDir(path + menupath); 67 boolean delBac = true; 68 if (backup.isEnabled()) 69 delBac = FileBean.deleteDir(backupPath + menupath); 70 return (delOrg && delBac); 71 } 72 73 public boolean restoreAll() { 74 SettingConfigurator settings = new SettingConfigurator(); 75 String path = settings.getValue("docdir"); 76 BackupConfigurator backup = new BackupConfigurator(); 77 String backupPath = backup.getLocation(); 78 boolean deleted = FileBean.deleteDir(path); 79 if (deleted) { 80 boolean copied = FileBean.copyDir(backupPath, path); 81 if (copied) 82 return true; 83 else 84 return false; 85 } else 86 return false; 87 } 88 } 89 | Popular Tags |