Fix NPE that occurred during deletion of bundles that are placed within packages
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 f06a4f7..2a46518 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
@@ -665,9 +665,15 @@
IFile res = null;
Set<IResource> resSet = resources.get(resourceBundle);
+ // get normalized simple resource bundle name
+ String normalizedResourceBundleName = resourceBundle;
+ if (normalizedResourceBundleName.contains(".")) {
+ normalizedResourceBundleName = normalizedResourceBundleName.substring(resourceBundle.lastIndexOf(".")+1);
+ }
+
if (resSet != null) {
for (IResource resource : resSet) {
- Locale refLoc = NameUtils.getLocaleByName(resourceBundle,
+ Locale refLoc = NameUtils.getLocaleByName(normalizedResourceBundleName,
resource.getName());
if (refLoc == null
&& l == null
diff --git a/org.eclipse.babel.tapiji.tools.core.ui/src/org/eclipse/babel/tapiji/tools/core/ui/utils/RBFileUtils.java b/org.eclipse.babel.tapiji.tools.core.ui/src/org/eclipse/babel/tapiji/tools/core/ui/utils/RBFileUtils.java
index 9c4d008..00a7165 100644
--- a/org.eclipse.babel.tapiji.tools.core.ui/src/org/eclipse/babel/tapiji/tools/core/ui/utils/RBFileUtils.java
+++ b/org.eclipse.babel.tapiji.tools.core.ui/src/org/eclipse/babel/tapiji/tools/core/ui/utils/RBFileUtils.java
@@ -150,8 +150,6 @@
}
final IFile file = rbManager.getResourceBundleFile(rbId, locale);
- final String filename = file.getName();
-
new Job("remove properties-file") {
@Override
protected IStatus run(IProgressMonitor monitor) {
@@ -176,11 +174,11 @@
* @param locale
* @return
*/
- public static void removeLanguageFromProject(IProject project, Locale locale) {
- ResourceBundleManager rbManager = ResourceBundleManager
+ public static void removeLanguageFromProject(final IProject project, final Locale locale) {
+ final ResourceBundleManager rbManager = ResourceBundleManager
.getManager(project);
- for (String rbId : rbManager.getResourceBundleIdentifiers()) {
+ for (final String rbId : rbManager.getResourceBundleIdentifiers()) {
removeFileFromResourceBundle(project, rbId, locale);
}