[jbosstools-commits] JBoss Tools SVN: r7063 - trunk/seam/tests/org.jboss.tools.seam.core.test/src/org/jboss/tools/seam/core/test/refactoring.
jbosstools-commits at lists.jboss.org
jbosstools-commits at lists.jboss.org
Fri Mar 21 11:52:28 EDT 2008
Author: akazakov
Date: 2008-03-21 11:52:28 -0400 (Fri, 21 Mar 2008)
New Revision: 7063
Modified:
trunk/seam/tests/org.jboss.tools.seam.core.test/src/org/jboss/tools/seam/core/test/refactoring/SeamPropertyRefactoringTest.java
Log:
http://jira.jboss.com/jira/browse/JBIDE-1919 Added test for view folder renaming.
Modified: trunk/seam/tests/org.jboss.tools.seam.core.test/src/org/jboss/tools/seam/core/test/refactoring/SeamPropertyRefactoringTest.java
===================================================================
--- trunk/seam/tests/org.jboss.tools.seam.core.test/src/org/jboss/tools/seam/core/test/refactoring/SeamPropertyRefactoringTest.java 2008-03-21 15:39:32 UTC (rev 7062)
+++ trunk/seam/tests/org.jboss.tools.seam.core.test/src/org/jboss/tools/seam/core/test/refactoring/SeamPropertyRefactoringTest.java 2008-03-21 15:52:28 UTC (rev 7063)
@@ -20,12 +20,23 @@
import org.eclipse.core.resources.IncrementalProjectBuilder;
import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.Path;
import org.eclipse.core.runtime.preferences.IEclipsePreferences;
import org.eclipse.jdt.core.IJavaProject;
import org.eclipse.jdt.core.IPackageFragmentRoot;
import org.eclipse.jdt.core.JavaCore;
import org.eclipse.jdt.core.JavaModelException;
+import org.eclipse.jdt.internal.corext.refactoring.rename.JavaRenameRefactoring;
+import org.eclipse.jdt.internal.corext.refactoring.rename.RenameResourceProcessor;
+import org.eclipse.jdt.internal.corext.refactoring.tagging.INameUpdating;
+import org.eclipse.jdt.internal.corext.refactoring.tagging.IReferenceUpdating;
+import org.eclipse.jdt.internal.corext.refactoring.tagging.ITextUpdating;
+import org.eclipse.jdt.internal.ui.refactoring.RefactoringExecutionHelper;
+import org.eclipse.jdt.internal.ui.refactoring.RefactoringSaveHelper;
+import org.eclipse.jdt.internal.ui.refactoring.reorg.RenameSelectionState;
import org.eclipse.jdt.ui.refactoring.RenameSupport;
+import org.eclipse.ltk.core.refactoring.RefactoringCore;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.IWorkbenchWindow;
import org.jboss.tools.common.model.util.EclipseResourceUtil;
@@ -225,7 +236,46 @@
}
private IFolder renameFolder(String folderPath, String newFolderName) throws CoreException {
- return null;
+ IResource resource = ResourcesPlugin.getWorkspace().getRoot().findMember(folderPath);
+ assertNotNull("Can't find folder: " + folderPath, resource);
+
+ // init refactoring
+ RenameResourceProcessor processor = new RenameResourceProcessor(resource);
+ JavaRenameRefactoring refactoring = new JavaRenameRefactoring(processor);
+ ((INameUpdating)refactoring.getAdapter(INameUpdating.class)).setNewElementName(newFolderName);
+ IReferenceUpdating reference = (IReferenceUpdating)refactoring.getAdapter(IReferenceUpdating.class);
+ if(reference != null) {
+ reference.setUpdateReferences(true);
+ }
+ ITextUpdating text = (ITextUpdating)refactoring.getAdapter(ITextUpdating.class);
+ if(text != null) {
+ text.setUpdateTextualMatches(true);
+ }
+
+ // perform
+ Object[] elements = processor.getElements();
+ RenameSelectionState state = elements.length==1?new RenameSelectionState(elements[0]):null;
+ RefactoringExecutionHelper helper= new RefactoringExecutionHelper(refactoring,
+ RefactoringCore.getConditionCheckingFailedSeverity(),
+ RefactoringSaveHelper.SAVE_ALL,
+ WorkbenchUtils.getActiveShell(),
+ WorkbenchUtils.getWorkbench().getActiveWorkbenchWindow());
+ try {
+ helper.perform(true, true);
+ } catch (InterruptedException e) {
+ JUnitUtils.fail("Exception during perform folder renaming: " + folderPath, e);
+ } catch (InvocationTargetException e) {
+ JUnitUtils.fail("Exception during perform folder renaming: " + folderPath, e);
+ }
+
+ EditorTestHelper.joinBackgroundActivities();
+
+ IPath path = new Path(folderPath);
+ String newFolderPath = path.removeLastSegments(1).append(newFolderName).toString();
+ resource = ResourcesPlugin.getWorkspace().getRoot().findMember(newFolderPath);
+ assertNotNull("Can't find folder: " + newFolderPath, resource);
+
+ return (IFolder)resource;
}
private IProject renameProject(IProject project, String newProjectName) throws CoreException {
More information about the jbosstools-commits
mailing list