protected void copyOperationResourceInfoStack(org.apache.cxf.message.Message cxfMessage, Message camelMessage) { OperationResourceInfoStack stack = cxfMessage.get(OperationResourceInfoStack.class); if (stack != null) { // make a copy of the operation resource info for looking up the sub resource location OperationResourceInfoStack copyStack = (OperationResourceInfoStack)stack.clone(); camelMessage.setHeader(CxfConstants.CAMEL_CXF_RS_OPERATION_RESOURCE_INFO_STACK, copyStack); } }
private void pushOntoStack(OperationResourceInfo ori, Class<?> realClass, Message msg) { OperationResourceInfoStack stack = msg.get(OperationResourceInfoStack.class); if (stack == null) { stack = new OperationResourceInfoStack(); msg.put(OperationResourceInfoStack.class, stack); } @SuppressWarnings("unchecked") MultivaluedMap<String, String> params = (MultivaluedMap<String, String>)msg.get(URITemplate.TEMPLATE_PARAMETERS); List<String> values = null; if (params == null || params.size() == 1) { values = Collections.emptyList(); } else { values = new ArrayList<String>(params.size() - 1); for (Parameter pm : ori.getParameters()) { if (pm.getType() == ParameterType.PATH) { List<String> paramValues = params.get(pm.getName()); if (paramValues != null) { values.addAll(paramValues); } } } } stack.push(new MethodInvocationInfo(ori, realClass, values)); } }
if (current != null) { final OperationResourceInfoStack stack = OperationResourceInfoStack.class.cast(current.get(OperationResourceInfoStack.class.getName())); if (stack != null && !stack.isEmpty()) { final Object instance; if (ConstructorInterceptorInvocationContext.class.isInstance(ic)) { stack.lastElement().getMethodInfo().getClassResourceInfo(), instance, application,
public static void pushOntoStack(OperationResourceInfo ori, MultivaluedMap<String, String> params, Message msg) { OperationResourceInfoStack stack = msg.get(OperationResourceInfoStack.class); if (stack == null) { stack = new OperationResourceInfoStack(); msg.put(OperationResourceInfoStack.class, stack); } List<String> values = null; if (params.size() <= 1) { values = Collections.emptyList(); } else { values = new ArrayList<>(params.size() - 1); addTemplateVarValues(values, params, ori.getClassResourceInfo().getURITemplate()); addTemplateVarValues(values, params, ori.getURITemplate()); } Class<?> realClass = ori.getClassResourceInfo().getServiceClass(); stack.push(new MethodInvocationInfo(ori, realClass, values)); }
if (current != null) { final OperationResourceInfoStack stack = OperationResourceInfoStack.class.cast(current.get(OperationResourceInfoStack.class.getName())); if (stack != null && !stack.isEmpty()) { final Object instance; if (ConstructorInterceptorInvocationContext.class.isInstance(ic)) { stack.lastElement().getMethodInfo().getClassResourceInfo(), instance, application,