Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/CVSLocalSyncElement.java')
-rw-r--r--bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/CVSLocalSyncElement.java120
1 files changed, 120 insertions, 0 deletions
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/CVSLocalSyncElement.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/CVSLocalSyncElement.java
new file mode 100644
index 000000000..aadefbde6
--- /dev/null
+++ b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/CVSLocalSyncElement.java
@@ -0,0 +1,120 @@
+package org.eclipse.team.internal.ccvs.core.resources;
+
+/*
+ * (c) Copyright IBM Corp. 2000, 2001.
+ * All Rights Reserved.
+ */
+
+import java.io.File;
+
+import org.eclipse.core.resources.IResource;
+import org.eclipse.team.core.sync.ILocalSyncElement;
+import org.eclipse.team.core.sync.IRemoteResource;
+import org.eclipse.team.core.sync.LocalSyncElement;
+import org.eclipse.team.internal.ccvs.core.CVSException;
+
+public class CVSLocalSyncElement extends LocalSyncElement {
+
+ protected ICVSResource cvsResource;
+ protected IRemoteResource base;
+ protected IResource local;
+
+ public CVSLocalSyncElement(IResource local, IRemoteResource base) {
+
+ this.local = local;
+ this.base = base;
+
+ File file = new File(local.getLocation().toOSString());
+ if(local.getType() != IResource.FILE) {
+ this.cvsResource = new LocalFolder(file);
+ } else {
+ this.cvsResource = new LocalFile(file);
+ }
+ }
+
+ /*
+ * @see RemoteSyncElement#create(IResource, IRemoteResource, IRemoteResource)
+ */
+ public ILocalSyncElement create(IResource local, IRemoteResource base, Object data) {
+ return new CVSLocalSyncElement(local, base);
+ }
+
+ /*
+ * @see ILocalSyncElement#getLocal()
+ */
+ public IResource getLocal() {
+ return local;
+ }
+
+ /*
+ * @see ILocalSyncElement#getBase()
+ */
+ public IRemoteResource getBase() {
+ return base;
+ }
+
+ /*
+ * @see ILocalSyncElement#isDirty()
+ */
+ public boolean isDirty() {
+ if(cvsResource == null) {
+ return false;
+ } else {
+ if(cvsResource.isFolder()) {
+ return false;
+ } else {
+ try {
+ if(cvsResource.getSyncInfo()==null) {
+ return false;
+ }
+ return ((ICVSFile)cvsResource).isDirty();
+ } catch(CVSException e) {
+ return true;
+ }
+ }
+ }
+ }
+
+ /*
+ * @see ILocalSyncElement#isCheckedOut()
+ */
+ public boolean isCheckedOut() {
+ return cvsResource != null;
+ }
+
+ /*
+ * @see ILocalSyncElement#hasRemote()
+ */
+ public boolean hasRemote() {
+ return cvsResource != null;
+ }
+
+ /*
+ * @see RemoteSyncElement#getData()
+ */
+ protected Object getData() {
+ return null;
+ }
+
+ /*
+ * Answers the CVS resource for this sync element
+ */
+ public ICVSResource getCVSResource() {
+ return cvsResource;
+ }
+ /*
+ * @see LocalSyncElement#isIgnored(IResource)
+ */
+ protected boolean isIgnored(IResource child) {
+ if(cvsResource==null || !cvsResource.isFolder() ) {
+ return false;
+ } else {
+ try {
+ ICVSResource managedChild = ((ICVSFolder)cvsResource).getChild(child.getName());
+ return managedChild.isIgnored();
+ } catch(CVSException e) {
+ return false;
+ }
+ }
+ }
+} \ No newline at end of file

Back to the top