View Javadoc
1 /* 2 * Created on 09.mar.2003 3 * 4 */ 5 package net.sf.panoptes.controller.digester; 6 7 import net.sf.panoptes.model.component.ComponentGroup; 8 import net.sf.panoptes.model.component.registry.ComponentName; 9 import net.sf.panoptes.model.component.registry.ComponentRegistry; 10 import net.sf.panoptes.model.node.SymLinkNode; 11 import net.sf.panoptes.model.node.Node; 12 import net.sf.panoptes.model.node.NodeDescriptor; 13 14 import org.apache.commons.digester.Digester; 15 import org.apache.commons.digester.ObjectCreationFactory; 16 import org.xml.sax.Attributes; 17 18 /*** 19 * Digester factory to create ComponentNodes connected to Components 20 * 21 * @author Dag Liodden 22 * 23 */ 24 25 public class SymLinkFactory implements ObjectCreationFactory { 26 27 private Digester digester; 28 ComponentRegistry componentRegistry; 29 30 public SymLinkFactory(ComponentRegistry componentRegistry) { 31 this.componentRegistry = componentRegistry; 32 } 33 34 /* (non-Javadoc) 35 * @see org.apache.commons.digester.ObjectCreationFactory#createObject(org.xml.sax.Attributes) 36 */ 37 public Object createObject(Attributes attributes) throws Exception { 38 ComponentName componentName = new ComponentName(attributes.getValue("ref-id")); 39 SymLinkNode p = new SymLinkNode(componentRegistry, componentName); 40 ((ComponentGroup) digester.peek()).addChild(p); 41 42 String name = attributes.getValue("name"); 43 String description = attributes.getValue("description"); 44 45 if (name != null) { 46 p.setConfigDescriptor(new NodeDescriptor(name, description)); 47 } 48 49 String iconName = attributes.getValue("icon"); 50 if (iconName != null) p.setIcon(Node.createImage(iconName)); 51 52 String script = attributes.getValue("script"); 53 if (script != null) p.addConfiguratorScript(script); 54 return p; 55 } 56 57 /* (non-Javadoc) 58 * @see org.apache.commons.digester.ObjectCreationFactory#getDigester() 59 */ 60 public Digester getDigester() { 61 return digester; 62 } 63 64 /* (non-Javadoc) 65 * @see org.apache.commons.digester.ObjectCreationFactory#setDigester(org.apache.commons.digester.Digester) 66 */ 67 public void setDigester(Digester digester) { 68 this.digester = digester; 69 } 70 }

This page was automatically generated by Maven