Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKevin Macguire2002-05-15 05:41:00 +0000
committerKevin Macguire2002-05-15 05:41:00 +0000
commit1bb38ebaae8726ddee68f558d7b2ce662363b397 (patch)
treea9ccbf8832fdf4194fc320510eae826641a3735f /bundles
parentb3e05d4766fc5e12a43f4d23300bf972b30e10d3 (diff)
downloadeclipse.platform.team-1bb38ebaae8726ddee68f558d7b2ce662363b397.tar.gz
eclipse.platform.team-1bb38ebaae8726ddee68f558d7b2ce662363b397.tar.xz
eclipse.platform.team-1bb38ebaae8726ddee68f558d7b2ce662363b397.zip
*** empty log message ***
Diffstat (limited to 'bundles')
-rw-r--r--bundles/org.eclipse.team.core/src/org/eclipse/team/core/target/TargetManager.java20
-rw-r--r--bundles/org.eclipse.team.core/src/org/eclipse/team/core/target/TargetProvider.java16
2 files changed, 36 insertions, 0 deletions
diff --git a/bundles/org.eclipse.team.core/src/org/eclipse/team/core/target/TargetManager.java b/bundles/org.eclipse.team.core/src/org/eclipse/team/core/target/TargetManager.java
index f05be20db..6ddab1e0a 100644
--- a/bundles/org.eclipse.team.core/src/org/eclipse/team/core/target/TargetManager.java
+++ b/bundles/org.eclipse.team.core/src/org/eclipse/team/core/target/TargetManager.java
@@ -128,6 +128,26 @@ public class TargetManager {
}
}
+ public static boolean hasProvider(IProject project) throws TeamException {
+ try {
+ ISynchronizer s = ResourcesPlugin.getWorkspace().getSynchronizer();
+ byte[] mappingBytes = s.getSyncInfo(TARGET_MAPPINGS, project);
+ if (mappingBytes == null) {
+ return false;
+ } else {
+ LocationMapping mapping = new LocationMapping(mappingBytes);
+ Site site =
+ getSite(mapping.getType(), mapping.getURL());
+ return site != null;
+ }
+ } catch (CoreException e) {
+ throw new TeamException("Problems getting default target provider" + project.getName(), e);
+ } catch (IOException e) {
+ throw new TeamException("Problems getting default target provider" + project.getName(), e);
+ }
+ }
+
+
public static Site getSite(String type, URL id) {
for (Iterator it = sites.iterator(); it.hasNext();) {
Site element = (Site) it.next();
diff --git a/bundles/org.eclipse.team.core/src/org/eclipse/team/core/target/TargetProvider.java b/bundles/org.eclipse.team.core/src/org/eclipse/team/core/target/TargetProvider.java
index 07e68b54f..5cf480282 100644
--- a/bundles/org.eclipse.team.core/src/org/eclipse/team/core/target/TargetProvider.java
+++ b/bundles/org.eclipse.team.core/src/org/eclipse/team/core/target/TargetProvider.java
@@ -66,5 +66,21 @@ public abstract class TargetProvider {
*/
public abstract void put(IResource[] resources, IProgressMonitor progress) throws TeamException;
+ /**
+ * Replies true if its believed possible to get the given resource.
+ * This intended to be a relatively quick operation, presumably based on local state of the provider.
+ */
+ public boolean canGet(IResource resource) {
+ return true;
+ }
+
+ /**
+ * Replies true if its believed possible to put the given resource.
+ * This intended to be a relatively quick operation, presumably based on local state of the provider.
+ */
+ public boolean canPut(IResource resource) {
+ return true;
+ }
+
public abstract void deregister(IProject project);
}

Back to the top