Expose BaseRequestPartitionHelperSvc validateAndNormalize methods (#5811)

* Expose BaseRequestPartitionHelperSvc validate and normalize methods

* Compilation errors

* change mock test to jpa test

* change mock test to jpa test

* validateAndNormalizePartitionIds

* validateAndNormalizePartitionNames

* validateAndNormalizePartitionIds validation + bug fix

* validateAndNormalizePartitionNames validation

* fix test

* version bump
This commit is contained in:
Nathan Doef 2024-04-26 23:57:50 -04:00 committed by GitHub
parent b2d61a1f65
commit 8f56a02deb
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
83 changed files with 290 additions and 133 deletions

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-fhir</artifactId>
<version>7.1.10-SNAPSHOT</version>
<version>7.1.11-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.1.10-SNAPSHOT</version>
<version>7.1.11-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.1.10-SNAPSHOT</version>
<version>7.1.11-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -4,7 +4,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-fhir-bom</artifactId>
<version>7.1.10-SNAPSHOT</version>
<version>7.1.11-SNAPSHOT</version>
<packaging>pom</packaging>
<name>HAPI FHIR BOM</name>
@ -12,7 +12,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.1.10-SNAPSHOT</version>
<version>7.1.11-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-fhir</artifactId>
<version>7.1.10-SNAPSHOT</version>
<version>7.1.11-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>

View File

@ -4,7 +4,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.1.10-SNAPSHOT</version>
<version>7.1.11-SNAPSHOT</version>
<relativePath>../../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -6,7 +6,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-fhir-cli</artifactId>
<version>7.1.10-SNAPSHOT</version>
<version>7.1.11-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-fhir</artifactId>
<version>7.1.10-SNAPSHOT</version>
<version>7.1.11-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>

View File

@ -4,7 +4,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.1.10-SNAPSHOT</version>
<version>7.1.11-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -4,7 +4,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.1.10-SNAPSHOT</version>
<version>7.1.11-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.1.10-SNAPSHOT</version>
<version>7.1.11-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-fhir</artifactId>
<version>7.1.10-SNAPSHOT</version>
<version>7.1.11-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.1.10-SNAPSHOT</version>
<version>7.1.11-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -11,7 +11,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.1.10-SNAPSHOT</version>
<version>7.1.11-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -4,7 +4,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.1.10-SNAPSHOT</version>
<version>7.1.11-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.1.10-SNAPSHOT</version>
<version>7.1.11-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.1.10-SNAPSHOT</version>
<version>7.1.11-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -37,7 +37,7 @@ public class RequestPartitionHelperSvc extends BaseRequestPartitionHelperSvc {
IPartitionLookupSvc myPartitionConfigSvc;
@Override
protected RequestPartitionId validateAndNormalizePartitionIds(RequestPartitionId theRequestPartitionId) {
public RequestPartitionId validateAndNormalizePartitionIds(RequestPartitionId theRequestPartitionId) {
List<String> names = null;
for (int i = 0; i < theRequestPartitionId.getPartitionIds().size(); i++) {
@ -59,7 +59,7 @@ public class RequestPartitionHelperSvc extends BaseRequestPartitionHelperSvc {
}
}
if (theRequestPartitionId.getPartitionNames() != null) {
if (theRequestPartitionId.hasPartitionNames()) {
if (partition == null) {
Validate.isTrue(
theRequestPartitionId.getPartitionIds().get(i) == null,
@ -68,8 +68,8 @@ public class RequestPartitionHelperSvc extends BaseRequestPartitionHelperSvc {
} else {
Validate.isTrue(
Objects.equals(
theRequestPartitionId.getPartitionIds().get(i), partition.getId()),
"Partition name %s does not match ID %n",
theRequestPartitionId.getPartitionNames().get(i), partition.getName()),
"Partition name %s does not match ID %s",
theRequestPartitionId.getPartitionNames().get(i),
theRequestPartitionId.getPartitionIds().get(i));
}
@ -94,7 +94,7 @@ public class RequestPartitionHelperSvc extends BaseRequestPartitionHelperSvc {
}
@Override
protected RequestPartitionId validateAndNormalizePartitionNames(RequestPartitionId theRequestPartitionId) {
public RequestPartitionId validateAndNormalizePartitionNames(RequestPartitionId theRequestPartitionId) {
List<Integer> ids = null;
for (int i = 0; i < theRequestPartitionId.getPartitionNames().size(); i++) {
@ -122,9 +122,9 @@ public class RequestPartitionHelperSvc extends BaseRequestPartitionHelperSvc {
Validate.isTrue(
Objects.equals(
theRequestPartitionId.getPartitionIds().get(i), partition.getId()),
"Partition name %s does not match ID %n",
theRequestPartitionId.getPartitionNames().get(i),
theRequestPartitionId.getPartitionIds().get(i));
"Partition ID %s does not match name %s",
theRequestPartitionId.getPartitionIds().get(i),
theRequestPartitionId.getPartitionNames().get(i));
}
} else {
if (ids == null) {

View File

@ -6,7 +6,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.1.10-SNAPSHOT</version>
<version>7.1.11-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -3,7 +3,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.1.10-SNAPSHOT</version>
<version>7.1.11-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -3,7 +3,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.1.10-SNAPSHOT</version>
<version>7.1.11-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -6,7 +6,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.1.10-SNAPSHOT</version>
<version>7.1.11-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.1.10-SNAPSHOT</version>
<version>7.1.11-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.1.10-SNAPSHOT</version>
<version>7.1.11-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -156,4 +156,30 @@ public interface IRequestPartitionHelperSvc {
Set<Integer> toReadPartitions(@Nonnull RequestPartitionId theRequestPartitionId);
boolean isResourcePartitionable(String theResourceType);
/**
* <b>No interceptors should be invoked by this method. It should ONLY be used when partition ids are
* known, but partition names are not.</b>
* <br/><br/>
* Ensures the list of partition ids inside the given {@link RequestPartitionId} correctly map to the
* list of partition names. If the list of partition names is empty, this method will map the correct
* partition names and return a normalized {@link RequestPartitionId}.
* <br/><br/>
* @param theRequestPartitionId - An unvalidated and unnormalized {@link RequestPartitionId}.
* @return - A {@link RequestPartitionId} with a normalized list of partition ids and partition names.
*/
RequestPartitionId validateAndNormalizePartitionIds(RequestPartitionId theRequestPartitionId);
/**
* <b>No interceptors should be invoked by this method. It should ONLY be used when partition names are
* known, but partition ids are not.</b>
* <br/><br/>
* Ensures the list of partition names inside the given {@link RequestPartitionId} correctly map to the
* list of partition ids. If the list of partition ids is empty, this method will map the correct
* partition ids and return a normalized {@link RequestPartitionId}.
* <br/><br/>
* @param theRequestPartitionId - An unvalidated and unnormalized {@link RequestPartitionId}.
* @return - A {@link RequestPartitionId} with a normalized list of partition ids and partition names.
*/
RequestPartitionId validateAndNormalizePartitionNames(RequestPartitionId theRequestPartitionId);
}

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.1.10-SNAPSHOT</version>
<version>7.1.11-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -6,7 +6,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.1.10-SNAPSHOT</version>
<version>7.1.11-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -6,7 +6,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.1.10-SNAPSHOT</version>
<version>7.1.11-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -6,7 +6,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.1.10-SNAPSHOT</version>
<version>7.1.11-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -1,74 +1,189 @@
package ca.uhn.fhir.jpa.partition;
import ca.uhn.fhir.context.FhirContext;
import ca.uhn.fhir.interceptor.api.IInterceptorBroadcaster;
import ca.uhn.fhir.interceptor.model.RequestPartitionId;
import ca.uhn.fhir.jpa.dao.data.IPartitionDao;
import ca.uhn.fhir.jpa.entity.PartitionEntity;
import ca.uhn.fhir.jpa.model.config.PartitionSettings;
import ca.uhn.fhir.jpa.test.BaseJpaR4Test;
import ca.uhn.fhir.rest.api.server.SystemRequestDetails;
import ca.uhn.fhir.rest.server.exceptions.ResourceNotFoundException;
import org.hl7.fhir.r4.model.IdType;
import org.hl7.fhir.r4.model.Patient;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.junit.jupiter.MockitoExtension;
import org.springframework.beans.factory.annotation.Autowired;
import java.util.Set;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.mockito.Mockito.when;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.junit.jupiter.api.Assertions.fail;
@ExtendWith(MockitoExtension.class)
class RequestPartitionHelperSvcTest {
static final Integer PARTITION_ID = 2401;
static final String PARTITION_NAME = "JIMMY";
static final PartitionEntity ourPartitionEntity = new PartitionEntity().setName(PARTITION_NAME);
class RequestPartitionHelperSvcTest extends BaseJpaR4Test {
@Mock
static final int PARTITION_ID_1 = 1;
static final String PARTITION_NAME_1 = "SOME-PARTITION-1";
static final int PARTITION_ID_2 = 2;
static final String PARTITION_NAME_2 = "SOME-PARTITION-2";
static final int UNKNOWN_PARTITION_ID = 1_000_000;
static final String UNKNOWN_PARTITION_NAME = "UNKNOWN";
@Autowired
IPartitionDao myPartitionDao;
@Autowired
PartitionSettings myPartitionSettings;
@Mock
IPartitionLookupSvc myPartitionLookupSvc;
@Mock
FhirContext myFhirContext;
@Mock
IInterceptorBroadcaster myInterceptorBroadcaster;
@Autowired
RequestPartitionHelperSvc mySvc;
@InjectMocks
RequestPartitionHelperSvc mySvc = new RequestPartitionHelperSvc();
Patient myPatient;
@Test
public void determineReadPartitionForSystemRequest() {
// setup
SystemRequestDetails srd = new SystemRequestDetails();
RequestPartitionId requestPartitionId = RequestPartitionId.fromPartitionId(PARTITION_ID);
srd.setRequestPartitionId(requestPartitionId);
when(myPartitionSettings.isPartitioningEnabled()).thenReturn(true);
when(myPartitionLookupSvc.getPartitionById(PARTITION_ID)).thenReturn(ourPartitionEntity);
@BeforeEach
public void before(){
myPartitionDao.deleteAll();
myPartitionSettings.setPartitioningEnabled(true);
// execute
RequestPartitionId result = mySvc.determineReadPartitionForRequestForRead(srd, "Patient", new IdType("Patient/123"));
// verify
assertEquals(PARTITION_ID, result.getFirstPartitionIdOrNull());
assertEquals(PARTITION_NAME, result.getFirstPartitionNameOrNull());
myPatient = new Patient();
myPatient.setId(new IdType("Patient", "123", "1"));
}
@Test
public void determineCreatePartitionForSystemRequest() {
public void testDetermineReadPartitionForSystemRequest_withPartitionIdOnly_returnsCorrectPartition() {
// setup
PartitionEntity partitionEntity = createPartition1();
SystemRequestDetails srd = new SystemRequestDetails();
RequestPartitionId requestPartitionId = RequestPartitionId.fromPartitionId(PARTITION_ID);
srd.setRequestPartitionId(requestPartitionId);
when(myPartitionSettings.isPartitioningEnabled()).thenReturn(true);
when(myPartitionLookupSvc.getPartitionById(PARTITION_ID)).thenReturn(ourPartitionEntity);
Patient resource = new Patient();
when(myFhirContext.getResourceType(resource)).thenReturn("Patient");
srd.setRequestPartitionId(RequestPartitionId.fromPartitionId(partitionEntity.getId()));
// execute
RequestPartitionId result = mySvc.determineCreatePartitionForRequest(srd, resource, "Patient");
RequestPartitionId result = mySvc.determineReadPartitionForRequestForRead(srd, myPatient.fhirType(), myPatient.getIdElement());
// verify
assertEquals(PARTITION_ID, result.getFirstPartitionIdOrNull());
assertEquals(PARTITION_NAME, result.getFirstPartitionNameOrNull());
assertEquals(PARTITION_ID_1, result.getFirstPartitionIdOrNull());
assertEquals(PARTITION_NAME_1, result.getFirstPartitionNameOrNull());
}
@Test
public void testDetermineCreatePartitionForRequest_withPartitionIdOnly_returnsCorrectPartition() {
// setup
PartitionEntity partitionEntity = createPartition1();
SystemRequestDetails srd = new SystemRequestDetails();
srd.setRequestPartitionId(RequestPartitionId.fromPartitionId(partitionEntity.getId()));
// execute
Patient patient = new Patient();
RequestPartitionId result = mySvc.determineCreatePartitionForRequest(srd, patient, patient.fhirType());
// verify
assertEquals(PARTITION_ID_1, result.getFirstPartitionIdOrNull());
assertEquals(PARTITION_NAME_1, result.getFirstPartitionNameOrNull());
}
@Test
public void testValidateAndNormalizePartitionIds_withPartitionIdOnly_populatesPartitionName(){
PartitionEntity partitionEntity = createPartition1();
RequestPartitionId partitionId = RequestPartitionId.fromPartitionId(partitionEntity.getId());
RequestPartitionId result = mySvc.validateAndNormalizePartitionIds(partitionId);
assertEquals(PARTITION_ID_1, result.getFirstPartitionIdOrNull());
assertEquals(PARTITION_NAME_1, result.getFirstPartitionNameOrNull());
}
@Test
public void testValidateAndNormalizePartitionIds_withUnknownId_throwsException(){
RequestPartitionId partitionId = RequestPartitionId.fromPartitionId(UNKNOWN_PARTITION_ID);
try{
mySvc.validateAndNormalizePartitionIds(partitionId);
fail();
} catch (ResourceNotFoundException e){
assertTrue(e.getMessage().contains("No partition exists with ID 1,000,000"));
}
}
@Test
public void testValidateAndNormalizePartitionIds_withIdAndInvalidName_throwsException(){
createPartition1();
RequestPartitionId partitionId = RequestPartitionId.fromPartitionIdAndName(PARTITION_ID_1, UNKNOWN_PARTITION_NAME);
try{
mySvc.validateAndNormalizePartitionIds(partitionId);
fail();
} catch (IllegalArgumentException e){
assertTrue(e.getMessage().contains("Partition name UNKNOWN does not match ID 1"));
}
}
@Test
public void testValidateAndNormalizePartitionIds_withMultiplePartitionIdOnly_populatesPartitionNames(){
PartitionEntity partitionEntity1 = createPartition1();
PartitionEntity partitionEntity2 = createPartition2();
RequestPartitionId partitionId = RequestPartitionId.fromPartitionIds(partitionEntity1.getId(), partitionEntity2.getId());
RequestPartitionId result = mySvc.validateAndNormalizePartitionIds(partitionId);
assertTrue(result.getPartitionIds().containsAll(Set.of(PARTITION_ID_1, PARTITION_ID_2)));
assertNotNull(result.getPartitionNames());
assertTrue(result.getPartitionNames().containsAll(Set.of(PARTITION_NAME_1, PARTITION_NAME_2)));
}
@Test
public void testValidateAndNormalizePartitionNames_withPartitionNameOnly_populatesPartitionId(){
PartitionEntity partitionEntity = createPartition1();
RequestPartitionId partitionId = RequestPartitionId.fromPartitionName(partitionEntity.getName());
RequestPartitionId result = mySvc.validateAndNormalizePartitionNames(partitionId);
assertEquals(PARTITION_ID_1, result.getFirstPartitionIdOrNull());
assertEquals(PARTITION_NAME_1, result.getFirstPartitionNameOrNull());
}
@Test
public void testValidateAndNormalizePartitionNames_withMultiplePartitionNamesOnly_populatesPartitionIds(){
PartitionEntity partitionEntity1 = createPartition1();
PartitionEntity partitionEntity2 = createPartition2();
RequestPartitionId partitionId = RequestPartitionId.fromPartitionNames(partitionEntity1.getName(), partitionEntity2.getName());
RequestPartitionId result = mySvc.validateAndNormalizePartitionNames(partitionId);
assertTrue(result.getPartitionIds().containsAll(Set.of(PARTITION_ID_1, PARTITION_ID_2)));
assertNotNull(result.getPartitionNames());
assertTrue(result.getPartitionNames().containsAll(Set.of(PARTITION_NAME_1, PARTITION_NAME_2)));
}
@Test
public void testValidateAndNormalizePartitionNames_withUnknownName_throwsException(){
RequestPartitionId partitionId = RequestPartitionId.fromPartitionName(UNKNOWN_PARTITION_NAME);
try{
mySvc.validateAndNormalizePartitionNames(partitionId);
fail();
} catch (ResourceNotFoundException e){
assertTrue(e.getMessage().contains("Partition name \"UNKNOWN\" is not valid"));
}
}
@Test
public void testValidateAndNormalizePartitionNames_withNameAndInvalidId_throwsException(){
createPartition1();
RequestPartitionId partitionId = RequestPartitionId.fromPartitionIdAndName(UNKNOWN_PARTITION_ID, PARTITION_NAME_1);
try{
mySvc.validateAndNormalizePartitionNames(partitionId);
fail();
} catch (IllegalArgumentException e){
assertTrue(e.getMessage().contains("Partition ID 1000000 does not match name SOME-PARTITION-1"));
}
}
private PartitionEntity createPartition1() {
return myPartitionDao.save(new PartitionEntity().setId(PARTITION_ID_1).setName(PARTITION_NAME_1));
}
private PartitionEntity createPartition2() {
return myPartitionDao.save(new PartitionEntity().setId(PARTITION_ID_2).setName(PARTITION_NAME_2));
}
}

View File

@ -884,6 +884,16 @@ public class GiantTransactionPerfTest {
return true;
}
@Override
public RequestPartitionId validateAndNormalizePartitionIds(RequestPartitionId theRequestPartitionId) {
return RequestPartitionId.defaultPartition();
}
@Override
public RequestPartitionId validateAndNormalizePartitionNames(RequestPartitionId theRequestPartitionId) {
return RequestPartitionId.defaultPartition();
}
}

View File

@ -6,7 +6,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.1.10-SNAPSHOT</version>
<version>7.1.11-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -6,7 +6,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.1.10-SNAPSHOT</version>
<version>7.1.11-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -6,7 +6,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.1.10-SNAPSHOT</version>
<version>7.1.11-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-fhir</artifactId>
<version>7.1.10-SNAPSHOT</version>
<version>7.1.11-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>

View File

@ -7,7 +7,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.1.10-SNAPSHOT</version>
<version>7.1.11-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -7,7 +7,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.1.10-SNAPSHOT</version>
<version>7.1.11-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.1.10-SNAPSHOT</version>
<version>7.1.11-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.1.10-SNAPSHOT</version>
<version>7.1.11-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -7,7 +7,7 @@
<parent>
<artifactId>hapi-fhir-serviceloaders</artifactId>
<groupId>ca.uhn.hapi.fhir</groupId>
<version>7.1.10-SNAPSHOT</version>
<version>7.1.11-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>

View File

@ -7,7 +7,7 @@
<parent>
<artifactId>hapi-fhir-serviceloaders</artifactId>
<groupId>ca.uhn.hapi.fhir</groupId>
<version>7.1.10-SNAPSHOT</version>
<version>7.1.11-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>
@ -21,7 +21,7 @@
<dependency>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-fhir-caching-api</artifactId>
<version>7.1.10-SNAPSHOT</version>
<version>7.1.11-SNAPSHOT</version>
</dependency>
<dependency>

View File

@ -7,7 +7,7 @@
<parent>
<artifactId>hapi-fhir-serviceloaders</artifactId>
<groupId>ca.uhn.hapi.fhir</groupId>
<version>7.1.10-SNAPSHOT</version>
<version>7.1.11-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>

View File

@ -7,7 +7,7 @@
<parent>
<artifactId>hapi-fhir</artifactId>
<groupId>ca.uhn.hapi.fhir</groupId>
<version>7.1.10-SNAPSHOT</version>
<version>7.1.11-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<artifactId>hapi-deployable-pom</artifactId>
<groupId>ca.uhn.hapi.fhir</groupId>
<version>7.1.10-SNAPSHOT</version>
<version>7.1.11-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.1.10-SNAPSHOT</version>
<version>7.1.11-SNAPSHOT</version>
<relativePath>../../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-fhir-spring-boot-samples</artifactId>
<version>7.1.10-SNAPSHOT</version>
<version>7.1.11-SNAPSHOT</version>
</parent>
<artifactId>hapi-fhir-spring-boot-sample-client-apache</artifactId>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-fhir-spring-boot-samples</artifactId>
<version>7.1.10-SNAPSHOT</version>
<version>7.1.11-SNAPSHOT</version>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-fhir-spring-boot-samples</artifactId>
<version>7.1.10-SNAPSHOT</version>
<version>7.1.11-SNAPSHOT</version>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-fhir-spring-boot</artifactId>
<version>7.1.10-SNAPSHOT</version>
<version>7.1.11-SNAPSHOT</version>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.1.10-SNAPSHOT</version>
<version>7.1.11-SNAPSHOT</version>
<relativePath>../../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-fhir</artifactId>
<version>7.1.10-SNAPSHOT</version>
<version>7.1.11-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.1.10-SNAPSHOT</version>
<version>7.1.11-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.1.10-SNAPSHOT</version>
<version>7.1.11-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -436,6 +436,16 @@ public class BulkDataImportProviderTest {
public boolean isResourcePartitionable(String theResourceType) {
return false;
}
@Override
public RequestPartitionId validateAndNormalizePartitionIds(RequestPartitionId theRequestPartitionId) {
return null;
}
@Override
public RequestPartitionId validateAndNormalizePartitionNames(RequestPartitionId theRequestPartitionId) {
return null;
}
}
private Date parseDate(String theString) {

View File

@ -7,7 +7,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.1.10-SNAPSHOT</version>
<version>7.1.11-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -7,7 +7,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.1.10-SNAPSHOT</version>
<version>7.1.11-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -7,7 +7,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.1.10-SNAPSHOT</version>
<version>7.1.11-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.1.10-SNAPSHOT</version>
<version>7.1.11-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.1.10-SNAPSHOT</version>
<version>7.1.11-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.1.10-SNAPSHOT</version>
<version>7.1.11-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -333,10 +333,6 @@ public abstract class BaseRequestPartitionHelperSvc implements IRequestPartition
return !myNonPartitionableResourceNames.contains(theResourceType);
}
protected abstract RequestPartitionId validateAndNormalizePartitionIds(RequestPartitionId theRequestPartitionId);
protected abstract RequestPartitionId validateAndNormalizePartitionNames(RequestPartitionId theRequestPartitionId);
private void validateSinglePartitionForCreate(
RequestPartitionId theRequestPartitionId, @Nonnull String theResourceName, Pointcut thePointcut) {
validateRequestPartitionNotNull(theRequestPartitionId, thePointcut);

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.1.10-SNAPSHOT</version>
<version>7.1.11-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -4,7 +4,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.1.10-SNAPSHOT</version>
<version>7.1.11-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.1.10-SNAPSHOT</version>
<version>7.1.11-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.1.10-SNAPSHOT</version>
<version>7.1.11-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.1.10-SNAPSHOT</version>
<version>7.1.11-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.1.10-SNAPSHOT</version>
<version>7.1.11-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.1.10-SNAPSHOT</version>
<version>7.1.11-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.1.10-SNAPSHOT</version>
<version>7.1.11-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-fhir</artifactId>
<version>7.1.10-SNAPSHOT</version>
<version>7.1.11-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>

View File

@ -4,7 +4,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.1.10-SNAPSHOT</version>
<version>7.1.11-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -4,7 +4,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.1.10-SNAPSHOT</version>
<version>7.1.11-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -4,7 +4,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.1.10-SNAPSHOT</version>
<version>7.1.11-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -4,7 +4,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.1.10-SNAPSHOT</version>
<version>7.1.11-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -4,7 +4,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.1.10-SNAPSHOT</version>
<version>7.1.11-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -4,7 +4,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.1.10-SNAPSHOT</version>
<version>7.1.11-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.1.10-SNAPSHOT</version>
<version>7.1.11-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-fhir</artifactId>
<version>7.1.10-SNAPSHOT</version>
<version>7.1.11-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>

View File

@ -4,7 +4,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-fhir</artifactId>
<version>7.1.10-SNAPSHOT</version>
<version>7.1.11-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>

View File

@ -9,7 +9,7 @@
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-fhir</artifactId>
<packaging>pom</packaging>
<version>7.1.10-SNAPSHOT</version>
<version>7.1.11-SNAPSHOT</version>
<name>HAPI-FHIR</name>
<description>An open-source implementation of the FHIR specification in Java.</description>

View File

@ -7,7 +7,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-fhir</artifactId>
<version>7.1.10-SNAPSHOT</version>
<version>7.1.11-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>

View File

@ -4,7 +4,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-fhir</artifactId>
<version>7.1.10-SNAPSHOT</version>
<version>7.1.11-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-fhir</artifactId>
<version>7.1.10-SNAPSHOT</version>
<version>7.1.11-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>