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.11 by tdb, Thu Mar 15 14:30:55 2001 UTC vs.
Revision 1.14 by tdb, Fri Mar 16 16:43:50 2001 UTC

# Line 36 | Line 36 | public class WebFeeder extends Thread {
36       */
37      public final int DEFAULT_AGE = 3600;
38      
39 +    /**
40 +     * The default path seperator, here for convienience
41 +     */
42 +    private final String sep = File.separator;
43 +    
44   //---STATIC METHODS---
45  
46      /**
# Line 69 | Line 74 | public class WebFeeder extends Thread {
74              // work out where things are
75              rootPath = cp.getProperty("WebFeeder", "WebFeeder.rootPath");
76              alertSubDir = cp.getProperty("WebFeeder", "WebFeeder.alertSubDir");
77 <            File alertsDir = new File(rootPath+"/"+alertSubDir);
77 >            File alertsDir = new File(rootPath, alertSubDir);
78              if(deleteContents(alertsDir)) {
79 <                _logger.write(this.toString(), Logger.DEBUG, "Deleted all files and directories from: "+rootPath+"/"+alertSubDir);
79 >                _logger.write(this.toString(), Logger.DEBUG, "Deleted all files and directories from: "+rootPath+sep+alertSubDir);
80              } else {
81 <                _logger.write(this.toString(), Logger.WARNING, "Failed to delete all files and directories from: "+rootPath+"/"+alertSubDir);
81 >                _logger.write(this.toString(), Logger.WARNING, "Failed to delete all files and directories from: "+rootPath+sep+alertSubDir);
82              }
83              // cleanup complete
84          } catch (PropertyNotFoundException e) {
# Line 141 | Line 146 | public class WebFeeder extends Thread {
146                  _logger.write(toString(), Logger.WARNING, "WebFeeder.alertDeleteOlderThan value unavailable using default of " + deleteOlderThan + " seconds");
147              }
148              
149 <            // list the files
150 <            String alertsPath = rootPath+"/"+alertSubDir;
146 <            File alertsDir = new File(alertsPath);
149 >            // list the files and delete as appropriate
150 >            File alertsDir = new File(rootPath, alertSubDir);
151              File[] contents = alertsDir.listFiles();
152              for(int i=0; i < contents.length; i++) {
153                  File hostdir = contents[i];
154 <                File[] hostdirContents = hostdir.listFiles();
155 <                for(int j=0; j < hostdirContents.length; j++) {
156 <                    File alertFile = hostdirContents[j];
157 <                    String filename = alertFile.getName();
158 <                    if(filename.endsWith(Alert.alertLevels[0]) ||
159 <                       filename.endsWith(Alert.alertLevels[Alert.alertLevels.length-1])) {
160 <                        // it ends with either OK or FINAL
161 <                        // ... so we can check it for deletion
162 <                        long lastModified = alertFile.lastModified();
163 <                        long age = System.currentTimeMillis() - lastModified;
164 <                        if(age > ((long) deleteOlderThan*1000)) {
165 <                            // it's also older than our age to delete older than
166 <                            if(!alertFile.delete()) {
167 <                                _logger.write(this.toString(), Logger.WARNING, "Failed to delete the following 'old' alert file: "+alertFile.getPath());
154 >                if(hostdir.isDirectory()) {
155 >                    File[] hostdirContents = hostdir.listFiles();
156 >                    for(int j=0; j < hostdirContents.length; j++) {
157 >                        File alertFile = hostdirContents[j];
158 >                        String filename = alertFile.getName();
159 >                        if(filename.endsWith(Alert.alertLevels[0]) ||
160 >                           filename.endsWith(Alert.alertLevels[Alert.alertLevels.length-1])) {
161 >                            // it ends with either OK or FINAL
162 >                            // ... so we can check it for deletion
163 >                            long lastModified = alertFile.lastModified();
164 >                            long age = System.currentTimeMillis() - lastModified;
165 >                            if(age > ((long) deleteOlderThan*1000)) {
166 >                                // it's also older than our age to delete older than
167 >                                if(!alertFile.delete()) {
168 >                                    _logger.write(this.toString(), Logger.WARNING, "Failed to delete the following 'old' alert file: "+alertFile.getPath());
169 >                                }
170                              }
171                          }
172                      }
173                  }
174              }
169            // check through, deleting those passed the age barrier
175          }
176      }
177      
# Line 200 | Line 205 | public class WebFeeder extends Thread {
205          String data = packet.printAll();
206          String hostname = packet.getParam("packet.attributes.machine_name");
207          // set paths
208 <        String destDir = rootPath+"/"+latestSubDir+"/"+hostname;
209 <        File outDir = new File(destDir);
205 <        String destFile = destDir+"/"+latestFileName;
206 <        File outFile = new File(destFile);
208 >        File outDir = new File(rootPath, latestSubDir+sep+hostname);
209 >        File outFile = new File(rootPath, latestSubDir+sep+hostname+sep+latestFileName);
210          // write the data out
211          writeData(outDir, outFile, data);
212      }
# Line 232 | Line 235 | public class WebFeeder extends Thread {
235          String data = alert.printAll();
236          String hostname = alert.getSource();
237          // set paths
238 <        String destDir = rootPath+"/"+alertSubDir+"/"+hostname;
239 <        File outDir = new File(destDir);
237 <        String destFile = destDir+"/"+alertFileName+"."+String.valueOf(alert.getInitialAlertTime());
238 >        File outDir = new File(rootPath, alertSubDir+sep+hostname);
239 >        String destFile = alertSubDir+sep+hostname+sep+alertFileName+"."+String.valueOf(alert.getInitialAlertTime());
240          File outFile;
241          // check if we're at a special "end case" (OK or FINAL)
242          if(alert.getLevel()==0 || alert.getLevel()==Alert.alertLevels.length-1) {
243 <            File oldFile = new File(destFile);
244 <            outFile = new File(destFile+"."+Alert.alertLevels[alert.getLevel()]);
243 >            File oldFile = new File(rootPath, destFile);
244 >            outFile = new File(rootPath, destFile+"."+Alert.alertLevels[alert.getLevel()]);
245              if(!oldFile.renameTo(outFile)) {
246                  _logger.write(this.toString(), Logger.WARNING, "Failed to rename old file, "+oldFile.getPath()+" to new file, "+outFile.getPath());
247              }
248          } else {
249 <            outFile = new File(destFile);
249 >            outFile = new File(rootPath, destFile);
250          }
251          // write the data out
252          writeData(outDir, outFile, data);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines