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);