diff options
Diffstat (limited to 'eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/refactorings/core/RenameResourceWizard.java')
-rw-r--r-- | eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/refactorings/core/RenameResourceWizard.java | 157 |
1 files changed, 0 insertions, 157 deletions
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/refactorings/core/RenameResourceWizard.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/refactorings/core/RenameResourceWizard.java deleted file mode 100644 index 6ffe25d22..000000000 --- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/refactorings/core/RenameResourceWizard.java +++ /dev/null @@ -1,157 +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.refactorings.core; - -import com.android.annotations.NonNull; -import com.android.annotations.Nullable; -import com.android.ide.eclipse.adt.AdtPlugin; -import com.android.resources.ResourceType; - -import org.eclipse.core.resources.IProject; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.jdt.internal.ui.IJavaHelpContextIds; -import org.eclipse.jdt.internal.ui.JavaPluginImages; -import org.eclipse.jdt.internal.ui.refactoring.reorg.RenameRefactoringWizard; -import org.eclipse.jdt.ui.refactoring.RefactoringSaveHelper; -import org.eclipse.jface.dialogs.IDialogConstants; -import org.eclipse.ltk.core.refactoring.RefactoringStatus; -import org.eclipse.ltk.core.refactoring.participants.RenameRefactoring; -import org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperation; -import org.eclipse.swt.widgets.Shell; - -/** - * Rename refactoring wizard for Android resources such as {@code @id/foo} - */ -@SuppressWarnings("restriction") // JDT refactoring UI -public class RenameResourceWizard extends RenameRefactoringWizard { - private ResourceType mType; - private boolean mCanClear; - - /** - * Constructs a new {@linkplain RenameResourceWizard} - * - * @param refactoring the refactoring - * @param type the type of resource being renamed - * @param canClear whether the user can clear the value - */ - public RenameResourceWizard( - @NonNull RenameRefactoring refactoring, - @NonNull ResourceType type, - boolean canClear) { - super(refactoring, - "Rename Resource", - "Enter the new name for this resource", - JavaPluginImages.DESC_WIZBAN_REFACTOR_FIELD, - IJavaHelpContextIds.RENAME_FIELD_WIZARD_PAGE); - mType = type; - mCanClear = canClear; - } - - @Override - protected void addUserInputPages() { - RenameRefactoring refactoring = (RenameRefactoring) getRefactoring(); - RenameResourceProcessor processor = (RenameResourceProcessor) refactoring.getProcessor(); - String name = processor.getNewName(); - addPage(new RenameResourcePage(mType, name, mCanClear)); - } - - /** - * Initiates a renaming of a resource item - * - * @param shell the shell to parent the dialog to - * @param project the project containing the resource references - * @param type the type of resource - * @param currentName the name of the resource - * @param newName the new name, or null if not known - * @param canClear whether the name is allowed to be cleared - * @return false if initiating the rename failed - */ - public static RenameResult renameResource( - @NonNull Shell shell, - @NonNull IProject project, - @NonNull ResourceType type, - @NonNull String currentName, - @Nullable String newName, - boolean canClear) { - try { - RenameResourceProcessor processor = new RenameResourceProcessor(project, type, - currentName, newName); - RenameRefactoring refactoring = new RenameRefactoring(processor); - if (!refactoring.isApplicable()) { - return RenameResult.unavailable(); - } - - if (!show(refactoring, processor, shell, type, canClear)) { - return RenameResult.canceled(); - } - return RenameResult.name(processor.getNewName()); - } catch (CoreException e) { - AdtPlugin.log(e, null); - } - - return RenameResult.unavailable(); - } - - /** - * Show a refactoring dialog for the given resource refactoring operation - * - * @param refactoring the rename refactoring - * @param processor the field processor - * @param parent the parent shell - * @param type the resource type - * @param canClear whether the user is allowed to clear/reset the name to - * nothing - * @return true if the refactoring was performed, and false if it was - * canceled - * @throws CoreException if an unexpected error occurs - */ - private static boolean show( - @NonNull RenameRefactoring refactoring, - @NonNull RenameResourceProcessor processor, - @NonNull Shell parent, - @NonNull ResourceType type, - boolean canClear) throws CoreException { - RefactoringSaveHelper saveHelper = new RefactoringSaveHelper( - RefactoringSaveHelper.SAVE_REFACTORING); - if (!saveHelper.saveEditors(parent)) { - return false; - } - - try { - RenameResourceWizard wizard = new RenameResourceWizard(refactoring, type, canClear); - RefactoringWizardOpenOperation operation = new RefactoringWizardOpenOperation(wizard); - String dialogTitle = wizard.getDefaultPageTitle(); - int result = operation.run(parent, dialogTitle == null ? "" : dialogTitle); - RefactoringStatus status = operation.getInitialConditionCheckingStatus(); - if (status.hasFatalError()) { - return false; - } - if (result == RefactoringWizardOpenOperation.INITIAL_CONDITION_CHECKING_FAILED - || result == IDialogConstants.CANCEL_ID) { - saveHelper.triggerIncrementalBuild(); - return false; - } - - // Save modified resources; need to trigger R file regeneration - saveHelper.saveEditors(parent); - - return true; - } catch (InterruptedException e) { - return false; // Canceled - } - } -} |