diff --git a/CHANGELOG.md b/CHANGELOG.md index a88c73e..0847f4e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,9 @@ ### Added - Regex support for translation file patterns +### Changed +- Reload function internally consolidated + ### Fixed - Parsing for .properties files diff --git a/src/main/java/de/marhali/easyi18n/DataStore.java b/src/main/java/de/marhali/easyi18n/DataStore.java index b335c88..db0bf31 100644 --- a/src/main/java/de/marhali/easyi18n/DataStore.java +++ b/src/main/java/de/marhali/easyi18n/DataStore.java @@ -49,9 +49,6 @@ public class DataStore { */ public void loadFromPersistenceLayer(@NotNull Consumer successResult) { ProjectSettings settings = ProjectSettingsService.get(project).getState(); - - ApplicationManager.getApplication().saveAll(); // Save opened files (required if new locales were added) - ApplicationManager.getApplication().runReadAction(() -> { try { this.data = new IOHandler(project, settings).read(); diff --git a/src/main/java/de/marhali/easyi18n/InstanceManager.java b/src/main/java/de/marhali/easyi18n/InstanceManager.java index 829c60a..8eddfae 100644 --- a/src/main/java/de/marhali/easyi18n/InstanceManager.java +++ b/src/main/java/de/marhali/easyi18n/InstanceManager.java @@ -72,6 +72,7 @@ public class InstanceManager { * Fetches data from persistence layer and notifies all endpoints via {@link DataBus}. */ public void reload() { + ApplicationManager.getApplication().saveAll(); // Save opened files (required if new locales were added) store.loadFromPersistenceLayer((success) -> bus.propagate().onUpdateData(store.getData())); } diff --git a/src/main/java/de/marhali/easyi18n/service/FileChangeListener.java b/src/main/java/de/marhali/easyi18n/service/FileChangeListener.java index 00ed6e2..88ce083 100644 --- a/src/main/java/de/marhali/easyi18n/service/FileChangeListener.java +++ b/src/main/java/de/marhali/easyi18n/service/FileChangeListener.java @@ -54,10 +54,7 @@ public class FileChangeListener implements AsyncFileListener { events.forEach((e) -> { if(e.getPath().contains(localesPath)) { // Perform reload logger.debug("Detected file change. Reloading instance..."); - InstanceManager manager = InstanceManager.get(project); - manager.store().loadFromPersistenceLayer((success) -> { - manager.bus().propagate().onUpdateData(manager.store().getData()); - }); + InstanceManager.get(project).reload(); } }); } diff --git a/src/test/java/de/marhali/easyi18n/e2e/EndToEndTestCase.java b/src/test/java/de/marhali/easyi18n/e2e/EndToEndTestCase.java index a5a7f2f..95a8c87 100644 --- a/src/test/java/de/marhali/easyi18n/e2e/EndToEndTestCase.java +++ b/src/test/java/de/marhali/easyi18n/e2e/EndToEndTestCase.java @@ -51,7 +51,7 @@ public abstract class EndToEndTestCase extends BasePlatformTestCase { public void testParseAndSerialize() throws IOException { // Read translation files based on the provided settings - InstanceManager.get(getProject()).reload(); + InstanceManager.get(getProject()).store().loadFromPersistenceLayer(success -> {}); // Save the cached translation data to a temporary output directory ProjectSettingsState out = new ProjectSettingsState(settings);