diff options
author | Kevin Macguire | 2002-05-15 05:41:00 +0000 |
---|---|---|
committer | Kevin Macguire | 2002-05-15 05:41:00 +0000 |
commit | 1bb38ebaae8726ddee68f558d7b2ce662363b397 (patch) | |
tree | a9ccbf8832fdf4194fc320510eae826641a3735f /bundles | |
parent | b3e05d4766fc5e12a43f4d23300bf972b30e10d3 (diff) | |
download | eclipse.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.java | 20 | ||||
-rw-r--r-- | bundles/org.eclipse.team.core/src/org/eclipse/team/core/target/TargetProvider.java | 16 |
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); } |