From 9580fc4e3b10d045cf7888c28203ad1d18705372 Mon Sep 17 00:00:00 2001 From: Claes Rosell Date: Thu, 8 Oct 2026 13:37:59 +0200 Subject: [PATCH] ResourceBundles are sometime "rebuilt" when changes are not made #50 --- .../resource/internal/AbstractMessagesResource.java | 5 +++++ .../resource/internal/PropertiesFileResource.java | 1 + .../resource/internal/PropertiesIFileResource.java | 1 + .../resource/internal/PropertiesReadOnlyResource.java | 8 -------- .../editor/resource/EclipsePropertiesEditorResource.java | 9 --------- 5 files changed, 7 insertions(+), 17 deletions(-) diff --git a/org.eclipse.babel.core/src/org/eclipse/babel/core/message/resource/internal/AbstractMessagesResource.java b/org.eclipse.babel.core/src/org/eclipse/babel/core/message/resource/internal/AbstractMessagesResource.java index 91225e4..392dbb4 100644 --- a/org.eclipse.babel.core/src/org/eclipse/babel/core/message/resource/internal/AbstractMessagesResource.java +++ b/org.eclipse.babel.core/src/org/eclipse/babel/core/message/resource/internal/AbstractMessagesResource.java @@ -47,6 +47,11 @@ public Locale getLocale() { return locale; } + @Override + public void dispose() { + listeners.clear(); + } + /** * @see org.eclipse.babel.core.message.internal.resource.IMessagesResource# * addMessagesResourceChangeListener(org.eclipse.babel.core.message.resource diff --git a/org.eclipse.babel.core/src/org/eclipse/babel/core/message/resource/internal/PropertiesFileResource.java b/org.eclipse.babel.core/src/org/eclipse/babel/core/message/resource/internal/PropertiesFileResource.java index 7b7d694..8d4c4d2 100644 --- a/org.eclipse.babel.core/src/org/eclipse/babel/core/message/resource/internal/PropertiesFileResource.java +++ b/org.eclipse.babel.core/src/org/eclipse/babel/core/message/resource/internal/PropertiesFileResource.java @@ -177,6 +177,7 @@ public void closeReader(Reader reader) { */ @Override public void dispose() { + super.dispose(); FileMonitor.getInstance().removeFileChangeListener( this.fileChangeListener, file); } diff --git a/org.eclipse.babel.core/src/org/eclipse/babel/core/message/resource/internal/PropertiesIFileResource.java b/org.eclipse.babel.core/src/org/eclipse/babel/core/message/resource/internal/PropertiesIFileResource.java index e8cf314..0cddbbc 100644 --- a/org.eclipse.babel.core/src/org/eclipse/babel/core/message/resource/internal/PropertiesIFileResource.java +++ b/org.eclipse.babel.core/src/org/eclipse/babel/core/message/resource/internal/PropertiesIFileResource.java @@ -148,6 +148,7 @@ public String getResourceLocationLabel() { * to file changes: then unsubscribe it. */ public void dispose() { + super.dispose(); if (this.listenerRegistry != null) { this.listenerRegistry.unsubscribe(this.fileListener); } diff --git a/org.eclipse.babel.core/src/org/eclipse/babel/core/message/resource/internal/PropertiesReadOnlyResource.java b/org.eclipse.babel.core/src/org/eclipse/babel/core/message/resource/internal/PropertiesReadOnlyResource.java index da80116..4879442 100644 --- a/org.eclipse.babel.core/src/org/eclipse/babel/core/message/resource/internal/PropertiesReadOnlyResource.java +++ b/org.eclipse.babel.core/src/org/eclipse/babel/core/message/resource/internal/PropertiesReadOnlyResource.java @@ -86,12 +86,4 @@ public Object getSource() { public String getResourceLocationLabel() { return resourceLocationLabel; } - - /** - * Called before this object will be discarded. Nothing to do: we were not - * listening to changes to this object. - */ - public void dispose() { - // nothing to do. - } } diff --git a/org.eclipse.babel.editor/src/org/eclipse/babel/editor/resource/EclipsePropertiesEditorResource.java b/org.eclipse.babel.editor/src/org/eclipse/babel/editor/resource/EclipsePropertiesEditorResource.java index 3f41e67..70748fb 100644 --- a/org.eclipse.babel.editor/src/org/eclipse/babel/editor/resource/EclipsePropertiesEditorResource.java +++ b/org.eclipse.babel.editor/src/org/eclipse/babel/editor/resource/EclipsePropertiesEditorResource.java @@ -187,13 +187,4 @@ public String getResourceLocationLabel() { public void setResourceLocationLabel(String resourceLocationLabel) { _resourceLocationLabel = resourceLocationLabel; } - - /** - * Called before this object will be discarded. Nothing to do: we were not - * listening to changes to this file ourselves. - */ - public void dispose() { - // nothing to do. - } - }