1 11 package org.eclipse.team.internal.ui.synchronize; 12 13 import org.eclipse.compare.ITypedElement; 14 import org.eclipse.core.resources.IStorage; 15 import org.eclipse.core.runtime.*; 16 import org.eclipse.team.core.TeamException; 17 import org.eclipse.team.core.variants.IResourceVariant; 18 import org.eclipse.team.internal.core.mapping.ResourceVariantFileRevision; 19 import org.eclipse.team.internal.ui.StorageTypedElement; 20 import org.eclipse.team.internal.ui.history.FileRevisionEditorInput; 21 import org.eclipse.ui.IEditorInput; 22 23 27 public class RemoteResourceTypedElement extends StorageTypedElement { 28 29 private IResourceVariant remote; 30 31 36 public RemoteResourceTypedElement(IResourceVariant remote, String encoding) { 37 super(encoding); 38 Assert.isNotNull(remote); 39 this.remote = remote; 40 } 41 42 45 public String getName() { 46 return remote.getName(); 47 } 48 49 52 public String getType() { 53 if (remote.isContainer()) { 54 return ITypedElement.FOLDER_TYPE; 55 } 56 return super.getType(); 57 } 58 59 62 protected IStorage fetchContents(IProgressMonitor monitor) throws TeamException { 63 return remote.getStorage(monitor); 64 } 65 66 69 public IEditorInput getDocumentKey(Object element) { 70 if (element == this && getBufferedStorage() != null) { 71 return new FileRevisionEditorInput(new ResourceVariantFileRevision(remote), getBufferedStorage(), getLocalEncoding()); 72 } 73 return null; 74 } 75 76 } 77 | Popular Tags |