Skip to content

Commit f1a8d24

Browse files
committed
TRUNK-6409: Properly handle migration and partial imports
1 parent 73646cc commit f1a8d24

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+931
-240
lines changed

api-2.2/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<parent>
55
<groupId>org.openmrs.module</groupId>
66
<artifactId>initializer</artifactId>
7-
<version>2.12.0-SNAPSHOT</version>
7+
<version>3.0.0-SNAPSHOT</version>
88
</parent>
99

1010
<artifactId>initializer-api-2.2</artifactId>

api-2.3/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<parent>
55
<groupId>org.openmrs.module</groupId>
66
<artifactId>initializer</artifactId>
7-
<version>2.12.0-SNAPSHOT</version>
7+
<version>3.0.0-SNAPSHOT</version>
88
</parent>
99

1010
<artifactId>initializer-api-2.3</artifactId>

api-2.4/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<artifactId>initializer</artifactId>
77
<groupId>org.openmrs.module</groupId>
8-
<version>2.12.0-SNAPSHOT</version>
8+
<version>3.0.0-SNAPSHOT</version>
99
</parent>
1010
<modelVersion>4.0.0</modelVersion>
1111

api-2.5/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<artifactId>initializer</artifactId>
77
<groupId>org.openmrs.module</groupId>
8-
<version>2.12.0-SNAPSHOT</version>
8+
<version>3.0.0-SNAPSHOT</version>
99
</parent>
1010
<modelVersion>4.0.0</modelVersion>
1111

api-2.5/src/main/java/org/openmrs/module/initializer/api/loaders/LiquibaseLoader2_5.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,4 +88,8 @@ private int sqlCount(String sql) {
8888
private void sqlUpdate(String sql) {
8989
Context.getAdministrationService().executeSQL(sql, false);
9090
}
91+
92+
public ConfigDirUtil getDirUtil() {
93+
return new ConfigDirUtil(iniz.getConfigDirPath(), getDomainName(), true);
94+
}
9195
}

api-2.7/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<groupId>org.openmrs.module</groupId>
77
<artifactId>initializer</artifactId>
8-
<version>2.12.0-SNAPSHOT</version>
8+
<version>3.0.0-SNAPSHOT</version>
99
</parent>
1010
<modelVersion>4.0.0</modelVersion>
1111

api-bahmni/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<parent>
55
<groupId>org.openmrs.module</groupId>
66
<artifactId>initializer</artifactId>
7-
<version>2.12.0-SNAPSHOT</version>
7+
<version>3.0.0-SNAPSHOT</version>
88
</parent>
99

1010
<artifactId>initializer-api-bahmni</artifactId>

api/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<parent>
55
<groupId>org.openmrs.module</groupId>
66
<artifactId>initializer</artifactId>
7-
<version>2.12.0-SNAPSHOT</version>
7+
<version>3.0.0-SNAPSHOT</version>
88
</parent>
99

1010
<artifactId>initializer-api</artifactId>

api/src/main/java/org/openmrs/module/initializer/InitializerActivator.java

Lines changed: 14 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,14 @@
99
*/
1010
package org.openmrs.module.initializer;
1111

12+
import static org.openmrs.module.initializer.InitializerConstants.MODULE_ARTIFACT_ID;
13+
import static org.openmrs.module.initializer.InitializerConstants.PROPS_LOGGING_ENABLED;
14+
import static org.openmrs.module.initializer.InitializerConstants.PROPS_LOGGING_LEVEL;
15+
import static org.openmrs.module.initializer.InitializerConstants.PROPS_LOGGING_LOCATION;
16+
import static org.openmrs.module.initializer.InitializerConstants.PROPS_STARTUP_LOAD_DISABLED;
17+
import static org.openmrs.module.initializer.InitializerConstants.PROPS_STARTUP_LOAD_FAIL_ON_ERROR;
18+
import static org.openmrs.module.initializer.api.utils.Utils.getPropertyValue;
19+
1220
import java.io.IOException;
1321
import java.nio.file.Path;
1422
import java.nio.file.Paths;
@@ -24,14 +32,6 @@
2432
import org.slf4j.Logger;
2533
import org.slf4j.LoggerFactory;
2634

