diff --git a/hapi-fhir-jpaserver-migrate/src/main/java/ca/uhn/fhir/jpa/migrate/taskdef/InitializeSchemaTask.java b/hapi-fhir-jpaserver-migrate/src/main/java/ca/uhn/fhir/jpa/migrate/taskdef/InitializeSchemaTask.java index 2c856eac168..781b0f406b5 100644 --- a/hapi-fhir-jpaserver-migrate/src/main/java/ca/uhn/fhir/jpa/migrate/taskdef/InitializeSchemaTask.java +++ b/hapi-fhir-jpaserver-migrate/src/main/java/ca/uhn/fhir/jpa/migrate/taskdef/InitializeSchemaTask.java @@ -34,6 +34,7 @@ import java.util.Set; public class InitializeSchemaTask extends BaseTask { private static final Logger ourLog = LoggerFactory.getLogger(InitializeSchemaTask.class); + private final ISchemaInitializationProvider mySchemaInitializationProvider; public InitializeSchemaTask(String theProductVersion, String theSchemaVersion, ISchemaInitializationProvider theSchemaInitializationProvider) { @@ -77,4 +78,8 @@ public class InitializeSchemaTask extends BaseTask { protected void generateHashCode(HashCodeBuilder theBuilder) { theBuilder.append(mySchemaInitializationProvider); } + + public ISchemaInitializationProvider getSchemaInitializationProvider() { + return mySchemaInitializationProvider; + } } diff --git a/hapi-fhir-jpaserver-migrate/src/main/java/ca/uhn/fhir/jpa/migrate/tasks/HapiFhirJpaMigrationTasks.java b/hapi-fhir-jpaserver-migrate/src/main/java/ca/uhn/fhir/jpa/migrate/tasks/HapiFhirJpaMigrationTasks.java index 90e920e1234..ffcae0b4c2a 100644 --- a/hapi-fhir-jpaserver-migrate/src/main/java/ca/uhn/fhir/jpa/migrate/tasks/HapiFhirJpaMigrationTasks.java +++ b/hapi-fhir-jpaserver-migrate/src/main/java/ca/uhn/fhir/jpa/migrate/tasks/HapiFhirJpaMigrationTasks.java @@ -893,7 +893,7 @@ public class HapiFhirJpaMigrationTasks extends BaseMigrationTasks { } - private void init330() { // 20180114 - 20180329 + protected void init330() { // 20180114 - 20180329 Builder version = forVersion(VersionEnum.V3_3_0); version.initializeSchema("20180115.0", new SchemaInitializationProvider("/ca/uhn/hapi/fhir/jpa/docs/database", "HFJ_RESOURCE")); diff --git a/hapi-fhir-jpaserver-migrate/src/main/java/ca/uhn/fhir/jpa/migrate/tasks/SchemaInitializationProvider.java b/hapi-fhir-jpaserver-migrate/src/main/java/ca/uhn/fhir/jpa/migrate/tasks/SchemaInitializationProvider.java index 6e8a0c25f7e..c15e330b6ee 100644 --- a/hapi-fhir-jpaserver-migrate/src/main/java/ca/uhn/fhir/jpa/migrate/tasks/SchemaInitializationProvider.java +++ b/hapi-fhir-jpaserver-migrate/src/main/java/ca/uhn/fhir/jpa/migrate/tasks/SchemaInitializationProvider.java @@ -37,7 +37,7 @@ import static org.apache.commons.lang3.StringUtils.isBlank; public class SchemaInitializationProvider implements ISchemaInitializationProvider { - private final String mySchemaFileClassPath; + private String mySchemaFileClassPath; private final String mySchemaExistsIndicatorTable; /** @@ -110,5 +110,10 @@ public class SchemaInitializationProvider implements ISchemaInitializationProvid public String getSchemaExistsIndicatorTable() { return mySchemaExistsIndicatorTable; } + + public SchemaInitializationProvider setSchemaFileClassPath(String theSchemaFileClassPath) { + mySchemaFileClassPath = theSchemaFileClassPath; + return this; + } } diff --git a/hapi-fhir-jpaserver-migrate/src/main/java/ca/uhn/fhir/jpa/migrate/tasks/api/BaseMigrationTasks.java b/hapi-fhir-jpaserver-migrate/src/main/java/ca/uhn/fhir/jpa/migrate/tasks/api/BaseMigrationTasks.java index 5d7c819744c..7198767ee0e 100644 --- a/hapi-fhir-jpaserver-migrate/src/main/java/ca/uhn/fhir/jpa/migrate/tasks/api/BaseMigrationTasks.java +++ b/hapi-fhir-jpaserver-migrate/src/main/java/ca/uhn/fhir/jpa/migrate/tasks/api/BaseMigrationTasks.java @@ -81,6 +81,13 @@ public class BaseMigrationTasks { return retval; } + protected BaseTask getTaskWithVersion(String theFlywayVersion) { + return myTasks.values().stream() + .filter(task -> theFlywayVersion.equals(task.getFlywayVersion())) + .findFirst() + .get(); + } + void validate(Collection theTasks) { for (BaseTask task: theTasks) { task.validateVersion();