From a9f3b0f028046d88484357f9df48f868577e460e Mon Sep 17 00:00:00 2001 From: te Date: Thu, 14 Sep 2017 11:55:11 +0200 Subject: [PATCH] Bugfix ExtensionProcessor: Enable invoke of methods with zero arguments If a method has zero arguments, the object list is null, not an empty array. --- .../janos/processor/core/extension/ExtensionProcessor.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/janos-core/src/main/java/org/apache/olingo/odata2/janos/processor/core/extension/ExtensionProcessor.java b/janos-core/src/main/java/org/apache/olingo/odata2/janos/processor/core/extension/ExtensionProcessor.java index 1d5c60d..72be025 100644 --- a/janos-core/src/main/java/org/apache/olingo/odata2/janos/processor/core/extension/ExtensionProcessor.java +++ b/janos-core/src/main/java/org/apache/olingo/odata2/janos/processor/core/extension/ExtensionProcessor.java @@ -14,6 +14,7 @@ import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.lang.reflect.Proxy; +import java.util.ArrayList; import java.util.Arrays; /** @@ -148,7 +149,11 @@ public Object invoke(Object o, Method method, Object[] objects) throws Throwable // XXX: change if (isValid(method)) { invokeMethod = method; - invokeParameters = Arrays.copyOf(objects, objects.length); + if (objects != null) { + invokeParameters = Arrays.copyOf(objects, objects.length); + } else { + invokeParameters = new Object[0]; + } } else { throw new RuntimeException("Invalid class '" + method.getDeclaringClass() + "' can not wrapped for asynchronous processing.");