1 package com.protomatter.syslog.xml; 2 3 52 53 import java.io.*; 54 import java.net.*; 55 import java.util.*; 56 import java.text.*; 57 58 import com.protomatter.xml.*; 59 import com.protomatter.syslog.*; 60 import org.jdom.*; 61 62 65 public class LengthRolloverLog_Helper 66 extends BasicLogger_Helper 67 { 68 146 public void configure(Object o, Element e) 147 throws SyslogInitException 148 { 149 super.configure(o, e); 150 151 LengthRolloverLog log = (LengthRolloverLog)o; 152 153 String tmp = e.getChildTextTrim("baseName", e.getNamespace()); 154 if (tmp != null) 155 { 156 log.setBasename(tmp); 157 } 158 else 159 { 160 throw new IllegalArgumentException (MessageFormat.format( 161 Syslog.getResourceString(MessageConstants.XML_MUST_SPECIFY_PARAM_MESSAGE), 162 new Object [] { "baseName" } )); 163 } 164 165 tmp = e.getChildTextTrim("append", e.getNamespace()); 166 log.setAppend("true".equalsIgnoreCase(tmp)); 167 168 tmp = e.getChildTextTrim("autoFlush", e.getNamespace()); 169 log.setAutoFlush("true".equalsIgnoreCase(tmp)); 170 171 log.setExtension(e.getChildTextTrim("extension", e.getNamespace())); 172 173 tmp = e.getChildTextTrim("rollSize", e.getNamespace()); 174 if (tmp != null) 175 { 176 try 177 { 178 log.setRollLength(Integer.parseInt(tmp)); 179 } 180 catch (NumberFormatException x) 181 { 182 throw new IllegalArgumentException (MessageFormat.format( 183 Syslog.getResourceString(MessageConstants.MUST_BE_INTEGER_PARAM_MESSAGE), 184 new Object [] { "rollSize" } )); 185 } 186 } 187 188 log.rollover(); 189 } 190 191 public Element getConfiguration(Object o, Element element) 192 { 193 Element e = super.getConfiguration(o, element); 194 195 LengthRolloverLog log = (LengthRolloverLog)o; 196 197 Element file = new Element("baseName"); 198 file.setText(log.getBasename()); 199 e.getChildren().add(file); 200 201 Element ext = new Element("extension"); 202 ext.setText(log.getExtension()); 203 e.getChildren().add(ext); 204 205 Element append = new Element("append"); 206 append.setText(String.valueOf(log.getAppend())); 207 e.getChildren().add(append); 208 209 Element af = new Element("autoFlush"); 210 af.setText(String.valueOf(log.getAutoFlush())); 211 e.getChildren().add(af); 212 213 Element roll = new Element("rollSize"); 214 roll.setText(String.valueOf(log.getRollLength())); 215 e.getChildren().add(roll); 216 217 return e; 218 } 219 } 220 | Popular Tags |