Fixes NPE during include/exclude action and fixes resource loading error
diff --git a/org.eclipse.babel.core/src/org/eclipse/babel/core/message/manager/RBManager.java b/org.eclipse.babel.core/src/org/eclipse/babel/core/message/manager/RBManager.java
index 4c139f9..4a25ccc 100644
--- a/org.eclipse.babel.core/src/org/eclipse/babel/core/message/manager/RBManager.java
+++ b/org.eclipse.babel.core/src/org/eclipse/babel/core/message/manager/RBManager.java
@@ -50,24 +50,24 @@
*
* @author Alexej Strelzow
*/
-public class RBManager {
+public final class RBManager {
private static Map<IProject, RBManager> managerMap = new HashMap<IProject, RBManager>();
/** <package>.<resourceBundleName> , IMessagesBundleGroup */
- private Map<String, IMessagesBundleGroup> resourceBundles;
+ private final Map<String, IMessagesBundleGroup> resourceBundles;
private static RBManager INSTANCE;
- private List<IMessagesEditorListener> editorListeners;
+ private final List<IMessagesEditorListener> editorListeners;
- private List<IResourceDeltaListener> resourceListeners;
+ private final List<IResourceDeltaListener> resourceListeners;
private IProject project;
private static final String TAPIJI_NATURE = "org.eclipse.babel.tapiji.tools.core.ui.nature";
- private static Logger logger = Logger.getLogger(RBManager.class
+ final static Logger logger = Logger.getLogger(RBManager.class
.getSimpleName());
private static IRefactoringService refactorService;
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 2a46518..eebcd8c 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
@@ -58,783 +58,801 @@
public class ResourceBundleManager {
- public static String defaultLocaleTag = "[default]"; // TODO externalize
+ public static String defaultLocaleTag = "[default]"; // TODO externalize
- /*** CONFIG SECTION ***/
- private static boolean checkResourceExclusionRoot = false;
+ /*** CONFIG SECTION ***/
+ private static boolean checkResourceExclusionRoot = false;
- /*** MEMBER SECTION ***/
- private static Map<IProject, ResourceBundleManager> rbmanager = new HashMap<IProject, ResourceBundleManager>();
+ /*** MEMBER SECTION ***/
+ private static Map<IProject, ResourceBundleManager> rbmanager = new HashMap<IProject, ResourceBundleManager>();
- public static final String RESOURCE_BUNDLE_EXTENSION = ".properties";
+ public static final String RESOURCE_BUNDLE_EXTENSION = ".properties";
- // project-specific
- private Map<String, Set<IResource>> resources = new HashMap<String, Set<IResource>>();
+ // project-specific
+ private Map<String, Set<IResource>> resources = new HashMap<String, Set<IResource>>();
- private Map<String, String> bundleNames = new HashMap<String, String>();
+ private Map<String, String> bundleNames = new HashMap<String, String>();
- private Map<String, List<IResourceBundleChangedListener>> listeners = new HashMap<String, List<IResourceBundleChangedListener>>();
+ private Map<String, List<IResourceBundleChangedListener>> listeners = new HashMap<String, List<IResourceBundleChangedListener>>();
- private List<IResourceExclusionListener> exclusionListeners = new ArrayList<IResourceExclusionListener>();
+ private List<IResourceExclusionListener> exclusionListeners = new ArrayList<IResourceExclusionListener>();
- // global
- private static Set<IResourceDescriptor> excludedResources = new HashSet<IResourceDescriptor>();
+ // global
+ private static Set<IResourceDescriptor> excludedResources = new HashSet<IResourceDescriptor>();
- private static Map<String, Set<IResource>> allBundles = new HashMap<String, Set<IResource>>();
+ private static Map<String, Set<IResource>> allBundles = new HashMap<String, Set<IResource>>();
- // private static IResourceChangeListener changelistener; //
- // RBChangeListener -> see stateLoader!
+ // private static IResourceChangeListener changelistener; //
+ // RBChangeListener -> see stateLoader!
- public static final String NATURE_ID = "org.eclipse.babel.tapiji.tools.core.ui.nature";
+ public static final String NATURE_ID = "org.eclipse.babel.tapiji.tools.core.ui.nature";
- public static final String BUILDER_ID = Activator.PLUGIN_ID
- + ".I18NBuilder";
+ public static final String BUILDER_ID = Activator.PLUGIN_ID
+ + ".I18NBuilder";
- /* Host project */
- private IProject project = null;
+ /* Host project */
+ private IProject project = null;
- /** State-Serialization Information **/
- private static boolean state_loaded = false;
+ /** State-Serialization Information **/
+ private static boolean state_loaded = false;
- private static IStateLoader stateLoader;
+ private static IStateLoader stateLoader;
- // Define private constructor
- private ResourceBundleManager(IProject project) {
- this.project = project;
+ // Define private constructor
+ private ResourceBundleManager(IProject project) {
+ this.project = project;
- RBManager.getInstance(project).addResourceDeltaListener(
- new IResourceDeltaListener() {
+ RBManager.getInstance(project).addResourceDeltaListener(
+ new IResourceDeltaListener() {
- /**
- * {@inheritDoc}
- */
- @Override
- public void onDelete(IMessagesBundleGroup bundleGroup) {
- resources.remove(bundleGroup.getResourceBundleId());
- }
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public void onDelete(IMessagesBundleGroup bundleGroup) {
+ resources.remove(bundleGroup.getResourceBundleId());
+ }
- /**
- * {@inheritDoc}
- */
- @Override
- public void onDelete(String resourceBundleId,
- IResource resource) {
- resources.get(resourceBundleId).remove(resource);
- }
- });
- }
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public void onDelete(String resourceBundleId,
+ IResource resource) {
+ resources.get(resourceBundleId).remove(resource);
+ }
+ });
+ }
- public static ResourceBundleManager getManager(IProject project) {
- // check if persistant state has been loaded
- if (!state_loaded) {
- IStateLoader stateLoader = getStateLoader();
- if (stateLoader != null) {
- stateLoader.loadState();
- state_loaded = true;
- excludedResources = stateLoader.getExcludedResources();
- } else {
- Logger.logError("State-Loader uninitialized! Unable to restore project state.");
- }
- }
+ public static ResourceBundleManager getManager(IProject project) {
+ // check if persistant state has been loaded
+ if (!state_loaded) {
+ IStateLoader stateLoader = getStateLoader();
+ if (stateLoader != null) {
+ stateLoader.loadState();
+ state_loaded = true;
+ excludedResources = stateLoader.getExcludedResources();
+ } else {
+ Logger.logError("State-Loader uninitialized! Unable to restore project state.");
+ }
+ }
- // set host-project
- if (FragmentProjectUtils.isFragment(project)) {
- project = FragmentProjectUtils.getFragmentHost(project);
- }
+ // set host-project
+ if (FragmentProjectUtils.isFragment(project)) {
+ project = FragmentProjectUtils.getFragmentHost(project);
+ }
- ResourceBundleManager manager = rbmanager.get(project);
- if (manager == null) {
- manager = new ResourceBundleManager(project);
- rbmanager.put(project, manager);
- manager.detectResourceBundles();
- }
- return manager;
- }
+ ResourceBundleManager manager = rbmanager.get(project);
+ if (manager == null) {
+ manager = new ResourceBundleManager(project);
+ rbmanager.put(project, manager);
+ manager.detectResourceBundles();
+ }
+ return manager;
+ }
- public Set<Locale> getProvidedLocales(String bundleName) {
- RBManager instance = RBManager.getInstance(project);
+ public Set<Locale> getProvidedLocales(String bundleName) {
+ RBManager instance = RBManager.getInstance(project);
- Set<Locale> locales = new HashSet<Locale>();
- IMessagesBundleGroup group = instance
- .getMessagesBundleGroup(bundleName);
- if (group == null) {
- return locales;
- }
+ Set<Locale> locales = new HashSet<Locale>();
+ IMessagesBundleGroup group = instance
+ .getMessagesBundleGroup(bundleName);
+ if (group == null) {
+ return locales;
+ }
- for (IMessagesBundle bundle : group.getMessagesBundles()) {
- locales.add(bundle.getLocale());
- }
- return locales;
- }
+ for (IMessagesBundle bundle : group.getMessagesBundles()) {
+ locales.add(bundle.getLocale());
+ }
+ return locales;
+ }
- public static String getResourceBundleName(IResource res) {
- String name = res.getName();
- String regex = "^(.*?)" //$NON-NLS-1$
- + "((_[a-z]{2,3})|(_[a-z]{2,3}_[A-Z]{2})" //$NON-NLS-1$
- + "|(_[a-z]{2,3}_[A-Z]{2}_\\w*))?(\\." //$NON-NLS-1$
- + res.getFileExtension() + ")$"; //$NON-NLS-1$
- return name.replaceFirst(regex, "$1"); //$NON-NLS-1$
- }
+ public static String getResourceBundleName(IResource res) {
+ String name = res.getName();
+ String regex = "^(.*?)" //$NON-NLS-1$
+ + "((_[a-z]{2,3})|(_[a-z]{2,3}_[A-Z]{2})" //$NON-NLS-1$
+ + "|(_[a-z]{2,3}_[A-Z]{2}_\\w*))?(\\." //$NON-NLS-1$
+ + res.getFileExtension() + ")$"; //$NON-NLS-1$
+ return name.replaceFirst(regex, "$1"); //$NON-NLS-1$
+ }
- protected boolean isResourceBundleLoaded(String bundleName) {
- return RBManager.getInstance(project).containsMessagesBundleGroup(
- bundleName);
- }
+ protected boolean isResourceBundleLoaded(String bundleName) {
+ return RBManager.getInstance(project).containsMessagesBundleGroup(
+ bundleName);
+ }
- protected void unloadResource(String bundleName, IResource resource) {
- // TODO implement more efficient
- unloadResourceBundle(bundleName);
- // loadResourceBundle(bundleName);
- }
+ protected void unloadResource(String bundleName, IResource resource) {
+ // TODO implement more efficient
+ unloadResourceBundle(bundleName);
+ // loadResourceBundle(bundleName);
+ }
- public static String getResourceBundleId(IResource resource) {
- String packageFragment = "";
+ public static String getResourceBundleId(IResource resource) {
+ String packageFragment = "";
- IJavaElement propertyFile = JavaCore.create(resource.getParent());
- if (propertyFile != null && propertyFile instanceof IPackageFragment) {
- packageFragment = ((IPackageFragment) propertyFile)
- .getElementName();
- }
+ IJavaElement propertyFile = JavaCore.create(resource.getParent());
+ if (propertyFile != null && propertyFile instanceof IPackageFragment) {
+ packageFragment = ((IPackageFragment) propertyFile)
+ .getElementName();
+ }
- return (packageFragment.length() > 0 ? packageFragment + "." : "")
- + getResourceBundleName(resource);
- }
+ return (packageFragment.length() > 0 ? packageFragment + "." : "")
+ + getResourceBundleName(resource);
+ }
- public void addBundleResource(IResource resource) {
- if (resource.isDerived()) {
- return;
- }
+ public void addBundleResource(IResource resource) {
+ if (resource.isDerived()) {
+ return;
+ }
- String bundleName = getResourceBundleId(resource);
- Set<IResource> res;
+ String bundleName = getResourceBundleId(resource);
+ Set<IResource> res;
- if (!resources.containsKey(bundleName)) {
- res = new HashSet<IResource>();
- } else {
- res = resources.get(bundleName);
- }
+ if (!resources.containsKey(bundleName)) {
+ res = new HashSet<IResource>();
+ } else {
+ res = resources.get(bundleName);
+ }
- res.add(resource);
- resources.put(bundleName, res);
- allBundles.put(bundleName, new HashSet<IResource>(res));
- bundleNames.put(bundleName, getResourceBundleName(resource));
+ res.add(resource);
- // Fire resource changed event
- ResourceBundleChangedEvent event = new ResourceBundleChangedEvent(
- ResourceBundleChangedEvent.ADDED, bundleName,
- resource.getProject());
- this.fireResourceBundleChangedEvent(bundleName, event);
- }
+ if (bundleName.equals("org.example.com")) {
+ Logger.logInfo("adding bundle with id: " + bundleName);
+ }
+
+ resources.put(bundleName, res);
+ allBundles.put(bundleName, new HashSet<IResource>(res));
+ bundleNames.put(bundleName, getResourceBundleName(resource));
- protected void removeAllBundleResources(String bundleName) {
- unloadResourceBundle(bundleName);
- resources.remove(bundleName);
- // allBundles.remove(bundleName);
- listeners.remove(bundleName);
- }
+ // Fire resource changed event
+ ResourceBundleChangedEvent event = new ResourceBundleChangedEvent(
+ ResourceBundleChangedEvent.ADDED, bundleName,
+ resource.getProject());
+ this.fireResourceBundleChangedEvent(bundleName, event);
+ }
- public void unloadResourceBundle(String name) {
- RBManager instance = RBManager.getInstance(project);
- instance.deleteMessagesBundleGroup(name);
- }
+ protected void removeAllBundleResources(String bundleName) {
+ unloadResourceBundle(bundleName);
+ resources.remove(bundleName);
+ // allBundles.remove(bundleName);
+ listeners.remove(bundleName);
+ }
- public IMessagesBundleGroup getResourceBundle(String name) {
- RBManager instance = RBManager.getInstance(project);
- return instance.getMessagesBundleGroup(name);
- }
+ public void unloadResourceBundle(String name) {
+ RBManager instance = RBManager.getInstance(project);
+ instance.deleteMessagesBundleGroup(name);
+ }
- public Collection<IResource> getResourceBundles(String bundleName) {
- return resources.get(bundleName);
- }
+ public IMessagesBundleGroup getResourceBundle(String name) {
+ RBManager instance = RBManager.getInstance(project);
+ return instance.getMessagesBundleGroup(name);
+ }
- public List<String> getResourceBundleNames() {
- List<String> returnList = new ArrayList<String>();
+ public Collection<IResource> getResourceBundles(String bundleName) {
+ return resources.get(bundleName);
+ }
- Iterator<String> it = resources.keySet().iterator();
- while (it.hasNext()) {
- returnList.add(it.next());
- }
- return returnList;
- }
+ public List<String> getResourceBundleNames() {
+ List<String> returnList = new ArrayList<String>();
- public IResource getResourceFile(String file) {
- String regex = "^(.*?)" + "((_[a-z]{2,3})|(_[a-z]{2,3}_[A-Z]{2})"
- + "|(_[a-z]{2,3}_[A-Z]{2}_\\w*))?(\\." + "properties" + ")$";
- String bundleName = file.replaceFirst(regex, "$1");
- IResource resource = null;
+ Iterator<String> it = resources.keySet().iterator();
+ while (it.hasNext()) {
+ returnList.add(it.next());
+ }
+ return returnList;
+ }
- for (IResource res : resources.get(bundleName)) {
- if (res.getName().equalsIgnoreCase(file)) {
- resource = res;
- break;
- }
- }
+ public IResource getResourceFile(String file) {
+ String regex = "^(.*?)" + "((_[a-z]{2,3})|(_[a-z]{2,3}_[A-Z]{2})"
+ + "|(_[a-z]{2,3}_[A-Z]{2}_\\w*))?(\\." + "properties" + ")$";
+ String bundleName = file.replaceFirst(regex, "$1");
+ IResource resource = null;
- return resource;
- }
+ for (IResource res : resources.get(bundleName)) {
+ if (res.getName().equalsIgnoreCase(file)) {
+ resource = res;
+ break;
+ }
+ }
- public void fireResourceBundleChangedEvent(String bundleName,
- ResourceBundleChangedEvent event) {
- List<IResourceBundleChangedListener> l = listeners.get(bundleName);
+ return resource;
+ }
- if (l == null) {
- return;
- }
+ public void fireResourceBundleChangedEvent(String bundleName,
+ ResourceBundleChangedEvent event) {
+ List<IResourceBundleChangedListener> l = listeners.get(bundleName);
- for (IResourceBundleChangedListener listener : l) {
- listener.resourceBundleChanged(event);
- }
- }
+ if (l == null) {
+ return;
+ }
- public void registerResourceBundleChangeListener(String bundleName,
- IResourceBundleChangedListener listener) {
- List<IResourceBundleChangedListener> l = listeners.get(bundleName);
- if (l == null) {
- l = new ArrayList<IResourceBundleChangedListener>();
- }
- l.add(listener);
- listeners.put(bundleName, l);
- }
+ for (IResourceBundleChangedListener listener : l) {
+ listener.resourceBundleChanged(event);
+ }
+ }
- public void unregisterResourceBundleChangeListener(String bundleName,
- IResourceBundleChangedListener listener) {
- List<IResourceBundleChangedListener> l = listeners.get(bundleName);
- if (l == null) {
- return;
- }
- l.remove(listener);
- listeners.put(bundleName, l);
- }
+ public void registerResourceBundleChangeListener(String bundleName,
+ IResourceBundleChangedListener listener) {
+ List<IResourceBundleChangedListener> l = listeners.get(bundleName);
+ if (l == null) {
+ l = new ArrayList<IResourceBundleChangedListener>();
+ }
+ l.add(listener);
+ listeners.put(bundleName, l);
+ }
- protected void detectResourceBundles() {
- try {
- project.accept(new ResourceBundleDetectionVisitor(getProject()));
+ public void unregisterResourceBundleChangeListener(String bundleName,
+ IResourceBundleChangedListener listener) {
+ List<IResourceBundleChangedListener> l = listeners.get(bundleName);
+ if (l == null) {
+ return;
+ }
+ l.remove(listener);
+ listeners.put(bundleName, l);
+ }
- IProject[] fragments = FragmentProjectUtils.lookupFragment(project);
- if (fragments != null) {
- for (IProject p : fragments) {
- p.accept(new ResourceBundleDetectionVisitor(getProject()));
- }
- }
- } catch (CoreException e) {
- }
- }
+ protected void detectResourceBundles() {
+ try {
+ project.accept(new ResourceBundleDetectionVisitor(getProject()));
- public IProject getProject() {
- return project;
- }
+ IProject[] fragments = FragmentProjectUtils.lookupFragment(project);
+ if (fragments != null) {
+ for (IProject p : fragments) {
+ p.accept(new ResourceBundleDetectionVisitor(getProject()));
+ }
+ }
+ } catch (CoreException e) {
+ }
+ }
- public List<String> getResourceBundleIdentifiers() {
- List<String> returnList = new ArrayList<String>();
+ public IProject getProject() {
+ return project;
+ }
- // TODO check other resource bundles that are available on the curren
- // class path
- Iterator<String> it = this.resources.keySet().iterator();
- while (it.hasNext()) {
- returnList.add(it.next());
- }
+ public List<String> getResourceBundleIdentifiers() {
+ List<String> returnList = new ArrayList<String>();
- return returnList;
- }
+ // TODO check other resource bundles that are available on the curren
+ // class path
+ Iterator<String> it = this.resources.keySet().iterator();
+ while (it.hasNext()) {
+ returnList.add(it.next());
+ }
- public static List<String> getAllResourceBundleNames() {
- List<String> returnList = new ArrayList<String>();
+ return returnList;
+ }
- for (IProject p : getAllSupportedProjects()) {
- if (!FragmentProjectUtils.isFragment(p)) {
- Iterator<String> it = getManager(p).resources.keySet()
- .iterator();
- while (it.hasNext()) {
- returnList.add(p.getName() + "/" + it.next());
- }
- }
- }
- return returnList;
- }
+ public static List<String> getAllResourceBundleNames() {
+ List<String> returnList = new ArrayList<String>();
- public static Set<IProject> getAllSupportedProjects() {
- IProject[] projects = ResourcesPlugin.getWorkspace().getRoot()
- .getProjects();
- Set<IProject> projs = new HashSet<IProject>();
+ for (IProject p : getAllSupportedProjects()) {
+ if (!FragmentProjectUtils.isFragment(p)) {
+ Iterator<String> it = getManager(p).resources.keySet()
+ .iterator();
+ while (it.hasNext()) {
+ returnList.add(p.getName() + "/" + it.next());
+ }
+ }
+ }
+ return returnList;
+ }
- for (IProject p : projects) {
- try {
- if (p.isOpen() && p.hasNature(NATURE_ID)) {
- projs.add(p);
- }
- } catch (CoreException e) {
- // TODO Auto-generated catch block
- Logger.logError(e);
- }
- }
- return projs;
- }
+ public static Set<IProject> getAllSupportedProjects() {
+ IProject[] projects = ResourcesPlugin.getWorkspace().getRoot()
+ .getProjects();
+ Set<IProject> projs = new HashSet<IProject>();
- public String getKeyHoverString(String rbName, String key) {
- try {
- RBManager instance = RBManager.getInstance(project);
- IMessagesBundleGroup bundleGroup = instance
- .getMessagesBundleGroup(rbName);
- if (!bundleGroup.containsKey(key)) {
- return null;
- }
+ for (IProject p : projects) {
+ try {
+ if (p.isOpen() && p.hasNature(NATURE_ID)) {
+ projs.add(p);
+ }
+ } catch (CoreException e) {
+ // TODO Auto-generated catch block
+ Logger.logError(e);
+ }
+ }
+ return projs;
+ }
- String hoverText = "<html><head></head><body>";
+ public String getKeyHoverString(String rbName, String key) {
+ try {
+ RBManager instance = RBManager.getInstance(project);
+ IMessagesBundleGroup bundleGroup = instance
+ .getMessagesBundleGroup(rbName);
+ if (!bundleGroup.containsKey(key)) {
+ return null;
+ }
- for (IMessage message : bundleGroup.getMessages(key)) {
- String displayName = message.getLocale() == null ? "Default"
- : message.getLocale().getDisplayName();
- String value = message.getValue();
- hoverText += "<b><i>" + displayName + "</i></b><br/>"
- + value.replace("\n", "<br/>") + "<br/><br/>";
- }
- return hoverText + "</body></html>";
- } catch (Exception e) {
- // silent catch
- return "";
- }
- }
+ String hoverText = "<html><head></head><body>";
- public boolean isKeyBroken(String rbName, String key) {
- IMessagesBundleGroup messagesBundleGroup = RBManager.getInstance(
- project).getMessagesBundleGroup(rbName);
- if (messagesBundleGroup == null) {
- return true;
- } else {
- return !messagesBundleGroup.containsKey(key);
- }
+ for (IMessage message : bundleGroup.getMessages(key)) {
+ String displayName = message.getLocale() == null ? "Default"
+ : message.getLocale().getDisplayName();
+ String value = message.getValue();
+ hoverText += "<b><i>" + displayName + "</i></b><br/>"
+ + value.replace("\n", "<br/>") + "<br/><br/>";
+ }
+ return hoverText + "</body></html>";
+ } catch (Exception e) {
+ // silent catch
+ return "";
+ }
+ }
- // if (!resourceBundles.containsKey(rbName))
- // return true;
- // return !this.isResourceExisting(rbName, key);
- }
+ public boolean isKeyBroken(String rbName, String key) {
+ IMessagesBundleGroup messagesBundleGroup = RBManager.getInstance(
+ project).getMessagesBundleGroup(rbName);
+ if (messagesBundleGroup == null) {
+ return true;
+ } else {
+ return !messagesBundleGroup.containsKey(key);
+ }
- protected void excludeSingleResource(IResource res) {
- IResourceDescriptor rd = new ResourceDescriptor(res);
- org.eclipse.babel.tapiji.tools.core.ui.utils.EditorUtils
- .deleteAuditMarkersForResource(res);
+ // if (!resourceBundles.containsKey(rbName))
+ // return true;
+ // return !this.isResourceExisting(rbName, key);
+ }
- // exclude resource
- excludedResources.add(rd);
- Collection<Object> changedExclusoins = new HashSet<Object>();
- changedExclusoins.add(res);
- fireResourceExclusionEvent(new ResourceExclusionEvent(changedExclusoins));
+ protected void excludeSingleResource(IResource res) {
+ IResourceDescriptor rd = new ResourceDescriptor(res);
+ org.eclipse.babel.tapiji.tools.core.ui.utils.EditorUtils
+ .deleteAuditMarkersForResource(res);
- // Check if the excluded resource represents a resource-bundle
- if (org.eclipse.babel.tapiji.tools.core.ui.utils.RBFileUtils
- .isResourceBundleFile(res)) {
- String bundleName = getResourceBundleId(res);
- Set<IResource> resSet = resources.remove(bundleName);
- if (resSet != null) {
- resSet.remove(res);
+ // exclude resource
+ excludedResources.add(rd);
+ Collection<IResource> changedExclusions = new HashSet<IResource>();
+ changedExclusions.add(res);
+ fireResourceExclusionEvent(new ResourceExclusionEvent(changedExclusions));
- if (!resSet.isEmpty()) {
- resources.put(bundleName, resSet);
- unloadResource(bundleName, res);
- } else {
- rd.setBundleId(bundleName);
- unloadResourceBundle(bundleName);
- try {
- res.getProject().build(
- IncrementalProjectBuilder.FULL_BUILD,
- BUILDER_ID, null, null);
- } catch (CoreException e) {
- Logger.logError(e);
- }
- }
+ // Check if the excluded resource represents a resource-bundle
+ if (org.eclipse.babel.tapiji.tools.core.ui.utils.RBFileUtils
+ .isResourceBundleFile(res)) {
+ String bundleName = getResourceBundleId(res);
+ Set<IResource> resSet = resources.remove(bundleName);
+ if (resSet != null) {
+ resSet.remove(res);
- fireResourceBundleChangedEvent(getResourceBundleId(res),
- new ResourceBundleChangedEvent(
- ResourceBundleChangedEvent.EXCLUDED,
- bundleName, res.getProject()));
- }
- }
- }
+ if (!resSet.isEmpty()) {
+
+ if (bundleName.equals("org.example.com")) {
+ Logger.logInfo("adding bundle with id: " + bundleName);
+ }
+
+ resources.put(bundleName, resSet);
+ unloadResource(bundleName, res);
+ } else {
+ rd.setBundleId(bundleName);
+ unloadResourceBundle(bundleName);
+ try {
+ res.getProject().build(
+ IncrementalProjectBuilder.FULL_BUILD,
+ BUILDER_ID, null, null);
+ } catch (CoreException e) {
+ Logger.logError(e);
+ }
+ }
+
+ fireResourceBundleChangedEvent(getResourceBundleId(res),
+ new ResourceBundleChangedEvent(
+ ResourceBundleChangedEvent.EXCLUDED,
+ bundleName, res.getProject()));
+ }
+ }
+ }
+
+ public void excludeResource(IResource res, IProgressMonitor monitor) {
+ try {
+ if (monitor == null) {
+ monitor = new NullProgressMonitor();
+ }
- public void excludeResource(IResource res, IProgressMonitor monitor) {
- try {
- if (monitor == null) {
- monitor = new NullProgressMonitor();
- }
+ final List<IResource> resourceSubTree = new ArrayList<IResource>();
+ res.accept(new IResourceVisitor() {
- final List<IResource> resourceSubTree = new ArrayList<IResource>();
- res.accept(new IResourceVisitor() {
+ @Override
+ public boolean visit(IResource resource) throws CoreException {
+ Logger.logInfo("Excluding resource '"
+ + resource.getFullPath().toOSString() + "'");
+ resourceSubTree.add(resource);
+ return true;
+ }
- @Override
- public boolean visit(IResource resource) throws CoreException {
- Logger.logInfo("Excluding resource '"
- + resource.getFullPath().toOSString() + "'");
- resourceSubTree.add(resource);
- return true;
- }
+ });
- });
+ // Iterate previously retrieved resource and exclude them from
+ // Internationalization
+ monitor.beginTask(
+ "Exclude resources from Internationalization context",
+ resourceSubTree.size());
+ try {
+ for (IResource resource : resourceSubTree) {
+ excludeSingleResource(resource);
+ org.eclipse.babel.tapiji.tools.core.ui.utils.EditorUtils
+ .deleteAuditMarkersForResource(resource);
+ monitor.worked(1);
+ }
+ } catch (Exception e) {
+ Logger.logError(e);
+ } finally {
+ monitor.done();
+ }
+ } catch (CoreException e) {
+ Logger.logError(e);
+ }
+ }
- // Iterate previously retrieved resource and exclude them from
- // Internationalization
- monitor.beginTask(
- "Exclude resources from Internationalization context",
- resourceSubTree.size());
- try {
- for (IResource resource : resourceSubTree) {
- excludeSingleResource(resource);
- org.eclipse.babel.tapiji.tools.core.ui.utils.EditorUtils
- .deleteAuditMarkersForResource(resource);
- monitor.worked(1);
- }
- } catch (Exception e) {
- Logger.logError(e);
- } finally {
- monitor.done();
- }
- } catch (CoreException e) {
- Logger.logError(e);
- }
- }
+ public void includeResource(IResource res, IProgressMonitor monitor) {
+ if (monitor == null) {
+ monitor = new NullProgressMonitor();
+ }
- public void includeResource(IResource res, IProgressMonitor monitor) {
- if (monitor == null) {
- monitor = new NullProgressMonitor();
- }
+ final Collection<IResource> changedResources = new HashSet<IResource>();
+ final Collection<IResource> changedResourceBundles = new HashSet<IResource>();
+ final IResource resource = res;
- final Collection<Object> changedResources = new HashSet<Object>();
- IResource resource = res;
+ if (!excludedResources.contains(new ResourceDescriptor(res))) {
+ Logger.logError("requested to include non-excluded resource");
+ } else {
+ try {
+ res.accept(new IResourceVisitor() {
- if (!excludedResources.contains(new ResourceDescriptor(res))) {
- while (!(resource instanceof IProject || resource instanceof IWorkspaceRoot)) {
- if (excludedResources
- .contains(new ResourceDescriptor(resource))) {
- excludeResource(resource, monitor);
- changedResources.add(resource);
- break;
- } else {
- resource = resource.getParent();
- }
- }
- }
+ @Override
+ public boolean visit(IResource resource)
+ throws CoreException {
+ if (excludedResources.contains(new ResourceDescriptor(
+ resource))) {
+ // check if the changed resource is a resource
+ // bundle
+ if (org.eclipse.babel.tapiji.tools.core.ui.utils.RBFileUtils
+ .isResourceBundleFile(resource) && !changedResourceBundles.contains(resource)) {
+ changedResourceBundles.add(resource);
+ }
+ changedResources.add(resource);
+ }
+ return true;
+ }
+ });
- try {
- res.accept(new IResourceVisitor() {
+ monitor.beginTask(
+ "Add resources to Internationalization context",
+ changedResources.size());
+ try {
+ for (Object r : changedResources) {
+ excludedResources.remove(new ResourceDescriptor(
+ (IResource) r));
+ monitor.worked(1);
+ }
- @Override
- public boolean visit(IResource resource) throws CoreException {
- changedResources.add(resource);
- return true;
- }
- });
+ } catch (Exception e) {
+ Logger.logError(e);
+ } finally {
+ monitor.done();
+ }
+ } catch (Exception e) {
+ Logger.logError(e);
+ }
- monitor.beginTask("Add resources to Internationalization context",
- changedResources.size());
- try {
- for (Object r : changedResources) {
- excludedResources.remove(new ResourceDescriptor(
- (IResource) r));
- monitor.worked(1);
- }
+ // Check if the included resources represent a fully excluded
+ // resource-bundle
+ // -> YES: trigger a full build
+ // -> OTHERWISE: rebuild only included resources
+ boolean fullBuildRequired = (changedResourceBundles.size() > 0);
- } catch (Exception e) {
- Logger.logError(e);
- } finally {
- monitor.done();
- }
- } catch (Exception e) {
- Logger.logError(e);
- }
+ for (IResource rbResource : changedResourceBundles) {
+ String bundleName = getResourceBundleId(rbResource);
+ //fullBuildRequired &= !resources.containsKey(bundleName);
- try {
- res.touch(null);
- } catch (CoreException e) {
- Logger.logError(e);
- }
+ this.addBundleResource(rbResource);
- // Check if the included resource represents a resource-bundle
- if (org.eclipse.babel.tapiji.tools.core.ui.utils.RBFileUtils
- .isResourceBundleFile(res)) {
- String bundleName = getResourceBundleId(res);
- boolean newRB = resources.containsKey(bundleName);
+ Logger.logInfo("Including resource bundle '"
+ + rbResource.getFullPath().toOSString() + "'");
+
+ RBManager.getInstance(rbResource.getProject()).addBundleResource(rbResource);
+ fireResourceBundleChangedEvent(getResourceBundleId(rbResource),
+ new ResourceBundleChangedEvent(
+ ResourceBundleChangedEvent.INCLUDED,
+ bundleName, rbResource.getProject()));
+ }
- this.addBundleResource(res);
- this.unloadResourceBundle(bundleName);
- // this.loadResourceBundle(bundleName);
+ if (fullBuildRequired) {
+ try {
+ resource.getProject().build(
+ IncrementalProjectBuilder.FULL_BUILD, BUILDER_ID,
+ null, null);
+ } catch (CoreException e) {
+ Logger.logError(e);
+ }
+ }
- if (newRB) {
- try {
- resource.getProject().build(
- IncrementalProjectBuilder.FULL_BUILD, BUILDER_ID,
- null, null);
- } catch (CoreException e) {
- Logger.logError(e);
- }
- }
- fireResourceBundleChangedEvent(getResourceBundleId(res),
- new ResourceBundleChangedEvent(
- ResourceBundleChangedEvent.INCLUDED, bundleName,
- res.getProject()));
- }
+ fireResourceExclusionEvent(new ResourceExclusionEvent(
+ changedResources));
+ }
+ }
- fireResourceExclusionEvent(new ResourceExclusionEvent(changedResources));
- }
+ protected void fireResourceExclusionEvent(ResourceExclusionEvent event) {
+ for (IResourceExclusionListener listener : exclusionListeners) {
+ listener.exclusionChanged(event);
+ }
+ }
- protected void fireResourceExclusionEvent(ResourceExclusionEvent event) {
- for (IResourceExclusionListener listener : exclusionListeners) {
- listener.exclusionChanged(event);
- }
- }
+ public static boolean isResourceExcluded(IResource res) {
+ IResource resource = res;
- public static boolean isResourceExcluded(IResource res) {
- IResource resource = res;
+ if (!state_loaded) {
+ IStateLoader stateLoader = getStateLoader();
+ if (stateLoader != null) {
+ stateLoader.loadState();
+ } else {
+ Logger.logError("State-Loader uninitialized! Unable to restore state.");
+ }
+ }
- if (!state_loaded) {
- IStateLoader stateLoader = getStateLoader();
- if (stateLoader != null) {
- stateLoader.loadState();
- } else {
- Logger.logError("State-Loader uninitialized! Unable to restore state.");
- }
- }
+ boolean isExcluded = false;
- boolean isExcluded = false;
+ do {
+ if (excludedResources.contains(new ResourceDescriptor(resource))) {
+ if (org.eclipse.babel.tapiji.tools.core.ui.utils.RBFileUtils
+ .isResourceBundleFile(resource)) {
+ Set<IResource> resources = allBundles
+ .remove(getResourceBundleName(resource));
+ if (resources == null) {
+ resources = new HashSet<IResource>();
+ }
+ resources.add(resource);
+ allBundles.put(getResourceBundleName(resource), resources);
+ }
- do {
- if (excludedResources.contains(new ResourceDescriptor(resource))) {
- if (org.eclipse.babel.tapiji.tools.core.ui.utils.RBFileUtils
- .isResourceBundleFile(resource)) {
- Set<IResource> resources = allBundles
- .remove(getResourceBundleName(resource));
- if (resources == null) {
- resources = new HashSet<IResource>();
- }
- resources.add(resource);
- allBundles.put(getResourceBundleName(resource), resources);
- }
+ isExcluded = true;
+ break;
+ }
+ resource = resource.getParent();
+ } while (resource != null
+ && !(resource instanceof IProject || resource instanceof IWorkspaceRoot)
+ && checkResourceExclusionRoot);
- isExcluded = true;
- break;
- }
- resource = resource.getParent();
- } while (resource != null
- && !(resource instanceof IProject || resource instanceof IWorkspaceRoot)
- && checkResourceExclusionRoot);
+ return isExcluded; // excludedResources.contains(new
+ // ResourceDescriptor(res));
+ }
- return isExcluded; // excludedResources.contains(new
- // ResourceDescriptor(res));
- }
+ public IFile getRandomFile(String bundleName) {
+ try {
+ Collection<IMessagesBundle> messagesBundles = RBManager
+ .getInstance(project).getMessagesBundleGroup(bundleName)
+ .getMessagesBundles();
+ IMessagesBundle bundle = messagesBundles.iterator().next();
+ return FileUtils.getFile(bundle);
+ } catch (Exception e) {
+ Logger.logError(e);
+ }
+ return null;
+ }
- public IFile getRandomFile(String bundleName) {
- try {
- Collection<IMessagesBundle> messagesBundles = RBManager
- .getInstance(project).getMessagesBundleGroup(bundleName)
- .getMessagesBundles();
- IMessagesBundle bundle = messagesBundles.iterator().next();
- return FileUtils.getFile(bundle);
- } catch (Exception e) {
- Logger.logError(e);
- }
- return null;
- }
+ @Deprecated
+ protected static boolean isResourceExcluded(IProject project, String bname) {
+ Iterator<IResourceDescriptor> itExcl = excludedResources.iterator();
+ while (itExcl.hasNext()) {
+ IResourceDescriptor rd = itExcl.next();
+ if (project.getName().equals(rd.getProjectName())
+ && bname.equals(rd.getBundleId())) {
+ return true;
+ }
+ }
+ return false;
+ }
- @Deprecated
- protected static boolean isResourceExcluded(IProject project, String bname) {
- Iterator<IResourceDescriptor> itExcl = excludedResources.iterator();
- while (itExcl.hasNext()) {
- IResourceDescriptor rd = itExcl.next();
- if (project.getName().equals(rd.getProjectName())
- && bname.equals(rd.getBundleId())) {
- return true;
- }
- }
- return false;
- }
+ public static ResourceBundleManager getManager(String projectName) {
+ for (IProject p : getAllSupportedProjects()) {
+ if (p.getName().equalsIgnoreCase(projectName)) {
+ // check if the projectName is a fragment and return the manager
+ // for the host
+ if (FragmentProjectUtils.isFragment(p)) {
+ return getManager(FragmentProjectUtils.getFragmentHost(p));
+ } else {
+ return getManager(p);
+ }
+ }
+ }
+ return null;
+ }
- public static ResourceBundleManager getManager(String projectName) {
- for (IProject p : getAllSupportedProjects()) {
- if (p.getName().equalsIgnoreCase(projectName)) {
- // check if the projectName is a fragment and return the manager
- // for the host
- if (FragmentProjectUtils.isFragment(p)) {
- return getManager(FragmentProjectUtils.getFragmentHost(p));
- } else {
- return getManager(p);
- }
- }
- }
- return null;
- }
+ public IFile getResourceBundleFile(String resourceBundle, Locale l) {
+ IFile res = null;
+ Set<IResource> resSet = resources.get(resourceBundle);
- public IFile getResourceBundleFile(String resourceBundle, Locale l) {
- 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);
+ }
- // 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(normalizedResourceBundleName,
- resource.getName());
- if (refLoc == null
- && l == null
- || (refLoc != null && refLoc.equals(l) || l != null
- && l.equals(refLoc))) {
- res = resource.getProject().getFile(
- resource.getProjectRelativePath());
- break;
- }
- }
- }
+ if (resSet != null) {
+ for (IResource resource : resSet) {
+ Locale refLoc = NameUtils.getLocaleByName(
+ normalizedResourceBundleName, resource.getName());
+ if (refLoc == null
+ && l == null
+ || (refLoc != null && refLoc.equals(l) || l != null
+ && l.equals(refLoc))) {
+ res = resource.getProject().getFile(
+ resource.getProjectRelativePath());
+ break;
+ }
+ }
+ }
- return res;
- }
+ return res;
+ }
- public Set<IResource> getAllResourceBundleResources(String resourceBundle) {
- return allBundles.get(resourceBundle);
- }
+ public Set<IResource> getAllResourceBundleResources(String resourceBundle) {
+ return allBundles.get(resourceBundle);
+ }
- public void registerResourceExclusionListener(
- IResourceExclusionListener listener) {
- exclusionListeners.add(listener);
- }
+ public void registerResourceExclusionListener(
+ IResourceExclusionListener listener) {
+ exclusionListeners.add(listener);
+ }
- public void unregisterResourceExclusionListener(
- IResourceExclusionListener listener) {
- exclusionListeners.remove(listener);
- }
+ public void unregisterResourceExclusionListener(
+ IResourceExclusionListener listener) {
+ exclusionListeners.remove(listener);
+ }
- public boolean isResourceExclusionListenerRegistered(
- IResourceExclusionListener listener) {
- return exclusionListeners.contains(listener);
- }
+ public boolean isResourceExclusionListenerRegistered(
+ IResourceExclusionListener listener) {
+ return exclusionListeners.contains(listener);
+ }
- public static void unregisterResourceExclusionListenerFromAllManagers(
- IResourceExclusionListener excludedResource) {
- for (ResourceBundleManager mgr : rbmanager.values()) {
- mgr.unregisterResourceExclusionListener(excludedResource);
- }
- }
+ public static void unregisterResourceExclusionListenerFromAllManagers(
+ IResourceExclusionListener excludedResource) {
+ for (ResourceBundleManager mgr : rbmanager.values()) {
+ mgr.unregisterResourceExclusionListener(excludedResource);
+ }
+ }
- public void addResourceBundleEntry(String resourceBundleId, String key,
- Locale locale, String message) throws ResourceBundleException {
+ public void addResourceBundleEntry(String resourceBundleId, String key,
+ Locale locale, String message) throws ResourceBundleException {
- RBManager instance = RBManager.getInstance(project);
- IMessagesBundleGroup bundleGroup = instance
- .getMessagesBundleGroup(resourceBundleId);
- IMessage entry = bundleGroup.getMessage(key, locale);
+ RBManager instance = RBManager.getInstance(project);
+ IMessagesBundleGroup bundleGroup = instance
+ .getMessagesBundleGroup(resourceBundleId);
+ IMessage entry = bundleGroup.getMessage(key, locale);
- if (entry == null) {
- DirtyHack.setFireEnabled(false);
+ if (entry == null) {
+ DirtyHack.setFireEnabled(false);
- IMessagesBundle messagesBundle = bundleGroup
- .getMessagesBundle(locale);
- IMessage m = MessageFactory.createMessage(key, locale);
- m.setText(message);
- messagesBundle.addMessage(m);
+ IMessagesBundle messagesBundle = bundleGroup
+ .getMessagesBundle(locale);
+ IMessage m = MessageFactory.createMessage(key, locale);
+ m.setText(message);
+ messagesBundle.addMessage(m);
- FileUtils.writeToFile(messagesBundle);
- instance.fireResourceChanged(messagesBundle);
+ FileUtils.writeToFile(messagesBundle);
+ instance.fireResourceChanged(messagesBundle);
- DirtyHack.setFireEnabled(true);
+ DirtyHack.setFireEnabled(true);
- // notify the PropertyKeySelectionTree
- instance.fireEditorChanged();
- }
- }
+ // notify the PropertyKeySelectionTree
+ instance.fireEditorChanged();
+ }
+ }
- public void saveResourceBundle(String resourceBundleId,
- IMessagesBundleGroup newBundleGroup) throws ResourceBundleException {
+ public void saveResourceBundle(String resourceBundleId,
+ IMessagesBundleGroup newBundleGroup) throws ResourceBundleException {
- // RBManager.getInstance().
- }
+ // RBManager.getInstance().
+ }
- public void removeResourceBundleEntry(String resourceBundleId,
- List<String> keys) throws ResourceBundleException {
+ public void removeResourceBundleEntry(String resourceBundleId,
+ List<String> keys) throws ResourceBundleException {
- RBManager instance = RBManager.getInstance(project);
- IMessagesBundleGroup messagesBundleGroup = instance
- .getMessagesBundleGroup(resourceBundleId);
+ RBManager instance = RBManager.getInstance(project);
+ IMessagesBundleGroup messagesBundleGroup = instance
+ .getMessagesBundleGroup(resourceBundleId);
- DirtyHack.setFireEnabled(false);
+ DirtyHack.setFireEnabled(false);
- for (String key : keys) {
- messagesBundleGroup.removeMessages(key);
- }
+ for (String key : keys) {
+ messagesBundleGroup.removeMessages(key);
+ }
- instance.writeToFile(messagesBundleGroup);
+ instance.writeToFile(messagesBundleGroup);
- DirtyHack.setFireEnabled(true);
+ DirtyHack.setFireEnabled(true);
- // notify the PropertyKeySelectionTree
- instance.fireEditorChanged();
- }
+ // notify the PropertyKeySelectionTree
+ instance.fireEditorChanged();
+ }
- public boolean isResourceExisting(String bundleId, String key) {
- boolean keyExists = false;
- IMessagesBundleGroup bGroup = getResourceBundle(bundleId);
+ public boolean isResourceExisting(String bundleId, String key) {
+ boolean keyExists = false;
+ IMessagesBundleGroup bGroup = getResourceBundle(bundleId);
- if (bGroup != null) {
- keyExists = bGroup.isKey(key);
- }
+ if (bGroup != null) {
+ keyExists = bGroup.isKey(key);
+ }
- return keyExists;
- }
+ return keyExists;
+ }
- public static void rebuildProject(IResource resource) {
- try {
- resource.touch(null);
- } catch (CoreException e) {
- Logger.logError(e);
- }
- }
+ public static void rebuildProject(IResource resource) {
+ try {
+ resource.touch(null);
+ } catch (CoreException e) {
+ Logger.logError(e);
+ }
+ }
- public Set<Locale> getProjectProvidedLocales() {
- Set<Locale> locales = new HashSet<Locale>();
+ public Set<Locale> getProjectProvidedLocales() {
+ Set<Locale> locales = new HashSet<Locale>();
- for (String bundleId : getResourceBundleNames()) {
- Set<Locale> rb_l = getProvidedLocales(bundleId);
- if (!rb_l.isEmpty()) {
- Object[] bundlelocales = rb_l.toArray();
- for (Object l : bundlelocales) {
- /* TODO check if useful to add the default. For now the default is not
- * being used and is ignored as it is null */
- if (l != null && !locales.contains(l)) {
- locales.add((Locale) l);
- }
- }
- }
- }
- return locales;
- }
+ for (String bundleId : getResourceBundleNames()) {
+ Set<Locale> rb_l = getProvidedLocales(bundleId);
+ if (!rb_l.isEmpty()) {
+ Object[] bundlelocales = rb_l.toArray();
+ for (Object l : bundlelocales) {
+ /*
+ * TODO check if useful to add the default. For now the
+ * default is not being used and is ignored as it is null
+ */
+ if (l != null && !locales.contains(l)) {
+ locales.add((Locale) l);
+ }
+ }
+ }
+ }
+ return locales;
+ }
- public static IStateLoader getStateLoader() {
- if (stateLoader == null) {
+ public static IStateLoader getStateLoader() {
+ if (stateLoader == null) {
- IExtensionPoint extp = Platform.getExtensionRegistry()
- .getExtensionPoint(
- "org.eclipse.babel.tapiji.tools.core"
- + ".stateLoader");
- IConfigurationElement[] elements = extp.getConfigurationElements();
+ IExtensionPoint extp = Platform.getExtensionRegistry()
+ .getExtensionPoint(
+ "org.eclipse.babel.tapiji.tools.core"
+ + ".stateLoader");
+ IConfigurationElement[] elements = extp.getConfigurationElements();
- if (elements.length != 0) {
- try {
- stateLoader = (IStateLoader) elements[0]
- .createExecutableExtension("class");
- } catch (CoreException e) {
- Logger.logError(e);
- }
- }
- }
+ if (elements.length != 0) {
+ try {
+ stateLoader = (IStateLoader) elements[0]
+ .createExecutableExtension("class");
+ } catch (CoreException e) {
+ Logger.logError(e);
+ }
+ }
+ }
- return stateLoader;
+ return stateLoader;
- }
+ }
- public static void saveManagerState() {
- IStateLoader stateLoader = getStateLoader();
- if (stateLoader != null) {
- stateLoader.saveState();
- }
- }
+ public static void saveManagerState() {
+ IStateLoader stateLoader = getStateLoader();
+ if (stateLoader != null) {
+ stateLoader.saveState();
+ }
+ }
}
diff --git a/org.eclipse.babel.tapiji.tools.core/src/org/eclipse/babel/tapiji/tools/core/model/manager/ResourceExclusionEvent.java b/org.eclipse.babel.tapiji.tools.core/src/org/eclipse/babel/tapiji/tools/core/model/manager/ResourceExclusionEvent.java
index 0515b84..73b84c8 100644
--- a/org.eclipse.babel.tapiji.tools.core/src/org/eclipse/babel/tapiji/tools/core/model/manager/ResourceExclusionEvent.java
+++ b/org.eclipse.babel.tapiji.tools.core/src/org/eclipse/babel/tapiji/tools/core/model/manager/ResourceExclusionEvent.java
@@ -12,20 +12,22 @@
import java.util.Collection;
+import org.eclipse.core.resources.IResource;
+
public class ResourceExclusionEvent {
- private Collection<Object> changedResources;
+ private Collection<IResource> changedResources;
- public ResourceExclusionEvent(final Collection<Object> changedResources) {
+ public ResourceExclusionEvent(final Collection<IResource> changedResources) {
super();
this.changedResources = changedResources;
}
- public void setChangedResources(final Collection<Object> changedResources) {
+ public void setChangedResources(final Collection<IResource> changedResources) {
this.changedResources = changedResources;
}
- public Collection<Object> getChangedResources() {
+ public Collection<IResource> getChangedResources() {
return changedResources;
}