Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Valenta2005-12-09 15:07:13 +0000
committerMichael Valenta2005-12-09 15:07:13 +0000
commita2d76da07bba1371cb9c1b3c255bc5a7253eb50d (patch)
treeea227452736ae865b5c82bbb6fb4a18b911c638e /bundles
parentbb0445c433185f9db062ec6f900a5201efb67a85 (diff)
downloadeclipse.platform.team-a2d76da07bba1371cb9c1b3c255bc5a7253eb50d.tar.gz
eclipse.platform.team-a2d76da07bba1371cb9c1b3c255bc5a7253eb50d.tar.xz
eclipse.platform.team-a2d76da07bba1371cb9c1b3c255bc5a7253eb50d.zip
Bug 116931 New TeamHook validation methods
Diffstat (limited to 'bundles')
-rw-r--r--bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSTeamProvider.java24
-rw-r--r--bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/CVSWorkspaceRoot.java11
2 files changed, 22 insertions, 13 deletions
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSTeamProvider.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSTeamProvider.java
index 41d8951ed..cca87409e 100644
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSTeamProvider.java
+++ b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSTeamProvider.java
@@ -11,6 +11,7 @@
package org.eclipse.team.internal.ccvs.core;
import java.io.*;
+import java.net.URI;
import java.util.*;
import org.eclipse.core.resources.*;
@@ -646,11 +647,22 @@ public class CVSTeamProvider extends RepositoryProvider {
public boolean canHandleLinkedResources() {
return true;
}
+
+ /* (non-Javadoc)
+ * @see org.eclipse.team.core.RepositoryProvider#canHandleLinkedResourceURI()
+ */
+ public boolean canHandleLinkedResourceURI() {
+ return true;
+ }
- /**
+ /* (non-Javadoc)
* @see org.eclipse.team.core.RepositoryProvider#validateCreateLink(org.eclipse.core.resources.IResource, int, org.eclipse.core.runtime.IPath)
*/
public IStatus validateCreateLink(IResource resource, int updateFlags, IPath location) {
+ return internalValidateCreateLink(resource);
+ }
+
+ private IStatus internalValidateCreateLink(IResource resource) {
ICVSFolder cvsFolder = CVSWorkspaceRoot.getCVSFolderFor(resource.getParent().getFolder(new Path(resource.getName())));
try {
if (cvsFolder.isCVSFolder()) {
@@ -667,8 +679,14 @@ public class CVSTeamProvider extends RepositoryProvider {
CVSProviderPlugin.log(e);
return e.getStatus();
}
-
- return super.validateCreateLink(resource, updateFlags, location);
+ return Status.OK_STATUS;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.team.core.RepositoryProvider#validateCreateLink(org.eclipse.core.resources.IResource, int, java.net.URI)
+ */
+ public IStatus validateCreateLink(IResource resource, int updateFlags, URI location) {
+ return internalValidateCreateLink(resource);
}
/**
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/CVSWorkspaceRoot.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/CVSWorkspaceRoot.java
index 9f4715672..c8f779ecf 100644
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/CVSWorkspaceRoot.java
+++ b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/CVSWorkspaceRoot.java
@@ -228,16 +228,7 @@ public class CVSWorkspaceRoot {
* @return boolean
*/
public static boolean isLinkedResource(IResource resource) {
- // check the resource directly first
- if (resource.isLinked()) return true;
- // projects and root cannot be links
- if (resource.getType() == IResource.PROJECT || resource.getType() == IResource.ROOT) {
- return false;
- }
- // look one level under the project to see if the resource is part of a link
- String linkedParentName = resource.getProjectRelativePath().segment(0);
- IFolder linkedParent = resource.getProject().getFolder(linkedParentName);
- return linkedParent.isLinked();
+ return resource.isLinked(IResource.CHECK_ANCESTORS);
}
/**

Back to the top