ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/i-scream/projects/cms/source/server/uk/org/iscream/cms/server/client/WebFeeder.java
(Generate patch)

Comparing projects/cms/source/server/uk/org/iscream/cms/server/client/WebFeeder.java (file contents):
Revision 1.9 by tdb, Thu Mar 15 04:03:24 2001 UTC vs.
Revision 1.10 by tdb, Thu Mar 15 04:42:13 2001 UTC

# Line 52 | Line 52 | public class WebFeeder {
52              // work out where things are
53              rootPath = cp.getProperty("WebFeeder", "WebFeeder.rootPath");
54              alertSubDir = cp.getProperty("WebFeeder", "WebFeeder.alertSubDir");
55 <            File alerts = new File(rootPath+"/"+alertSubDir);
56 <            File[] contents = alerts.listFiles();
57 <            for(int i=0; i < contents.length; i++) {
58 <                contents[i].delete();
55 >            File alertsDir = new File(rootPath+"/"+alertSubDir);
56 >            if(deleteContents(alertsDir)) {
57 >                _logger.write(this.toString(), Logger.DEBUG, "Deleted all files and directories from: "+rootPath+"/"+alertSubDir);
58 >            } else {
59 >                _logger.write(this.toString(), Logger.WARNING, "Failed to delete all files and directories from: "+rootPath+"/"+alertSubDir);
60              }
61              // cleanup complete
61            _logger.write(this.toString(), Logger.DEBUG, "Deleted "+contents.length+" files or directories from: "+rootPath+"/"+alertSubDir);
62          } catch (PropertyNotFoundException e) {
63              _logger.write(this.toString(), Logger.ERROR, "Failed to cleanup on construction, due to failing to get config for Alert Data: "+e);
64              // just leave it at that
# Line 164 | Line 164 | public class WebFeeder {
164          // check if we're at a special "end case" (OK or FINAL)
165          if(alert.getLevel()==0 || alert.getLevel()==Alert.alertLevels.length-1) {
166              File oldFile = new File(destFile);
167 <            outFile = new File(destFile+Alert.alertLevels[alert.getLevel()]);
167 >            outFile = new File(destFile+"."+Alert.alertLevels[alert.getLevel()]);
168              if(!oldFile.renameTo(outFile)) {
169                  _logger.write(this.toString(), Logger.WARNING, "Failed to rename old file, "+oldFile.getPath()+" to new file, "+outFile.getPath());
170              }
# Line 223 | Line 223 | public class WebFeeder {
223      }
224  
225   //---PRIVATE METHODS---
226 <
226 >    
227 >    /**
228 >     * Iterates through dir (a directory) and deletes
229 >     * all files and subdirectories.
230 >     *
231 >     * @param dir the directory to clear
232 >     * @return true if it succeeded
233 >     */
234 >    private boolean deleteContents(File dir) {
235 >        boolean success = true;
236 >        if(dir.isDirectory()) {
237 >            // is a directory
238 >            File[] contents = dir.listFiles();
239 >            for(int i=0; i < contents.length; i++) {
240 >                File sub = contents[i];
241 >                if(sub.isDirectory()) {
242 >                    // lets get recursive
243 >                    success = success & deleteContents(sub);
244 >                }
245 >                // it's a file or empty dir
246 >                success = success & sub.delete();
247 >            }
248 >        }
249 >        else {
250 >            // not a directory?
251 >            success=false;
252 >        }
253 >        return success;
254 >    }
255 >        
256   //---ACCESSOR/MUTATOR METHODS---
257  
258   //---ATTRIBUTES---

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines