private Object mapAndInvoke(String pOperation, Object[] pParams, String[] pSignature, OperationMapInfo pOpMapInfo)
            throws InstanceNotFoundException, MBeanException, ReflectionException {
        // Map parameters
        Object realParams[] = new Object[pSignature.length];
        String realSignature[] = new String[pSignature.length];
        for (int i = 0; i < pSignature.length; i++) {
            if (pOpMapInfo.isParamMapped(i)) {
                String origType = pOpMapInfo.getOriginalType(i);
                OpenType openType = pOpMapInfo.getOpenMBeanType(i);
                if (openType != null) {
                    realParams[i] = fromJson(openType, (String) pParams[i]);
                } else {
                    realParams[i] = fromJson(origType, (String) pParams[i]);
                }
                realSignature[i] = origType;
            } else {
                realParams[i] = pParams[i];
                realSignature[i] = pSignature[i];
            }
        }
        Object ret = jolokiaMBeanServer.invoke(objectName, pOperation, realParams, realSignature);
        return pOpMapInfo.isRetTypeMapped() ? toJson(ret) : ret;
    }
private Object mapAndInvoke ( String pOperation , Object [ ] pParams , String [ ] pSignature , OperationMapInfo pOpMapInfo ) throws InstanceNotFoundException , MBeanException , ReflectionException { Object realParams [ ] = new Object [ pSignature . length ] ; String realSignature [ ] = new String [ pSignature . length ] ; for ( int i = 0 ; i < pSignature . length ; i ++ ) { if ( pOpMapInfo . isParamMapped ( i ) ) { String origType = pOpMapInfo . getOriginalType ( i ) ; OpenType openType = pOpMapInfo . getOpenMBeanType ( i ) ; if ( openType != null ) { realParams [ i ] = fromJson ( openType , ( String ) pParams [ i ] ) ; } else { realParams [ i ] = fromJson ( origType , ( String ) pParams [ i ] ) ; } realSignature [ i ] = origType ; } else { realParams [ i ] = pParams [ i ] ; realSignature [ i ] = pSignature [ i ] ; } } Object ret = jolokiaMBeanServer . invoke ( objectName , pOperation , realParams , realSignature ) ; return pOpMapInfo . isRetTypeMapped ( ) ? toJson ( ret ) : ret ; }
Map the parameters and the return value if required