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.3 by tdb, Thu Mar 8 21:22:28 2001 UTC vs.
Revision 1.6 by tdb, Thu Mar 8 23:26:03 2001 UTC

# Line 53 | Line 53 | public class WebFeeder {
53      // that to a file.
54      
55      public void receiveXMLPacket(XMLPacket packet) {
56 +        String packetType = packet.getParam("packet.attributes.type");
57 +        if(packetType == null || !packetType.equals("data")) {
58 +            // bail out, without warning
59 +            // this is probably a heartbeat or similar
60 +            return;
61 +        }
62          // get config proxy
63          ConfigurationProxy cp = ConfigurationProxy.getInstance();
64          // get file locations
# Line 110 | Line 116 | public class WebFeeder {
116      }
117      
118      public void receiveAlert(Alert alert) {
119 <        // process and save
119 >        // get config proxy
120 >        ConfigurationProxy cp = ConfigurationProxy.getInstance();
121 >        // get file locations
122 >        String rootPath, alertSubDir, alertFileName;
123 >        try {
124 >            rootPath = cp.getProperty("WebFeeder", "WebFeeder.rootPath");
125 >            alertSubDir = cp.getProperty("WebFeeder", "WebFeeder.alertSubDir");
126 >            alertFileName = cp.getProperty("WebFeeder", "WebFeeder.alertFileName");
127 >        } catch (PropertyNotFoundException e) {
128 >            _logger.write(this.toString(), Logger.ERROR, "Failed to get config for Alert Data: "+e);
129 >            // bail out
130 >            return;
131 >        }
132 >        // get raw data
133 >        String data = alert.printAll();
134 >        String hostname = alert.getSource();
135 >        // set paths
136 >        String destDir = rootPath+"/"+alertSubDir+"/"+hostname;
137 >        String destFile = destDir+"/"+alertFileName;
138 >        // try to create directory
139 >        File outDir = new File(destDir);
140 >        if(!outDir.exists()) {
141 >            if(!outDir.mkdirs()) {
142 >                // didn't exist, and we couldn't make it
143 >                _logger.write(this.toString(), Logger.ERROR, "Failed to create directory: "+outDir.getPath());
144 >                // bail out
145 >                return;
146 >            }
147 >        }
148 >        // directory has been made, check file exists
149 >        File outFile = new File(destFile);
150 >        if(!outFile.exists()) {
151 >            try {
152 >                outFile.createNewFile();
153 >            } catch (IOException e) {
154 >                _logger.write(this.toString(), Logger.ERROR, "Failed to create file: "+e);
155 >                // bail out
156 >                return;
157 >            }
158 >        }
159 >        // file should now exist
160 >        if(outFile.canWrite()) {
161 >            PrintWriter out;
162 >            try {
163 >                out = new PrintWriter(new FileWriter(outFile.getPath(), true));
164 >                out.println(data);
165 >                out.close();
166 >            } catch (IOException e) {
167 >                _logger.write(this.toString(), Logger.ERROR, "Failed to write file: "+e);
168 >            }
169 >        }
170 >        else {
171 >            _logger.write(this.toString(), Logger.ERROR, "File not writeable: "+outFile.getPath());
172 >        }
173      }
174      
175      /**

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines