private OperationAndParamType(String pOperationName, MBeanParameterInfo[] pParameterInfos) { operationName = pOperationName; paramClasses = new String[pParameterInfos.length]; paramOpenTypes = new OpenType<?>[pParameterInfos.length]; int i=0; for (MBeanParameterInfo info : pParameterInfos) { if (info instanceof OpenMBeanParameterInfo) { OpenMBeanParameterInfo openTypeInfo = (OpenMBeanParameterInfo) info; paramOpenTypes[i] = openTypeInfo.getOpenType(); } paramClasses[i++] = info.getType(); } }
private MBeanParameterInfo[] getWrappedParameterInfo(MBeanOperationInfo pOInfo, OperationMapInfo pMapInfo) { MBeanParameterInfo origParamInfo[] = pOInfo.getSignature(); MBeanParameterInfo paramInfo[] = new MBeanParameterInfo[origParamInfo.length]; for (int j = 0; j < origParamInfo.length; j++) { MBeanParameterInfo pInfo = origParamInfo[j]; String pType; if (isDirectlySupported(pInfo.getType())) { pType = pInfo.getType(); pMapInfo.pushParamTypes(pType, null, null); } else { pType = STRING_TYPE; if (pInfo instanceof OpenMBeanParameterInfo) { pMapInfo.pushParamTypes(STRING_TYPE, pInfo.getType(), ((OpenMBeanParameterInfo) pInfo).getOpenType()); } else { pMapInfo.pushParamTypes(STRING_TYPE, pInfo.getType(), null); } } paramInfo[j] = new MBeanParameterInfo( pInfo.getName(), pType, pInfo.getDescription(), pInfo.getDescriptor() ); } return paramInfo; }
private OperationAndParamType(String pOperationName, MBeanParameterInfo[] pParameterInfos) { operationName = pOperationName; paramClasses = new String[pParameterInfos.length]; paramOpenTypes = new OpenType<?>[pParameterInfos.length]; int i=0; for (MBeanParameterInfo info : pParameterInfos) { if (info instanceof OpenMBeanParameterInfo) { OpenMBeanParameterInfo openTypeInfo = (OpenMBeanParameterInfo) info; paramOpenTypes[i] = openTypeInfo.getOpenType(); } paramClasses[i++] = info.getType(); } }
private OperationAndParamType(String pOperationName, MBeanParameterInfo[] pParameterInfos) { operationName = pOperationName; paramClasses = new String[pParameterInfos.length]; paramOpenTypes = new OpenType<?>[pParameterInfos.length]; int i=0; for (MBeanParameterInfo info : pParameterInfos) { if (info instanceof OpenMBeanParameterInfo) { OpenMBeanParameterInfo openTypeInfo = (OpenMBeanParameterInfo) info; paramOpenTypes[i] = openTypeInfo.getOpenType(); } paramClasses[i++] = info.getType(); } }
private static OpenMBeanOperationInfo findOperation(String name, Type[] parameterTypes, MBeanOperationInfo[] operations) { OpenType[] signature = getSignature(parameterTypes); for (int i = 0; i < operations.length; ++i) { if (operations[i].getName().equals(name) == false) continue; MBeanParameterInfo[] parameters = operations[i].getSignature(); boolean match = true; for (int p = 0; p < parameters.length && match; ++p) { OpenMBeanParameterInfo openMBeanParameterInfo = (OpenMBeanParameterInfo) parameters[p]; if (signature[p].equals(openMBeanParameterInfo.getOpenType()) == false) match = false; } if (match) return (OpenMBeanOperationInfo) operations[i]; } return null; }
private static OpenMBeanOperationInfo findOperation(String name, Type[] parameterTypes, MBeanOperationInfo[] operations) { OpenType[] signature = getSignature(parameterTypes); for (int i = 0; i < operations.length; ++i) { if (operations[i].getName().equals(name) == false) continue; MBeanParameterInfo[] parameters = operations[i].getSignature(); boolean match = true; for (int p = 0; p < parameters.length && match; ++p) { OpenMBeanParameterInfo openMBeanParameterInfo = (OpenMBeanParameterInfo) parameters[p]; if (signature[p].equals(openMBeanParameterInfo.getOpenType()) == false) match = false; } if (match) return (OpenMBeanOperationInfo) operations[i]; } return null; }
paramClasses[i] = parameters.get(i).getOpenType().getTypeName().toString(); String qName = name + Arrays.toString(paramClasses);
public Object perform(Object[] args) throws Throwable { MBeanParameterInfo[] parameters = operation.getSignature(); Object[] arguments = new Object[args.length]; for (int i = 0; i < parameters.length; ++i) { OpenMBeanParameterInfo parameter = (OpenMBeanParameterInfo) parameters[i]; arguments[i] = MXBeanUtils.construct(parameter.getOpenType(), args[i], operation.getName()); } Object result = mbeanServerConnection.invoke(objectName, operation.getName(), arguments, signature); return MXBeanUtils.reconstruct(operation.getReturnOpenType(), type, result, operation.getName()); } }
public Object perform(Object[] args) throws Throwable { MBeanParameterInfo[] parameters = operation.getSignature(); Object[] arguments = new Object[args.length]; for (int i = 0; i < parameters.length; ++i) { OpenMBeanParameterInfo parameter = (OpenMBeanParameterInfo) parameters[i]; arguments[i] = MXBeanUtils.construct(parameter.getOpenType(), args[i], operation.getName()); } Object result = mbeanServerConnection.invoke(objectName, operation.getName(), arguments, signature); return MXBeanUtils.reconstruct(operation.getReturnOpenType(), type, result, operation.getName()); } }
MBeanParameterInfo paramInfo = signature[i]; if (paramInfo instanceof OpenMBeanParameterInfo) { OpenType<?> openType = ((OpenMBeanParameterInfo) paramInfo).getOpenType(); Object openData = OpenTypeGenerator.toOpenData(openType, params[i]); Object jsonAware = JSONTypeGenerator.toJSON(openData);
MBeanParameterInfo paramInfo = signature[i]; if (paramInfo instanceof OpenMBeanParameterInfo) { OpenType<?> openType = ((OpenMBeanParameterInfo) paramInfo).getOpenType(); Object openData = OpenTypeGenerator.toOpenData(openType, params[i]); Object jsonAware = JSONTypeGenerator.toJSON(openData);
private MBeanParameterInfo[] getWrappedParameterInfo(MBeanOperationInfo pOInfo, OperationMapInfo pMapInfo) { MBeanParameterInfo origParamInfo[] = pOInfo.getSignature(); MBeanParameterInfo paramInfo[] = new MBeanParameterInfo[origParamInfo.length]; for (int j = 0; j < origParamInfo.length; j++) { MBeanParameterInfo pInfo = origParamInfo[j]; String pType; if (isDirectlySupported(pInfo.getType())) { pType = pInfo.getType(); pMapInfo.pushParamTypes(pType, null, null); } else { pType = STRING_TYPE; if (pInfo instanceof OpenMBeanParameterInfo) { pMapInfo.pushParamTypes(STRING_TYPE, pInfo.getType(), ((OpenMBeanParameterInfo) pInfo).getOpenType()); } else { pMapInfo.pushParamTypes(STRING_TYPE, pInfo.getType(), null); } } paramInfo[j] = new MBeanParameterInfo( pInfo.getName(), pType, pInfo.getDescription(), pInfo.getDescriptor() ); } return paramInfo; }