MethodData( Method pMethod, TypeConverterFactory pTypeConverterFactory ) { method = pMethod; Class[] paramClasses = method.getParameterTypes(); typeConverters = new TypeConverter[paramClasses.length]; for ( int i = 0; i < paramClasses.length; i++ ) { typeConverters[i] = pTypeConverterFactory.getTypeConverter( paramClasses[i] ); } } }
MethodData( Method pMethod, TypeConverterFactory pTypeConverterFactory ) { method = pMethod; Class[] paramClasses = method.getParameterTypes(); typeConverters = new TypeConverter[paramClasses.length]; for ( int i = 0; i < paramClasses.length; i++ ) { typeConverters[i] = pTypeConverterFactory.getTypeConverter( paramClasses[i] ); } } }
MethodData(Method pMethod, TypeConverterFactory pTypeConverterFactory) { method = pMethod; Class[] paramClasses = method.getParameterTypes(); typeConverters = new TypeConverter[paramClasses.length]; for (int i = 0; i < paramClasses.length; i++) { typeConverters[i] = pTypeConverterFactory.getTypeConverter(paramClasses[i]); } } }
MethodData(Method pMethod, TypeConverterFactory pTypeConverterFactory) { method = pMethod; Class[] paramClasses = method.getParameterTypes(); typeConverters = new TypeConverter[paramClasses.length]; for (int i = 0; i < paramClasses.length; i++) { typeConverters[i] = pTypeConverterFactory.getTypeConverter(paramClasses[i]); } } }
MethodData(Method pMethod, TypeConverterFactory pTypeConverterFactory) { method = pMethod; Class[] paramClasses = method.getParameterTypes(); typeConverters = new TypeConverter[paramClasses.length]; for (int i = 0; i < paramClasses.length; i++) { typeConverters[i] = pTypeConverterFactory.getTypeConverter(paramClasses[i]); } } }
public Object invoke(Object proxy, Method method, Object[] args) throws InvocationTargetException, IllegalAccessException, XmlRpcException { if (isObjectMethodLocal() && method.getDeclaringClass().equals(Object.class)) { return method.invoke(proxy, args); } String classname = clazz.getName().replaceFirst(clazz.getPackage().getName() + ".", "").toLowerCase(); classname = classname.replace("$", "."); // dirty hack TODO String methodName = classname + "." + method.getName(); Object result = client.execute(methodName, args); TypeConverter typeConverter = typeConverterFactory.getTypeConverter(method.getReturnType()); return typeConverter.convert(result); } });
public Object invoke(Object pProxy, Method pMethod, Object[] pArgs) throws Throwable { if (isObjectMethodLocal() && pMethod.getDeclaringClass().equals(Object.class)) { return pMethod.invoke(pProxy, pArgs); } String methodName = pClass.getName() + "." + pMethod.getName(); Object result = client.execute(methodName, pArgs); TypeConverter typeConverter = typeConverterFactory.getTypeConverter(pMethod.getReturnType()); return typeConverter.convert(result); } });
TypeConverter typeConverter = typeConverterFactory.getTypeConverter(pMethod.getReturnType()); return typeConverter.convert(result);
TypeConverter typeConverter = typeConverterFactory.getTypeConverter(pMethod.getReturnType()); return typeConverter.convert(result);
TypeConverter typeConverter = typeConverterFactory.getTypeConverter(pMethod.getReturnType()); return typeConverter.convert(result);
typeConverterFactory.getTypeConverter(pMethod.getReturnType()); return typeConverter.convert(result);
public Object invoke(Object pProxy, Method pMethod, Object[] pArgs) throws Throwable { String tracClassName = Utils.findTracClassName(aClass); if(tracClassName == null){ throw new TracException(MessageUtils.registerErrorLog(log, "core.no.trac.classname.found", aClass.getName())); } TracClassMethod tracClassMethodMetadata = Utils.getTracClassMethodAnnotation(pMethod); String methodName = Utils.buildTracMethodNameInvocation(tracClassName, tracClassMethodMetadata); Object result = null; try { result = getClient().execute(methodName, pArgs); } catch (XmlRpcInvocationException e) { throw new TracException(MessageUtils.registerErrorLog(log, "core.invocation.factory.invocation.exception", e.getMessage()), e); } catch(XmlRpcException e){ throw new TracException(MessageUtils.registerErrorLog(log, "core.invocation.factory.xmlrpc.exception", e.getMessage()), e); } catch (Throwable e){ throw new TracException(MessageUtils.registerErrorLog(log, "core.invocation.factory.unknown.exception", e.getMessage()), e); } Class returnType = tracClassMethodMetadata.tracReturnType(); if(returnType == Object.class){ returnType = pMethod.getReturnType(); } TypeConverter typeConverter = typeConverterFactory.getTypeConverter(returnType); return typeConverter.convert(result); } });
final TypeConverter typeConverter = typeConverterFactory.getTypeConverter(result.getClass()); return typeConverter.backConvert(result);
final TypeConverter typeConverter = typeConverterFactory.getTypeConverter(result.getClass()); return typeConverter.backConvert(result);
final TypeConverter typeConverter = typeConverterFactory.getTypeConverter(result.getClass()); return typeConverter.backConvert(result);