Do not handle deletion events in i18n builder
diff --git a/org.eclipse.babel.tapiji.tools.core.ui/src/org/eclipse/babel/tapiji/tools/core/ui/ResourceBundleManager.java b/org.eclipse.babel.tapiji.tools.core.ui/src/org/eclipse/babel/tapiji/tools/core/ui/ResourceBundleManager.java
index 087f604..e0798fc 100644
--- a/org.eclipse.babel.tapiji.tools.core.ui/src/org/eclipse/babel/tapiji/tools/core/ui/ResourceBundleManager.java
+++ b/org.eclipse.babel.tapiji.tools.core.ui/src/org/eclipse/babel/tapiji/tools/core/ui/ResourceBundleManager.java
@@ -206,8 +206,8 @@
return;
}
- String bundleName = getResourceBundleId(resource);
- Set<IResource> res;
+ final String bundleName = getResourceBundleId(resource);
+ final Set<IResource> res;
if (!resources.containsKey(bundleName)) {
res = new HashSet<IResource>();
@@ -215,6 +215,12 @@
res = resources.get(bundleName);
}
+ // check if the resource bundle manager is already aware of this
+ // resource
+ if (res.contains(resource)) {
+ return;
+ }
+
res.add(resource);
resources.put(bundleName, res);
allBundles.put(bundleName, new HashSet<IResource>(res));
diff --git a/org.eclipse.babel.tapiji.tools.core.ui/src/org/eclipse/babel/tapiji/tools/core/ui/analyzer/RBAuditor.java b/org.eclipse.babel.tapiji.tools.core.ui/src/org/eclipse/babel/tapiji/tools/core/ui/analyzer/RBAuditor.java
index bf976fd..20c3942 100644
--- a/org.eclipse.babel.tapiji.tools.core.ui/src/org/eclipse/babel/tapiji/tools/core/ui/analyzer/RBAuditor.java
+++ b/org.eclipse.babel.tapiji.tools.core.ui/src/org/eclipse/babel/tapiji/tools/core/ui/analyzer/RBAuditor.java
@@ -21,7 +21,6 @@
import org.eclipse.core.resources.IResource;
import org.eclipse.ui.IMarkerResolution;
-@Deprecated
public class RBAuditor extends I18nResourceAuditor {
@Override
diff --git a/org.eclipse.babel.tapiji.tools.core.ui/src/org/eclipse/babel/tapiji/tools/core/ui/builder/ExtensionManager.java b/org.eclipse.babel.tapiji.tools.core.ui/src/org/eclipse/babel/tapiji/tools/core/ui/builder/ExtensionManager.java
index 689a43c..92c8d8e 100644
--- a/org.eclipse.babel.tapiji.tools.core.ui/src/org/eclipse/babel/tapiji/tools/core/ui/builder/ExtensionManager.java
+++ b/org.eclipse.babel.tapiji.tools.core.ui/src/org/eclipse/babel/tapiji/tools/core/ui/builder/ExtensionManager.java
@@ -36,28 +36,30 @@
// file-endings supported by the registered extension plug-ins
private Set<String> supportedFileEndings = new HashSet<String>();
-
+
// singleton instance
private static ExtensionManager INSTANCE = null;
-
+
private ExtensionManager() {
initExtensionManager();
}
-
+
public static ExtensionManager getExtensionManager() {
if (INSTANCE == null) {
INSTANCE = new ExtensionManager();
}
-
+
return INSTANCE;
}
private void initExtensionManager() {
extensions = new ArrayList<I18nAuditor>();
+ // init default auditors
+ extensions.add(new RBAuditor());
+
// lookup registered auditor extensions
- IConfigurationElement[] config = Platform
- .getExtensionRegistry()
+ IConfigurationElement[] config = Platform.getExtensionRegistry()
.getConfigurationElementsFor(Activator.BUILDER_EXTENSION_ID);
try {
@@ -69,9 +71,9 @@
Logger.logError(ex);
}
}
-
+
public List<I18nAuditor> getRegisteredI18nAuditors() {
-
+
// init builder property change listener
if (propertyChangeListener == null) {
propertyChangeListener = new BuilderPropertyChangeListener();
diff --git a/org.eclipse.babel.tapiji.tools.core.ui/src/org/eclipse/babel/tapiji/tools/core/ui/builder/I18nBuilder.java b/org.eclipse.babel.tapiji.tools.core.ui/src/org/eclipse/babel/tapiji/tools/core/ui/builder/I18nBuilder.java
index 66b1cf5..e3bf3a1 100644
--- a/org.eclipse.babel.tapiji.tools.core.ui/src/org/eclipse/babel/tapiji/tools/core/ui/builder/I18nBuilder.java
+++ b/org.eclipse.babel.tapiji.tools.core.ui/src/org/eclipse/babel/tapiji/tools/core/ui/builder/I18nBuilder.java
@@ -106,12 +106,6 @@
private void incrementalBuild(IProgressMonitor monitor,
IResourceDelta resDelta) throws CoreException {
try {
- for (final IResourceDelta changedResource : resDelta
- .getAffectedChildren()) {
- Logger.logInfo(String.format(" - %s",
- changedResource.getResource()));
- }
-
// inspect resource delta
Logger.logInfo(String
.format("looking for resources with the following file endings: %s",
@@ -119,8 +113,22 @@
ResourceFinder csrav = new ResourceFinder(
extensionManager.getSupportedFileEndings());
resDelta.accept(csrav);
-
- auditResources(csrav.getResources(), monitor, getProject());
+
+ switch (resDelta.getKind()) {
+ case IResourceDelta.ADDED:
+ case IResourceDelta.CHANGED:
+ for (final IResourceDelta changedResource : resDelta
+ .getAffectedChildren()) {
+ Logger.logInfo(String.format(" - %s",
+ changedResource.getResource()));
+ }
+ auditResources(csrav.getResources(), monitor, getProject());
+ break;
+
+ case IResourceDelta.REMOVED:
+ // TODO notify extension plugins
+ break;
+ }
} catch (CoreException e) {
Logger.logError(e);
}