Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Dykstal2007-06-11 15:52:57 +0000
committerDavid Dykstal2007-06-11 15:52:57 +0000
commit20a15b62020257a87ef70b692b16ca5279b7667c (patch)
treedfc19daf35a566591c3ec6695f0ff1cebd407716
parentb0ee4f327640c53da6eee9403751afd7a46b6322 (diff)
downloadorg.eclipse.tm-20a15b62020257a87ef70b692b16ca5279b7667c.tar.gz
org.eclipse.tm-20a15b62020257a87ef70b692b16ca5279b7667c.tar.xz
org.eclipse.tm-20a15b62020257a87ef70b692b16ca5279b7667c.zip
[191130][api][breaking] stop exception from printing out on clean workspace startup
-rwxr-xr-xreleng/org.eclipse.rse.build/template/buildNotes.php6
-rw-r--r--rse/plugins/org.eclipse.rse.core/src/org/eclipse/rse/core/SystemResourceManager.java32
-rw-r--r--rse/plugins/org.eclipse.rse.core/src/org/eclipse/rse/internal/persistence/PFWorkspaceLocation.java3
-rw-r--r--rse/plugins/org.eclipse.rse.core/src/org/eclipse/rse/internal/persistence/SerializingProvider.java35
-rw-r--r--rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/SystemResourceListener.java18
-rw-r--r--rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/team/SystemTeamViewProfileAdapter.java3
-rw-r--r--rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/team/SystemTeamViewRefreshAllAction.java9
-rw-r--r--rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/team/SystemTeamViewResourceAdapterFactory.java5
8 files changed, 67 insertions, 44 deletions
diff --git a/releng/org.eclipse.rse.build/template/buildNotes.php b/releng/org.eclipse.rse.build/template/buildNotes.php
index bf8ed7e24..83ad98b89 100755
--- a/releng/org.eclipse.rse.build/template/buildNotes.php
+++ b/releng/org.eclipse.rse.build/template/buildNotes.php
@@ -120,6 +120,12 @@ More information can be found in the associated bugzilla items.
<ul>
<li>TM @buildId@ Breaking API Changes
<ul>
+<li><b>SystemResourceManager</b> - removed two methods getRemoteSystemsProject() and getProfileFolder(String).
+getRemoteSystemsProject() was a convenience method that was equivalent to getRemoteSystemsProject(true) and it forced the
+creation of RemoteSystemConnections project in the workspace. This was undesirable given the current persistence provider
+defaults.
+getProfileFolder(String) returned a IFolder for a profile under the old persistence provider scheme. The method was obsolete and
+should not be being used at all.</li>
</ul></li>
<li>TM 2.0RC2 Breaking API Changes
<ul>
diff --git a/rse/plugins/org.eclipse.rse.core/src/org/eclipse/rse/core/SystemResourceManager.java b/rse/plugins/org.eclipse.rse.core/src/org/eclipse/rse/core/SystemResourceManager.java
index e9c11ab00..01a913cc1 100644
--- a/rse/plugins/org.eclipse.rse.core/src/org/eclipse/rse/core/SystemResourceManager.java
+++ b/rse/plugins/org.eclipse.rse.core/src/org/eclipse/rse/core/SystemResourceManager.java
@@ -19,6 +19,8 @@
* made ensureRemoteSystemsProject private instead of protected
* David Dykstal (IBM) - [186589] move user types, user actions, and compile commands
* API to the user actions plugin
+ * David Dykstal (IBM) - [191130] remove getRemoteSystemsProject() and getProfileFolder()
+ * as part of the work to removed the exception printed at startup.
********************************************************************************/
package org.eclipse.rse.core;
@@ -148,22 +150,24 @@ public class SystemResourceManager implements SystemResourceConstants
_listener.removeResourceChangeListener(l);
}
- /**
- * Get the default remote systems project.
- * If found but closed, this will open the project.
- * @return IProject handle of the project. Use exists() to test existence.
- */
- public static IProject getRemoteSystemsProject()
- {
- return getRemoteSystemsProject(true);
- }
+// /**
+// * Get the default remote systems project.
+// * If found but closed, this will open the project.
+// * @return IProject handle of the project. Use exists() to test existence.
+// * @deprecated use {@link #getRemoteSystemsProject(boolean)} instead.
+// */
+// public static IProject getRemoteSystemsProject()
+// {
+// return getRemoteSystemsProject(true);
+// }
/**
* Get the default remote systems project.
* If found but closed, this will open the project.
* @param force if true force the creation of the project if not found.
* In any case, returns handle to the project.
- * @return IProject handle of the project. Use exists() to test existence.
+ * @return IProject handle of the project. Clients should use
+ * exists() or isAccessible() to test existence.
*/
public static IProject getRemoteSystemsProject(boolean force) {
if (remoteSystemsProject == null) {
@@ -273,10 +277,10 @@ public class SystemResourceManager implements SystemResourceConstants
/**
* Get profiles folder for a given profile name
*/
- public static IFolder getProfileFolder(String profileName)
- {
- return getResourceHelpers().getOrCreateFolder(getRemoteSystemsProject(),profileName);
- }
+// public static IFolder getProfileFolder(String profileName)
+// {
+// return getResourceHelpers().getOrCreateFolder(getRemoteSystemsProject(),profileName);
+// }
// -------------------
diff --git a/rse/plugins/org.eclipse.rse.core/src/org/eclipse/rse/internal/persistence/PFWorkspaceLocation.java b/rse/plugins/org.eclipse.rse.core/src/org/eclipse/rse/internal/persistence/PFWorkspaceLocation.java
index 364a556cc..0136dcbb9 100644
--- a/rse/plugins/org.eclipse.rse.core/src/org/eclipse/rse/internal/persistence/PFWorkspaceLocation.java
+++ b/rse/plugins/org.eclipse.rse.core/src/org/eclipse/rse/internal/persistence/PFWorkspaceLocation.java
@@ -10,6 +10,7 @@
* David Dykstal (IBM) - [189858] delayed the creation of the remote systems project by
* using handle-only operations. The project is created only
* if required to exist for writing.
+ * David Dykstal (IBM) - [191130] use explicit getRemoteSystemsProject(boolean) method
*******************************************************************************/
package org.eclipse.rse.internal.persistence;
@@ -136,7 +137,7 @@ class PFWorkspaceLocation implements PFPersistenceLocation {
private void ensure(IContainer resource) {
if (!resource.isAccessible()) {
if (resource.getType() == IResource.PROJECT) {
- SystemResourceManager.getRemoteSystemsProject();
+ SystemResourceManager.getRemoteSystemsProject(true);
} else {
IFolder folder = (IFolder) resource;
ensure(folder.getParent());
diff --git a/rse/plugins/org.eclipse.rse.core/src/org/eclipse/rse/internal/persistence/SerializingProvider.java b/rse/plugins/org.eclipse.rse.core/src/org/eclipse/rse/internal/persistence/SerializingProvider.java
index 14f3f49cb..668e374e2 100644
--- a/rse/plugins/org.eclipse.rse.core/src/org/eclipse/rse/internal/persistence/SerializingProvider.java
+++ b/rse/plugins/org.eclipse.rse.core/src/org/eclipse/rse/internal/persistence/SerializingProvider.java
@@ -12,6 +12,7 @@
*
* Contributors:
* Martin Oberhuber (Wind River) - [184095] Replace systemTypeName by IRSESystemType
+ * David Dykstal (IBM) - [191130] use explicit getRemoteSystemsProject(boolean) method
********************************************************************************/
package org.eclipse.rse.internal.persistence;
@@ -57,21 +58,23 @@ public class SerializingProvider implements IRSEPersistenceProvider {
*/
List names = new Vector(10);
try {
- IProject project = SystemResourceManager.getRemoteSystemsProject();
- IResource[] candidates = project.members();
- for (int i = 0; i < candidates.length; i++) {
- IResource candidate = candidates[i];
- if (candidate.getType() == IResource.FOLDER) {
- IFolder candidateFolder = (IFolder) candidate;
- IResource[] children = candidateFolder.members();
- if (children.length == 1) {
- IResource child = children[0];
- if (child.getType() == IResource.FILE) {
- String profileName = candidateFolder.getName();
- String domFileName = profileName + ".rsedom"; //$NON-NLS-1$
- String childName = child.getName();
- if (childName.equals(domFileName)) {
- names.add(profileName);
+ IProject project = SystemResourceManager.getRemoteSystemsProject(false);
+ if (project.isAccessible()) {
+ IResource[] candidates = project.members();
+ for (int i = 0; i < candidates.length; i++) {
+ IResource candidate = candidates[i];
+ if (candidate.getType() == IResource.FOLDER) {
+ IFolder candidateFolder = (IFolder) candidate;
+ IResource[] children = candidateFolder.members();
+ if (children.length == 1) {
+ IResource child = children[0];
+ if (child.getType() == IResource.FILE) {
+ String profileName = candidateFolder.getName();
+ String domFileName = profileName + ".rsedom"; //$NON-NLS-1$
+ String childName = child.getName();
+ if (childName.equals(domFileName)) {
+ names.add(profileName);
+ }
}
}
}
@@ -114,7 +117,7 @@ public class SerializingProvider implements IRSEPersistenceProvider {
}
private IFile getProfileFile(String domName, IProgressMonitor monitor) {
- IProject project = SystemResourceManager.getRemoteSystemsProject();
+ IProject project = SystemResourceManager.getRemoteSystemsProject(true);
// before loading, make sure the project is in synch
try {
diff --git a/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/SystemResourceListener.java b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/SystemResourceListener.java
index e20768626..7f8c69717 100644
--- a/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/SystemResourceListener.java
+++ b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/SystemResourceListener.java
@@ -14,6 +14,7 @@
* Martin Oberhuber (Wind River) - [168975] Move RSE Events API to Core
* Martin Oberhuber (Wind River) - [186773] split ISystemRegistryUI from ISystemRegistry
* Martin Oberhuber (Wind River) - [168870] refactor org.eclipse.rse.core package of the UI plugin
+ * David Dykstal (IBM) - [191130] log exception instead of printing, do not log if project is not available
********************************************************************************/
package org.eclipse.rse.internal.ui;
@@ -25,6 +26,7 @@ import org.eclipse.core.resources.IResourceChangeEvent;
import org.eclipse.core.resources.IResourceChangeListener;
import org.eclipse.core.resources.IResourceDelta;
import org.eclipse.core.resources.IWorkspace;
+import org.eclipse.core.runtime.CoreException;
import org.eclipse.rse.core.ISystemResourceListener;
import org.eclipse.rse.core.RSECorePlugin;
import org.eclipse.rse.core.SystemResourceManager;
@@ -361,16 +363,18 @@ public class SystemResourceListener implements ISystemResourceListener, Runnable
{
if (!resource.getName().equals(remoteSystemsProject.getName()))
return true;
+ // [191130] the event can be ignored if the project cannot be accessed
+ if (!resource.isAccessible()) return true;
try
{
if (!(((IProject) resource).hasNature(RemoteSystemsProject.ID)))
return true;
- }
- catch (Exception exc)
+ }
+ catch (CoreException exc)
{
- System.out.println("Exception trying to test the natures of the project that fired a resource change event"); //$NON-NLS-1$
- }
- }
+ RSECorePlugin.getDefault().getLogger().logError("Exception trying to test the natures of the project that fired a resource change event", exc); //$NON-NLS-1$
+ }
+ }
}
return false;
}
@@ -733,7 +737,7 @@ public class SystemResourceListener implements ISystemResourceListener, Runnable
{
SystemResourceListener us = null;
if (inst == null)
- us = getListener(SystemResourceManager.getRemoteSystemsProject());
+ us = getListener(SystemResourceManager.getRemoteSystemsProject(false));
else
us = inst;
@@ -747,7 +751,7 @@ public class SystemResourceListener implements ISystemResourceListener, Runnable
{
SystemResourceListener us = null;
if (inst == null)
- us = getListener(SystemResourceManager.getRemoteSystemsProject());
+ us = getListener(SystemResourceManager.getRemoteSystemsProject(false));
else
us = inst;
diff --git a/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/team/SystemTeamViewProfileAdapter.java b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/team/SystemTeamViewProfileAdapter.java
index 3afb6be4c..a3ce48859 100644
--- a/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/team/SystemTeamViewProfileAdapter.java
+++ b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/team/SystemTeamViewProfileAdapter.java
@@ -17,6 +17,7 @@
* Martin Oberhuber (Wind River) - [177523] Unify singleton getter methods
* Martin Oberhuber (Wind River) - [186128] Move IProgressMonitor last in all API
* Martin Oberhuber (Wind River) - [186773] split ISystemRegistryUI from ISystemRegistry
+ * David Dykstal (IBM) - [191130] use new getRemoteSystemsProject(boolean) call
********************************************************************************/
package org.eclipse.rse.internal.ui.view.team;
@@ -210,7 +211,7 @@ public class SystemTeamViewProfileAdapter
*/
public Object getParent(Object element)
{
- return SystemResourceManager.getRemoteSystemsProject();
+ return SystemResourceManager.getRemoteSystemsProject(false);
}
/**
diff --git a/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/team/SystemTeamViewRefreshAllAction.java b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/team/SystemTeamViewRefreshAllAction.java
index 728bb82d9..72d5b74af 100644
--- a/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/team/SystemTeamViewRefreshAllAction.java
+++ b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/team/SystemTeamViewRefreshAllAction.java
@@ -13,9 +13,11 @@
*
* Contributors:
* Michael Berger (IBM) - 146339 Added refresh action graphic.
+ * David Dykstal (IBM) - [191130] use new getRemoteSystemsProject(boolean) method
*******************************************************************************/
package org.eclipse.rse.internal.ui.view.team;
+import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IResource;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.rse.core.SystemResourceManager;
@@ -67,11 +69,12 @@ public class SystemTeamViewRefreshAllAction extends SystemBaseAction
public void run()
{
try {
- SystemResourceManager.getRemoteSystemsProject().refreshLocal(IResource.DEPTH_INFINITE, null);
+ IProject connectionsProject = SystemResourceManager.getRemoteSystemsProject(false);
+ if (connectionsProject.isAccessible()) {
+ connectionsProject.refreshLocal(IResource.DEPTH_INFINITE, null);
+ }
} catch (Exception exc) {}
-
SystemTeamView teamViewer = (SystemTeamView)teamView.getTreeViewer();
teamViewer.refresh();
- //System.out.println("Running refresh all");
}
}
diff --git a/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/team/SystemTeamViewResourceAdapterFactory.java b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/team/SystemTeamViewResourceAdapterFactory.java
index 6316a55b0..145c0be62 100644
--- a/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/team/SystemTeamViewResourceAdapterFactory.java
+++ b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/team/SystemTeamViewResourceAdapterFactory.java
@@ -12,7 +12,7 @@
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
*
* Contributors:
- * {Name} (company) - description of contribution.
+ * David Dykstal (IBM) - [191130] fix unnecessary creation of the remote systems project
*******************************************************************************/
package org.eclipse.rse.internal.ui.view.team;
@@ -54,7 +54,8 @@ public class SystemTeamViewResourceAdapterFactory implements IAdapterFactory
if (adaptableObject instanceof ISystemRegistry)
{
//SystemRegistry sr = (SystemRegistry)adaptableObject;
- adapter = SystemResourceManager.getRemoteSystemsProject();
+ // [191130] do not force the creation of the project, just return its handle
+ adapter = SystemResourceManager.getRemoteSystemsProject(false);
}
/* deferred
else if (adaptableObject instanceof SystemProfile)

Back to the top