Examples of RuntimeResourceDefinition


Examples of ca.uhn.fhir.context.RuntimeResourceDefinition

      try {
        if ("conformance".equals(method)) {
          returnsResource = true;
          client.conformance();
        } else if ("read".equals(method)) {
          RuntimeResourceDefinition def = getResourceType(theReq);
          String id = StringUtils.defaultString(theReq.getParameter("id"));
          if (StringUtils.isBlank(id)) {
            theResp.sendError(Constants.STATUS_HTTP_400_BAD_REQUEST, "No ID specified");
          }
          returnsResource = true;

          client.read(def.getImplementingClass(), new IdDt(id));

        } else if ("vread".equals(method)) {
          RuntimeResourceDefinition def = getResourceType(theReq);
          String id = StringUtils.defaultString(theReq.getParameter("id"));
          if (StringUtils.isBlank(id)) {
            theResp.sendError(Constants.STATUS_HTTP_400_BAD_REQUEST, "No ID specified");
          }

          String versionId = StringUtils.defaultString(theReq.getParameter("versionid"));
          if (StringUtils.isBlank(versionId)) {
            theResp.sendError(Constants.STATUS_HTTP_400_BAD_REQUEST, "No Version ID specified");
          }
          returnsResource = true;

          client.vread(def.getImplementingClass(), new IdDt(id), new IdDt(versionId));

        } else if ("delete".equals(method)) {
          RuntimeResourceDefinition def = getResourceType(theReq);
          String id = StringUtils.defaultString(theReq.getParameter("id"));
          if (StringUtils.isBlank(id)) {
            theResp.sendError(Constants.STATUS_HTTP_400_BAD_REQUEST, "No ID specified");
          }

          returnsResource = false;

          client.delete(def.getImplementingClass(), new IdDt(id));

        } else if ("history-instance".equals(method)) {
          RuntimeResourceDefinition def = getResourceType(theReq);
          String id = StringUtils.defaultString(theReq.getParameter("id"));
          if (StringUtils.isBlank(id)) {
            theResp.sendError(Constants.STATUS_HTTP_400_BAD_REQUEST, "No ID specified");
          }

          returnsResource = false;

          client.history(def.getImplementingClass(), new IdDt(id));

        } else if ("create".equals(method)) {
          RuntimeResourceDefinition def = getResourceType(theReq);
          String resourceText = StringUtils.defaultString(theReq.getParameter("resource"));
          if (StringUtils.isBlank(resourceText)) {
            theResp.sendError(Constants.STATUS_HTTP_400_BAD_REQUEST, "No resource content specified");
          }

          IResource resource;
          if (client.getEncoding() == null || client.getEncoding() == EncodingEnum.XML) {
            resource = myCtx.newXmlParser().parseResource(def.getImplementingClass(), resourceText);
          } else {
            resource = myCtx.newJsonParser().parseResource(def.getImplementingClass(), resourceText);
          }
          returnsResource = false;

          client.create(resource);

        } else if ("validate".equals(method)) {
          RuntimeResourceDefinition def = getResourceType(theReq);
          String resourceText = StringUtils.defaultString(theReq.getParameter("resource"));
          if (StringUtils.isBlank(resourceText)) {
            theResp.sendError(Constants.STATUS_HTTP_400_BAD_REQUEST, "No resource content specified");
          }

          IResource resource;
          if (client.getEncoding() == null || client.getEncoding() == EncodingEnum.XML) {
            resource = myCtx.newXmlParser().parseResource(def.getImplementingClass(), resourceText);
          } else {
            resource = myCtx.newJsonParser().parseResource(def.getImplementingClass(), resourceText);
          }
          returnsResource = false;

          client.validate(resource);

        } else if ("update".equals(method)) {
          RuntimeResourceDefinition def = getResourceType(theReq);
          String resourceText = StringUtils.defaultString(theReq.getParameter("resource"));
          if (StringUtils.isBlank(resourceText)) {
            theResp.sendError(Constants.STATUS_HTTP_400_BAD_REQUEST, "No resource content specified");
          }

          String id = StringUtils.defaultString(theReq.getParameter("id"));
          if (StringUtils.isBlank(id)) {
            theResp.sendError(Constants.STATUS_HTTP_400_BAD_REQUEST, "No ID specified");
          }

          IResource resource;
          if (client.getEncoding() == null || client.getEncoding() == EncodingEnum.XML) {
            resource = myCtx.newXmlParser().parseResource(def.getImplementingClass(), resourceText);
          } else {
            resource = myCtx.newJsonParser().parseResource(def.getImplementingClass(), resourceText);
          }
          returnsResource = false;

          client.update(new IdDt(id), resource);

        } else if ("searchType".equals(method)) {
          Map<String, List<IQueryParameterType>> params = new HashMap<String, List<IQueryParameterType>>();

          HashSet<String> hashSet = new HashSet<String>(theReq.getParameterMap().keySet());
          String paramName = null;
          IQueryParameterType paramValue = null;
          while (hashSet.isEmpty() == false) {

            String nextKey = hashSet.iterator().next();
            String nextValue = theReq.getParameter(nextKey);
            paramName = null;
            paramValue = null;

            if (nextKey.startsWith("param.token.")) {
              int prefixLength = "param.token.".length();
              paramName = nextKey.substring(prefixLength + 2);
              String systemKey = "param.token." + "1." + paramName;
              String valueKey = "param.token." + "2." + paramName;
              String system = theReq.getParameter(systemKey);
              String value = theReq.getParameter(valueKey);
              paramValue = new IdentifierDt(system, value);
              hashSet.remove(systemKey);
              hashSet.remove(valueKey);
            } else if (nextKey.startsWith("param.string.")) {
              paramName = nextKey.substring("param.string.".length());
              paramValue = new StringDt(nextValue);
            }

            if (paramName != null) {
              if (params.containsKey(paramName) == false) {
                params.put(paramName, new ArrayList<IQueryParameterType>());
              }
              params.get(paramName).add(paramValue);
            }

            hashSet.remove(nextKey);
          }

          RuntimeResourceDefinition def = getResourceType(theReq);

          returnsResource = false;
          client.search(def.getImplementingClass(), params);

        } else {
          theResp.sendError(Constants.STATUS_HTTP_400_BAD_REQUEST, "Invalid method: " + method);
          return;
        }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.