1 package net.sf.panoptes.component.jmx.jelly; 2 3 import javax.management.ObjectName ; 4 import javax.management.QueryExp ; 5 6 import net.sf.panoptes.model.node.NodeSupport; 7 import net.sf.panoptes.model.node.NodeDescriptor; 8 import net.sf.panoptes.component.jmx.model.MBeanLinkNode; 9 10 import org.apache.commons.jelly.JellyTagException; 11 import org.apache.commons.jelly.MissingAttributeException; 12 import org.apache.commons.jelly.XMLOutput; 13 14 public class MBeanTag extends NodeTag { 15 16 17 private XMLOutput output; 18 19 private ObjectName objectName = null; 20 private QueryExp queryExp = null; 21 22 25 public void doTag(XMLOutput output) throws JellyTagException { 26 super.doTag(output); 27 28 if (objectName == null) { 30 throw new MissingAttributeException("objectName"); 31 } 32 33 try { 34 NodeSupport node = null; 35 node = createNode(getParentNode(), objectName); 36 NodeDescriptor desc = node.getConfigDescriptor(); 37 desc.setName(getName()); 38 desc.setDescription(getDescription()); 39 doDefault(node); 40 getParentNode().addChild(node); 41 this.output = output; 42 } catch (Exception e) { 43 throw new JellyTagException("Unable to create node", e); 44 } 45 } 46 47 protected NodeSupport createNode(NodeSupport parent, ObjectName objectName) throws Exception { 48 return new MBeanLinkNode(parent, objectName); 49 } 50 51 public void setObjectName(String objectNameString) throws Exception { 52 objectName = new ObjectName (objectNameString); 53 } 54 55 } 56 | Popular Tags |