Unit test fix

This commit is contained in:
James Agnew 2018-07-26 18:58:23 +07:00
parent a4e4111376
commit 75a68a0332
3 changed files with 20 additions and 15 deletions

View File

@ -9,9 +9,9 @@ package ca.uhn.fhir.rest.server.exceptions;
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
* You may obtain a copy of the License at * You may obtain a copy of the License at
* *
* http://www.apache.org/licenses/LICENSE-2.0 * http://www.apache.org/licenses/LICENSE-2.0
* *
* Unless required by applicable law or agreed to in writing, software * Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, * distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@ -20,44 +20,42 @@ package ca.uhn.fhir.rest.server.exceptions;
* #L% * #L%
*/ */
import org.hl7.fhir.instance.model.api.IBaseOperationOutcome;
import ca.uhn.fhir.context.FhirContext; import ca.uhn.fhir.context.FhirContext;
import ca.uhn.fhir.rest.api.Constants; import ca.uhn.fhir.rest.api.Constants;
import ca.uhn.fhir.util.CoverageIgnore; import ca.uhn.fhir.util.CoverageIgnore;
import ca.uhn.fhir.util.OperationOutcomeUtil; import ca.uhn.fhir.util.OperationOutcomeUtil;
import org.hl7.fhir.instance.model.api.IBaseOperationOutcome;
/** /**
* Represents an <b>HTTP 422 Unprocessable Entity</b> response, which means that a resource was rejected by the server because it "violated applicable FHIR profiles or server business rules". * Represents an <b>HTTP 422 Unprocessable Entity</b> response, which means that a resource was rejected by the server because it "violated applicable FHIR profiles or server business rules".
* *
* <p> * <p>
* This exception will generally contain an {@link IBaseOperationOutcome} instance which details the failure. * This exception will generally contain an {@link IBaseOperationOutcome} instance which details the failure.
* </p> * </p>
* *
* @see InvalidRequestException Which corresponds to an <b>HTTP 400 Bad Request</b> failure * @see InvalidRequestException Which corresponds to an <b>HTTP 400 Bad Request</b> failure
*/ */
@CoverageIgnore @CoverageIgnore
public class UnprocessableEntityException extends BaseServerResponseException { public class UnprocessableEntityException extends BaseServerResponseException {
public static final int STATUS_CODE = Constants.STATUS_HTTP_422_UNPROCESSABLE_ENTITY;
private static final String DEFAULT_MESSAGE = "Unprocessable Entity"; private static final String DEFAULT_MESSAGE = "Unprocessable Entity";
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
public static final int STATUS_CODE = Constants.STATUS_HTTP_422_UNPROCESSABLE_ENTITY;
/** /**
* Constructor * Constructor
* *
* @param theMessage * @param theMessage The message to add to the status line
* The message to add to the status line * @param theOperationOutcome The {@link IBaseOperationOutcome} resource to return to the client
* @param theOperationOutcome The {@link IBaseOperationOutcome} resource to return to the client
*/ */
public UnprocessableEntityException(String theMessage, IBaseOperationOutcome theOperationOutcome) { public UnprocessableEntityException(String theMessage, IBaseOperationOutcome theOperationOutcome) {
super(STATUS_CODE, theMessage, theOperationOutcome); super(STATUS_CODE, theMessage, theOperationOutcome);
} }
/** /**
* Constructor which accepts an {@link IBaseOperationOutcome} resource which will be supplied in the response * Constructor which accepts an {@link IBaseOperationOutcome} resource which will be supplied in the response
* *
* @deprecated Use constructor with FhirContext argument * @deprecated Use constructor with FhirContext argument
*/ */
@Deprecated @Deprecated
@ -79,6 +77,13 @@ public class UnprocessableEntityException extends BaseServerResponseException {
super(STATUS_CODE, theMessage); super(STATUS_CODE, theMessage);
} }
/**
* Constructor which accepts a String describing the issue. This string will be translated into an {@link IBaseOperationOutcome} resource which will be supplied in the response.
*/
public UnprocessableEntityException(String theMessage, Throwable theCause) {
super(STATUS_CODE, theMessage, theCause);
}
/** /**
* Constructor which accepts an array of Strings describing the issue. This strings will be translated into an {@link IBaseOperationOutcome} resource which will be supplied in the response. * Constructor which accepts an array of Strings describing the issue. This strings will be translated into an {@link IBaseOperationOutcome} resource which will be supplied in the response.
*/ */

View File

@ -127,7 +127,7 @@ public class FhirResourceDaoSearchParameterR4 extends FhirResourceDaoR4<SearchPa
theContext.newFluentPath().evaluate(temporaryInstance, nextPath, IBase.class); theContext.newFluentPath().evaluate(temporaryInstance, nextPath, IBase.class);
} catch (Exception e) { } catch (Exception e) {
String msg = theContext.getLocalizer().getMessage(FhirResourceDaoSearchParameterR4.class, "invalidSearchParamExpression", nextPath, e.getMessage()); String msg = theContext.getLocalizer().getMessage(FhirResourceDaoSearchParameterR4.class, "invalidSearchParamExpression", nextPath, e.getMessage());
throw new UnprocessableEntityException(msg); throw new UnprocessableEntityException(msg, e);
} }
} }
} }

View File

@ -49,7 +49,7 @@ public class FhirR4 implements IFhirVersion {
@Override @Override
public IContextValidationSupport<?, ?, ?, ?, ?, ?> createValidationSupport() { public IContextValidationSupport<?, ?, ?, ?, ?, ?> createValidationSupport() {
return ReflectionUtil.newInstanceOfFhirProfileValidationSupport("org.hl7.fhir.r4.hapi.validation.DefaultProfileValidationSupport"); return ReflectionUtil.newInstanceOfFhirProfileValidationSupport("org.hl7.fhir.r4.hapi.ctx.DefaultProfileValidationSupport");
} }
@Override @Override