// No operation to invoke, return false.
if (action == null) {
return false; // false means we did not handle this call
}
final OperationInfo operationInfo = action.getOperationInfo(); // is DCInvokeMethod
if (!(operationInfo instanceof DCInvokeMethod)) {
return false; // false means we did not handle this call
}
final BindingContext bindingContext = (BindingContext) map;
final DCBindingContainer bindings = (DCBindingContainer) bindingContext.getCurrentBindingsEntry();
final String methodName = operationInfo.getOperationName();
// check for situation where the operation comes from a customization-class
// annotation
final Object instance = resolveAsExpression(bindingContext, bindings, operationInfo.getInstanceName());
if (instance instanceof XMLDCElement) {
XMLDCElement xmldce = (XMLDCElement) instance;
if (xmldce.hasMethod(methodName, action.getParamsMap())) {
// TODO: logging
logger.fine("invoking @Operation method {0} on {1}, new Object[]{methodName, instance}");