diff options
Diffstat (limited to 'eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/wizards/templates/CreateFileChange.java')
-rw-r--r-- | eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/wizards/templates/CreateFileChange.java | 107 |
1 files changed, 0 insertions, 107 deletions
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/wizards/templates/CreateFileChange.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/wizards/templates/CreateFileChange.java deleted file mode 100644 index 3b41c36c2..000000000 --- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/wizards/templates/CreateFileChange.java +++ /dev/null @@ -1,107 +0,0 @@ -/* - * Copyright (C) 2012 The Android Open Source Project - * - * Licensed under the Eclipse Public License, Version 1.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.eclipse.org/org/documents/epl-v10.php - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.ide.eclipse.adt.internal.wizards.templates; - -import com.android.annotations.NonNull; -import com.android.ide.eclipse.adt.AdtPlugin; -import com.android.ide.eclipse.adt.AdtUtils; -import com.google.common.io.Closeables; -import com.google.common.io.Files; -import com.google.common.io.InputSupplier; - -import org.eclipse.core.resources.IContainer; -import org.eclipse.core.resources.IFile; -import org.eclipse.core.resources.IFolder; -import org.eclipse.core.resources.IResource; -import org.eclipse.core.resources.ResourcesPlugin; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IPath; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.core.runtime.OperationCanceledException; -import org.eclipse.core.runtime.SubProgressMonitor; -import org.eclipse.ltk.core.refactoring.Change; -import org.eclipse.ltk.core.refactoring.RefactoringStatus; -import org.eclipse.ltk.core.refactoring.resource.ResourceChange; - -import java.io.File; -import java.io.FileInputStream; -import java.io.InputStream; -import java.net.URI; - -/** Change which lazily copies a file */ -public class CreateFileChange extends ResourceChange { - private String mName; - private final IPath mPath; - private final File mSource; - - CreateFileChange(@NonNull String name, @NonNull IPath workspacePath, File source) { - mName = name; - mPath = workspacePath; - mSource = source; - } - - @Override - protected IResource getModifiedResource() { - return ResourcesPlugin.getWorkspace().getRoot().getFile(mPath); - } - - @Override - public String getName() { - return mName; - } - - @Override - public RefactoringStatus isValid(IProgressMonitor pm) - throws CoreException, OperationCanceledException { - RefactoringStatus result = new RefactoringStatus(); - IFile file = ResourcesPlugin.getWorkspace().getRoot().getFile(mPath); - URI location = file.getLocationURI(); - if (location == null) { - result.addFatalError("Unknown location " + file.getFullPath().toString()); - return result; - } - return result; - } - - @SuppressWarnings("resource") // Eclipse doesn't know about Guava's Closeables.closeQuietly - @Override - public Change perform(IProgressMonitor pm) throws CoreException { - InputSupplier<FileInputStream> supplier = Files.newInputStreamSupplier(mSource); - InputStream is = null; - try { - pm.beginTask("Creating file", 3); - IFile file = (IFile) getModifiedResource(); - - IContainer parent = file.getParent(); - if (parent != null && !parent.exists()) { - IFolder folder = ResourcesPlugin.getWorkspace().getRoot().getFolder( - parent.getFullPath()); - AdtUtils.ensureExists(folder); - } - - is = supplier.getInput(); - file.create(is, false, new SubProgressMonitor(pm, 1)); - pm.worked(1); - } catch (Exception ioe) { - AdtPlugin.log(ioe, null); - } finally { - Closeables.closeQuietly(is); - pm.done(); - } - return null; - } -} |