KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > contineo > core > doxter > filesystem > FSStorer


1 /*
2  * Created on 17.08.2004
3  */

4 package org.contineo.core.doxter.filesystem;
5
6 import java.io.InputStream JavaDoc;
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 /**
18  * This class is an implementation of the Storer interface to persist documents in
19  * the filesystem.
20  * @author Michael Scholz
21  */

22 public class FSStorer implements Storer {
23     
24     private Logger logger;
25
26     /**
27      *
28      */

29     public FSStorer() {
30         logger = LoggingManager.getLogger(org.contineo.core.FileBean.class);
31     }
32
33     /* (non-Javadoc)
34      * @see org.contineo.core.doxter.Storer#store(java.io.InputStream, java.lang.String, java.lang.String)
35      */

36     public boolean store(InputStream JavaDoc stream, String JavaDoc menupath, String JavaDoc filename, String JavaDoc version) {
37         try {
38             SettingConfigurator settings = new SettingConfigurator();
39             String JavaDoc path = settings.getValue("docdir");
40             path += menupath + "/";
41             FileBean.createDir(path);
42             FileBean.writeFile(stream, path + filename);
43             //File f = new File(path + filename);
44
BackupConfigurator conf = new BackupConfigurator();
45             if (conf.isEnabled()) {
46                 String JavaDoc backupPath = conf.getLocation();
47                 // store a backup of the document
48
FileBean.copyDir(path, backupPath + menupath);
49             }
50         } catch (Exception JavaDoc e) {
51             if (logger.isEnabledFor(Level.ERROR))
52                 logger.error(e.getMessage());
53             return false;
54         }
55         return true;
56     }
57
58     /* (non-Javadoc)
59      * @see org.contineo.core.doxter.Storer#delete(java.lang.String, java.lang.String)
60      */

61     public boolean delete(String JavaDoc menupath) {
62         SettingConfigurator settings = new SettingConfigurator();
63         String JavaDoc path = settings.getValue("docdir");
64         BackupConfigurator backup = new BackupConfigurator();
65         String JavaDoc 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 JavaDoc path = settings.getValue("docdir");
76         BackupConfigurator backup = new BackupConfigurator();
77         String JavaDoc 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