mekomsolutions / openmrs-module-initializer

The OpenMRS Initializer module is an API-only module that processes the content of the configuration folder when it is found inside OpenMRS' application data directory.
MIT License
23 stars 79 forks source link

TRUNK-6208: Fix `null` config directory path in `DeleteDomainChecksumsChangeset`. #267

Closed k4pran closed 4 months ago

k4pran commented 5 months ago

Fix NPE issue originating from DeleteDomainChecksumsChangeset. See https://github.com/openmrs/openmrs-core/pull/4637#issuecomment-2132856318

ERROR - Slf4JLogger.log(39) |2024-05-27T01:05:29,953| ChangeSet liquibase.xml::delete-concepts-checksums-20211025::iniz encountered an exception.
java.lang.NullPointerException: null
    at java.base/java.util.Objects.requireNonNull(Objects.java:209) ~[?:?]
    at java.base/sun.nio.fs.UnixFileSystem.getPath(UnixFileSystem.java:263) ~[?:?]
    at java.base/java.nio.file.Path.of(Path.java:147) ~[?:?]
    at java.base/java.nio.file.Paths.get(Paths.java:69) ~[?:?]
    at org.openmrs.module.initializer.api.ConfigDirUtil.<init>(ConfigDirUtil.java:72) ~[initializer-api-2.6.0.jar:?]
    at org.openmrs.module.initializer.api.ConfigDirUtil.<init>(ConfigDirUtil.java:81) ~[initializer-api-2.6.0.jar:?]
    at org.openmrs.module.initializer.liquibase.DeleteDomainChecksumsChangeset.execute(DeleteDomainChecksumsChangeset.java:52) ~

I did duplicate some code from InitializerServiceImpl as it didn't seem there was an easy way to autowire into liquibase customChange classes.

mks-d commented 4 months ago

Thanks @k4pran and @dkayiwa 🙏