merge master

This commit is contained in:
Ken Stevens 2023-02-23 11:10:19 -05:00
commit 9943f244b3
19 changed files with 267 additions and 3 deletions

View File

@ -114,6 +114,7 @@ public enum VersionEnum {
// Dev Build
V6_3_0,
V6_4_0,
V6_4_1,
V6_5_0,
V6_6_0
;

View File

@ -0,0 +1,5 @@
---
type: fix
issue: 4565
title: "The JPA server `Patient:address` SearchParameter did not index values in the
element `Address.district`. This has been corrected."

View File

@ -122,6 +122,7 @@ public abstract class BaseSearchParamExtractor implements ISearchParamExtractor
private BaseRuntimeChildDefinition myAddressLineValueChild;
private BaseRuntimeChildDefinition myAddressCityValueChild;
private BaseRuntimeChildDefinition myAddressStateValueChild;
private BaseRuntimeChildDefinition myAddressDistrictValueChild;
private BaseRuntimeChildDefinition myAddressCountryValueChild;
private BaseRuntimeChildDefinition myAddressPostalCodeValueChild;
private BaseRuntimeChildDefinition myCapabilityStatementRestSecurityServiceValueChild;
@ -1267,6 +1268,11 @@ public abstract class BaseSearchParamExtractor implements ISearchParamExtractor
allNames.add(city);
}
String district = extractValueAsString(myAddressDistrictValueChild, theValue);
if (isNotBlank(district)) {
allNames.add(district);
}
String state = extractValueAsString(myAddressStateValueChild, theValue);
if (isNotBlank(state)) {
allNames.add(state);
@ -1559,6 +1565,7 @@ public abstract class BaseSearchParamExtractor implements ISearchParamExtractor
BaseRuntimeElementCompositeDefinition<?> addressDefinition = (BaseRuntimeElementCompositeDefinition<?>) getContext().getElementDefinition("Address");
myAddressLineValueChild = addressDefinition.getChildByName("line");
myAddressCityValueChild = addressDefinition.getChildByName("city");
myAddressDistrictValueChild = addressDefinition.getChildByName("district");
myAddressStateValueChild = addressDefinition.getChildByName("state");
myAddressCountryValueChild = addressDefinition.getChildByName("country");
myAddressPostalCodeValueChild = addressDefinition.getChildByName("postalCode");

View File

@ -8,6 +8,7 @@ import ca.uhn.fhir.jpa.api.dao.DaoRegistry;
import ca.uhn.fhir.jpa.partition.IRequestPartitionHelperSvc;
import ca.uhn.fhir.jpa.subscription.match.matcher.matching.SubscriptionStrategyEvaluator;
import ca.uhn.fhir.jpa.subscription.match.registry.SubscriptionCanonicalizer;
import ca.uhn.fhir.jpa.subscription.model.CanonicalSubscription;
import ca.uhn.fhir.rest.server.exceptions.UnprocessableEntityException;
import org.hl7.fhir.r4.model.Subscription;
import org.junit.jupiter.api.BeforeEach;

View File

@ -8,6 +8,7 @@ import ca.uhn.fhir.rest.param.HasAndListParam;
import ca.uhn.fhir.rest.param.HasOrListParam;
import ca.uhn.fhir.rest.param.HasParam;
import ca.uhn.fhir.rest.param.ReferenceParam;
import ca.uhn.fhir.rest.param.StringParam;
import ca.uhn.fhir.rest.param.TokenParam;
import org.hamcrest.Matchers;
import org.hl7.fhir.r5.model.ClinicalUseDefinition;
@ -197,4 +198,27 @@ public class FhirResourceDaoR5SearchNoFtTest extends BaseJpaR5Test {
assertThat(outcome, Matchers.contains(id));
}
@Test
public void testIndexAddressDistrict() {
// Setup
Patient p = new Patient();
p.addAddress()
.setDistrict("DISTRICT123");
String id = myPatientDao.create(p, mySrd).getId().toUnqualifiedVersionless().getValue();
logAllStringIndexes();
// Test
SearchParameterMap params = SearchParameterMap
.newSynchronous(Patient.SP_ADDRESS, new StringParam("DISTRICT123"));
IBundleProvider outcome = myPatientDao.search(params, mySrd);
// Verify
assertThat(toUnqualifiedVersionlessIdValues(outcome), Matchers.contains(id));
}
}

View File

