/** {@inheritDoc} */ @Override protected String getParameterName(MBeanOperationInfo op, MBeanParameterInfo param, int paramNo) { String name = param.getName(); Method m = getMethod(op); if (m != null) { for (Annotation a : m.getParameterAnnotations()[paramNo]) { if (MBeanInfo.class.isInstance(a)) name = MBeanInfo.class.cast(a).value(); } } return name; }
/** * Description of the operation. * * @param operation the operation to describe * @return pretty-printed description */ protected String describeOperation(MBeanOperationInfo operation) { StringBuilder buf = new StringBuilder(); buf.append(operation.getReturnType()) .append(" ") .append(operation.getName()) .append("("); MBeanParameterInfo[] params = operation.getSignature(); for (int j = 0; j < params.length; j++) { MBeanParameterInfo param = params[j]; if (j != 0) { buf.append(", "); } buf.append(param.getType()) .append(" ") .append(param.getName()); } buf.append(")"); return buf.toString(); }
for (int j = 0; j < params.length; j++) { paramsStrBuffer.append("\n name="); paramsStrBuffer.append(params[j].getName()); paramsStrBuffer.append(" type="); paramsStrBuffer.append(params[j].getType());
sb.append(oi.getName()).append("("); for(MBeanParameterInfo pi: oi.getSignature()) { String name = pi.getName(); String type = toPrintableType(pi.getType()); sb.append(type).append(' ').append(name).append(", ");
@Test public void testOperationParameterMetadata() throws Exception { ModelMBeanInfo info = getMBeanInfoFromAssembler(); ModelMBeanOperationInfo oper = info.getOperation("add"); MBeanParameterInfo[] params = oper.getSignature(); assertEquals("Invalid number of params", 2, params.length); assertEquals("Incorrect name for x param", "x", params[0].getName()); assertEquals("Incorrect type for x param", int.class.getName(), params[0].getType()); assertEquals("Incorrect name for y param", "y", params[1].getName()); assertEquals("Incorrect type for y param", int.class.getName(), params[1].getType()); }
@Test public void testSetNameParameterIsNamed() throws Exception { ModelMBeanInfo info = getMBeanInfoFromAssembler(); MBeanOperationInfo operationSetAge = info.getOperation("setName"); assertEquals("name", operationSetAge.getSignature()[0].getName()); }
private int populateValuesAndSignature(Map<String, Object> paramsFromMessage, MBeanParameterInfo[] paramInfoArray, Object[] values, String[] signature) { int index = 0; for (MBeanParameterInfo paramInfo : paramInfoArray) { Object value = paramsFromMessage.get(paramInfo.getName()); if (value == null) { /* * With Spring 3.2.3 and greater, the parameter names are * registered instead of the JVM's default p1, p2 etc. * Fall back to that naming style if not found. */ value = paramsFromMessage.get("p" + (index + 1)); } if (value != null && valueTypeMatchesParameterType(value, paramInfo)) { values[index] = value; signature[index] = paramInfo.getType(); index++; } } return index; }
JSONObject args = new JSONObject(); args.put(DESCRIPTION.getKey(), paramInfo.getDescription()); args.put(NAME.getKey(), paramInfo.getName()); args.put(TYPE.getKey(), paramInfo.getType()); argList.add(args);
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; }
MBeanParameterInfo[] parameterInfos = operationInfo.getSignature(); for (MBeanParameterInfo parameterInfo : parameterInfos) { signature.row(parameterInfo.getName(), parameterInfo.getType(), parameterInfo.getDescription());
/** * Constructs a <code>MBeanParameterInfo</code> instance based upon a * <code>javax.management.MBeanParameterInfo</code> instance. * * @param mbeanParameterInfo The JMX <code>MBeanParameterInfo</code> instance to base this instance on. */ public MBeanParameterInfo(javax.management.MBeanParameterInfo mbeanParameterInfo) { name = mbeanParameterInfo.getName(); type = mbeanParameterInfo.getType(); description = mbeanParameterInfo.getDescription(); }
public ParameterRepresentation(MBeanParameterInfo parameterInfo) { name = parameterInfo.getName(); description = parameterInfo.getDescription(); type = parameterInfo.getType(); descriptor = toMap(parameterInfo.getDescriptor()); }
public ParameterRepresentation(MBeanParameterInfo parameterInfo) { name = parameterInfo.getName(); description = parameterInfo.getDescription(); type = parameterInfo.getType(); descriptor = toMap(parameterInfo.getDescriptor()); }
public ParameterRepresentation(MBeanParameterInfo parameterInfo) { name = parameterInfo.getName(); description = parameterInfo.getDescription(); type = parameterInfo.getType(); descriptor = toMap(parameterInfo.getDescriptor()); }
public ParameterRepresentation(MBeanParameterInfo parameterInfo) { name = parameterInfo.getName(); description = parameterInfo.getDescription(); type = parameterInfo.getType(); descriptor = toMap(parameterInfo.getDescriptor()); }
public ParameterRepresentation(MBeanParameterInfo parameterInfo) { name = parameterInfo.getName(); description = parameterInfo.getDescription(); type = parameterInfo.getType(); descriptor = toMap(parameterInfo.getDescriptor()); }
public ParameterRepresentation(MBeanParameterInfo parameterInfo) { name = parameterInfo.getName(); description = parameterInfo.getDescription(); type = parameterInfo.getType(); descriptor = toMap(parameterInfo.getDescriptor()); }
public static void checkMBeanOperationParameterNaming(ObjectName objectName) throws Exception { MBeanServer mBeanServer = PerThreadMBeanServerLookup.getThreadMBeanServer(); MBeanInfo mBeanInfo = mBeanServer.getMBeanInfo(objectName); for(MBeanOperationInfo op : mBeanInfo.getOperations()) { for(MBeanParameterInfo param : op.getSignature()) { assertFalse(param.getName().matches("p[0-9]+")); } } }
public void serialize(QName name, Attributes attributes, Object value, SerializationContext context) throws IOException { MBeanParameterInfo info = (MBeanParameterInfo)value; context.startElement(name, attributes); context.serialize(NAME_QNAME, null, info.getName()); context.serialize(CLASS_NAME_QNAME, null, info.getType()); context.serialize(DESCRIPTION_QNAME, null, info.getDescription()); context.endElement(); }