public IBaseResource doInvokeServer(IRestfulServer<?> theServer, RequestDetails theRequest) { Object[] params = createMethodParams(theRequest); Object resultObj = invokeServer(theServer, theRequest, params); switch (getReturnType()) { case BUNDLE: { if (getMethodReturnType() == MethodReturnTypeEnum.BUNDLE_RESOURCE) { IBaseResource resource; IPrimitiveType<Date> lastUpdated; bundleFactory.addRootPropertiesToBundle(null, theRequest.getFhirServerBase(), linkSelf, null, null, count, getResponseBundleType(), lastUpdated); Set<Include> includes = getRequestIncludesFromParams(params); EncodingEnum linkEncoding = theRequest.getParameters().containsKey(Constants.PARAM_FORMAT) && responseEncoding != null ? responseEncoding.getEncoding() : null; responseObject = createBundleFromBundleProvider(theServer, theRequest, count, linkSelf, includes, result, start, getResponseBundleType(), linkEncoding, null);
@Override public RestOperationTypeEnum getRestOperationType(RequestDetails theRequestDetails) { RestOperationTypeEnum retVal = super.getRestOperationType(theRequestDetails); if (retVal == RestOperationTypeEnum.EXTENDED_OPERATION_INSTANCE) { if (theRequestDetails.getId() == null) { retVal = RestOperationTypeEnum.EXTENDED_OPERATION_TYPE; } } return retVal; }
@Override public Object invokeServer(IRestfulServer<?> theServer, RequestDetails theRequest) throws BaseServerResponseException, IOException { IBaseResource response = doInvokeServer(theServer, theRequest); Set<SummaryEnum> summaryMode = RestfulServerUtils.determineSummaryMode(theRequest); ResponseDetails responseDetails = new ResponseDetails(); responseDetails.setResponseResource(response); responseDetails.setResponseCode(Constants.STATUS_HTTP_200_OK); HttpServletRequest servletRequest = null; HttpServletResponse servletResponse = null; if (theRequest instanceof ServletRequestDetails) { servletRequest = ((ServletRequestDetails) theRequest).getServletRequest(); servletResponse = ((ServletRequestDetails) theRequest).getServletResponse(); } for (int i = theServer.getInterceptors().size() - 1; i >= 0; i--) { IServerInterceptor next = theServer.getInterceptors().get(i); boolean continueProcessing = next.outgoingResponse(theRequest, response); if (!continueProcessing) { return null; } continueProcessing = next.outgoingResponse(theRequest, responseDetails, servletRequest, servletResponse); if (!continueProcessing) { return null; } } boolean prettyPrint = RestfulServerUtils.prettyPrintResponse(theServer, theRequest); return theRequest.getResponse().streamResponseAsResource(responseDetails.getResponseResource(), prettyPrint, summaryMode, responseDetails.getResponseCode(), null, theRequest.isRespondGzip(), isAddContentLocationHeader()); }
IBaseResource resource = ((BaseResourceReturningMethodBinding) method).doInvokeServer(theRequestDetails.getServer(), requestDetails); if (paramValues.containsKey(Constants.PARAM_SUMMARY) || paramValues.containsKey(Constants.PARAM_CONTENT)) { resource = filterNestedBundle(requestDetails, resource);
@Override public Object invokeServer(IRestfulServer<?> theServer, RequestDetails theRequest) throws BaseServerResponseException, IOException { if (theRequest.getRequestType() == RequestTypeEnum.POST) { IBaseResource requestContents = ResourceParameter.loadResourceFromRequest(theRequest, this, null); theRequest.getUserData().put(OperationParameter.REQUEST_CONTENTS_USERDATA_KEY, requestContents); } return super.invokeServer(theServer, theRequest); }
@Override public Object invokeServer(IRestfulServer<?> theServer, RequestDetails theRequest) throws BaseServerResponseException, IOException { IBaseResource response = doInvokeServer(theServer, theRequest); Set<SummaryEnum> summaryMode = RestfulServerUtils.determineSummaryMode(theRequest); ResponseDetails responseDetails = new ResponseDetails(); responseDetails.setResponseResource(response); responseDetails.setResponseCode(Constants.STATUS_HTTP_200_OK); HttpServletRequest servletRequest = null; HttpServletResponse servletResponse = null; if (theRequest instanceof ServletRequestDetails) { servletRequest = ((ServletRequestDetails) theRequest).getServletRequest(); servletResponse = ((ServletRequestDetails) theRequest).getServletResponse(); } for (int i = theServer.getInterceptors().size() - 1; i >= 0; i--) { IServerInterceptor next = theServer.getInterceptors().get(i); boolean continueProcessing = next.outgoingResponse(theRequest, response); if (!continueProcessing) { return null; } continueProcessing = next.outgoingResponse(theRequest, responseDetails, servletRequest, servletResponse); if (!continueProcessing) { return null; } } boolean prettyPrint = RestfulServerUtils.prettyPrintResponse(theServer, theRequest); return theRequest.getResponse().streamResponseAsResource(responseDetails.getResponseResource(), prettyPrint, summaryMode, responseDetails.getResponseCode(), null, theRequest.isRespondGzip(), isAddContentLocationHeader()); }
IBaseResource resource = ((BaseResourceReturningMethodBinding) method).doInvokeServer(theRequestDetails.getServer(), requestDetails); if (paramValues.containsKey(Constants.PARAM_SUMMARY) || paramValues.containsKey(Constants.PARAM_CONTENT)) { resource = filterNestedBundle(requestDetails, resource);
@Override public Object invokeServer(IRestfulServer<?> theServer, RequestDetails theRequest) throws BaseServerResponseException, IOException { if (theRequest.getRequestType() == RequestTypeEnum.POST) { IBaseResource requestContents = ResourceParameter.loadResourceFromRequest(theRequest, this, null); theRequest.getUserData().put(OperationParameter.REQUEST_CONTENTS_USERDATA_KEY, requestContents); } return super.invokeServer(theServer, theRequest); }
public IBaseResource doInvokeServer(IRestfulServer<?> theServer, RequestDetails theRequest) { Object[] params = createMethodParams(theRequest); Object resultObj = invokeServer(theServer, theRequest, params); switch (getReturnType()) { case BUNDLE: { if (getMethodReturnType() == MethodReturnTypeEnum.BUNDLE_RESOURCE) { IBaseResource resource; IPrimitiveType<Date> lastUpdated; bundleFactory.addRootPropertiesToBundle(null, theRequest.getFhirServerBase(), linkSelf, null, null, count, getResponseBundleType(), lastUpdated); Set<Include> includes = getRequestIncludesFromParams(params); EncodingEnum linkEncoding = theRequest.getParameters().containsKey(Constants.PARAM_FORMAT) && responseEncoding != null ? responseEncoding.getEncoding() : null; responseObject = createBundleFromBundleProvider(theServer, theRequest, count, linkSelf, includes, result, start, getResponseBundleType(), linkEncoding, null);
IBaseResource resource = ((BaseResourceReturningMethodBinding) method).doInvokeServer(theRequestDetails.getServer(), requestDetails); if (paramValues.containsKey(Constants.PARAM_SUMMARY) || paramValues.containsKey(Constants.PARAM_CONTENT)) { resource = filterNestedBundle(requestDetails, resource);
@Override public RestOperationTypeEnum getRestOperationType(RequestDetails theRequestDetails) { RestOperationTypeEnum retVal = super.getRestOperationType(theRequestDetails); if (retVal == RestOperationTypeEnum.EXTENDED_OPERATION_INSTANCE) { if (theRequestDetails.getId() == null) { retVal = RestOperationTypeEnum.EXTENDED_OPERATION_TYPE; } } return retVal; }
IBaseResource resource = ((BaseResourceReturningMethodBinding) method).doInvokeServer(theRequestDetails.getServer(), requestDetails); if (paramValues.containsKey(Constants.PARAM_SUMMARY) || paramValues.containsKey(Constants.PARAM_CONTENT)) { resource = filterNestedBundle(requestDetails, resource);