package ca.uhn.fhir.jpa.dao.dstu3; /* * #%L * HAPI FHIR JPA Server * %% * Copyright (C) 2014 - 2017 University Health Network * %% * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * #L% */ import org.hl7.fhir.dstu3.model.QuestionnaireResponse; public class FhirResourceDaoQuestionnaireResponseDstu3 extends FhirResourceDaoDstu3<QuestionnaireResponse> { // @Override // protected void validateResourceForStorage(QuestionnaireResponse theResource, ResourceTable theEntityToSave, RequestDetails theRequestDetails) { // super.validateResourceForStorage(theResource, theEntityToSave, theRequestDetails); // if (!myValidateResponses) { // return; // } // // if (theResource == null || theResource.getQuestionnaire() == null || theResource.getQuestionnaire().getReference() == null || theResource.getQuestionnaire().getReference().isEmpty()) { // return; // } // // FhirValidator val = getContext().newValidator(); // val.setValidateAgainstStandardSchema(false); // val.setValidateAgainstStandardSchematron(false); // // val.registerValidatorModule(myQuestionnaireResponseValidatorDstu3); // // ValidationResult result = val.validateWithResult(getContext().newJsonParser().parseResource(getContext().newJsonParser().encodeResourceToString(theResource))); // if (!result.isSuccessful()) { // IBaseOperationOutcome oo = getContext().newJsonParser().parseResource(OperationOutcome.class, getContext().newJsonParser().encodeResourceToString(result.toOperationOutcome())); // throw new UnprocessableEntityException(getContext(), oo); // } // } // // public class JpaResourceLoader implements IResourceLoader { // // private RequestDetails myRequestDetails; // // public JpaResourceLoader(RequestDetails theRequestDetails) { // super(); // myRequestDetails = theRequestDetails; // } // // @Override // public <T extends IBaseResource> T load(Class<T> theType, IIdType theId) throws ResourceNotFoundException { // // /* // * The QuestionnaireResponse validator uses RI structures, so for now we need to convert between that and HAPI // * structures. This is a bit hackish, but hopefully it will go away at some point. // */ // if ("ValueSet".equals(theType.getSimpleName())) { // IFhirResourceDao<ValueSet> dao = getDao(ValueSet.class); // ValueSet in = dao.read(theId, myRequestDetails); // return (T) in; // } else if ("Questionnaire".equals(theType.getSimpleName())) { // IFhirResourceDao<Questionnaire> dao = getDao(Questionnaire.class); // Questionnaire vs = dao.read(theId, myRequestDetails); // return (T) vs; // } else { // // Should not happen, validator will only ask for these two // throw new IllegalStateException("Unexpected request to load resource of type " + theType); // } // // } // // } }