aboutsummaryrefslogtreecommitdiff
path: root/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/wizards/templates/CreateFileChange.java
diff options
context:
space:
mode:
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.java107
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;
- }
-}