Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordgiormov2012-02-01 11:04:06 +0000
committerdgiormov2012-02-01 11:04:06 +0000
commit9dd3a2104b785f2dfc826b5fcb67a0cefb4c2e60 (patch)
treedc4d061f1b4c414f59dce3629333c09a3496c65f
parent3e4613df5501ad014c7482d21445ded9b9c122e8 (diff)
downloadwebtools.javaee-9dd3a2104b785f2dfc826b5fcb67a0cefb4c2e60.tar.gz
webtools.javaee-9dd3a2104b785f2dfc826b5fcb67a0cefb4c2e60.tar.xz
webtools.javaee-9dd3a2104b785f2dfc826b5fcb67a0cefb4c2e60.zip
[369259] error dialog pops up when deleting dynamic web project
-rw-r--r--plugins/org.eclipse.jst.jee.ui/src/org/eclipse/jst/jee/ui/internal/navigator/LoadingJeeDDJob.java30
1 files changed, 18 insertions, 12 deletions
diff --git a/plugins/org.eclipse.jst.jee.ui/src/org/eclipse/jst/jee/ui/internal/navigator/LoadingJeeDDJob.java b/plugins/org.eclipse.jst.jee.ui/src/org/eclipse/jst/jee/ui/internal/navigator/LoadingJeeDDJob.java
index 1efce1b08..c9f33c1c7 100644
--- a/plugins/org.eclipse.jst.jee.ui/src/org/eclipse/jst/jee/ui/internal/navigator/LoadingJeeDDJob.java
+++ b/plugins/org.eclipse.jst.jee.ui/src/org/eclipse/jst/jee/ui/internal/navigator/LoadingJeeDDJob.java
@@ -1,5 +1,5 @@
/***********************************************************************
- * Copyright (c) 2011 by SAP AG, Walldorf.
+ * Copyright (c) 2011 by SAP AG, Walldorf.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -24,11 +24,11 @@ import org.eclipse.jface.viewers.Viewer;
import org.eclipse.jst.j2ee.navigator.internal.LoadingDDUIJob;
public class LoadingJeeDDJob extends Job {
-
- private Viewer viewer;
- private JEE5ContentProvider rootProvider;
- private IProject project;
- private LoadingGroupProvider provider;
+
+ private final Viewer viewer;
+ private final JEE5ContentProvider rootProvider;
+ private final IProject project;
+ private final LoadingGroupProvider provider;
public LoadingJeeDDJob(Viewer viewer2, LoadingGroupProvider provider, IProject project, JEE5ContentProvider rootProvider) {
super(provider.getText());
@@ -45,20 +45,26 @@ public class LoadingJeeDDJob extends Job {
List children = new ArrayList();
AbstractGroupProvider rootObject = null;
-
+
try {
rootObject = (rootProvider != null) ? rootProvider.getNewContentProviderInstance(project) : null;
rootProvider.registerProvider(project, rootObject);
if (rootObject != null) {
children.add(rootObject);
- }
- } finally {
+ }
+ } catch (IllegalStateException e) {
+ if (!project.isAccessible()){
+ //Project is most likely closed or deleted at this time.
+ return Status.CANCEL_STATUS;
+ }
+ throw e;
+ } finally {
/* dispose of the place holder, causes the termination of the animation job */
- provider.dispose();
+ provider.dispose();
new ClearJeePlaceHolderJob((AbstractTreeViewer) viewer, provider, project, children.toArray()).schedule();
}
-
-
+
+
return Status.OK_STATUS;
}

Back to the top