Resolve failing test
This commit is contained in:
parent
b442982310
commit
19954fa252
|
@ -23,12 +23,10 @@ import static org.apache.commons.lang3.StringUtils.isBlank;
|
|||
import static org.apache.commons.lang3.StringUtils.isNotBlank;
|
||||
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.*;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.hl7.fhir.instance.model.api.IAnyResource;
|
||||
import org.hl7.fhir.instance.model.api.IBaseResource;
|
||||
|
||||
import ca.uhn.fhir.context.ConfigurationException;
|
||||
|
@ -52,12 +50,20 @@ import javax.annotation.Nonnull;
|
|||
public class SearchMethodBinding extends BaseResourceReturningMethodBinding {
|
||||
private static final org.slf4j.Logger ourLog = org.slf4j.LoggerFactory.getLogger(SearchMethodBinding.class);
|
||||
|
||||
private static final Set<String> SPECIAL_SEARCH_PARAMS;
|
||||
private String myCompartmentName;
|
||||
private String myDescription;
|
||||
private Integer myIdParamIndex;
|
||||
private String myQueryName;
|
||||
private boolean myAllowUnknownParams;
|
||||
|
||||
static {
|
||||
HashSet<String> specialSearchParams = new HashSet<>();
|
||||
specialSearchParams.add(IAnyResource.SP_RES_ID);
|
||||
specialSearchParams.add(IAnyResource.SP_RES_LANGUAGE);
|
||||
SPECIAL_SEARCH_PARAMS = Collections.unmodifiableSet(specialSearchParams);
|
||||
}
|
||||
|
||||
public SearchMethodBinding(Class<? extends IBaseResource> theReturnResourceType, Method theMethod, FhirContext theContext, Object theProvider) {
|
||||
super(theReturnResourceType, theMethod, theContext, theProvider);
|
||||
Search search = theMethod.getAnnotation(Search.class);
|
||||
|
@ -211,7 +217,7 @@ public class SearchMethodBinding extends BaseResourceReturningMethodBinding {
|
|||
}
|
||||
}
|
||||
for (String next : theRequest.getParameters().keySet()) {
|
||||
if (next.startsWith("_")) {
|
||||
if (next.startsWith("_") && !SPECIAL_SEARCH_PARAMS.contains(next)) {
|
||||
methodParamsTemp.add(next);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -13,6 +13,7 @@ import ca.uhn.fhir.util.TestUtil;
|
|||
import org.eclipse.jetty.server.Server;
|
||||
import org.eclipse.jetty.servlet.ServletContextHandler;
|
||||
import org.eclipse.jetty.servlet.ServletHolder;
|
||||
import org.hl7.fhir.instance.model.api.IAnyResource;
|
||||
import org.hl7.fhir.instance.model.api.IIdType;
|
||||
import org.hl7.fhir.r4.model.Bundle;
|
||||
import org.hl7.fhir.r4.model.Observation;
|
||||
|
@ -237,7 +238,7 @@ public class HashMapResourceProviderTest {
|
|||
Bundle resp = ourClient
|
||||
.search()
|
||||
.forResource("Patient")
|
||||
.where(Patient.RES_ID.exactly().codes("2", "3"))
|
||||
.where(IAnyResource.RES_ID.exactly().codes("2", "3"))
|
||||
.returnBundle(Bundle.class).execute();
|
||||
assertEquals(2, resp.getTotal());
|
||||
assertEquals(2, resp.getEntry().size());
|
||||
|
@ -248,8 +249,8 @@ public class HashMapResourceProviderTest {
|
|||
resp = ourClient
|
||||
.search()
|
||||
.forResource("Patient")
|
||||
.where(Patient.RES_ID.exactly().codes("2", "3"))
|
||||
.where(Patient.RES_ID.exactly().codes("2", "3"))
|
||||
.where(IAnyResource.RES_ID.exactly().codes("2", "3"))
|
||||
.where(IAnyResource.RES_ID.exactly().codes("2", "3"))
|
||||
.returnBundle(Bundle.class).execute();
|
||||
assertEquals(2, resp.getTotal());
|
||||
assertEquals(2, resp.getEntry().size());
|
||||
|
@ -259,8 +260,8 @@ public class HashMapResourceProviderTest {
|
|||
resp = ourClient
|
||||
.search()
|
||||
.forResource("Patient")
|
||||
.where(Patient.RES_ID.exactly().codes("2", "3"))
|
||||
.where(Patient.RES_ID.exactly().codes("4", "3"))
|
||||
.where(IAnyResource.RES_ID.exactly().codes("2", "3"))
|
||||
.where(IAnyResource.RES_ID.exactly().codes("4", "3"))
|
||||
.returnBundle(Bundle.class).execute();
|
||||
respIds = resp.getEntry().stream().map(t -> t.getResource().getIdElement().toUnqualifiedVersionless().getValue()).collect(Collectors.toList());
|
||||
assertThat(respIds, containsInAnyOrder("Patient/3"));
|
||||
|
|
Loading…
Reference in New Issue