| /******************************************************************************* |
| * Copyright (c) 2000, 2005 IBM Corporation and others. |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License v1.0 |
| * which accompanies this distribution, and is available at |
| * http://www.eclipse.org/legal/epl-v10.html |
| * |
| * Contributors: |
| * IBM Corporation - initial API and implementation |
| *******************************************************************************/ |
| package org.eclipse.jdt.internal.junit.refactoring; |
| |
| import org.eclipse.core.runtime.CoreException; |
| |
| import org.eclipse.debug.core.ILaunchConfiguration; |
| import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy; |
| import org.eclipse.debug.core.ILaunchManager; |
| |
| import org.eclipse.jdt.internal.junit.Messages; |
| import org.eclipse.jdt.internal.junit.ui.JUnitMessages; |
| |
| import org.eclipse.ltk.core.refactoring.Change; |
| |
| public class LaunchConfigRenameChange extends LaunchConfigChange { |
| |
| private final String fNewName; |
| |
| private final ILaunchManager fLaunchManager; |
| |
| public LaunchConfigRenameChange(LaunchConfigurationContainer config, |
| String newName, ILaunchManager lm, boolean shouldFlagWarning) { |
| super(config, shouldFlagWarning); |
| fNewName = newName; |
| fLaunchManager = lm; |
| } |
| |
| protected void alterLaunchConfiguration(ILaunchConfigurationWorkingCopy copy) |
| throws CoreException { |
| if (!fLaunchManager.isExistingLaunchConfigurationName(fNewName)) |
| copy.rename(fNewName); |
| } |
| |
| protected String getOldValue(ILaunchConfiguration config) { |
| return fConfig.getName(); |
| } |
| |
| public Change getUndo(String oldValue) throws CoreException { |
| return new LaunchConfigRenameChange(fConfig, oldValue, fLaunchManager, |
| shouldFlagWarning()); |
| } |
| |
| public String getName() { |
| return Messages.format(JUnitMessages.LaunchConfigRenameChange_name, |
| new Object[] { fConfig.getName(), fNewName }); |
| } |
| } |