27-
import static org.openmrs.module.initializer.InitializerConstants.MODULE_ARTIFACT_ID;
28-
import static org.openmrs.module.initializer.InitializerConstants.PROPS_LOGGING_ENABLED;
29-
import static org.openmrs.module.initializer.InitializerConstants.PROPS_LOGGING_LEVEL;
30-
import static org.openmrs.module.initializer.InitializerConstants.PROPS_LOGGING_LOCATION;
31-
import static org.openmrs.module.initializer.InitializerConstants.PROPS_STARTUP_LOAD_DISABLED;
32-
import static org.openmrs.module.initializer.InitializerConstants.PROPS_STARTUP_LOAD_FAIL_ON_ERROR;
33-
import static org.openmrs.module.initializer.api.utils.Utils.getPropertyValue;
34-
3535
/**
3636
* This class contains the logic that is run every time this module is either started or shutdown
3737
*/
@@ -76,47 +76,27 @@ public void started() {
7676
InitializerMessageSource messageSource = getInitializerMessageSource();
7777
Context.getMessageSourceService().setActiveMessageSource(messageSource);
7878

79-
String startupLoadingMode = getInitializerService().getInitializerConfig().getStartupLoadingMode();
79+
getInitializerService().migrateChecksumsFromFilesToDB();
8080

81+
String startupLoadingMode = getInitializerConfig().getStartupLoadingMode();
8182
if (PROPS_STARTUP_LOAD_DISABLED.equalsIgnoreCase(startupLoadingMode)) {
8283
log.info("OpenMRS config loading process disabled at initializer startup");
8384
} else {
8485
boolean throwError = PROPS_STARTUP_LOAD_FAIL_ON_ERROR.equalsIgnoreCase(startupLoadingMode);
85-
boolean lockAquired = false;
86-
String lockName = "initializer";
8786

8887
try {
89-
log.info("Waiting for initializer lock...");
90-
getInitializerService().acquireLockOrWait(lockName, 15 * 60 * 1000); // 15 minutes
91-
lockAquired = true;
92-
93-
// Check if config changed
94-
if (!getInitializerService().isConfigChanged()) {
95-
log.info("No config changes... skipping initializer");
96-
return;
97-
}
98-
99-
// Run Initializer
100-
log.info("OpenMRS config loading process started...");
10188
getInitializerService().loadUnsafe(true, throwError);
102-
103-
// Save new checksums
104-
getInitializerService().updateChecksums();
105-
log.info("OpenMRS config loading process completed.");
10689
}
10790
catch (Exception e) {
108-
log.error("Initializer failed", e);
10991
throw new ModuleException("An error occurred loading initializer configuration", e);
11092
}
111-
finally {
112-
if (lockAquired) {
113-
getInitializerService().releaseLock(lockName);
114-
log.info("Initializer lock released");
115-
}
116-
}
11793
}
11894
}
11995

96+
protected InitializerConfig getInitializerConfig() {
97+
return getInitializerService().getInitializerConfig();
98+
}
99+
120100
protected InitializerService getInitializerService() {
121101
return Context.getService(InitializerService.class);
122102
}

api/src/main/java/org/openmrs/module/initializer/InitializerConstants.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,8 @@ public class InitializerConstants {
5656
*/
5757
public static final String DIR_NAME_CONFIG = "configuration";
5858

59+
public static final String DIR_NAME_CHECKSUM = "configuration_checksums";
60+
5961
public static final String DIR_NAME_REJECTIONS = "configuration_rejections";
6062

6163
/*

0 commit comments

Comments
 (0)