[jboss-cvs] jbosside/core/plugins/org.jboss.ide.eclipse.packages.core/src/main/org/jboss/ide/eclipse/packages/core/model/internal ...
Marshall Culpepper
mculpepper at jboss.com
Fri Dec 8 11:29:40 EST 2006
User: mculpepper
Date: 06/12/08 11:29:40
Modified: core/plugins/org.jboss.ide.eclipse.packages.core/src/main/org/jboss/ide/eclipse/packages/core/model/internal
PackagesModel.java
Log:
attempting to fix an endless loop when a project is registered that fires an event to UI that causes another register.. etc..
Revision Changes Path
1.9 +9 -1 jbosside/core/plugins/org.jboss.ide.eclipse.packages.core/src/main/org/jboss/ide/eclipse/packages/core/model/internal/PackagesModel.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: PackagesModel.java
===================================================================
RCS file: /cvsroot/jboss/jbosside/core/plugins/org.jboss.ide.eclipse.packages.core/src/main/org/jboss/ide/eclipse/packages/core/model/internal/PackagesModel.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -b -r1.8 -r1.9
--- PackagesModel.java 6 Dec 2006 17:47:33 -0000 1.8
+++ PackagesModel.java 8 Dec 2006 16:29:40 -0000 1.9
@@ -70,6 +70,7 @@
private Hashtable xbPackages;
private ArrayList buildListeners;
private ArrayList modelListeners;
+ private IProject projectBeingRegistered;
private PackagesModel ()
{
@@ -79,6 +80,7 @@
packageTypes = new Hashtable();
buildListeners = new ArrayList();
modelListeners = new ArrayList();
+ projectBeingRegistered = null;
loadPackageTypes();
}
@@ -93,6 +95,7 @@
public void registerProject(IProject project, IProgressMonitor monitor)
{
+ projectBeingRegistered = project;
monitor.beginTask("Loading configuration...", XMLBinding.NUM_UNMARSHAL_MONITOR_STEPS + 2);
IFile packagesFile = project.getFile(PROJECT_PACKAGES_FILE);
@@ -113,6 +116,7 @@
Trace.trace(PackagesModel.class, e);
}
}
+ projectBeingRegistered = null;
}
public IPackage createPackage(IProject project, boolean isTopLevel)
@@ -434,12 +438,16 @@
if (!force && !modelBridge.containsKey(source)) //not registered in the model, no event should be broadcast
return;
+ if (projectBeingRegistered != null && source.getProject().equals(projectBeingRegistered))
+ return;
+
PackageNodeImpl nodeImpl = (PackageNodeImpl) source;
if (!nodeImpl.isWorkingCopy())
{
runnable.run();
}
}
+
protected void fireEvent (IPackageNode source, Runnable runnable)
{
fireEvent(source, false, runnable);
More information about the jboss-cvs-commits
mailing list