1 22 package org.snmp4j.agent.mo.jmx.types; 23 24 import javax.management.ObjectName ; 25 import javax.management.MBeanServerConnection ; 26 import javax.management.*; 27 import javax.management.*; 28 import javax.management.*; 29 30 public class MBeanProxyType extends TypedAttribute { 31 32 private ObjectName objectName; 33 private MBeanServerConnection server; 34 private String operationName; 35 private TypedAttribute proxy; 36 37 public MBeanProxyType(MBeanServerConnection server, 38 ObjectName name, 39 Class type, 40 String operationName, TypedAttribute proxy) { 41 super(proxy.getName(), type); 42 this.server = server; 43 this.objectName = name; 44 this.operationName = operationName; 45 this.proxy = proxy; 46 } 47 48 public Object transformFromNative(Object nativeValue, ObjectName objectName) { 49 Object param = proxy.transformFromNative(nativeValue, null); 50 try { 51 Object result = server.invoke(this.objectName, operationName, 52 new Object [] {param}, 53 new String [] {proxy.getType().getName()}); 54 return result; 55 } 56 catch (Exception ex) { 57 ex.printStackTrace(); 58 } 59 return null; 60 } 61 62 public Object transformToNative(Object transformedValue, 63 Object oldNativeValue, ObjectName objectName) { 64 throw new UnsupportedOperationException (); 65 } 66 67 } 68 | Popular Tags |