Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/FileSystemRemoteResource.java')
-rw-r--r--examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/FileSystemRemoteResource.java179
1 files changed, 0 insertions, 179 deletions
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/FileSystemRemoteResource.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/FileSystemRemoteResource.java
deleted file mode 100644
index f8c8761a1..000000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/FileSystemRemoteResource.java
+++ /dev/null
@@ -1,179 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.filesystem;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.InputStream;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.core.sync.IRemoteResource;
-
-/**
- * Class represents a handle to a <code>java.io.File</code> that conforms to
- * the <code>org.eclipse.team.core.IRemoteResource</code> interface.
- */
-public class FileSystemRemoteResource implements IRemoteResource {
-
- // the file object in which the data is stored on the disk
- private File ioFile;
-
- /**
- * The constructor.
- * @param path the full path of the resource on disk
- */
- public FileSystemRemoteResource(IPath path) {
- this(new File(path.toOSString()));
- }
-
- /**
- * Create a remote resource handle from the given java.io.file
- *
- * @param ioFile the file
- */
- FileSystemRemoteResource(File ioFile) {
- this.ioFile = ioFile;
- }
-
- /**
- * Adapters are used to ensure that the right menus will appear in differnet views.
- *
- * @see org.eclipse.core.runtime.IAdaptable#getAdapter(Class)
- */
- public Object getAdapter(Class adapter) {
- return Platform.getAdapterManager().getAdapter(this, adapter);
- }
-
- /**
- * Returns an input stream containing the contents of the remote resource.
- * The remote resource must be a file.
- *
- * @see org.eclipse.team.core.sync.IRemoteResource#getContents(IProgressMonitor)
- */
- public InputStream getContents(IProgressMonitor progress) throws TeamException {
- if (isContainer())
- throw new TeamException("This resource is a container so it cannot have data.");
- try {
- return new FileInputStream(ioFile);
- } catch (FileNotFoundException e) {
- throw FileSystemPlugin.wrapException(e);
- }
- }
-
- /**
- * Return the modification timestamp of the remote resource.
- *
- * @return long The date and time (in milliseconds) when the file was last changed on disk.
- */
- public long getLastModified() {
- return ioFile.lastModified();
- }
-
- /**
- * @see org.eclipse.team.core.sync.IRemoteResource#getName()
- */
- public String getName() {
- return ioFile.getName();
- }
-
- /**
- * @see org.eclipse.team.core.sync.IRemoteResource#isContainer()
- */
- public boolean isContainer() {
- return ioFile.isDirectory();
- }
-
- /**
- * Fetch the members of the remote resource. The remote resource must be a
- * container.
- *
- * @see org.eclipse.team.core.sync.IRemoteResource#members(IProgressMonitor)
- */
- public IRemoteResource[] members(IProgressMonitor progress) throws TeamException {
- // Make sure we have a container
- if (!isContainer())
- throw new TeamException(Policy.bind("RemoteResource.mustBeFolder", ioFile.getName()));
-
- // convert the File children to remote resource children
- File[] members = ioFile.listFiles();
- IRemoteResource[] result = new IRemoteResource[members.length];
- for (int i = 0; i < members.length; i++) {
- result[i] = new FileSystemRemoteResource(members[i]);
- }
- return result;
- }
-
- /**
- * copies a single specified file to a specified location on the filesystem.
- * @param dest The location on the filesystem to which the file is to be copied
- * @param src The source file
- */
- static void copyFile(IPath dest, File src) {
- File target = new File(dest.append(src.getName()).toOSString());
- try {
- InputStream in = ((IFile) src).getContents();
- java.io.FileOutputStream out = new java.io.FileOutputStream(target);
- StreamUtil.pipe(in, out, target.length(), null, target.getName());
- } catch (FileNotFoundException e) {} catch (IOException e) {} catch (CoreException e) {}
- }
- /**
- * Recursively copies an entire directory structure to a specified location on the filesystem
- * @param dest The location on the filssystem to which the directory structure is to be written
- * @param src The directory structure that is to be duplicated
- */
- static void copyFolder(IPath dest, File src) {
- String children[] = src.list();
- File current;
- for (int i = 0; i < children.length; i++) {
- current = new File(children[i]);
- if (current.isFile())
- copyFile(dest.append(src.getName()), current);
- else if (current.isDirectory())
- copyFolder(dest.append(src.getName()), current);
- }
- }
-
- /**
- * Creates a copy of the remote resource in the location specified
- * @param location The destination for the copy of the remote resource
- */
- public void copyOver(IPath location) {
- copyFolder(location, ioFile);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.team.core.sync.IRemoteResource#getComment()
- */
- public String getComment() throws TeamException {
- return null;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.team.core.sync.IRemoteResource#getContentIdentifier()
- */
- public String getContentIdentifier() throws TeamException {
- return null;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.team.core.sync.IRemoteResource#getCreatorDisplayName()
- */
- public String getCreatorDisplayName() throws TeamException {
- return null;
- }
-}

Back to the top