Author: rob.stryker(a)jboss.com
Date: 2007-05-23 19:15:17 -0400 (Wed, 23 May 2007)
New Revision: 2069
Modified:
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/eclipse/org/jboss/ide/eclipse/archives/core/build/ModelChangeListenerWithRefresh.java
Log:
ensured .packages file is also refreshed so change events are fired properly.
Modified:
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/eclipse/org/jboss/ide/eclipse/archives/core/build/ModelChangeListenerWithRefresh.java
===================================================================
---
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/eclipse/org/jboss/ide/eclipse/archives/core/build/ModelChangeListenerWithRefresh.java 2007-05-23
23:13:55 UTC (rev 2068)
+++
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/eclipse/org/jboss/ide/eclipse/archives/core/build/ModelChangeListenerWithRefresh.java 2007-05-23
23:15:17 UTC (rev 2069)
@@ -1,11 +1,14 @@
package org.jboss.ide.eclipse.archives.core.build;
+import org.eclipse.core.resources.IContainer;
import org.eclipse.core.resources.IResource;
import org.eclipse.core.resources.IWorkspaceRoot;
import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.core.runtime.Path;
+import org.jboss.ide.eclipse.archives.core.model.ArchivesModel;
import org.jboss.ide.eclipse.archives.core.model.IArchive;
import org.jboss.ide.eclipse.archives.core.model.IArchiveNode;
@@ -25,16 +28,25 @@
protected void postChange(IArchiveNode node) {
IArchive pack = node.getRootArchive();
- if( pack != null && pack.isDestinationInWorkspace() ) {
- // refresh the root package node
- IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
- IResource res = root.getContainerForLocation(pack.getDestinationPath());
- if( res != null ) {
- try {
- res.getParent().refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());
- } catch( CoreException ce ) {
+ if( pack != null ) {
+ if( pack.isDestinationInWorkspace() ) {
+ // refresh the root package node
+ IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
+ IResource res = root.getContainerForLocation(pack.getDestinationPath());
+ if( res != null ) {
+ try {
+ res.getParent().refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());
+ } catch( CoreException ce ) {
+ }
}
}
+ IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
+ IContainer proj = root.getContainerForLocation(pack.getProjectPath());
+ try {
+ proj.getFile(new
Path(ArchivesModel.PROJECT_PACKAGES_FILE)).refreshLocal(IResource.DEPTH_ONE, new
NullProgressMonitor());
+ } catch( CoreException ce ) {
+ }
+
}
}
}
Show replies by date