View Javadoc
1 /* 2 * Created on 21.mar.2003 3 * 4 * To change this generated comment go to 5 * Window>Preferences>Java>Code Generation>Code and Comments 6 */ 7 package net.sf.panoptes.controller.digester; 8 9 import net.sf.panoptes.controller.MainController; 10 import net.sf.panoptes.model.component.ComponentUtil; 11 import net.sf.panoptes.module.log4j.LogFilter; 12 import net.sf.panoptes.module.log4j.LoggerComponent; 13 import net.sf.panoptes.module.log4j.LoggerRepository; 14 import net.sf.panoptes.model.component.registry.ComponentName; 15 import net.sf.panoptes.model.component.registry.ComponentRegistry; 16 import net.sf.panoptes.model.node.NodeDescriptor; 17 18 import org.apache.commons.digester.Digester; 19 import org.apache.commons.digester.ObjectCreationFactory; 20 import org.apache.log4j.Level; 21 import org.xml.sax.Attributes; 22 23 /*** 24 * @author Dag Liodden 25 * 26 */ 27 public class LoggerFactory implements ObjectCreationFactory { 28 29 private Digester digester; 30 private ComponentRegistry componentRegistry; 31 private LoggerRepository loggerRepository; 32 private MainController mainController; 33 34 public LoggerFactory(MainController mainController, LoggerRepository loggerRepository, ComponentRegistry componentRegistry) { 35 this.loggerRepository = loggerRepository; 36 this.componentRegistry = componentRegistry; 37 this.mainController = mainController; 38 } 39 40 public Object createObject(Attributes attributes) throws Exception { 41 String host = attributes.getValue("host"); 42 String prefix = attributes.getValue("prefix"); 43 Level level = Level.toLevel(attributes.getValue("threshold")); 44 String name = attributes.getValue("name"); 45 String desc = attributes.getValue("description"); 46 47 LoggerComponent logger = new LoggerComponent(); 48 logger.setConfigDescriptor(new NodeDescriptor(name, desc)); 49 logger.setLoggerRepository(loggerRepository); 50 logger.setFilter(new LogFilter(host, prefix, level)); 51 ComponentName componentName = ComponentUtil.createName(logger); 52 componentRegistry.registerComponent(logger, componentName); 53 return logger; 54 } 55 56 /* (non-Javadoc) 57 * @see org.apache.commons.digester.ObjectCreationFactory#getDigester() 58 */ 59 public Digester getDigester() { 60 return digester; 61 } 62 63 /* (non-Javadoc) 64 * @see org.apache.commons.digester.ObjectCreationFactory#setDigester(org.apache.commons.digester.Digester) 65 */ 66 public void setDigester(Digester digester) { 67 this.digester = digester; 68 } 69 }

This page was automatically generated by Maven