@ -1,5 +1,25 @@
package ca.uhn.fhir.sl.cache;
/*-
* #%L
* HAPI FHIR - ServiceLoaders - Caching API
* %%
* Copyright (C) 2014 - 2023 Smile CDR, Inc.
* %%
* 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 java.util.Map;
import java.util.concurrent.ExecutionException;
import java.util.function.Function;

View File

@ -1,5 +1,25 @@
package ca.uhn.fhir.sl.cache;
/*-
* #%L
* HAPI FHIR - ServiceLoaders - Caching API
* %%
* Copyright (C) 2014 - 2023 Smile CDR, Inc.
* %%
* 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 ca.uhn.fhir.i18n.Msg;
import java.util.Iterator;

View File

@ -1,5 +1,25 @@
package ca.uhn.fhir.sl.cache;
/*-
* #%L
* HAPI FHIR - ServiceLoaders - Caching API
* %%
* Copyright (C) 2014 - 2023 Smile CDR, Inc.
* %%
* 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%
*/
public interface CacheLoader<K, V> {
V load(K var1) throws Exception;
}

View File

@ -1,5 +1,25 @@
package ca.uhn.fhir.sl.cache;
/*-
* #%L
* HAPI FHIR - ServiceLoaders - Caching API
* %%
* Copyright (C) 2014 - 2023 Smile CDR, Inc.
* %%
* 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%
*/
public interface CacheProvider<K,V> {
Cache create(long timeoutMillis);

View File

@ -1,5 +1,25 @@
package ca.uhn.fhir.sl.cache;
/*-
* #%L
* HAPI FHIR - ServiceLoaders - Caching API
* %%
* Copyright (C) 2014 - 2023 Smile CDR, Inc.
* %%
* 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 java.util.Map;
import java.util.concurrent.CompletableFuture;

View File

@ -1,5 +1,25 @@
package ca.uhn.fhir.sl.cache.caffeine;
/*-
* #%L
* HAPI FHIR - ServiceLoaders - Caching Caffeine
* %%
* Copyright (C) 2014 - 2023 Smile CDR, Inc.
* %%
* 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 java.util.Map;
import java.util.function.Function;

View File

@ -1,5 +1,25 @@
package ca.uhn.fhir.sl.cache.caffeine;
/*-
* #%L
* HAPI FHIR - ServiceLoaders - Caching Caffeine
* %%
* Copyright (C) 2014 - 2023 Smile CDR, Inc.
* %%
* 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 java.util.concurrent.TimeUnit;
import com.github.benmanes.caffeine.cache.Caffeine;

View File

@ -1,5 +1,25 @@
package ca.uhn.fhir.sl.cache.caffeine;
/*-
* #%L
* HAPI FHIR - ServiceLoaders - Caching Caffeine
* %%
* Copyright (C) 2014 - 2023 Smile CDR, Inc.
* %%
* 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 java.util.Map;
import ca.uhn.fhir.sl.cache.LoadingCache;

View File

@ -1,5 +1,25 @@
package ca.uhn.fhir.sl.cache.guava;
/*-
* #%L
* HAPI FHIR - ServiceLoaders - Caching Guava
* %%
* Copyright (C) 2014 - 2023 Smile CDR, Inc.
* %%
* 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 java.util.Map;
import java.util.concurrent.ExecutionException;
import java.util.function.Function;

View File

@ -1,5 +1,25 @@
package ca.uhn.fhir.sl.cache.guava;
/*-
* #%L
* HAPI FHIR - ServiceLoaders - Caching Guava
* %%
* Copyright (C) 2014 - 2023 Smile CDR, Inc.
* %%
* 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 java.util.concurrent.TimeUnit;
import com.google.common.cache.CacheBuilder;

View File

@ -1,5 +1,25 @@
package ca.uhn.fhir.sl.cache.guava;
/*-
* #%L
* HAPI FHIR - ServiceLoaders - Caching Guava
* %%
* Copyright (C) 2014 - 2023 Smile CDR, Inc.
* %%
* 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 java.util.Map;
import java.util.concurrent.ExecutionException;

View File

@ -3,10 +3,10 @@
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>hapi-fhir</artifactId>
<artifactId>hapi-deployable-pom</artifactId>
<groupId>ca.uhn.hapi.fhir</groupId>
<version>6.5.2-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>
<artifactId>hapi-fhir-serviceloaders</artifactId>

View File

@ -312,6 +312,11 @@ public class JpaStorageSettings extends StorageSettings {
*/
private boolean myJobFastTrackingEnabled = false;
/**
* Since 6.4.0
*/
/**
* Constructor
*/
@ -2332,6 +2337,7 @@ public class JpaStorageSettings extends StorageSettings {
myJobFastTrackingEnabled = theJobFastTrackingEnabled;
}
public enum StoreMetaSourceInformationEnum {
NONE(false, false),
SOURCE_URI(true, false),

View File

@ -1337,7 +1337,7 @@
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-ui</artifactId>
<version>1.6.14</version>
<version>1.5.13</version>
</dependency>
<dependency>
<groupId>net.sourceforge.htmlunit</groupId>