322544 - java type refactoring - refactor EclipseLink converters
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/MappingFile.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/MappingFile.java
index c3af089..405581b 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/MappingFile.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/MappingFile.java
@@ -72,18 +72,18 @@
 	 * Create ReplaceEdits for renaming any references to the originalType to the newName.
 	 * The originalType has not yet been renamed, the newName is the new short name.
 	 */
-	Iterable<ReplaceEdit> createReplaceTypeEdits(IType originalType, String newName);
+	Iterable<ReplaceEdit> createRenameTypeEdits(IType originalType, String newName);
 
 	/**
 	 * Create ReplaceEdits for moving any references to the originalType to the newPackage.
 	 * The originalType has not yet been moved.
 	 */
-	Iterable<ReplaceEdit> createMoveTypeReplaceEdits(IType originalType, IPackageFragment newPackage);
+	Iterable<ReplaceEdit> createMoveTypeEdits(IType originalType, IPackageFragment newPackage);
 
 	/**
 	 * Create ReplaceEdits for renaming any references to the originalPackage to the newName.
 	 * The originalPackage has not yet been renamed.
 	 */
-	Iterable<ReplaceEdit> createReplacePackageEdits(IPackageFragment originalPackage, String newName);
+	Iterable<ReplaceEdit> createRenamePackageEdits(IPackageFragment originalPackage, String newName);
 
 }
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/orm/EntityMappings.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/orm/EntityMappings.java
index decb1e6..e58eccd 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/orm/EntityMappings.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/orm/EntityMappings.java
@@ -184,18 +184,18 @@
 	 * Create ReplaceEdits for renaming any references to the originalType to the newName.
 	 * The originalType has not yet been renamed, the newName is the new short name.
 	 */
-	Iterable<ReplaceEdit> createReplaceTypeEdits(IType originalType, String newName);
+	Iterable<ReplaceEdit> createRenameTypeEdits(IType originalType, String newName);
 
 	/**
 	 * Create ReplaceEdits for moving any references to the originalType to the newPackage.
 	 * The originalType has not yet been moved.
 	 */
-	Iterable<ReplaceEdit> createMoveTypeReplaceEdits(IType originalType, IPackageFragment newPackage);
+	Iterable<ReplaceEdit> createMoveTypeEdits(IType originalType, IPackageFragment newPackage);
 
 	/**
 	 * Create ReplaceEdits for renaming any references to the originalPackage to the newName.
 	 * The originalPackage has not yet been renamed.
 	 */
-	Iterable<ReplaceEdit> createReplacePackageEdits(IPackageFragment originalPackage, String newName);
+	Iterable<ReplaceEdit> createRenamePackageEdits(IPackageFragment originalPackage, String newName);
 
 }
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/orm/OrmAttributeMapping.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/orm/OrmAttributeMapping.java
index c5bef16..2e7fe16 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/orm/OrmAttributeMapping.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/orm/OrmAttributeMapping.java
@@ -102,18 +102,18 @@
 	 * Create ReplaceEdits for renaming any references to the originalType to the newName.
 	 * The originalType has not yet been renamed, the newName is the new short name.
 	 */
-	Iterable<ReplaceEdit> createReplaceTypeEdits(IType originalType, String newName);
+	Iterable<ReplaceEdit> createRenameTypeEdits(IType originalType, String newName);
 
 	/**
 	 * Create ReplaceEdits for moving any references to the originalType to the newPackage.
 	 * The originalType has not yet been moved.
 	 */
-	Iterable<ReplaceEdit> createMoveTypeReplaceEdits(IType originalType, IPackageFragment newPackage);
+	Iterable<ReplaceEdit> createMoveTypeEdits(IType originalType, IPackageFragment newPackage);
 
 	/**
 	 * Create ReplaceEdits for renaming any references to the originalPackage to the newName.
 	 * The originalPackage has not yet been renamed.
 	 */
-	Iterable<ReplaceEdit> createReplacePackageEdits(IPackageFragment originalPackage, String newName);
+	Iterable<ReplaceEdit> createRenamePackageEdits(IPackageFragment originalPackage, String newName);
 
 }
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/orm/OrmConverter.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/orm/OrmConverter.java
index 414ca19..a66bee2 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/orm/OrmConverter.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/orm/OrmConverter.java
@@ -9,8 +9,11 @@
  ******************************************************************************/
 package org.eclipse.jpt.core.context.orm;
 
+import org.eclipse.jdt.core.IPackageFragment;
+import org.eclipse.jdt.core.IType;
 import org.eclipse.jpt.core.context.Converter;
 import org.eclipse.jpt.core.context.XmlContextNode;
+import org.eclipse.text.edits.ReplaceEdit;
 
 /**
  * 
@@ -21,7 +24,7 @@
  * pioneering adopters on the understanding that any code that uses this API
  * will almost certainly be broken (repeatedly) as the API evolves.
  * 
- * @version 2.1
+ * @version 3.0
  * @since 2.1
  */
 public interface OrmConverter
@@ -32,4 +35,25 @@
 	 * resource model object. see {@link org.eclipse.jpt.core.JpaProject#update()}
 	 */
 	void update();
+
+
+	// ********** refactoring **********
+
+	/**
+	 * Create ReplaceEdits for renaming any references to the originalType to the newName.
+	 * The originalType has not yet been renamed, the newName is the new short name.
+	 */
+	Iterable<ReplaceEdit> createRenameTypeEdits(IType originalType, String newName);
+
+	/**
+	 * Create ReplaceEdits for moving any references to the originalType to the newPackage.
+	 * The originalType has not yet been moved.
+	 */
+	Iterable<ReplaceEdit> createMoveTypeEdits(IType originalType, IPackageFragment newPackage);
+
+	/**
+	 * Create ReplaceEdits for renaming any references to the originalPackage to the newName.
+	 * The originalPackage has not yet been renamed.
+	 */
+	Iterable<ReplaceEdit> createRenamePackageEdits(IPackageFragment originalPackage, String newName);
 }
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/orm/OrmIdClassReference.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/orm/OrmIdClassReference.java
index 923fc63..6bb5fd0 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/orm/OrmIdClassReference.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/orm/OrmIdClassReference.java
@@ -39,17 +39,17 @@
 	 * Create ReplaceEdits for renaming any references to the originalType to the newName.
 	 * The originalType has not yet been renamed, the newName is the new short name.
 	 */
-	Iterable<ReplaceEdit> createReplaceTypeEdits(IType originalType, String newName);
+	Iterable<ReplaceEdit> createRenameTypeEdits(IType originalType, String newName);
 
 	/**
 	 * Create ReplaceEdits for moving any references to the originalType to the newPackage.
 	 * The originalType has not yet been moved.
 	 */
-	Iterable<ReplaceEdit> createMoveTypeReplaceEdits(IType originalType, IPackageFragment newPackage);
+	Iterable<ReplaceEdit> createMoveTypeEdits(IType originalType, IPackageFragment newPackage);
 
 	/**
 	 * Create ReplaceEdits for renaming any references to the originalPackage to the newName.
 	 * The originalPackage has not yet been renamed.
 	 */
-	Iterable<ReplaceEdit> createReplacePackageEdits(IPackageFragment originalPackage, String newName);
+	Iterable<ReplaceEdit> createRenamePackageEdits(IPackageFragment originalPackage, String newName);
 }
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/orm/OrmPersistentAttribute.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/orm/OrmPersistentAttribute.java
index ca9e2d7..8cf5de6 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/orm/OrmPersistentAttribute.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/orm/OrmPersistentAttribute.java
@@ -98,19 +98,19 @@
 	 * Create ReplaceEdits for renaming any references to the originalType to the newName.
 	 * The originalType has not yet been renamed, the newName is the new short name.
 	 */
-	Iterable<ReplaceEdit> createReplaceTypeEdits(IType originalType, String newName);
+	Iterable<ReplaceEdit> createRenameTypeEdits(IType originalType, String newName);
 
 	/**
 	 * Create ReplaceEdits for moving any references to the originalType to the newPackage.
 	 * The originalType has not yet been moved.
 	 */
-	Iterable<ReplaceEdit> createMoveTypeReplaceEdits(IType originalType, IPackageFragment newPackage);
+	Iterable<ReplaceEdit> createMoveTypeEdits(IType originalType, IPackageFragment newPackage);
 
 	/**
 	 * Create ReplaceEdits for renaming any references to the originalPackage to the newName.
 	 * The originalPackage has not yet been renamed.
 	 */
-	Iterable<ReplaceEdit> createReplacePackageEdits(IPackageFragment originalPackage, String newName);
+	Iterable<ReplaceEdit> createRenamePackageEdits(IPackageFragment originalPackage, String newName);
 
 
 	// ********** miscellaneous **********
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/orm/OrmPersistentType.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/orm/OrmPersistentType.java
index 1871064..4316d8a 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/orm/OrmPersistentType.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/orm/OrmPersistentType.java
@@ -136,19 +136,19 @@
 	 * Create ReplaceEdits for renaming any references to the originalType to the newName.
 	 * The originalType has not yet been renamed, the newName is the new short name.
 	 */
-	Iterable<ReplaceEdit> createReplaceTypeEdits(IType originalType, String newName);
+	Iterable<ReplaceEdit> createRenameTypeEdits(IType originalType, String newName);
 
 	/**
 	 * Create ReplaceEdits for moving any references to the originalType to the newPackage.
 	 * The originalType has not yet been moved.
 	 */
-	Iterable<ReplaceEdit> createMoveTypeReplaceEdits(IType originalType, IPackageFragment newPackage);
+	Iterable<ReplaceEdit> createMoveTypeEdits(IType originalType, IPackageFragment newPackage);
 
 	/**
 	 * Create ReplaceEdits for renaming any references to the originalPackage to the newName.
 	 * The originalPackage has not yet been renamed.
 	 */
-	Iterable<ReplaceEdit> createReplacePackageEdits(IPackageFragment originalPackage, String newName);
+	Iterable<ReplaceEdit> createRenamePackageEdits(IPackageFragment originalPackage, String newName);
 
 
 	//******************* misc *******************
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/orm/OrmTypeMapping.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/orm/OrmTypeMapping.java
index b90a436..1479eba 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/orm/OrmTypeMapping.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/orm/OrmTypeMapping.java
@@ -97,19 +97,19 @@
 	 * Create ReplaceEdits for renaming any references to the originalType to the newName.
 	 * The originalType has not yet been renamed, the newName is the new short name.
 	 */
-	Iterable<ReplaceEdit> createReplaceTypeEdits(IType originalType, String newName);
+	Iterable<ReplaceEdit> createRenameTypeEdits(IType originalType, String newName);
 
 	/**
 	 * Create ReplaceEdits for moving any references to the originalType to the newPackage.
 	 * The originalType has not yet been moved.
 	 */
-	Iterable<ReplaceEdit> createMoveTypeReplaceEdits(IType originalType, IPackageFragment newPackage);
+	Iterable<ReplaceEdit> createMoveTypeEdits(IType originalType, IPackageFragment newPackage);
 
 	/**
 	 * Create ReplaceEdits for renaming any references to the originalPackage to the newName.
 	 * The originalPackage has not yet been renamed.
 	 */
-	Iterable<ReplaceEdit> createReplacePackageEdits(IPackageFragment originalPackage, String newName);
+	Iterable<ReplaceEdit> createRenamePackageEdits(IPackageFragment originalPackage, String newName);
 
 
 	// ********** covariant overrides **********
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/persistence/ClassRef.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/persistence/ClassRef.java
index 3e8f50a..93122ad 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/persistence/ClassRef.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/persistence/ClassRef.java
@@ -117,20 +117,20 @@
 	 * The originalType has not yet been renamed, the newName is the new short name.
 	 * If this ClassRef does not match the original type, then return an empty Iterable.
 	 */
-	Iterable<ReplaceEdit> createReplaceTypeEdits(IType originalType, String newName);
+	Iterable<ReplaceEdit> createRenameTypeEdits(IType originalType, String newName);
 
 	/**
 	 * Create ReplaceEdits for moving any references to the originalType to the newPackage.
 	 * The originalType has not yet been moved.
 	 */
-	Iterable<ReplaceEdit> createMoveTypeReplaceEdits(IType originalType, IPackageFragment newPackage);
+	Iterable<ReplaceEdit> createMoveTypeEdits(IType originalType, IPackageFragment newPackage);
 
 	/**
 	 * Create ReplaceEdits for renaming the class's package to the newName.
 	 * The originalPackage has not yet been renamed.
 	 * If this class is not a part of the original package, then return an empty Iterable.
 	 */
-	Iterable<ReplaceEdit> createReplacePackageEdits(IPackageFragment originalPackage, String newName);
+	Iterable<ReplaceEdit> createRenamePackageEdits(IPackageFragment originalPackage, String newName);
 
 
 	// *************************************************************************
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/persistence/MappingFileRef.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/persistence/MappingFileRef.java
index 05d8d4e..c792e1f 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/persistence/MappingFileRef.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/persistence/MappingFileRef.java
@@ -142,25 +142,25 @@
 	 * Create ReplaceEdits for renaming any references to the originalType to the newName.
 	 * The originalType has not yet been renamed, the newName is the new short name.
 	 */
-	Iterable<ReplaceEdit> createReplaceTypeEdits(IType originalType, String newName);
+	Iterable<ReplaceEdit> createRenameTypeEdits(IType originalType, String newName);
 
 	/**
 	 * Create ReplaceEdits for moving any references to the originalType to the newPackage.
 	 * The originalType has not yet been moved.
 	 */
-	Iterable<ReplaceEdit> createMoveTypeReplaceEdits(IType originalType, IPackageFragment newPackage);
+	Iterable<ReplaceEdit> createMoveTypeEdits(IType originalType, IPackageFragment newPackage);
 
 	/**
 	 * Create ReplaceEdits for renaming any references to the originalPackage to the newName.
 	 * The originalPackage has not yet been renamed.
 	 */
-	Iterable<ReplaceEdit> createReplacePackageEdits(IPackageFragment originalPackage, String newName);
+	Iterable<ReplaceEdit> createRenamePackageEdits(IPackageFragment originalPackage, String newName);
 
 	/**
 	 * Create ReplaceEdits for renaming any references to the originalFolder to the newName.
 	 * The originalFolder has not yet been renamed.
 	 */
-	Iterable<ReplaceEdit> createReplaceFolderEdits(IFolder originalFolder, String newName);
+	Iterable<ReplaceEdit> createRenameFolderEdits(IFolder originalFolder, String newName);
 
 	/**
 	 * If this {@link MappingFileRef#isFor(IFile)} the given IFile, create a text 
@@ -169,7 +169,7 @@
 	 * Though this will contain 1 or 0 ReplaceEdits, using an Iterable
 	 * for ease of use with other createReplaceMappingFileEdits API.
 	 */
-	Iterable<ReplaceEdit> createReplaceMappingFileEdits(IFile originalFile, String newName);
+	Iterable<ReplaceEdit> createRenameMappingFileEdits(IFile originalFile, String newName);
 
 	/**
 	 * If this {@link MappingFileRef#isFor(IFile)} the given IFile create a text
@@ -177,12 +177,12 @@
 	 * Otherwise return an EmptyIterable.
 	 * The originalFile has not been moved yet.
 	 */
-	Iterable<ReplaceEdit> createReplaceMappingFileEdits(IFile originalFile, IPath runtineDestination);
+	Iterable<ReplaceEdit> createMoveMappingFileEdits(IFile originalFile, IPath runtineDestination);
 
 	/**
 	 * Create ReplaceEdits for moving any references to the originalFolder to the runtimeDestination.
 	 * The runtimeDestination already includes the original folder name.
 	 */
-	Iterable<ReplaceEdit> createMoveFolderReplaceEdits(IFolder originalFolder, IPath runtimeDestination);
+	Iterable<ReplaceEdit> createMoveFolderEdits(IFolder originalFolder, IPath runtimeDestination);
 
 }
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/persistence/PersistenceUnit.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/persistence/PersistenceUnit.java
index e99fdac..846773f 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/persistence/PersistenceUnit.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/persistence/PersistenceUnit.java
@@ -526,20 +526,20 @@
 		 * The originalType has not yet been renamed, the newName is the new short name.
 		 * If this value does not match the original type, then return an empty Iterable.
 		 */
-		Iterable<ReplaceEdit> createReplaceTypeEdits(IType originalType, String newName);
+		Iterable<ReplaceEdit> createRenameTypeEdits(IType originalType, String newName);
 
 		/**
 		 * Create ReplaceEdits for moving any references to the originalType to the newPackage.
 		 * The originalType has not yet been moved.
 		 */
-		Iterable<ReplaceEdit> createMoveTypeReplaceEdits(IType originalType, IPackageFragment newPackage);
+		Iterable<ReplaceEdit> createMoveTypeEdits(IType originalType, IPackageFragment newPackage);
 
 		/**
 		 * Create ReplaceEdits for renaming the property value package to the newName.
 		 * The originalPackage has not yet been renamed.
 		 * If this value is not in the originalPackage, then return an empty Iterable.
 		 */
-		Iterable<ReplaceEdit> createReplacePackageEdits(IPackageFragment originalPackage, String newName);
+		Iterable<ReplaceEdit> createRenamePackageEdits(IPackageFragment originalPackage, String newName);
 	}
 
 	// ********** ORM persistence unit defaults **********
@@ -760,45 +760,45 @@
 	 * Create ReplaceEdits for renaming any references to the originalType to the newName.
 	 * The originalType has not yet been renamed, the newName is the new short name.
 	 */
-	Iterable<ReplaceEdit> createReplaceTypeEdits(IType originalType, String newName);
+	Iterable<ReplaceEdit> createRenameTypeEdits(IType originalType, String newName);
 	
 	/**
 	 * Create ReplaceEdits for moving any references to the originalType to the newPackage.
 	 * The originalType has not yet been moved.
 	 */
-	Iterable<ReplaceEdit> createMoveTypeReplaceEdits(IType originalType, IPackageFragment newPackage);
+	Iterable<ReplaceEdit> createMoveTypeEdits(IType originalType, IPackageFragment newPackage);
 
 	/**
 	 * Create ReplaceEdits for renaming any references to the originalPackage to the newName.
 	 * The originalPackage has not yet been renamed.
 	 */
-	Iterable<ReplaceEdit> createReplacePackageEdits(IPackageFragment originalPackage, String newName);
+	Iterable<ReplaceEdit> createRenamePackageEdits(IPackageFragment originalPackage, String newName);
 
 	/**
 	 * Create ReplaceEdits for renaming any references to the originalFolder to the newName.
 	 * The originalFolder has not yet been renamed.
 	 */
-	Iterable<ReplaceEdit> createReplaceFolderEdits(IFolder originalFolder, String newName);
+	Iterable<ReplaceEdit> createRenameFolderEdits(IFolder originalFolder, String newName);
 
 	/**
 	 * Create ReplaceEdits for renaming any references to the originalFile to the newName.
 	 * Return an EmptyIterable if there are not any references.	
 	 * The originalFile has not yet been renamed, the newName is the new short name.
 	 */
-	Iterable<ReplaceEdit> createReplaceMappingFileEdits(IFile originalFile, String newName);
+	Iterable<ReplaceEdit> createRenameMappingFileEdits(IFile originalFile, String newName);
 
 	/**
 	 * Create ReplaceEdits for moving any references to the originalFile to the destination.
 	 * Return an EmptyIterable if there are not any references.	
 	 * The originalFile has not been moved yet.
 	 */
-	Iterable<ReplaceEdit> createReplaceMappingFileEdits(IFile originalFile, IPath runtineDestination);
+	Iterable<ReplaceEdit> createMoveMappingFileEdits(IFile originalFile, IPath runtineDestination);
 
 	/**
 	 * Create ReplaceEdits for moving any references to the originalFolder to the runtimeDestination.
 	 * The runtimeDestination already includes the original folder name.
 	 */
-	Iterable<ReplaceEdit> createMoveFolderReplaceEdits(IFolder originalFolder, IPath runtimeDestination);
+	Iterable<ReplaceEdit> createMoveFolderEdits(IFolder originalFolder, IPath runtimeDestination);
 
 	/**
 	 * Return a location relative to the beginning of the persistence.xml for 
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/persistence/PersistenceUnitProperties.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/persistence/PersistenceUnitProperties.java
index c38900c..fb7bcd3 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/persistence/PersistenceUnitProperties.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/persistence/PersistenceUnitProperties.java
@@ -64,18 +64,18 @@
 	 * Create ReplaceEdits for renaming any references to the originalType to the newName.
 	 * The originalType has not yet been renamed, the newName is the new short name.
 	 */
-	Iterable<ReplaceEdit> createReplaceTypeEdits(IType originalType, String newName);
+	Iterable<ReplaceEdit> createRenameTypeEdits(IType originalType, String newName);
 
 	/**
 	 * Create ReplaceEdits for moving any references to the originalType to the newPackage.
 	 * The originalType has not yet been moved.
 	 */
-	Iterable<ReplaceEdit> createMoveTypeReplaceEdits(IType originalType, IPackageFragment newPackage);
+	Iterable<ReplaceEdit> createMoveTypeEdits(IType originalType, IPackageFragment newPackage);
 
 	/**
 	 * Create ReplaceEdits for renaming any reference to the originalPackage newName.
 	 * The originalPackage has not yet been renamed.
 	 */
-	Iterable<ReplaceEdit> createReplacePackageEdits(IPackageFragment originalPackage, String newName);
+	Iterable<ReplaceEdit> createRenamePackageEdits(IPackageFragment originalPackage, String newName);
 
 }
\ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractEntityMappings.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractEntityMappings.java
index c3fa13e..7039399 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractEntityMappings.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractEntityMappings.java
@@ -832,49 +832,49 @@
 		);
 	}
 
-	public Iterable<ReplaceEdit> createReplaceTypeEdits(final IType originalType, final String newName) {
+	public Iterable<ReplaceEdit> createRenameTypeEdits(final IType originalType, final String newName) {
 		return new CompositeIterable<ReplaceEdit>(
 			new TransformationIterable<OrmPersistentType, Iterable<ReplaceEdit>>(getPersistentTypes()) {
 				@Override
 				protected Iterable<ReplaceEdit> transform(OrmPersistentType persistentType) {
-					return persistentType.createReplaceTypeEdits(originalType, newName);
+					return persistentType.createRenameTypeEdits(originalType, newName);
 				}
 			}
 		);
 	}
 
-	public Iterable<ReplaceEdit> createMoveTypeReplaceEdits(final IType originalType, final IPackageFragment newPackage) {
+	public Iterable<ReplaceEdit> createMoveTypeEdits(final IType originalType, final IPackageFragment newPackage) {
 		return new CompositeIterable<ReplaceEdit>(
 			new TransformationIterable<OrmPersistentType, Iterable<ReplaceEdit>>(getPersistentTypes()) {
 				@Override
 				protected Iterable<ReplaceEdit> transform(OrmPersistentType persistentType) {
-					return persistentType.createMoveTypeReplaceEdits(originalType, newPackage);
+					return persistentType.createMoveTypeEdits(originalType, newPackage);
 				}
 			}
 		);
 	}
 
 	@SuppressWarnings("unchecked")
-	public Iterable<ReplaceEdit> createReplacePackageEdits(final IPackageFragment originalPackage, final String newName) {
+	public Iterable<ReplaceEdit> createRenamePackageEdits(final IPackageFragment originalPackage, final String newName) {
 		return new CompositeIterable<ReplaceEdit>(
-			this.createPersistentTypeReplacePackageEdits(originalPackage, newName),
-			this.createReplacePackageEdit(originalPackage, newName));
+			this.createPersistentTypeRenamePackageEdits(originalPackage, newName),
+			this.createRenamePackageEdit(originalPackage, newName));
 	}
 
-	public Iterable<ReplaceEdit> createPersistentTypeReplacePackageEdits(final IPackageFragment originalPackage, final String newName) {
+	protected Iterable<ReplaceEdit> createPersistentTypeRenamePackageEdits(final IPackageFragment originalPackage, final String newName) {
 		return new CompositeIterable<ReplaceEdit>(
 			new TransformationIterable<OrmPersistentType, Iterable<ReplaceEdit>>(getPersistentTypes()) {
 				@Override
 				protected Iterable<ReplaceEdit> transform(OrmPersistentType persistentType) {
-					return persistentType.createReplacePackageEdits(originalPackage, newName);
+					return persistentType.createRenamePackageEdits(originalPackage, newName);
 				}
 			}
 		);
 	}
 
-	public Iterable<ReplaceEdit> createReplacePackageEdit(final IPackageFragment originalPackage, final String newName) {
+	protected Iterable<ReplaceEdit> createRenamePackageEdit(final IPackageFragment originalPackage, final String newName) {
 		if (this.package_ != null && originalPackage.getElementName().equals(this.package_)) {
-			return new SingleElementIterable<ReplaceEdit>(this.xmlEntityMappings.createReplacePackageEdit(newName));
+			return new SingleElementIterable<ReplaceEdit>(this.xmlEntityMappings.createRenamePackageEdit(newName));
 		}
 		return EmptyIterable.instance();
 	}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmAttributeMapping.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmAttributeMapping.java
index cd02a60..d3ba184 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmAttributeMapping.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmAttributeMapping.java
@@ -351,15 +351,15 @@
 
 	// ********** refactoring **********
 
-	public Iterable<ReplaceEdit> createReplaceTypeEdits(IType originalType, String newName) {
+	public Iterable<ReplaceEdit> createRenameTypeEdits(IType originalType, String newName) {
 		return EmptyIterable.instance();
 	}
 
-	public Iterable<ReplaceEdit> createMoveTypeReplaceEdits(IType originalType, IPackageFragment newPackage) {
+	public Iterable<ReplaceEdit> createMoveTypeEdits(IType originalType, IPackageFragment newPackage) {
 		return EmptyIterable.instance();
 	}
 
-	public Iterable<ReplaceEdit> createReplacePackageEdits(IPackageFragment originalPackage, String newName) {
+	public Iterable<ReplaceEdit> createRenamePackageEdits(IPackageFragment originalPackage, String newName) {
 		return EmptyIterable.instance();
 	}
 
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmBasicMapping.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmBasicMapping.java
index abe63ea..9e16e77 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmBasicMapping.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmBasicMapping.java
@@ -12,6 +12,8 @@
 import java.util.Iterator;
 import java.util.List;
 
+import org.eclipse.jdt.core.IPackageFragment;
+import org.eclipse.jdt.core.IType;
 import org.eclipse.jpt.core.MappingKeys;
 import org.eclipse.jpt.core.context.BaseColumn;
 import org.eclipse.jpt.core.context.BasicMapping;
@@ -35,6 +37,9 @@
 import org.eclipse.jpt.core.resource.orm.XmlColumn;
 import org.eclipse.jpt.core.utility.TextRange;
 import org.eclipse.jpt.db.Table;
+import org.eclipse.jpt.utility.internal.iterables.CompositeIterable;
+import org.eclipse.jpt.utility.internal.iterables.EmptyIterable;
+import org.eclipse.text.edits.ReplaceEdit;
 import org.eclipse.wst.validation.internal.provisional.core.IMessage;
 import org.eclipse.wst.validation.internal.provisional.core.IReporter;
 
@@ -265,7 +270,56 @@
 	public void removeResourceColumn() {
 		this.resourceAttributeMapping.setColumn(null);
 	}
+
+
+	//************ refactoring ************
+
+	@SuppressWarnings("unchecked")
+	@Override
+	public Iterable<ReplaceEdit> createRenameTypeEdits(IType originalType, String newName) {
+		return new CompositeIterable<ReplaceEdit>(
+			super.createRenameTypeEdits(originalType, newName),
+			this.createConverterRenameTypeEdits(originalType, newName));
+	}
+
+	protected Iterable<ReplaceEdit> createConverterRenameTypeEdits(IType originalType, String newName) {
+		if (getConverter() != null) {
+			return getConverter().createRenameTypeEdits(originalType, newName);
+		}
+		return EmptyIterable.instance();
+	}
+
+	@SuppressWarnings("unchecked")
+	@Override
+	public Iterable<ReplaceEdit> createMoveTypeEdits(IType originalType, IPackageFragment newPackage) {
+		return new CompositeIterable<ReplaceEdit>(
+			super.createMoveTypeEdits(originalType, newPackage),
+			this.createConverterMoveTypeEdits(originalType, newPackage));
+	}
 	
+	protected Iterable<ReplaceEdit> createConverterMoveTypeEdits(IType originalType, IPackageFragment newPackage) {
+		if (getConverter() != null) {
+			return getConverter().createMoveTypeEdits(originalType, newPackage);
+		}
+		return EmptyIterable.instance();
+	}
+
+	@SuppressWarnings("unchecked")
+	@Override
+	public Iterable<ReplaceEdit> createRenamePackageEdits(IPackageFragment originalPackage, String newName) {
+		return new CompositeIterable<ReplaceEdit>(
+			super.createRenamePackageEdits(originalPackage, newName),
+			this.createConverterRenamePackageEdits(originalPackage, newName));
+	}
+
+	protected Iterable<ReplaceEdit> createConverterRenamePackageEdits(IPackageFragment originalPackage, String newName) {
+		if (getConverter() != null) {
+			return getConverter().createRenamePackageEdits(originalPackage, newName);
+		}
+		return EmptyIterable.instance();
+	}
+
+
 	// ****************** validation ****************
 	
 	@Override
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmEntity.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmEntity.java
index 5690123..ed1b29e 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmEntity.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmEntity.java
@@ -1569,38 +1569,38 @@
 
 	@SuppressWarnings("unchecked")
 	@Override
-	public Iterable<ReplaceEdit> createReplaceTypeEdits(IType originalType, String newName) {
+	public Iterable<ReplaceEdit> createRenameTypeEdits(IType originalType, String newName) {
 		return new CompositeIterable<ReplaceEdit>(
-					super.createReplaceTypeEdits(originalType, newName),
-					this.createIdClassReplaceTypeEdits(originalType, newName));
+					super.createRenameTypeEdits(originalType, newName),
+					this.createIdClassRenameTypeEdits(originalType, newName));
 	}
 
-	protected Iterable<ReplaceEdit> createIdClassReplaceTypeEdits(IType originalType, String newName) {
-		return this.idClassReference.createReplaceTypeEdits(originalType, newName);
+	protected Iterable<ReplaceEdit> createIdClassRenameTypeEdits(IType originalType, String newName) {
+		return this.idClassReference.createRenameTypeEdits(originalType, newName);
 	}
 
 	@SuppressWarnings("unchecked")
 	@Override
-	public Iterable<ReplaceEdit> createMoveTypeReplaceEdits(IType originalType, IPackageFragment newPackage) {
+	public Iterable<ReplaceEdit> createMoveTypeEdits(IType originalType, IPackageFragment newPackage) {
 		return new CompositeIterable<ReplaceEdit>(
-					super.createMoveTypeReplaceEdits(originalType, newPackage),
-					this.createIdClassMoveTypeReplaceEdits(originalType, newPackage));
+					super.createMoveTypeEdits(originalType, newPackage),
+					this.createIdClassMoveTypeEdits(originalType, newPackage));
 	}
 
-	protected Iterable<ReplaceEdit> createIdClassMoveTypeReplaceEdits(IType originalType, IPackageFragment newPackage) {
-		return this.idClassReference.createMoveTypeReplaceEdits(originalType, newPackage);
+	protected Iterable<ReplaceEdit> createIdClassMoveTypeEdits(IType originalType, IPackageFragment newPackage) {
+		return this.idClassReference.createMoveTypeEdits(originalType, newPackage);
 	}
 
 	@SuppressWarnings("unchecked")
 	@Override
-	public Iterable<ReplaceEdit> createReplacePackageEdits(IPackageFragment originalPackage, String newName) {
+	public Iterable<ReplaceEdit> createRenamePackageEdits(IPackageFragment originalPackage, String newName) {
 		return new CompositeIterable<ReplaceEdit>(
-			super.createReplacePackageEdits(originalPackage, newName),
-			this.createIdClassReplacePackageEdits(originalPackage, newName));
+			super.createRenamePackageEdits(originalPackage, newName),
+			this.createIdClassRenamePackageEdits(originalPackage, newName));
 	}
 
-	protected Iterable<ReplaceEdit> createIdClassReplacePackageEdits(IPackageFragment originalPackage, String newName) {
-		return this.idClassReference.createReplacePackageEdits(originalPackage, newName);
+	protected Iterable<ReplaceEdit> createIdClassRenamePackageEdits(IPackageFragment originalPackage, String newName) {
+		return this.idClassReference.createRenamePackageEdits(originalPackage, newName);
 	}
 
 
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmMappedSuperclass.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmMappedSuperclass.java
index 5bb2eb0..c129ea2 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmMappedSuperclass.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmMappedSuperclass.java
@@ -136,38 +136,38 @@
 
 	@SuppressWarnings("unchecked")
 	@Override
-	public Iterable<ReplaceEdit> createReplaceTypeEdits(IType originalType, String newName) {
+	public Iterable<ReplaceEdit> createRenameTypeEdits(IType originalType, String newName) {
 		return new CompositeIterable<ReplaceEdit>(
-					super.createReplaceTypeEdits(originalType, newName),
+					super.createRenameTypeEdits(originalType, newName),
 					this.createIdClassReplaceTypeEdits(originalType, newName));
 	}
 
 	protected Iterable<ReplaceEdit> createIdClassReplaceTypeEdits(IType originalType, String newName) {
-		return this.idClassReference.createReplaceTypeEdits(originalType, newName);
+		return this.idClassReference.createRenameTypeEdits(originalType, newName);
 	}
 
 	@SuppressWarnings("unchecked")
 	@Override
-	public Iterable<ReplaceEdit> createMoveTypeReplaceEdits(IType originalType, IPackageFragment newPackage) {
+	public Iterable<ReplaceEdit> createMoveTypeEdits(IType originalType, IPackageFragment newPackage) {
 		return new CompositeIterable<ReplaceEdit>(
-					super.createMoveTypeReplaceEdits(originalType, newPackage),
-					this.createIdClassMoveTypeReplaceEdits(originalType, newPackage));
+					super.createMoveTypeEdits(originalType, newPackage),
+					this.createIdClassMoveTypeEdits(originalType, newPackage));
 	}
 
-	protected Iterable<ReplaceEdit> createIdClassMoveTypeReplaceEdits(IType originalType, IPackageFragment newPackage) {
-		return this.idClassReference.createMoveTypeReplaceEdits(originalType, newPackage);
+	protected Iterable<ReplaceEdit> createIdClassMoveTypeEdits(IType originalType, IPackageFragment newPackage) {
+		return this.idClassReference.createMoveTypeEdits(originalType, newPackage);
 	}
 
 	@SuppressWarnings("unchecked")
 	@Override
-	public Iterable<ReplaceEdit> createReplacePackageEdits(IPackageFragment originalPackage, String newName) {
+	public Iterable<ReplaceEdit> createRenamePackageEdits(IPackageFragment originalPackage, String newName) {
 		return new CompositeIterable<ReplaceEdit>(
-			super.createReplacePackageEdits(originalPackage, newName),
-			this.createIdClassReplacePackageEdits(originalPackage, newName));
+			super.createRenamePackageEdits(originalPackage, newName),
+			this.createIdClassRenamePackageEdits(originalPackage, newName));
 	}
 
-	protected Iterable<ReplaceEdit> createIdClassReplacePackageEdits(IPackageFragment originalPackage, String newName) {
-		return this.idClassReference.createReplacePackageEdits(originalPackage, newName);
+	protected Iterable<ReplaceEdit> createIdClassRenamePackageEdits(IPackageFragment originalPackage, String newName) {
+		return this.idClassReference.createRenamePackageEdits(originalPackage, newName);
 	}
 
 
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmMultiRelationshipMapping.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmMultiRelationshipMapping.java
index 382522b..d360b28 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmMultiRelationshipMapping.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmMultiRelationshipMapping.java
@@ -587,39 +587,39 @@
 
 	@SuppressWarnings("unchecked")
 	@Override
-	public Iterable<ReplaceEdit> createReplaceTypeEdits(IType originalType, String newName) {
+	public Iterable<ReplaceEdit> createRenameTypeEdits(IType originalType, String newName) {
 		return new CompositeIterable<ReplaceEdit>(
-			super.createReplaceTypeEdits(originalType, newName),
-			this.createMapKeyClassReplaceTypeEdits(originalType, newName));
+			super.createRenameTypeEdits(originalType, newName),
+			this.createMapKeyClassRenameTypeEdits(originalType, newName));
 	}
 
-	protected Iterable<ReplaceEdit> createMapKeyClassReplaceTypeEdits(IType originalType, String newName) {
+	protected Iterable<ReplaceEdit> createMapKeyClassRenameTypeEdits(IType originalType, String newName) {
 		if (this.specifiedMapKeyClass != null) {
 			String originalName = originalType.getFullyQualifiedName('.');
 			if (this.resolvedMapKeyType != null && this.resolvedMapKeyType.isFor(originalName)) {
-				return new SingleElementIterable<ReplaceEdit>(this.createReplaceMapKeyClassEdit(originalType, newName));
+				return new SingleElementIterable<ReplaceEdit>(this.createMapKeyClassRenameTypeEdit(originalType, newName));
 			}
 		}
 		return EmptyIterable.instance();
 	}
 
-	protected ReplaceEdit createReplaceMapKeyClassEdit(IType originalType, String newName) {
-		return this.resourceAttributeMapping.createReplaceMapKeyClassEdit(originalType, newName);
+	protected ReplaceEdit createMapKeyClassRenameTypeEdit(IType originalType, String newName) {
+		return this.resourceAttributeMapping.createRenameMapKeyClassEdit(originalType, newName);
 	}
 
 	@SuppressWarnings("unchecked")
 	@Override
-	public Iterable<ReplaceEdit> createMoveTypeReplaceEdits(IType originalType, IPackageFragment newPackage) {
+	public Iterable<ReplaceEdit> createMoveTypeEdits(IType originalType, IPackageFragment newPackage) {
 		return new CompositeIterable<ReplaceEdit>(
-			super.createMoveTypeReplaceEdits(originalType, newPackage),
-			this.createMapKeyClassMoveTypeReplaceEdits(originalType, newPackage));
+			super.createMoveTypeEdits(originalType, newPackage),
+			this.createMapKeyClassMoveTypeEdits(originalType, newPackage));
 	}
 
-	protected Iterable<ReplaceEdit> createMapKeyClassMoveTypeReplaceEdits(IType originalType, IPackageFragment newPackage) {
+	protected Iterable<ReplaceEdit> createMapKeyClassMoveTypeEdits(IType originalType, IPackageFragment newPackage) {
 		if (this.specifiedMapKeyClass != null) {
 			String originalName = originalType.getFullyQualifiedName('.');
 			if (this.resolvedMapKeyType != null && this.resolvedMapKeyType.isFor(originalName)) {
-				return new SingleElementIterable<ReplaceEdit>(this.createReplaceMapKeyPackageEdit(newPackage.getElementName()));
+				return new SingleElementIterable<ReplaceEdit>(this.createMapKeyClassRenamePackageEdit(newPackage.getElementName()));
 			}
 		}
 		return EmptyIterable.instance();
@@ -627,23 +627,23 @@
 
 	@SuppressWarnings("unchecked")
 	@Override
-	public Iterable<ReplaceEdit> createReplacePackageEdits(IPackageFragment originalPackage, String newName) {
+	public Iterable<ReplaceEdit> createRenamePackageEdits(IPackageFragment originalPackage, String newName) {
 		return new CompositeIterable<ReplaceEdit>(
-			super.createReplacePackageEdits(originalPackage, newName),
-			this.createMapKeyClassReplacePackageEdits(originalPackage, newName));
+			super.createRenamePackageEdits(originalPackage, newName),
+			this.createMapKeyClassRenamePackageEdits(originalPackage, newName));
 	}
 
-	protected Iterable<ReplaceEdit> createMapKeyClassReplacePackageEdits(IPackageFragment originalPackage, String newName) {
+	protected Iterable<ReplaceEdit> createMapKeyClassRenamePackageEdits(IPackageFragment originalPackage, String newName) {
 		if (this.specifiedMapKeyClass != null) {
 			if (this.resolvedMapKeyType != null && this.resolvedMapKeyType.isIn(originalPackage)) {
-				return new SingleElementIterable<ReplaceEdit>(this.createReplaceMapKeyPackageEdit(newName));
+				return new SingleElementIterable<ReplaceEdit>(this.createMapKeyClassRenamePackageEdit(newName));
 			}
 		}
 		return EmptyIterable.instance();
 	}
 
-	protected ReplaceEdit createReplaceMapKeyPackageEdit(String newName) {
-		return this.resourceAttributeMapping.createReplaceMapKeyClassPackageEdit(newName);
+	protected ReplaceEdit createMapKeyClassRenamePackageEdit(String newName) {
+		return this.resourceAttributeMapping.createRenameMapKeyClassPackageEdit(newName);
 	}
 
 
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmPersistentAttribute.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmPersistentAttribute.java
index c7ab0c4..f74216d 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmPersistentAttribute.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmPersistentAttribute.java
@@ -235,16 +235,16 @@
 
 	// ********** refactoring **********
 
-	public Iterable<ReplaceEdit> createReplaceTypeEdits(IType originalType, String newName) {
-		return this.attributeMapping.createReplaceTypeEdits(originalType, newName);
+	public Iterable<ReplaceEdit> createRenameTypeEdits(IType originalType, String newName) {
+		return this.attributeMapping.createRenameTypeEdits(originalType, newName);
 	}
 
-	public Iterable<ReplaceEdit> createMoveTypeReplaceEdits(IType originalType, IPackageFragment newPackage) {
-		return this.attributeMapping.createMoveTypeReplaceEdits(originalType, newPackage);
+	public Iterable<ReplaceEdit> createMoveTypeEdits(IType originalType, IPackageFragment newPackage) {
+		return this.attributeMapping.createMoveTypeEdits(originalType, newPackage);
 	}
 
-	public Iterable<ReplaceEdit> createReplacePackageEdits(IPackageFragment originalPackage, String newName) {
-		return this.attributeMapping.createReplacePackageEdits(originalPackage, newName);
+	public Iterable<ReplaceEdit> createRenamePackageEdits(IPackageFragment originalPackage, String newName) {
+		return this.attributeMapping.createRenamePackageEdits(originalPackage, newName);
 	}
 
 
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmRelationshipMapping.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmRelationshipMapping.java
index 37b9dcb..f6e679a 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmRelationshipMapping.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmRelationshipMapping.java
@@ -286,39 +286,39 @@
 
 	@SuppressWarnings("unchecked")
 	@Override
-	public Iterable<ReplaceEdit> createReplaceTypeEdits(IType originalType, String newName) {
+	public Iterable<ReplaceEdit> createRenameTypeEdits(IType originalType, String newName) {
 		return new CompositeIterable<ReplaceEdit>(
-			super.createReplaceTypeEdits(originalType, newName),
-			this.createTargetEntityReplaceTypeEdits(originalType, newName));
+			super.createRenameTypeEdits(originalType, newName),
+			this.createTargetEntityRenameTypeEdits(originalType, newName));
 	}
 	
-	protected Iterable<ReplaceEdit> createTargetEntityReplaceTypeEdits(IType originalType, String newName) {
+	protected Iterable<ReplaceEdit> createTargetEntityRenameTypeEdits(IType originalType, String newName) {
 		if (this.specifiedTargetEntity != null) {
 			String originalName = originalType.getFullyQualifiedName('.');
 			if (this.resolvedTargetType != null && this.resolvedTargetType.isFor(originalName)) {
-				return new SingleElementIterable<ReplaceEdit>(this.createReplaceTargetEntityEdit(originalType, newName));
+				return new SingleElementIterable<ReplaceEdit>(this.createTargetEntityRenameTypeEdit(originalType, newName));
 			}
 		}
 		return EmptyIterable.instance();
 	}
 
-	protected ReplaceEdit createReplaceTargetEntityEdit(IType originalType, String newName) {
-		return this.resourceAttributeMapping.createReplaceTargetEntityEdit(originalType, newName);
+	protected ReplaceEdit createTargetEntityRenameTypeEdit(IType originalType, String newName) {
+		return this.resourceAttributeMapping.createRenameTargetEntityEdit(originalType, newName);
 	}
 
 	@SuppressWarnings("unchecked")
 	@Override
-	public Iterable<ReplaceEdit> createMoveTypeReplaceEdits(IType originalType, IPackageFragment newPackage) {
+	public Iterable<ReplaceEdit> createMoveTypeEdits(IType originalType, IPackageFragment newPackage) {
 		return new CompositeIterable<ReplaceEdit>(
-			super.createMoveTypeReplaceEdits(originalType, newPackage),
-			this.createTargetEntityMoveTypeReplaceEdits(originalType, newPackage));
+			super.createMoveTypeEdits(originalType, newPackage),
+			this.createTargetEntityMoveTypeEdits(originalType, newPackage));
 	}
 
-	protected Iterable<ReplaceEdit> createTargetEntityMoveTypeReplaceEdits(IType originalType, IPackageFragment newPackage) {
+	protected Iterable<ReplaceEdit> createTargetEntityMoveTypeEdits(IType originalType, IPackageFragment newPackage) {
 		if (this.specifiedTargetEntity != null) {
 			String originalName = originalType.getFullyQualifiedName('.');
 			if (this.resolvedTargetType != null && this.resolvedTargetType.isFor(originalName)) {
-				return new SingleElementIterable<ReplaceEdit>(this.createReplaceTargetEntityPackageEdit(newPackage.getElementName()));
+				return new SingleElementIterable<ReplaceEdit>(this.createTargetEntityRenamePackageEdit(newPackage.getElementName()));
 			}
 		}
 		return EmptyIterable.instance();
@@ -326,23 +326,23 @@
 
 	@SuppressWarnings("unchecked")
 	@Override
-	public Iterable<ReplaceEdit> createReplacePackageEdits(IPackageFragment originalPackage, String newName) {
+	public Iterable<ReplaceEdit> createRenamePackageEdits(IPackageFragment originalPackage, String newName) {
 		return new CompositeIterable<ReplaceEdit>(
-			super.createReplacePackageEdits(originalPackage, newName),
-			this.createTargetEntityReplacePackageEdits(originalPackage, newName));
+			super.createRenamePackageEdits(originalPackage, newName),
+			this.createTargetEntityRenamePackageEdits(originalPackage, newName));
 	}
 
-	protected Iterable<ReplaceEdit> createTargetEntityReplacePackageEdits(IPackageFragment originalPackage, String newName) {
+	protected Iterable<ReplaceEdit> createTargetEntityRenamePackageEdits(IPackageFragment originalPackage, String newName) {
 		if (this.specifiedTargetEntity != null) {
 			if (this.resolvedTargetType != null && this.resolvedTargetType.isIn(originalPackage)) {
-				return new SingleElementIterable<ReplaceEdit>(this.createReplaceTargetEntityPackageEdit(newName));
+				return new SingleElementIterable<ReplaceEdit>(this.createTargetEntityRenamePackageEdit(newName));
 			}
 		}
 		return EmptyIterable.instance();
 	}
 
-	protected ReplaceEdit createReplaceTargetEntityPackageEdit(String newName) {
-		return this.resourceAttributeMapping.createReplaceTargetEntityPackageEdit(newName);
+	protected ReplaceEdit createTargetEntityRenamePackageEdit(String newName) {
+		return this.resourceAttributeMapping.createRenameTargetEntityPackageEdit(newName);
 	}
 
 
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmTypeMapping.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmTypeMapping.java
index bd7fc29..98f1120 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmTypeMapping.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmTypeMapping.java
@@ -369,33 +369,33 @@
 		return this.resourceTypeMapping.createDeleteEdit();
 	}
 
-	public Iterable<ReplaceEdit> createReplaceTypeEdits(IType originalType, String newName) {
+	public Iterable<ReplaceEdit> createRenameTypeEdits(IType originalType, String newName) {
 		if (getPersistentType().isFor(originalType.getFullyQualifiedName('.'))) {
-			return new SingleElementIterable<ReplaceEdit>(this.createReplaceTypeEdit(originalType, newName));
+			return new SingleElementIterable<ReplaceEdit>(this.createRenameTypeEdit(originalType, newName));
 		}
 		return EmptyIterable.instance();
 	}
 
-	protected ReplaceEdit createReplaceTypeEdit(IType originalType, String newName) {
-		return this.resourceTypeMapping.createReplaceTypeEdit(originalType, newName);
+	protected ReplaceEdit createRenameTypeEdit(IType originalType, String newName) {
+		return this.resourceTypeMapping.createRenameTypeEdit(originalType, newName);
 	}
 
-	public Iterable<ReplaceEdit> createMoveTypeReplaceEdits(IType originalType, IPackageFragment newPackage) {
+	public Iterable<ReplaceEdit> createMoveTypeEdits(IType originalType, IPackageFragment newPackage) {
 		if (getPersistentType().isFor(originalType.getFullyQualifiedName('.'))) {
-			return new SingleElementIterable<ReplaceEdit>(this.createReplacePackageEdit(newPackage.getElementName()));
+			return new SingleElementIterable<ReplaceEdit>(this.createRenamePackageEdit(newPackage.getElementName()));
 		}
 		return EmptyIterable.instance();
 	}
 
-	public Iterable<ReplaceEdit> createReplacePackageEdits(IPackageFragment originalPackage, String newName) {
+	public Iterable<ReplaceEdit> createRenamePackageEdits(IPackageFragment originalPackage, String newName) {
 		if (getPersistentType().isIn(originalPackage)) {
-			return new SingleElementIterable<ReplaceEdit>(this.createReplacePackageEdit(newName));
+			return new SingleElementIterable<ReplaceEdit>(this.createRenamePackageEdit(newName));
 		}
 		return EmptyIterable.instance();
 	}
 
-	protected ReplaceEdit createReplacePackageEdit(String newName) {
-		return this.resourceTypeMapping.createReplacePackageEdit(newName);
+	protected ReplaceEdit createRenamePackageEdit(String newName) {
+		return this.resourceTypeMapping.createRenamePackageEdit(newName);
 	}
 
 
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/GenericOrmIdClassReference.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/GenericOrmIdClassReference.java
index 02f446f..d1aec20 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/GenericOrmIdClassReference.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/GenericOrmIdClassReference.java
@@ -216,15 +216,15 @@
 
 	//************************* refactoring ************************
 
-	public Iterable<ReplaceEdit> createReplaceTypeEdits(IType originalType, String newName) {
+	public Iterable<ReplaceEdit> createRenameTypeEdits(IType originalType, String newName) {
 		if (this.isFor(originalType.getFullyQualifiedName('.'))) {
-			return new SingleElementIterable<ReplaceEdit>(this.createReplaceEdit(originalType, newName));
+			return new SingleElementIterable<ReplaceEdit>(this.createRenameEdit(originalType, newName));
 		}
 		return EmptyIterable.instance();
 	}
 
-	protected ReplaceEdit createReplaceEdit(IType originalType, String newName) {
-		return getIdXmlClassRef().createReplaceEdit(originalType, newName);
+	protected ReplaceEdit createRenameEdit(IType originalType, String newName) {
+		return getIdXmlClassRef().createRenameEdit(originalType, newName);
 	}
 
 	protected boolean isFor(String typeName) {
@@ -234,22 +234,22 @@
 		return false;
 	}
 
-	public Iterable<ReplaceEdit> createMoveTypeReplaceEdits(IType originalType, IPackageFragment newPackage) {
+	public Iterable<ReplaceEdit> createMoveTypeEdits(IType originalType, IPackageFragment newPackage) {
 		if (this.isFor(originalType.getFullyQualifiedName('.'))) {
-			return new SingleElementIterable<ReplaceEdit>(this.createReplacePackageEdit(newPackage.getElementName()));
+			return new SingleElementIterable<ReplaceEdit>(this.createRenamePackageEdit(newPackage.getElementName()));
 		}
 		return EmptyIterable.instance();
 	}
 
-	public Iterable<ReplaceEdit> createReplacePackageEdits(IPackageFragment originalPackage, String newName) {
+	public Iterable<ReplaceEdit> createRenamePackageEdits(IPackageFragment originalPackage, String newName) {
 		if (this.isIn(originalPackage)) {
-			return new SingleElementIterable<ReplaceEdit>(this.createReplacePackageEdit(newName));
+			return new SingleElementIterable<ReplaceEdit>(this.createRenamePackageEdit(newName));
 		}
 		return EmptyIterable.instance();
 	}
 
-	protected ReplaceEdit createReplacePackageEdit(String newName) {
-		return getIdXmlClassRef().createReplacePackageEdit(newName);
+	protected ReplaceEdit createRenamePackageEdit(String newName) {
+		return getIdXmlClassRef().createRenamePackageEdit(newName);
 	}
 
 	protected boolean isIn(IPackageFragment originalPackage) {
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/persistence/AbstractMappingFileRef.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/persistence/AbstractMappingFileRef.java
index 637ea35..3951749 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/persistence/AbstractMappingFileRef.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/persistence/AbstractMappingFileRef.java
@@ -304,43 +304,43 @@
 		return EmptyIterable.instance();
 	}
 
-	public Iterable<ReplaceEdit> createReplaceTypeEdits(IType originalType, String newName) {
+	public Iterable<ReplaceEdit> createRenameTypeEdits(IType originalType, String newName) {
 		if (this.mappingFile != null) {
-			return this.mappingFile.createReplaceTypeEdits(originalType, newName);
+			return this.mappingFile.createRenameTypeEdits(originalType, newName);
 		}
 		return EmptyIterable.instance();
 	}
 
-	public Iterable<ReplaceEdit> createMoveTypeReplaceEdits(IType originalType, IPackageFragment newPackage) {
+	public Iterable<ReplaceEdit> createMoveTypeEdits(IType originalType, IPackageFragment newPackage) {
 		if (this.mappingFile != null) {
-			return this.mappingFile.createMoveTypeReplaceEdits(originalType, newPackage);
+			return this.mappingFile.createMoveTypeEdits(originalType, newPackage);
 		}
 		return EmptyIterable.instance();
 	}
 
-	public Iterable<ReplaceEdit> createReplacePackageEdits(IPackageFragment originalPackage, String newName) {
+	public Iterable<ReplaceEdit> createRenamePackageEdits(IPackageFragment originalPackage, String newName) {
 		if (this.mappingFile != null) {
-			return this.mappingFile.createReplacePackageEdits(originalPackage, newName);
+			return this.mappingFile.createRenamePackageEdits(originalPackage, newName);
 		}
 		return EmptyIterable.instance();
 	}
 
-	public Iterable<ReplaceEdit> createReplaceMappingFileEdits(IFile originalFile, String newName) {
+	public Iterable<ReplaceEdit> createRenameMappingFileEdits(IFile originalFile, String newName) {
 		if (this.isFor(originalFile)) {
-			return new SingleElementIterable<ReplaceEdit>(this.createReplaceEdit(originalFile, newName));
+			return new SingleElementIterable<ReplaceEdit>(this.createRenameEdit(originalFile, newName));
 		}
 		return EmptyIterable.instance();
 	}
 
-	protected abstract ReplaceEdit createReplaceEdit(IFile originalFile, String newName);
+	protected abstract ReplaceEdit createRenameEdit(IFile originalFile, String newName);
 
-	public Iterable<ReplaceEdit> createReplaceMappingFileEdits(IFile originalFile, IPath runtineDestination) {
+	public Iterable<ReplaceEdit> createMoveMappingFileEdits(IFile originalFile, IPath runtineDestination) {
 		if (this.isFor(originalFile)) {
-			return new SingleElementIterable<ReplaceEdit>(this.createReplaceEdit(originalFile, runtineDestination));
+			return new SingleElementIterable<ReplaceEdit>(this.createMoveEdit(originalFile, runtineDestination));
 		}
 		return EmptyIterable.instance();
 	}
 
-	protected abstract ReplaceEdit createReplaceEdit(IFile originalFile, IPath runtineDestination);
+	protected abstract ReplaceEdit createMoveEdit(IFile originalFile, IPath runtineDestination);
 
 }
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/persistence/AbstractPersistenceUnit.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/persistence/AbstractPersistenceUnit.java
index af402e3..6474b7c 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/persistence/AbstractPersistenceUnit.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/persistence/AbstractPersistenceUnit.java
@@ -1646,93 +1646,93 @@
 	}
 
 	@SuppressWarnings("unchecked")
-	public Iterable<ReplaceEdit> createReplaceTypeEdits(IType originalType, String newName) {
+	public Iterable<ReplaceEdit> createRenameTypeEdits(IType originalType, String newName) {
 		return new CompositeIterable<ReplaceEdit>(
-					createSpecifiedClassRefReplaceTypeEdits(originalType, newName),
-					createPersistenceUnitPropertiesReplaceTypeEdits(originalType, newName));
+					createSpecifiedClassRefRenameTypeEdits(originalType, newName),
+					createPersistenceUnitPropertiesRenameTypeEdits(originalType, newName));
 	}
 
-	protected Iterable<ReplaceEdit> createSpecifiedClassRefReplaceTypeEdits(final IType originalType, final String newName) {
+	protected Iterable<ReplaceEdit> createSpecifiedClassRefRenameTypeEdits(final IType originalType, final String newName) {
 		return new CompositeIterable<ReplaceEdit>(
 			new TransformationIterable<ClassRef, Iterable<ReplaceEdit>>(getSpecifiedClassRefs()) {
 				@Override
 				protected Iterable<ReplaceEdit> transform(ClassRef classRef) {
-					return classRef.createReplaceTypeEdits(originalType, newName);
+					return classRef.createRenameTypeEdits(originalType, newName);
 				}
 			}
 		);
 	}
 
-	protected Iterable<ReplaceEdit> createPersistenceUnitPropertiesReplaceTypeEdits(IType originalType, String newName) {
-		return this.options.createReplaceTypeEdits(originalType, newName);
+	protected Iterable<ReplaceEdit> createPersistenceUnitPropertiesRenameTypeEdits(IType originalType, String newName) {
+		return this.options.createRenameTypeEdits(originalType, newName);
 	}
 
 	@SuppressWarnings("unchecked")
-	public Iterable<ReplaceEdit> createMoveTypeReplaceEdits(IType originalType, IPackageFragment newPackage) {
+	public Iterable<ReplaceEdit> createMoveTypeEdits(IType originalType, IPackageFragment newPackage) {
 		return new CompositeIterable<ReplaceEdit>(
-			createSpecifiedClassRefMoveTypeReplaceEdits(originalType, newPackage),
-			createPersistenceUnitPropertiesMoveTypeReplaceEdits(originalType, newPackage));
+			createSpecifiedClassRefMoveTypeEdits(originalType, newPackage),
+			createPersistenceUnitPropertiesMoveTypeEdits(originalType, newPackage));
 	}
 
-	protected Iterable<ReplaceEdit> createSpecifiedClassRefMoveTypeReplaceEdits(final IType originalType, final IPackageFragment newPackage) {
+	protected Iterable<ReplaceEdit> createSpecifiedClassRefMoveTypeEdits(final IType originalType, final IPackageFragment newPackage) {
 		return new CompositeIterable<ReplaceEdit>(
 			new TransformationIterable<ClassRef, Iterable<ReplaceEdit>>(getSpecifiedClassRefs()) {
 				@Override
 				protected Iterable<ReplaceEdit> transform(ClassRef classRef) {
-					return classRef.createMoveTypeReplaceEdits(originalType, newPackage);
+					return classRef.createMoveTypeEdits(originalType, newPackage);
 				}
 			}
 		);
 	}
 
-	protected Iterable<ReplaceEdit> createPersistenceUnitPropertiesMoveTypeReplaceEdits(IType originalType, IPackageFragment newPackage) {
-		return this.options.createMoveTypeReplaceEdits(originalType, newPackage);
+	protected Iterable<ReplaceEdit> createPersistenceUnitPropertiesMoveTypeEdits(IType originalType, IPackageFragment newPackage) {
+		return this.options.createMoveTypeEdits(originalType, newPackage);
 	}
 
 	
 	@SuppressWarnings("unchecked")
-	public Iterable<ReplaceEdit> createReplacePackageEdits(IPackageFragment originalPackage, String newName) {
+	public Iterable<ReplaceEdit> createRenamePackageEdits(IPackageFragment originalPackage, String newName) {
 		return new CompositeIterable<ReplaceEdit>(
-			createSpecifiedClassRefReplacePackageEdits(originalPackage, newName),
-			createPersistenceUnitPropertiesReplacePackageEdits(originalPackage, newName));
+			createSpecifiedClassRefRenamePackageEdits(originalPackage, newName),
+			createPersistenceUnitPropertiesRenamePackageEdits(originalPackage, newName));
 	}
 
-	protected Iterable<ReplaceEdit> createSpecifiedClassRefReplacePackageEdits(final IPackageFragment originalPackage, final String newName) {
+	protected Iterable<ReplaceEdit> createSpecifiedClassRefRenamePackageEdits(final IPackageFragment originalPackage, final String newName) {
 		return new CompositeIterable<ReplaceEdit>(
 			new TransformationIterable<ClassRef, Iterable<ReplaceEdit>>(getSpecifiedClassRefs()) {
 				@Override
 				protected Iterable<ReplaceEdit> transform(ClassRef classRef) {
-					return classRef.createReplacePackageEdits(originalPackage, newName);
+					return classRef.createRenamePackageEdits(originalPackage, newName);
 				}
 			}
 		);
 	}
 
-	protected Iterable<ReplaceEdit> createPersistenceUnitPropertiesReplacePackageEdits(IPackageFragment originalPackage, String newName) {
-		return this.options.createReplacePackageEdits(originalPackage, newName);
+	protected Iterable<ReplaceEdit> createPersistenceUnitPropertiesRenamePackageEdits(IPackageFragment originalPackage, String newName) {
+		return this.options.createRenamePackageEdits(originalPackage, newName);
 	}
 
-	public Iterable<ReplaceEdit> createReplaceFolderEdits(final IFolder originalFolder, final String newName) {
-		return this.createMappingFileRefReplaceFolderEdits(originalFolder, newName);
+	public Iterable<ReplaceEdit> createRenameFolderEdits(final IFolder originalFolder, final String newName) {
+		return this.createMappingFileRefRenameFolderEdits(originalFolder, newName);
 	}
 	
-	protected Iterable<ReplaceEdit> createMappingFileRefReplaceFolderEdits(final IFolder originalFolder, final String newName) {
+	protected Iterable<ReplaceEdit> createMappingFileRefRenameFolderEdits(final IFolder originalFolder, final String newName) {
 		return new CompositeIterable<ReplaceEdit>(
 			new TransformationIterable<MappingFileRef, Iterable<ReplaceEdit>>(getSpecifiedMappingFileRefs()) {
 				@Override
 				protected Iterable<ReplaceEdit> transform(MappingFileRef mappingFileRef) {
-					return mappingFileRef.createReplaceFolderEdits(originalFolder, newName);
+					return mappingFileRef.createRenameFolderEdits(originalFolder, newName);
 				}
 			}
 		);
 	}
 
-	public Iterable<ReplaceEdit> createReplaceMappingFileEdits(final IFile originalFile, final String newName) {
+	public Iterable<ReplaceEdit> createRenameMappingFileEdits(final IFile originalFile, final String newName) {
 		return new CompositeIterable<ReplaceEdit>(
 			new TransformationIterable<MappingFileRef, Iterable<ReplaceEdit>>(getMappingFileRefs()) {
 				@Override
 				protected Iterable<ReplaceEdit> transform(MappingFileRef mappingFileRef) {
-					return mappingFileRef.createReplaceMappingFileEdits(originalFile, newName);
+					return mappingFileRef.createRenameMappingFileEdits(originalFile, newName);
 				}
 			}
 		);
@@ -1742,18 +1742,18 @@
 		return this.xmlPersistenceUnit.getLocationToInsertMappingFileRef();
 	}
 
-	public Iterable<ReplaceEdit> createReplaceMappingFileEdits(final IFile originalFile, final IPath runtineDestination) {
+	public Iterable<ReplaceEdit> createMoveMappingFileEdits(final IFile originalFile, final IPath runtineDestination) {
 		return new CompositeIterable<ReplaceEdit>(
 			new TransformationIterable<MappingFileRef, Iterable<ReplaceEdit>>(getMappingFileRefs()) {
 				@Override
 				protected Iterable<ReplaceEdit> transform(MappingFileRef mappingFileRef) {
-					return mappingFileRef.createReplaceMappingFileEdits(originalFile, runtineDestination);
+					return mappingFileRef.createMoveMappingFileEdits(originalFile, runtineDestination);
 				}
 			}
 		);
 	}
 
-	public Iterable<ReplaceEdit> createMoveFolderReplaceEdits(final IFolder originalFolder, final IPath runtimeDestination) {
+	public Iterable<ReplaceEdit> createMoveFolderEdits(final IFolder originalFolder, final IPath runtimeDestination) {
 		return this.createMappingFileRefMoveFolderReplaceEdits(originalFolder, runtimeDestination);
 	}
 	
@@ -1762,7 +1762,7 @@
 			new TransformationIterable<MappingFileRef, Iterable<ReplaceEdit>>(getSpecifiedMappingFileRefs()) {
 				@Override
 				protected Iterable<ReplaceEdit> transform(MappingFileRef mappingFileRef) {
-					return mappingFileRef.createMoveFolderReplaceEdits(originalFolder, runtimeDestination);
+					return mappingFileRef.createMoveFolderEdits(originalFolder, runtimeDestination);
 				}
 			}
 		);
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/persistence/AbstractPersistenceUnitProperties.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/persistence/AbstractPersistenceUnitProperties.java
index f24e78a..f1e1268 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/persistence/AbstractPersistenceUnitProperties.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/persistence/AbstractPersistenceUnitProperties.java
@@ -515,15 +515,15 @@
 
 	// ********** refactoring ************
 
-	public Iterable<ReplaceEdit> createReplaceTypeEdits(IType originalType, String newName) {
+	public Iterable<ReplaceEdit> createRenameTypeEdits(IType originalType, String newName) {
 		return EmptyIterable.instance();
 	}
 
-	public Iterable<ReplaceEdit> createMoveTypeReplaceEdits(IType originalType, IPackageFragment newPackage) {
+	public Iterable<ReplaceEdit> createMoveTypeEdits(IType originalType, IPackageFragment newPackage) {
 		return EmptyIterable.instance();
 	}
 
-	public Iterable<ReplaceEdit> createReplacePackageEdits(IPackageFragment originalPackage, String newName) {
+	public Iterable<ReplaceEdit> createRenamePackageEdits(IPackageFragment originalPackage, String newName) {
 		return EmptyIterable.instance();
 	}
 }
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa1/context/orm/GenericOrmEnumeratedConverter.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa1/context/orm/GenericOrmEnumeratedConverter.java
index ad4abac..ef7184f 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa1/context/orm/GenericOrmEnumeratedConverter.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa1/context/orm/GenericOrmEnumeratedConverter.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2008, 2009 Oracle. All rights reserved.
+ * Copyright (c) 2008, 2010 Oracle. 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.
@@ -9,6 +9,8 @@
  ******************************************************************************/
 package org.eclipse.jpt.core.internal.jpa1.context.orm;
 
+import org.eclipse.jdt.core.IPackageFragment;
+import org.eclipse.jdt.core.IType;
 import org.eclipse.jpt.core.context.Converter;
 import org.eclipse.jpt.core.context.EnumType;
 import org.eclipse.jpt.core.context.EnumeratedConverter;
@@ -17,6 +19,8 @@
 import org.eclipse.jpt.core.internal.context.orm.AbstractOrmXmlContextNode;
 import org.eclipse.jpt.core.resource.orm.XmlConvertibleMapping;
 import org.eclipse.jpt.core.utility.TextRange;
+import org.eclipse.jpt.utility.internal.iterables.EmptyIterable;
+import org.eclipse.text.edits.ReplaceEdit;
 
 public class GenericOrmEnumeratedConverter extends AbstractOrmXmlContextNode
 	implements EnumeratedConverter, OrmConverter
@@ -90,5 +94,19 @@
 	public void removeFromResourceModel() {
 		this.resourceConvertibleMapping.setEnumerated(null);
 	}
-	
+
+
+	//************************* refactoring ************************
+
+	public Iterable<ReplaceEdit> createRenameTypeEdits(IType originalType, String newName) {
+		return EmptyIterable.instance();
+	}
+
+	public Iterable<ReplaceEdit> createMoveTypeEdits(IType originalType, IPackageFragment newPackage) {
+		return EmptyIterable.instance();
+	}
+
+	public Iterable<ReplaceEdit> createRenamePackageEdits(IPackageFragment originalPackage, String newName) {
+		return EmptyIterable.instance();
+	}
 }
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa1/context/orm/GenericOrmLobConverter.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa1/context/orm/GenericOrmLobConverter.java
index 7710579..df9bc6f 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa1/context/orm/GenericOrmLobConverter.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa1/context/orm/GenericOrmLobConverter.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2008, 2009 Oracle. All rights reserved.
+ * Copyright (c) 2008, 2010 Oracle. 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.
@@ -9,6 +9,8 @@
  ******************************************************************************/
 package org.eclipse.jpt.core.internal.jpa1.context.orm;
 
+import org.eclipse.jdt.core.IPackageFragment;
+import org.eclipse.jdt.core.IType;
 import org.eclipse.jpt.core.context.Converter;
 import org.eclipse.jpt.core.context.LobConverter;
 import org.eclipse.jpt.core.context.orm.OrmAttributeMapping;
@@ -16,6 +18,8 @@
 import org.eclipse.jpt.core.internal.context.orm.AbstractOrmXmlContextNode;
 import org.eclipse.jpt.core.resource.orm.XmlConvertibleMapping;
 import org.eclipse.jpt.core.utility.TextRange;
+import org.eclipse.jpt.utility.internal.iterables.EmptyIterable;
+import org.eclipse.text.edits.ReplaceEdit;
 
 public class GenericOrmLobConverter extends AbstractOrmXmlContextNode
 	implements LobConverter, OrmConverter
@@ -55,4 +59,19 @@
 	public void removeFromResourceModel() {
 		this.resourceConvertibleMapping.setLob(false);
 	}
+
+
+	//************************* refactoring ************************
+
+	public Iterable<ReplaceEdit> createRenameTypeEdits(IType originalType, String newName) {
+		return EmptyIterable.instance();
+	}
+
+	public Iterable<ReplaceEdit> createMoveTypeEdits(IType originalType, IPackageFragment newPackage) {
+		return EmptyIterable.instance();
+	}
+
+	public Iterable<ReplaceEdit> createRenamePackageEdits(IPackageFragment originalPackage, String newName) {
+		return EmptyIterable.instance();
+	}
 }
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa1/context/orm/GenericOrmNullConverter.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa1/context/orm/GenericOrmNullConverter.java
index a69d79a..1fb84ac 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa1/context/orm/GenericOrmNullConverter.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa1/context/orm/GenericOrmNullConverter.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2008, 2009 Oracle. All rights reserved.
+ * Copyright (c) 2008, 2010 Oracle. 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.
@@ -9,11 +9,15 @@
  ******************************************************************************/
 package org.eclipse.jpt.core.internal.jpa1.context.orm;
 
+import org.eclipse.jdt.core.IPackageFragment;
+import org.eclipse.jdt.core.IType;
 import org.eclipse.jpt.core.context.Converter;
 import org.eclipse.jpt.core.context.orm.OrmAttributeMapping;
 import org.eclipse.jpt.core.context.orm.OrmConverter;
 import org.eclipse.jpt.core.internal.context.orm.AbstractOrmXmlContextNode;
 import org.eclipse.jpt.core.utility.TextRange;
+import org.eclipse.jpt.utility.internal.iterables.EmptyIterable;
+import org.eclipse.text.edits.ReplaceEdit;
 
 public class GenericOrmNullConverter extends AbstractOrmXmlContextNode
 	implements OrmConverter
@@ -47,4 +51,19 @@
 	public void removeFromResourceModel() {
 		// do nothing, null implementation		
 	}
+
+
+	//************************* refactoring ************************
+
+	public Iterable<ReplaceEdit> createRenameTypeEdits(IType originalType, String newName) {
+		return EmptyIterable.instance();
+	}
+
+	public Iterable<ReplaceEdit> createMoveTypeEdits(IType originalType, IPackageFragment newPackage) {
+		return EmptyIterable.instance();
+	}
+
+	public Iterable<ReplaceEdit> createRenamePackageEdits(IPackageFragment originalPackage, String newName) {
+		return EmptyIterable.instance();
+	}
 }
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa1/context/orm/GenericOrmPersistentType.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa1/context/orm/GenericOrmPersistentType.java
index 82a5003..e36d456 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa1/context/orm/GenericOrmPersistentType.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa1/context/orm/GenericOrmPersistentType.java
@@ -950,54 +950,54 @@
 	}
 
 	@SuppressWarnings("unchecked")
-	public Iterable<ReplaceEdit> createReplaceTypeEdits(IType originalType, String newName) {
+	public Iterable<ReplaceEdit> createRenameTypeEdits(IType originalType, String newName) {
 		return new CompositeIterable<ReplaceEdit>(
-			this.mapping.createReplaceTypeEdits(originalType, newName),
-			this.createSpecifiedAttributesReplaceTypeEdits(originalType, newName));
+			this.mapping.createRenameTypeEdits(originalType, newName),
+			this.createSpecifiedAttributesRenameTypeEdits(originalType, newName));
 	}
 
-	protected Iterable<ReplaceEdit> createSpecifiedAttributesReplaceTypeEdits(final IType originalType, final String newName) {
+	protected Iterable<ReplaceEdit> createSpecifiedAttributesRenameTypeEdits(final IType originalType, final String newName) {
 		return new CompositeIterable<ReplaceEdit>(
 			new TransformationIterable<OrmPersistentAttribute, Iterable<ReplaceEdit>>(getSpecifiedAttributes()) {
 				@Override
 				protected Iterable<ReplaceEdit> transform(OrmPersistentAttribute persistentAttribute) {
-					return persistentAttribute.createReplaceTypeEdits(originalType, newName);
+					return persistentAttribute.createRenameTypeEdits(originalType, newName);
 				}
 			}
 		);
 	}
 
 	@SuppressWarnings("unchecked")
-	public Iterable<ReplaceEdit> createMoveTypeReplaceEdits(IType originalType, IPackageFragment newPackage) {
+	public Iterable<ReplaceEdit> createMoveTypeEdits(IType originalType, IPackageFragment newPackage) {
 		return new CompositeIterable<ReplaceEdit>(
-			this.mapping.createMoveTypeReplaceEdits(originalType, newPackage),
-			this.createSpecifiedAttributesMoveTypeReplaceEdits(originalType, newPackage));
+			this.mapping.createMoveTypeEdits(originalType, newPackage),
+			this.createSpecifiedAttributesMoveTypeEdits(originalType, newPackage));
 	}
 
-	protected Iterable<ReplaceEdit> createSpecifiedAttributesMoveTypeReplaceEdits(final IType originalType, final IPackageFragment newPackage) {
+	protected Iterable<ReplaceEdit> createSpecifiedAttributesMoveTypeEdits(final IType originalType, final IPackageFragment newPackage) {
 		return new CompositeIterable<ReplaceEdit>(
 			new TransformationIterable<OrmPersistentAttribute, Iterable<ReplaceEdit>>(getSpecifiedAttributes()) {
 				@Override
 				protected Iterable<ReplaceEdit> transform(OrmPersistentAttribute persistentAttribute) {
-					return persistentAttribute.createMoveTypeReplaceEdits(originalType, newPackage);
+					return persistentAttribute.createMoveTypeEdits(originalType, newPackage);
 				}
 			}
 		);
 	}
 
 	@SuppressWarnings("unchecked")
-	public Iterable<ReplaceEdit> createReplacePackageEdits(IPackageFragment originalPackage, String newName) {
+	public Iterable<ReplaceEdit> createRenamePackageEdits(IPackageFragment originalPackage, String newName) {
 		return new CompositeIterable<ReplaceEdit>(
-			this.mapping.createReplacePackageEdits(originalPackage, newName),
-			this.createSpecifiedAttributesReplacePackageEdits(originalPackage, newName));
+			this.mapping.createRenamePackageEdits(originalPackage, newName),
+			this.createSpecifiedAttributesRenamePackageEdits(originalPackage, newName));
 	}
 
-	protected Iterable<ReplaceEdit> createSpecifiedAttributesReplacePackageEdits(final IPackageFragment originalPackage, final String newName) {
+	protected Iterable<ReplaceEdit> createSpecifiedAttributesRenamePackageEdits(final IPackageFragment originalPackage, final String newName) {
 		return new CompositeIterable<ReplaceEdit>(
 			new TransformationIterable<OrmPersistentAttribute, Iterable<ReplaceEdit>>(getSpecifiedAttributes()) {
 				@Override
 				protected Iterable<ReplaceEdit> transform(OrmPersistentAttribute persistentAttribute) {
-					return persistentAttribute.createReplacePackageEdits(originalPackage, newName);
+					return persistentAttribute.createRenamePackageEdits(originalPackage, newName);
 				}
 			}
 		);
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa1/context/orm/GenericOrmTemporalConverter.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa1/context/orm/GenericOrmTemporalConverter.java
index 8adc7a5..abd5d63 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa1/context/orm/GenericOrmTemporalConverter.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa1/context/orm/GenericOrmTemporalConverter.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2008, 2009 Oracle. All rights reserved.
+ * Copyright (c) 2008, 2010 Oracle. 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.
@@ -9,6 +9,8 @@
  ******************************************************************************/
 package org.eclipse.jpt.core.internal.jpa1.context.orm;
 
+import org.eclipse.jdt.core.IPackageFragment;
+import org.eclipse.jdt.core.IType;
 import org.eclipse.jpt.core.context.Converter;
 import org.eclipse.jpt.core.context.TemporalConverter;
 import org.eclipse.jpt.core.context.TemporalType;
@@ -17,6 +19,8 @@
 import org.eclipse.jpt.core.internal.context.orm.AbstractOrmXmlContextNode;
 import org.eclipse.jpt.core.resource.orm.XmlConvertibleMapping;
 import org.eclipse.jpt.core.utility.TextRange;
+import org.eclipse.jpt.utility.internal.iterables.EmptyIterable;
+import org.eclipse.text.edits.ReplaceEdit;
 
 public class GenericOrmTemporalConverter extends AbstractOrmXmlContextNode
 	implements TemporalConverter, OrmConverter
@@ -83,4 +87,18 @@
 		this.resourceConvertibleMapping.setTemporal(null);
 	}
 
+
+	//************************* refactoring ************************
+
+	public Iterable<ReplaceEdit> createRenameTypeEdits(IType originalType, String newName) {
+		return EmptyIterable.instance();
+	}
+
+	public Iterable<ReplaceEdit> createMoveTypeEdits(IType originalType, IPackageFragment newPackage) {
+		return EmptyIterable.instance();
+	}
+
+	public Iterable<ReplaceEdit> createRenamePackageEdits(IPackageFragment originalPackage, String newName) {
+		return EmptyIterable.instance();
+	}
 }
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa1/context/orm/GenericOrmXml.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa1/context/orm/GenericOrmXml.java
index 808fc8f..ad2ecce 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa1/context/orm/GenericOrmXml.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa1/context/orm/GenericOrmXml.java
@@ -246,23 +246,23 @@
 		return EmptyIterable.instance();
 	}
 
-	public Iterable<ReplaceEdit> createReplaceTypeEdits(IType originalType, String newName) {
+	public Iterable<ReplaceEdit> createRenameTypeEdits(IType originalType, String newName) {
 		if (this.entityMappings != null) {
-			return this.entityMappings.createReplaceTypeEdits(originalType, newName);
+			return this.entityMappings.createRenameTypeEdits(originalType, newName);
 		}
 		return EmptyIterable.instance();
 	}
 
-	public Iterable<ReplaceEdit> createMoveTypeReplaceEdits(IType originalType, IPackageFragment newPackage) {
+	public Iterable<ReplaceEdit> createMoveTypeEdits(IType originalType, IPackageFragment newPackage) {
 		if (this.entityMappings != null) {
-			return this.entityMappings.createMoveTypeReplaceEdits(originalType, newPackage);
+			return this.entityMappings.createMoveTypeEdits(originalType, newPackage);
 		}
 		return EmptyIterable.instance();
 	}
 
-	public Iterable<ReplaceEdit> createReplacePackageEdits(IPackageFragment originalPackage, String newName) {
+	public Iterable<ReplaceEdit> createRenamePackageEdits(IPackageFragment originalPackage, String newName) {
 		if (this.entityMappings != null) {
-			return this.entityMappings.createReplacePackageEdits(originalPackage, newName);
+			return this.entityMappings.createRenamePackageEdits(originalPackage, newName);
 		}
 		return EmptyIterable.instance();
 	}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa1/context/persistence/GenericClassRef.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa1/context/persistence/GenericClassRef.java
index aadf928..e5a1db5 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa1/context/persistence/GenericClassRef.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa1/context/persistence/GenericClassRef.java
@@ -335,7 +335,7 @@
 		return this.xmlJavaClassRef.createDeleteEdit();
 	}
 
-	public Iterable<ReplaceEdit> createReplaceTypeEdits(IType originalType, String newName) {
+	public Iterable<ReplaceEdit> createRenameTypeEdits(IType originalType, String newName) {
 		if (isVirtual()) {
 			throw new IllegalStateException();
 		}
@@ -346,31 +346,31 @@
 	}
 
 	protected ReplaceEdit createReplaceEdit(IType originalType, String newName) {
-		return this.xmlJavaClassRef.createReplaceEdit(originalType, newName);
+		return this.xmlJavaClassRef.createRenameEdit(originalType, newName);
 	}
 
-	public Iterable<ReplaceEdit> createMoveTypeReplaceEdits(IType originalType, IPackageFragment newPackage) {
+	public Iterable<ReplaceEdit> createMoveTypeEdits(IType originalType, IPackageFragment newPackage) {
 		if (isVirtual()) {
 			throw new IllegalStateException();
 		}
 		if (this.isFor(originalType)) {
-			return new SingleElementIterable<ReplaceEdit>(this.createReplacePackageEdit(newPackage.getElementName()));
+			return new SingleElementIterable<ReplaceEdit>(this.createRenamePackageEdit(newPackage.getElementName()));
 		}
 		return EmptyIterable.instance();
 	}
 
-	public Iterable<ReplaceEdit> createReplacePackageEdits(IPackageFragment originalPackage, String newName) {
+	public Iterable<ReplaceEdit> createRenamePackageEdits(IPackageFragment originalPackage, String newName) {
 		if (isVirtual()) {
 			throw new IllegalStateException();
 		}
 		if (this.isInPackage(originalPackage)) {
-			return new SingleElementIterable<ReplaceEdit>(this.createReplacePackageEdit(newName));
+			return new SingleElementIterable<ReplaceEdit>(this.createRenamePackageEdit(newName));
 		}
 		return EmptyIterable.instance();
 	}
 
-	protected ReplaceEdit createReplacePackageEdit(String newName) {
-		return this.xmlJavaClassRef.createReplacePackageEdit(newName);
+	protected ReplaceEdit createRenamePackageEdit(String newName) {
+		return this.xmlJavaClassRef.createRenamePackageEdit(newName);
 	}
 
 
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa1/context/persistence/GenericMappingFileRef.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa1/context/persistence/GenericMappingFileRef.java
index 23140da..223db62 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa1/context/persistence/GenericMappingFileRef.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa1/context/persistence/GenericMappingFileRef.java
@@ -103,39 +103,39 @@
 	}
 
 	@Override
-	protected ReplaceEdit createReplaceEdit(IFile originalFile, String newName) {
-		return this.xmlMappingFileRef.createReplaceEdit(originalFile, newName);
+	protected ReplaceEdit createRenameEdit(IFile originalFile, String newName) {
+		return this.xmlMappingFileRef.createRenameEdit(originalFile, newName);
 	}
 
-	public Iterable<ReplaceEdit> createReplaceFolderEdits(IFolder originalFolder, String newName) {
+	public Iterable<ReplaceEdit> createRenameFolderEdits(IFolder originalFolder, String newName) {
 		if (this.isIn(originalFolder)) {
-			return new SingleElementIterable<ReplaceEdit>(this.createReplaceFolderEdit(originalFolder, newName));
+			return new SingleElementIterable<ReplaceEdit>(this.createRenameFolderEdit(originalFolder, newName));
 		}
 		return EmptyIterable.instance();
 	}
 
-	protected ReplaceEdit createReplaceFolderEdit(IFolder originalFolder, String newName) {
-		return this.xmlMappingFileRef.createReplaceFolderEdit(originalFolder, newName);
+	protected ReplaceEdit createRenameFolderEdit(IFolder originalFolder, String newName) {
+		return this.xmlMappingFileRef.createRenameFolderEdit(originalFolder, newName);
 	}
 
 	@Override
-	protected ReplaceEdit createReplaceEdit(IFile originalFile, IPath runtineDestination) {
-		return this.xmlMappingFileRef.createReplaceEdit(originalFile, runtineDestination);
+	protected ReplaceEdit createMoveEdit(IFile originalFile, IPath runtineDestination) {
+		return this.xmlMappingFileRef.createMoveEdit(originalFile, runtineDestination);
 	}
 
-	public Iterable<ReplaceEdit> createMoveFolderReplaceEdits(IFolder originalFolder, IPath runtimeDestination) {
+	public Iterable<ReplaceEdit> createMoveFolderEdits(IFolder originalFolder, IPath runtimeDestination) {
 		if (this.isIn(originalFolder)) {
 			IProject project = originalFolder.getProject();
 			IPath fullPath = originalFolder.getFullPath();
 			IPath originalLocation = JptCorePlugin.getResourceLocator(project).getRuntimePath(project, fullPath);
 			
-			return new SingleElementIterable<ReplaceEdit>(this.createReplaceEdit(originalLocation, runtimeDestination));
+			return new SingleElementIterable<ReplaceEdit>(this.createMoveEdit(originalLocation, runtimeDestination));
 		}
 		return EmptyIterable.instance();
 	}
 
-	protected ReplaceEdit createReplaceEdit(IPath originalLocation, IPath runtineDestination) {
-		return this.xmlMappingFileRef.createReplaceEdit(originalLocation, runtineDestination);
+	protected ReplaceEdit createMoveEdit(IPath originalLocation, IPath runtineDestination) {
+		return this.xmlMappingFileRef.createMoveEdit(originalLocation, runtineDestination);
 	}
 
 }
\ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa1/context/persistence/GenericPersistenceUnitProperty.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa1/context/persistence/GenericPersistenceUnitProperty.java
index 2b18c10..fc61691 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa1/context/persistence/GenericPersistenceUnitProperty.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa1/context/persistence/GenericPersistenceUnitProperty.java
@@ -107,34 +107,34 @@
 
 	// ********** refactoring **********
 
-	public Iterable<ReplaceEdit> createReplaceTypeEdits(IType originalType, String newName) {
+	public Iterable<ReplaceEdit> createRenameTypeEdits(IType originalType, String newName) {
 		if (this.getValue() != null && this.getValue().equals(originalType.getFullyQualifiedName('.'))) {
-			return new SingleElementIterable<ReplaceEdit>(this.createReplaceTypeEdit(originalType, newName));
+			return new SingleElementIterable<ReplaceEdit>(this.createRenameTypeEdit(originalType, newName));
 		}
 		return EmptyIterable.instance();
 	}
 
-	protected ReplaceEdit createReplaceTypeEdit(IType originalType, String newName) {
-		return this.xmlProperty.createReplaceTypeEdit(originalType, newName);
+	protected ReplaceEdit createRenameTypeEdit(IType originalType, String newName) {
+		return this.xmlProperty.createRenameTypeEdit(originalType, newName);
 	}
 
-	public Iterable<ReplaceEdit> createMoveTypeReplaceEdits(IType originalType, IPackageFragment newPackage) {
+	public Iterable<ReplaceEdit> createMoveTypeEdits(IType originalType, IPackageFragment newPackage) {
 		if (this.getValue() != null && this.getValue().equals(originalType.getFullyQualifiedName('.'))) {
-			return new SingleElementIterable<ReplaceEdit>(this.createReplacePackageEdit(newPackage.getElementName()));
+			return new SingleElementIterable<ReplaceEdit>(this.createRenamePackageEdit(newPackage.getElementName()));
 		}
 		return EmptyIterable.instance();
 	}
 
-	public Iterable<ReplaceEdit> createReplacePackageEdits(IPackageFragment originalPackage, String newName) {
+	public Iterable<ReplaceEdit> createRenamePackageEdits(IPackageFragment originalPackage, String newName) {
 		String packageName = getValuePackageName();
 		if (packageName != null && packageName.equals(originalPackage.getElementName())) {
-			return new SingleElementIterable<ReplaceEdit>(this.createReplacePackageEdit(newName));
+			return new SingleElementIterable<ReplaceEdit>(this.createRenamePackageEdit(newName));
 		}
 		return EmptyIterable.instance();
 	}
 
-	protected ReplaceEdit createReplacePackageEdit(String newName) {
-		return this.xmlProperty.createReplacePackageEdit(newName);
+	protected ReplaceEdit createRenamePackageEdit(String newName) {
+		return this.xmlProperty.createRenamePackageEdit(newName);
 	}
 
 
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa1/context/persistence/ImpliedMappingFileRef.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa1/context/persistence/ImpliedMappingFileRef.java
index b44f988..706f3bc 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa1/context/persistence/ImpliedMappingFileRef.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa1/context/persistence/ImpliedMappingFileRef.java
@@ -77,12 +77,12 @@
 		throw new IllegalStateException("Cannot delete this reference since it is implied"); //$NON-NLS-1$
 	}
 
-	public Iterable<ReplaceEdit> createReplaceFolderEdits(IFolder originalFolder, String newName) {
+	public Iterable<ReplaceEdit> createRenameFolderEdits(IFolder originalFolder, String newName) {
 		throw new IllegalStateException("Cannot replace this reference since it is implied"); //$NON-NLS-1$
 	}
 
 	@Override
-	protected ReplaceEdit createReplaceEdit(IFile originalFile, String newName) {
+	protected ReplaceEdit createRenameEdit(IFile originalFile, String newName) {
 		StringBuffer buffer = new StringBuffer();
 		String location = getFileName().substring(0, getFileName().lastIndexOf('/'));
 		buffer.append("\n\t\t<mapping-file>"); //$NON-NLS-1$
@@ -93,7 +93,7 @@
 	}
 
 	@Override
-	protected ReplaceEdit createReplaceEdit(IFile originalFile, IPath runtineDestination) {
+	protected ReplaceEdit createMoveEdit(IFile originalFile, IPath runtineDestination) {
 		StringBuffer buffer = new StringBuffer();
 		buffer.append("\n\t\t<mapping-file>"); //$NON-NLS-1$
 		buffer.append(runtineDestination.append(originalFile.getName())).toString();
@@ -102,7 +102,7 @@
 		return new ReplaceEdit(offset, 0, buffer.toString());
 	}
 
-	public Iterable<ReplaceEdit> createMoveFolderReplaceEdits(IFolder originalFolder, IPath runtimeDestination) {
+	public Iterable<ReplaceEdit> createMoveFolderEdits(IFolder originalFolder, IPath runtimeDestination) {
 		throw new IllegalStateException("Cannot replace this reference since it is implied"); //$NON-NLS-1$
 	}
 }
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa2/context/orm/AbstractOrmElementCollectionMapping2_0.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa2/context/orm/AbstractOrmElementCollectionMapping2_0.java
index bf84ed4..673c9b2 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa2/context/orm/AbstractOrmElementCollectionMapping2_0.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa2/context/orm/AbstractOrmElementCollectionMapping2_0.java
@@ -1039,32 +1039,32 @@
 
 	@SuppressWarnings("unchecked")
 	@Override
-	public Iterable<ReplaceEdit> createReplaceTypeEdits(IType originalType, String newName) {
+	public Iterable<ReplaceEdit> createRenameTypeEdits(IType originalType, String newName) {
 		return new CompositeIterable<ReplaceEdit>(
-			super.createReplaceTypeEdits(originalType, newName),
-			this.createMapKeyClassReplaceTypeEdits(originalType, newName),
-			this.createTargetClassReplaceTypeEdits(originalType, newName));
+			super.createRenameTypeEdits(originalType, newName),
+			this.createMapKeyClassRenameTypeEdits(originalType, newName),
+			this.createTargetClassRenameTypeEdits(originalType, newName));
 	}
 
-	protected Iterable<ReplaceEdit> createMapKeyClassReplaceTypeEdits(IType originalType, String newName) {
+	protected Iterable<ReplaceEdit> createMapKeyClassRenameTypeEdits(IType originalType, String newName) {
 		if (this.specifiedMapKeyClass != null) {
 			String originalName = originalType.getFullyQualifiedName('.');
 			if (this.resolvedMapKeyType != null && this.resolvedMapKeyType.isFor(originalName)) {
-				return new SingleElementIterable<ReplaceEdit>(this.createReplaceMapKeyClassEdit(originalType, newName));
+				return new SingleElementIterable<ReplaceEdit>(this.createRenameMapKeyClassEdit(originalType, newName));
 			}
 		}
 		return EmptyIterable.instance();
 	}
 
-	protected ReplaceEdit createReplaceMapKeyClassEdit(IType originalType, String newName) {
-		return this.resourceAttributeMapping.createReplaceMapKeyClassEdit(originalType, newName);
+	protected ReplaceEdit createRenameMapKeyClassEdit(IType originalType, String newName) {
+		return this.resourceAttributeMapping.createRenameMapKeyClassEdit(originalType, newName);
 	}
 
-	protected Iterable<ReplaceEdit> createTargetClassReplaceTypeEdits(IType originalType, String newName) {
+	protected Iterable<ReplaceEdit> createTargetClassRenameTypeEdits(IType originalType, String newName) {
 		if (this.specifiedTargetClass != null) {
 			String originalName = originalType.getFullyQualifiedName('.');
 			if (this.resolvedTargetType != null && this.resolvedTargetType.isFor(originalName)) {
-				return new SingleElementIterable<ReplaceEdit>(this.resourceAttributeMapping.createReplaceTargetClassEdit(originalType, newName));
+				return new SingleElementIterable<ReplaceEdit>(this.resourceAttributeMapping.createRenameTargetClassEdit(originalType, newName));
 			}
 		}
 		return EmptyIterable.instance();
@@ -1072,28 +1072,28 @@
 
 	@SuppressWarnings("unchecked")
 	@Override
-	public Iterable<ReplaceEdit> createMoveTypeReplaceEdits(IType originalType, IPackageFragment newPackage) {
+	public Iterable<ReplaceEdit> createMoveTypeEdits(IType originalType, IPackageFragment newPackage) {
 		return new CompositeIterable<ReplaceEdit>(
-			super.createMoveTypeReplaceEdits(originalType, newPackage),
-			this.createMapKeyClassMoveTypeReplaceEdits(originalType, newPackage),
-			this.createTargetClassMoveTypeReplaceEdits(originalType, newPackage));
+			super.createMoveTypeEdits(originalType, newPackage),
+			this.createMapKeyClassMoveTypeEdits(originalType, newPackage),
+			this.createTargetClassMoveTypeEdits(originalType, newPackage));
 	}
 
-	protected Iterable<ReplaceEdit> createMapKeyClassMoveTypeReplaceEdits(IType originalType, IPackageFragment newPackage) {
+	protected Iterable<ReplaceEdit> createMapKeyClassMoveTypeEdits(IType originalType, IPackageFragment newPackage) {
 		if (this.specifiedMapKeyClass != null) {
 			String originalName = originalType.getFullyQualifiedName('.');
 			if (this.resolvedMapKeyType != null && this.resolvedMapKeyType.isFor(originalName)) {
-				return new SingleElementIterable<ReplaceEdit>(this.createReplaceMapKeyPackageEdit(newPackage.getElementName()));
+				return new SingleElementIterable<ReplaceEdit>(this.createMapKeyClassRenamePackageEdit(newPackage.getElementName()));
 			}
 		}
 		return EmptyIterable.instance();
 	}
 
-	protected Iterable<ReplaceEdit> createTargetClassMoveTypeReplaceEdits(IType originalType, IPackageFragment newPackage) {
+	protected Iterable<ReplaceEdit> createTargetClassMoveTypeEdits(IType originalType, IPackageFragment newPackage) {
 		if (this.specifiedTargetClass != null) {
 			String originalName = originalType.getFullyQualifiedName('.');
 			if (this.resolvedTargetType != null && this.resolvedTargetType.isFor(originalName)) {
-				return new SingleElementIterable<ReplaceEdit>(this.resourceAttributeMapping.createReplaceTargetClassPackageEdit(newPackage.getElementName()));
+				return new SingleElementIterable<ReplaceEdit>(this.resourceAttributeMapping.createRenameTargetClassPackageEdit(newPackage.getElementName()));
 			}
 		}
 		return EmptyIterable.instance();
@@ -1101,30 +1101,30 @@
 
 	@SuppressWarnings("unchecked")
 	@Override
-	public Iterable<ReplaceEdit> createReplacePackageEdits(IPackageFragment originalPackage, String newName) {
+	public Iterable<ReplaceEdit> createRenamePackageEdits(IPackageFragment originalPackage, String newName) {
 		return new CompositeIterable<ReplaceEdit>(
-			super.createReplacePackageEdits(originalPackage, newName),
-			this.createMapKeyClassReplacePackageEdits(originalPackage, newName),
-			this.createTargetClassReplacePackageEdits(originalPackage, newName));
+			super.createRenamePackageEdits(originalPackage, newName),
+			this.createMapKeyClassRenamePackageEdits(originalPackage, newName),
+			this.createTargetClassRenamePackageEdits(originalPackage, newName));
 	}
 
-	protected Iterable<ReplaceEdit> createMapKeyClassReplacePackageEdits(IPackageFragment originalPackage, String newName) {
+	protected Iterable<ReplaceEdit> createMapKeyClassRenamePackageEdits(IPackageFragment originalPackage, String newName) {
 		if (this.specifiedMapKeyClass != null) {
 			if (this.resolvedMapKeyType != null && this.resolvedMapKeyType.isIn(originalPackage)) {
-				return new SingleElementIterable<ReplaceEdit>(this.createReplaceMapKeyPackageEdit(newName));
+				return new SingleElementIterable<ReplaceEdit>(this.createMapKeyClassRenamePackageEdit(newName));
 			}
 		}
 		return EmptyIterable.instance();
 	}
 
-	protected ReplaceEdit createReplaceMapKeyPackageEdit(String newName) {
-		return this.resourceAttributeMapping.createReplaceMapKeyClassPackageEdit(newName);
+	protected ReplaceEdit createMapKeyClassRenamePackageEdit(String newName) {
+		return this.resourceAttributeMapping.createRenameMapKeyClassPackageEdit(newName);
 	}
 
-	protected Iterable<ReplaceEdit> createTargetClassReplacePackageEdits(IPackageFragment originalPackage, String newName) {
+	protected Iterable<ReplaceEdit> createTargetClassRenamePackageEdits(IPackageFragment originalPackage, String newName) {
 		if (this.specifiedTargetClass != null) {
 			if (this.resolvedTargetType != null && this.resolvedTargetType.isIn(originalPackage)) {
-				return new SingleElementIterable<ReplaceEdit>(this.resourceAttributeMapping.createReplaceTargetClassPackageEdit(newName));
+				return new SingleElementIterable<ReplaceEdit>(this.resourceAttributeMapping.createRenameTargetClassPackageEdit(newName));
 			}
 		}
 		return EmptyIterable.instance();
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/refactoring/JpaMoveFolderParticipant.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/refactoring/JpaMoveFolderParticipant.java
index 501fe00..e933786 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/refactoring/JpaMoveFolderParticipant.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/refactoring/JpaMoveFolderParticipant.java
@@ -194,7 +194,7 @@
 		IProject project = destination.getProject();
 		IPath fullPath = destination.getFullPath().append(folder.getName());
 		IPath runtimePath = JptCorePlugin.getResourceLocator(project).getRuntimePath(project, fullPath);
-		return persistenceUnit.createMoveFolderReplaceEdits(folder, runtimePath);
+		return persistenceUnit.createMoveFolderEdits(folder, runtimePath);
 	}
 	
 	protected void addPersistenceXmlRenameChange(IFile persistenceXmlFile, CompositeChange compositeChange) {
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/refactoring/JpaMoveMappingFileParticipant.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/refactoring/JpaMoveMappingFileParticipant.java
index 29f233d..1133f58 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/refactoring/JpaMoveMappingFileParticipant.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/refactoring/JpaMoveMappingFileParticipant.java
@@ -197,7 +197,7 @@
 		IProject project = destination.getProject();
 		IPath fullPath = destination.getFullPath();
 		IPath runtimePath = JptCorePlugin.getResourceLocator(project).getRuntimePath(project, fullPath);
-		return persistenceUnit.createReplaceMappingFileEdits(mappingFile, runtimePath);
+		return persistenceUnit.createMoveMappingFileEdits(mappingFile, runtimePath);
 	}
 	
 	protected void addPersistenceXmlRenameMappingFileChange(IFile persistenceXmlFile, CompositeChange compositeChange) {
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/refactoring/JpaMoveTypeParticipant.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/refactoring/JpaMoveTypeParticipant.java
index d5b0f7f..96f9b0b 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/refactoring/JpaMoveTypeParticipant.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/refactoring/JpaMoveTypeParticipant.java
@@ -64,18 +64,18 @@
 	protected Iterable<ReplaceEdit> createPersistenceXmlReplaceEdits(PersistenceUnit persistenceUnit, IJavaElement javaElement, Object destination) {
 		IType type = (IType) javaElement;
 		if (((IJavaElement) destination).getElementType() == IJavaElement.PACKAGE_FRAGMENT) {
-			return persistenceUnit.createMoveTypeReplaceEdits(type, (IPackageFragment) destination);
+			return persistenceUnit.createMoveTypeEdits(type, (IPackageFragment) destination);
 		}
-		return persistenceUnit.createReplaceTypeEdits(type, getNewNameForNestedType(type, (IType) destination));
+		return persistenceUnit.createRenameTypeEdits(type, getNewNameForNestedType(type, (IType) destination));
 	}
 
 	@Override
 	protected Iterable<ReplaceEdit> createMappingFileReplaceEdits(MappingFileRef mappingFileRef, IJavaElement javaElement, Object destination) {
 		IType type = (IType) javaElement;
 		if (((IJavaElement) destination).getElementType() == IJavaElement.PACKAGE_FRAGMENT) {
-			return mappingFileRef.createMoveTypeReplaceEdits(type, (IPackageFragment) destination);
+			return mappingFileRef.createMoveTypeEdits(type, (IPackageFragment) destination);
 		}
-		return mappingFileRef.createReplaceTypeEdits(type, getNewNameForNestedType(type, (IType) destination));
+		return mappingFileRef.createRenameTypeEdits(type, getNewNameForNestedType(type, (IType) destination));
 	}
 
 	protected String getNewNameForNestedType(IType nestedType, IType destination) {
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/refactoring/JpaRenameFolderParticipant.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/refactoring/JpaRenameFolderParticipant.java
index dfd399d..9a50ebd 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/refactoring/JpaRenameFolderParticipant.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/refactoring/JpaRenameFolderParticipant.java
@@ -148,7 +148,7 @@
 
 	private Iterable<ReplaceEdit> createPersistenceUnitReplaceEdits(final PersistenceUnit persistenceUnit) {
 		if (persistenceUnit.getJpaProject().getJavaProject().isOnClasspath(this.originalFolder) || persistenceUnit.getJpaProject().getProject() == this.originalFolder.getProject()) {
-			return persistenceUnit.createReplaceFolderEdits(this.originalFolder, getArguments().getNewName());
+			return persistenceUnit.createRenameFolderEdits(this.originalFolder, getArguments().getNewName());
 		}
 		return EmptyIterable.instance();
 	}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/refactoring/JpaRenameMappingFileParticipant.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/refactoring/JpaRenameMappingFileParticipant.java
index f7ad775..68d0814 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/refactoring/JpaRenameMappingFileParticipant.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/refactoring/JpaRenameMappingFileParticipant.java
@@ -145,7 +145,7 @@
 	}
 
 	private Iterable<ReplaceEdit> createMappingFileRefReplaceEdits(final PersistenceUnit persistenceUnit) {
-		return persistenceUnit.createReplaceMappingFileEdits(this.originalMappingFile, getArguments().getNewName());
+		return persistenceUnit.createRenameMappingFileEdits(this.originalMappingFile, getArguments().getNewName());
 	}
 	
 	protected void addPersistenceXmlRenameMappingFileChange(IFile persistenceXmlFile, CompositeChange compositeChange) {
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/refactoring/JpaRenamePackageParticipant.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/refactoring/JpaRenamePackageParticipant.java
index 941fa4e..cff31cf 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/refactoring/JpaRenamePackageParticipant.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/refactoring/JpaRenamePackageParticipant.java
@@ -36,12 +36,12 @@
 
 	@Override
 	protected Iterable<ReplaceEdit> createPersistenceXmlReplaceEdits(PersistenceUnit persistenceUnit) {	
-		return persistenceUnit.createReplacePackageEdits(this.getOriginalPackage(), this.getNewName());
+		return persistenceUnit.createRenamePackageEdits(this.getOriginalPackage(), this.getNewName());
 	}
 
 	@Override
 	protected Iterable<ReplaceEdit> createMappingFileReplaceEdits(MappingFileRef mappingFileRef) {
-		return mappingFileRef.createReplacePackageEdits(this.getOriginalPackage(), this.getNewName());
+		return mappingFileRef.createRenamePackageEdits(this.getOriginalPackage(), this.getNewName());
 	}
 
 	protected String getNewName() {
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/refactoring/JpaRenameTypeParticipant.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/refactoring/JpaRenameTypeParticipant.java
index 6333401..0668838 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/refactoring/JpaRenameTypeParticipant.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/refactoring/JpaRenameTypeParticipant.java
@@ -82,7 +82,7 @@
 	}
 
 	private Iterable<ReplaceEdit> createPersistenceXmlReplaceOriginalTypeEdits(PersistenceUnit persistenceUnit) {
-		return persistenceUnit.createReplaceTypeEdits(this.getOriginalType(), this.getNewName());
+		return persistenceUnit.createRenameTypeEdits(this.getOriginalType(), this.getNewName());
 	}
 
 	private Iterable<ReplaceEdit> createPersistenceXmlReplaceNestedTypeEdits(final PersistenceUnit persistenceUnit) {
@@ -91,7 +91,7 @@
 				@Override
 				protected Iterable<ReplaceEdit> transform(IType nestedType) {
 					String newName = getNewNameForNestedType(nestedType);
-					return persistenceUnit.createReplaceTypeEdits(nestedType, newName);
+					return persistenceUnit.createRenameTypeEdits(nestedType, newName);
 				}
 			}
 		);
@@ -106,7 +106,7 @@
 	}
 
 	private Iterable<ReplaceEdit> createMappingFileReplaceOriginalTypeEdits(MappingFileRef mappingFileRef) {
-		return mappingFileRef.createReplaceTypeEdits(this.getOriginalType(), this.getNewName());
+		return mappingFileRef.createRenameTypeEdits(this.getOriginalType(), this.getNewName());
 	}
 
 	private Iterable<ReplaceEdit> createMappingFileReplaceNestedTypeEdits(final MappingFileRef mappingFileRef) {
@@ -115,7 +115,7 @@
 				@Override
 				protected Iterable<ReplaceEdit> transform(IType nestedType) {
 					String newName = getNewNameForNestedType(nestedType);
-					return mappingFileRef.createReplaceTypeEdits(nestedType, newName);
+					return mappingFileRef.createRenameTypeEdits(nestedType, newName);
 				}
 			}
 		);
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/resource/orm/AbstractXmlMultiRelationshipMapping.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/resource/orm/AbstractXmlMultiRelationshipMapping.java
index 3f4bba0..0cb5354 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/resource/orm/AbstractXmlMultiRelationshipMapping.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/resource/orm/AbstractXmlMultiRelationshipMapping.java
@@ -1089,12 +1089,12 @@
 
 	// ********** refactoring **********
 
-	public ReplaceEdit createReplaceMapKeyClassEdit(IType originalType, String newName) {
-		return getMapKeyClass().createReplaceEdit(originalType, newName);
+	public ReplaceEdit createRenameMapKeyClassEdit(IType originalType, String newName) {
+		return getMapKeyClass().createRenameEdit(originalType, newName);
 	}
 
-	public ReplaceEdit createReplaceMapKeyClassPackageEdit(String newName) {
-		return getMapKeyClass().createReplacePackageEdit(newName);		
+	public ReplaceEdit createRenameMapKeyClassPackageEdit(String newName) {
+		return getMapKeyClass().createRenamePackageEdit(newName);		
 	}
 
 }
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/resource/orm/AbstractXmlRelationshipMapping.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/resource/orm/AbstractXmlRelationshipMapping.java
index acc4799..ce55da6 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/resource/orm/AbstractXmlRelationshipMapping.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/resource/orm/AbstractXmlRelationshipMapping.java
@@ -384,14 +384,14 @@
 
 	// ********** refactoring **********
 
-	public ReplaceEdit createReplaceTargetEntityEdit(IType originalType, String newName) {
+	public ReplaceEdit createRenameTargetEntityEdit(IType originalType, String newName) {
 		String originalName = originalType.getElementName();
 		int nameIndex = this.targetEntity.lastIndexOf(originalName);
 		int offset = getAttributeNode(JPA.TARGET_ENTITY).getValueRegionStartOffset() + 1;
 		return new ReplaceEdit(offset + nameIndex, originalName.length(), newName);
 	}
 
-	public ReplaceEdit createReplaceTargetEntityPackageEdit(String newName) {
+	public ReplaceEdit createRenameTargetEntityPackageEdit(String newName) {
 		int packageLength = this.targetEntity.lastIndexOf('.');
 		int offset = getAttributeNode(JPA.TARGET_ENTITY).getValueRegionStartOffset() + 1; // +1 = opening double quote
 		return new ReplaceEdit(offset, packageLength, newName);
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/resource/orm/AbstractXmlTypeMapping.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/resource/orm/AbstractXmlTypeMapping.java
index 182d017..ccf3559 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/resource/orm/AbstractXmlTypeMapping.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/resource/orm/AbstractXmlTypeMapping.java
@@ -523,14 +523,14 @@
 
 	// ********** refactoring **********
 
-	public ReplaceEdit createReplaceTypeEdit(IType originalType, String newName) {
+	public ReplaceEdit createRenameTypeEdit(IType originalType, String newName) {
 		String originalName = originalType.getTypeQualifiedName();
 		int nameIndex = this.className.lastIndexOf(originalName);
 		int offset = getAttributeNode(JPA.CLASS).getValueRegionStartOffset() + 1; // +1 = opening double quote
 		return new ReplaceEdit(offset + nameIndex, originalName.length(), newName);
 	}
 
-	public ReplaceEdit createReplacePackageEdit(String newName) {
+	public ReplaceEdit createRenamePackageEdit(String newName) {
 		int packageLength = this.className.lastIndexOf('.');
 		if (packageLength == -1) {
 			packageLength = 0;
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/resource/orm/XmlClassReference.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/resource/orm/XmlClassReference.java
index 12e5885..651b13e 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/resource/orm/XmlClassReference.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/resource/orm/XmlClassReference.java
@@ -229,7 +229,7 @@
 		return new Translator(JPA.CLASS, OrmPackage.eINSTANCE.getXmlClassReference_ClassName(), Translator.DOM_ATTRIBUTE);
 	}
 
-	public ReplaceEdit createReplaceEdit(IType originalType, String newName) {
+	public ReplaceEdit createRenameEdit(IType originalType, String newName) {
 		String originalName = originalType.getTypeQualifiedName();
 		int nameIndex = this.className.lastIndexOf(originalName);
 
@@ -237,7 +237,7 @@
 		return new ReplaceEdit(offset + nameIndex, originalName.length(), newName);
 	}
 
-	public ReplaceEdit createReplacePackageEdit(String newName) {
+	public ReplaceEdit createRenamePackageEdit(String newName) {
 		int packageLength = this.className.lastIndexOf('.');
 		int offset = getAttributeNode(JPA.CLASS).getValueRegionStartOffset() + 1; // +1 = opening double quote
 		return new ReplaceEdit(offset, packageLength, newName);
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/resource/orm/XmlElementCollection.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/resource/orm/XmlElementCollection.java
index 9880a83..cba4670 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/resource/orm/XmlElementCollection.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/resource/orm/XmlElementCollection.java
@@ -1636,25 +1636,25 @@
 
 	// ********** refactoring **********
 
-	public ReplaceEdit createReplaceTargetClassEdit(IType originalType, String newName) {
+	public ReplaceEdit createRenameTargetClassEdit(IType originalType, String newName) {
 		String originalName = originalType.getElementName();
 		int nameIndex = this.targetClass.lastIndexOf(originalName);
 		int offset = getAttributeNode(JPA2_0.TARGET_CLASS).getValueRegionStartOffset() + 1;
 		return new ReplaceEdit(offset + nameIndex, originalName.length(), newName);
 	}
 
-	public ReplaceEdit createReplaceMapKeyClassEdit(IType originalType, String newName) {
-		return getMapKeyClass().createReplaceEdit(originalType, newName);
+	public ReplaceEdit createRenameMapKeyClassEdit(IType originalType, String newName) {
+		return getMapKeyClass().createRenameEdit(originalType, newName);
 	}
 
-	public ReplaceEdit createReplaceTargetClassPackageEdit(String newName) {
+	public ReplaceEdit createRenameTargetClassPackageEdit(String newName) {
 		int packageLength = this.targetClass.lastIndexOf('.');
 		int offset = getAttributeNode(JPA2_0.TARGET_CLASS).getValueRegionStartOffset() + 1; // +1 = opening double quote
 		return new ReplaceEdit(offset, packageLength, newName);
 	}
 
-	public ReplaceEdit createReplaceMapKeyClassPackageEdit(String newName) {
-		return getMapKeyClass().createReplacePackageEdit(newName);		
+	public ReplaceEdit createRenameMapKeyClassPackageEdit(String newName) {
+		return getMapKeyClass().createRenamePackageEdit(newName);		
 	}
 
 }
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/resource/orm/XmlEntityMappings.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/resource/orm/XmlEntityMappings.java
index 2edbf29..b438d4d 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/resource/orm/XmlEntityMappings.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/resource/orm/XmlEntityMappings.java
@@ -1072,19 +1072,19 @@
 			buildSchemaNamespaceTranslator(),
 			buildSchemaLocationTranslator(namespace, versionsToSchemaLocations),
 			buildDescriptionTranslator(),
-			XmlPersistenceUnitMetadata.buildTranslator(JPA2_0.PERSISTENCE_UNIT_METADATA, OrmPackage.eINSTANCE.getXmlEntityMappings_PersistenceUnitMetadata()),
+			XmlPersistenceUnitMetadata.buildTranslator(JPA.PERSISTENCE_UNIT_METADATA, OrmPackage.eINSTANCE.getXmlEntityMappings_PersistenceUnitMetadata()),
 			buildPackageTranslator(),
 			buildSchemaTranslator(),
 			buildCatalogTranslator(),
 			buildAccessTranslator(),
-			XmlSequenceGenerator.buildTranslator(JPA2_0.SEQUENCE_GENERATOR, OrmPackage.eINSTANCE.getXmlEntityMappings_SequenceGenerators()),
-			XmlTableGenerator.buildTranslator(JPA2_0.TABLE_GENERATOR, OrmPackage.eINSTANCE.getXmlEntityMappings_TableGenerators()),
-			XmlNamedQuery.buildTranslator(JPA2_0.NAMED_QUERY, OrmPackage.eINSTANCE.getXmlQueryContainer_NamedQueries()),
-			XmlNamedNativeQuery.buildTranslator(JPA2_0.NAMED_NATIVE_QUERY, OrmPackage.eINSTANCE.getXmlQueryContainer_NamedNativeQueries()),
-			SqlResultSetMapping.buildTranslator(JPA2_0.SQL_RESULT_SET_MAPPING, OrmPackage.eINSTANCE.getXmlEntityMappings_SqlResultSetMappings()),
-			XmlMappedSuperclass.buildTranslator(JPA2_0.MAPPED_SUPERCLASS, OrmPackage.eINSTANCE.getXmlEntityMappings_MappedSuperclasses()),
-			XmlEntity.buildTranslator(JPA2_0.ENTITY, OrmPackage.eINSTANCE.getXmlEntityMappings_Entities()),
-			XmlEmbeddable.buildTranslator(JPA2_0.EMBEDDABLE, OrmPackage.eINSTANCE.getXmlEntityMappings_Embeddables()),
+			XmlSequenceGenerator.buildTranslator(JPA.SEQUENCE_GENERATOR, OrmPackage.eINSTANCE.getXmlEntityMappings_SequenceGenerators()),
+			XmlTableGenerator.buildTranslator(JPA.TABLE_GENERATOR, OrmPackage.eINSTANCE.getXmlEntityMappings_TableGenerators()),
+			XmlNamedQuery.buildTranslator(JPA.NAMED_QUERY, OrmPackage.eINSTANCE.getXmlQueryContainer_NamedQueries()),
+			XmlNamedNativeQuery.buildTranslator(JPA.NAMED_NATIVE_QUERY, OrmPackage.eINSTANCE.getXmlQueryContainer_NamedNativeQueries()),
+			SqlResultSetMapping.buildTranslator(JPA.SQL_RESULT_SET_MAPPING, OrmPackage.eINSTANCE.getXmlEntityMappings_SqlResultSetMappings()),
+			XmlMappedSuperclass.buildTranslator(JPA.MAPPED_SUPERCLASS, OrmPackage.eINSTANCE.getXmlEntityMappings_MappedSuperclasses()),
+			XmlEntity.buildTranslator(JPA.ENTITY, OrmPackage.eINSTANCE.getXmlEntityMappings_Entities()),
+			XmlEmbeddable.buildTranslator(JPA.EMBEDDABLE, OrmPackage.eINSTANCE.getXmlEntityMappings_Embeddables()),
 		};
 	}
 	protected static Translator buildDescriptionTranslator() {
@@ -1110,7 +1110,7 @@
 
 	// ********** refactorings **********
 
-	public ReplaceEdit createReplacePackageEdit(String newName) {
+	public ReplaceEdit createRenamePackageEdit(String newName) {
 		int offset = getElementNode(JPA.PACKAGE).getStartStructuredDocumentRegion().getEndOffset();
 		return new ReplaceEdit(offset, this.package_.length(), newName);		
 	}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/resource/orm/XmlTypeMapping.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/resource/orm/XmlTypeMapping.java
index f1d05e6..5c8d9b5 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/resource/orm/XmlTypeMapping.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/resource/orm/XmlTypeMapping.java
@@ -155,8 +155,8 @@
 
 	// ********** refactoring **********
 
-	ReplaceEdit createReplaceTypeEdit(IType originalType, String newName);
+	ReplaceEdit createRenameTypeEdit(IType originalType, String newName);
 
-	ReplaceEdit createReplacePackageEdit(String newName);
+	ReplaceEdit createRenamePackageEdit(String newName);
 
 } // XmlTypeMapping
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/resource/persistence/XmlJavaClassRef.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/resource/persistence/XmlJavaClassRef.java
index 3734d83..0a47ce3 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/resource/persistence/XmlJavaClassRef.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/resource/persistence/XmlJavaClassRef.java
@@ -233,14 +233,14 @@
 
 	// *********** refactoring ***********
 
-	public ReplaceEdit createReplaceEdit(IType originalType, String newName) {
+	public ReplaceEdit createRenameEdit(IType originalType, String newName) {
 		String originalName = originalType.getTypeQualifiedName();
 		int nameIndex = this.javaClass.lastIndexOf(originalName);
 		int offset = getTextNode().getStartOffset();
 		return new ReplaceEdit(offset + nameIndex, originalName.length(), newName);
 	}
 
-	public ReplaceEdit createReplacePackageEdit(String newName) {
+	public ReplaceEdit createRenamePackageEdit(String newName) {
 		int packageLength = this.javaClass.lastIndexOf('.');
 		int offset = getTextNode().getStartOffset();
 		return new ReplaceEdit(offset, packageLength, newName);
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/resource/persistence/XmlMappingFileRef.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/resource/persistence/XmlMappingFileRef.java
index ae92be9..c28bd92 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/resource/persistence/XmlMappingFileRef.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/resource/persistence/XmlMappingFileRef.java
@@ -242,7 +242,7 @@
 	}
 
 
-	public ReplaceEdit createReplaceEdit(IFile originalFile, String newName) {
+	public ReplaceEdit createRenameEdit(IFile originalFile, String newName) {
 		IDOMNode domNode = getTextNode();
 		String originalName = originalFile.getName();
 		int nameIndex = this.fileName.lastIndexOf(originalName);
@@ -251,7 +251,7 @@
 		return new ReplaceEdit(offset + nameIndex, originalName.length(), newName);
 	}
 
-	public ReplaceEdit createReplaceFolderEdit(IFolder originalFolder, String newName) {
+	public ReplaceEdit createRenameFolderEdit(IFolder originalFolder, String newName) {
 		IDOMNode domNode = getTextNode();
 		String originalName = originalFolder.getName();
 		int nameIndex = this.fileName.indexOf(originalName);
@@ -260,7 +260,7 @@
 		return new ReplaceEdit(offset + nameIndex, originalName.length(), newName);
 	}
 
-	public ReplaceEdit createReplaceEdit(IFile originalFile, IPath destination) {
+	public ReplaceEdit createMoveEdit(IFile originalFile, IPath destination) {
 		String originalName = originalFile.getName();
 		int nameIndex = this.fileName.lastIndexOf(originalName);
 
@@ -268,7 +268,7 @@
 		return new ReplaceEdit(offset, nameIndex - 1, destination.toString());
 	}
 
-	public ReplaceEdit createReplaceEdit(IPath originalLocation, IPath destination) {
+	public ReplaceEdit createMoveEdit(IPath originalLocation, IPath destination) {
 		String originalName = originalLocation.toString();
 
 		int offset = getTextNode().getStartOffset();
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/resource/persistence/XmlProperty.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/resource/persistence/XmlProperty.java
index e7b4e1a..1e0d59f 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/resource/persistence/XmlProperty.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/resource/persistence/XmlProperty.java
@@ -304,7 +304,7 @@
 			);
 	}
 
-	public ReplaceEdit createReplaceTypeEdit(IType originalType, String newName) {
+	public ReplaceEdit createRenameTypeEdit(IType originalType, String newName) {
 		String originalName = originalType.getElementName();
 		int nameIndex = originalType.getFullyQualifiedName('.').lastIndexOf(originalName);
 
@@ -312,7 +312,7 @@
 		return new ReplaceEdit(offset + nameIndex, originalName.length(), newName);
 	}
 
-	public ReplaceEdit createReplacePackageEdit(String newName) {
+	public ReplaceEdit createRenamePackageEdit(String newName) {
 		int packageLength = this.value.lastIndexOf('.');
 
 		int offset = getAttributeNode(JPA.PROPERTY__VALUE).getValueRegionStartOffset() + 1;
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/orm/EclipseLinkEntityMappingsImpl.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/orm/EclipseLinkEntityMappingsImpl.java
index e4134f2..1f63774 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/orm/EclipseLinkEntityMappingsImpl.java
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/orm/EclipseLinkEntityMappingsImpl.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2008, 2009 Oracle. All rights reserved.
+ * Copyright (c) 2008, 2010 Oracle. 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.
@@ -10,12 +10,16 @@
 package org.eclipse.jpt.eclipselink.core.internal.context.orm;
 
 import java.util.List;
+import org.eclipse.jdt.core.IPackageFragment;
+import org.eclipse.jdt.core.IType;
 import org.eclipse.jpt.core.context.orm.OrmXml;
 import org.eclipse.jpt.core.internal.context.orm.AbstractEntityMappings;
 import org.eclipse.jpt.eclipselink.core.context.orm.EclipseLinkConverterHolder;
 import org.eclipse.jpt.eclipselink.core.context.orm.EclipseLinkEntityMappings;
 import org.eclipse.jpt.eclipselink.core.internal.JptEclipseLinkCorePlugin;
 import org.eclipse.jpt.eclipselink.core.resource.orm.XmlEntityMappings;
+import org.eclipse.jpt.utility.internal.iterables.CompositeIterable;
+import org.eclipse.text.edits.ReplaceEdit;
 import org.eclipse.wst.validation.internal.provisional.core.IMessage;
 import org.eclipse.wst.validation.internal.provisional.core.IReporter;
 
@@ -43,6 +47,46 @@
 		super.update();
 		this.converterHolder.update();
 	}
+
+
+	// **************** refactoring *********************************************
+
+	@SuppressWarnings("unchecked")
+	@Override
+	public Iterable<ReplaceEdit> createRenameTypeEdits(IType originalType, String newName) {
+		return new CompositeIterable<ReplaceEdit>(
+			super.createRenameTypeEdits(originalType, newName),
+			this.createConverterRenameTypeEdits(originalType, newName));
+	}
+
+	protected Iterable<ReplaceEdit> createConverterRenameTypeEdits(IType originalType, String newName) {
+		return this.converterHolder.createRenameTypeEdits(originalType, newName);
+	}
+
+	@SuppressWarnings("unchecked")
+	@Override
+	public Iterable<ReplaceEdit> createMoveTypeEdits(IType originalType, IPackageFragment newPackage) {
+		return new CompositeIterable<ReplaceEdit>(
+			super.createMoveTypeEdits(originalType, newPackage),
+			this.createConverterMoveTypeEdits(originalType, newPackage));
+	}
+
+	protected Iterable<ReplaceEdit> createConverterMoveTypeEdits(IType originalType, IPackageFragment newPackage) {
+		return this.converterHolder.createMoveTypeEdits(originalType, newPackage);
+	}
+
+	@SuppressWarnings("unchecked")
+	@Override
+	public Iterable<ReplaceEdit> createRenamePackageEdits(IPackageFragment originalPackage, String newName) {
+		return new CompositeIterable<ReplaceEdit>(
+			super.createRenamePackageEdits(originalPackage, newName),
+			this.createConverterRenamePackageEdits(originalPackage, newName));
+	}
+
+	protected Iterable<ReplaceEdit> createConverterRenamePackageEdits(IPackageFragment originalPackage, String newName) {
+		return this.converterHolder.createRenamePackageEdits(originalPackage, newName);
+	}
+
 	
 	// **************** validation *********************************************
 	
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/orm/OrmEclipseLinkConvert.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/orm/OrmEclipseLinkConvert.java
index 1a9a8c6..bbf1afc 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/orm/OrmEclipseLinkConvert.java
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/orm/OrmEclipseLinkConvert.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2008, 2009 Oracle. All rights reserved.
+ * Copyright (c) 2008, 2010 Oracle. 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.
@@ -10,6 +10,8 @@
 package org.eclipse.jpt.eclipselink.core.internal.context.orm;
 
 import java.util.List;
+import org.eclipse.jdt.core.IPackageFragment;
+import org.eclipse.jdt.core.IType;
 import org.eclipse.jpt.core.context.orm.OrmAttributeMapping;
 import org.eclipse.jpt.core.context.orm.OrmConverter;
 import org.eclipse.jpt.core.internal.context.orm.AbstractOrmXmlContextNode;
@@ -23,6 +25,8 @@
 import org.eclipse.jpt.eclipselink.core.resource.orm.XmlObjectTypeConverter;
 import org.eclipse.jpt.eclipselink.core.resource.orm.XmlStructConverter;
 import org.eclipse.jpt.eclipselink.core.resource.orm.XmlTypeConverter;
+import org.eclipse.jpt.utility.internal.iterables.EmptyIterable;
+import org.eclipse.text.edits.ReplaceEdit;
 import org.eclipse.wst.validation.internal.provisional.core.IMessage;
 import org.eclipse.wst.validation.internal.provisional.core.IReporter;
 
@@ -264,6 +268,32 @@
 		return contextConverter;
 	}
 
+
+	//************************* refactoring ************************
+
+	public Iterable<ReplaceEdit> createRenameTypeEdits(IType originalType, String newName) {
+		if (getConverter() != null) {
+			return getConverter().createRenameTypeEdits(originalType, newName);
+		}
+		return EmptyIterable.instance();
+	}
+
+	public Iterable<ReplaceEdit> createRenamePackageEdits(IPackageFragment originalPackage, String newName) {
+		if (getConverter() != null) {
+			return getConverter().createRenamePackageEdits(originalPackage, newName);
+		}
+		return EmptyIterable.instance();
+	}
+
+	public Iterable<ReplaceEdit> createMoveTypeEdits(IType originalType, IPackageFragment newPackage) {
+		if (getConverter() != null) {
+			return getConverter().createMoveTypeEdits(originalType, newPackage);
+		}
+		return EmptyIterable.instance();
+	}
+		
+	//************************* validation ************************
+
 	@Override
 	public void validate(List<IMessage> messages, IReporter reporter) {
 		super.validate(messages, reporter);
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/orm/OrmEclipseLinkConverter.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/orm/OrmEclipseLinkConverter.java
index b02945f..c975a0b 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/orm/OrmEclipseLinkConverter.java
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/orm/OrmEclipseLinkConverter.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- *  Copyright (c) 2008, 2009  Oracle. 
+ *  Copyright (c) 2008, 2010  Oracle. 
  *  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 
@@ -10,7 +10,10 @@
  *******************************************************************************/
 package org.eclipse.jpt.eclipselink.core.internal.context.orm;
 
+import org.eclipse.jdt.core.IPackageFragment;
+import org.eclipse.jdt.core.IType;
 import org.eclipse.jpt.core.context.XmlContextNode;
+import org.eclipse.jpt.core.context.orm.EntityMappings;
 import org.eclipse.jpt.core.internal.context.orm.AbstractOrmXmlContextNode;
 import org.eclipse.jpt.core.utility.TextRange;
 import org.eclipse.jpt.eclipselink.core.context.EclipseLinkConverter;
@@ -18,6 +21,8 @@
 import org.eclipse.jpt.eclipselink.core.internal.context.persistence.EclipseLinkPersistenceUnit;
 import org.eclipse.jpt.eclipselink.core.resource.orm.XmlNamedConverter;
 import org.eclipse.jpt.utility.internal.StringTools;
+import org.eclipse.jpt.utility.internal.iterables.EmptyIterable;
+import org.eclipse.text.edits.ReplaceEdit;
 
 public abstract class OrmEclipseLinkConverter<T extends XmlNamedConverter>
 	extends AbstractOrmXmlContextNode implements EclipseLinkConverter
@@ -44,6 +49,10 @@
 	public char getEnclosingTypeSeparator() {
 		return '$';
 	}
+
+	protected EntityMappings getEntityMappings() {
+		return (EntityMappings) getMappingFileRoot();
+	}
 	
 	// **************** name ***************************************************
 	
@@ -81,7 +90,19 @@
 		return this.resourceConverter.getName();
 	}
 	
-	
+	public Iterable<ReplaceEdit> createRenameTypeEdits(IType originalType, String newName) {
+		return EmptyIterable.instance();
+	}
+
+	public Iterable<ReplaceEdit> createMoveTypeEdits(IType originalType, IPackageFragment newPackage) {
+		return EmptyIterable.instance();
+	}
+
+	public Iterable<ReplaceEdit> createRenamePackageEdits(IPackageFragment originalPackage, String newName) {
+		return EmptyIterable.instance();
+	}
+
+
 	// **************** validation *********************************************
 	
 	public boolean overrides(EclipseLinkConverter converter) {
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/orm/OrmEclipseLinkConverterHolder.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/orm/OrmEclipseLinkConverterHolder.java
index d071f30..184a4f8 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/orm/OrmEclipseLinkConverterHolder.java
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/orm/OrmEclipseLinkConverterHolder.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2008, 2009 Oracle. All rights reserved.
+ * Copyright (c) 2008, 2010 Oracle. 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.
@@ -13,6 +13,8 @@
 import java.util.Collection;
 import java.util.List;
 import java.util.ListIterator;
+import org.eclipse.jdt.core.IPackageFragment;
+import org.eclipse.jdt.core.IType;
 import org.eclipse.jpt.core.context.XmlContextNode;
 import org.eclipse.jpt.core.internal.context.orm.AbstractOrmXmlContextNode;
 import org.eclipse.jpt.core.utility.TextRange;
@@ -28,6 +30,11 @@
 import org.eclipse.jpt.eclipselink.core.resource.orm.XmlStructConverter;
 import org.eclipse.jpt.eclipselink.core.resource.orm.XmlTypeConverter;
 import org.eclipse.jpt.utility.internal.CollectionTools;
+import org.eclipse.jpt.utility.internal.iterables.CompositeIterable;
+import org.eclipse.jpt.utility.internal.iterables.ListIterable;
+import org.eclipse.jpt.utility.internal.iterables.LiveCloneListIterable;
+import org.eclipse.jpt.utility.internal.iterables.TransformationIterable;
+import org.eclipse.text.edits.ReplaceEdit;
 import org.eclipse.wst.validation.internal.provisional.core.IMessage;
 import org.eclipse.wst.validation.internal.provisional.core.IReporter;
 
@@ -57,6 +64,10 @@
 		return this.customConverters.listIterator();
 	}
 
+	public ListIterable<OrmEclipseLinkCustomConverter> getCustomConverters() {
+		return new LiveCloneListIterable<OrmEclipseLinkCustomConverter>(this.customConverters);
+	}
+
 	public int customConvertersSize() {
 		return this.customConverters.size();
 	}
@@ -106,6 +117,10 @@
 		return this.objectTypeConverters.listIterator();
 	}
 
+	public ListIterable<OrmEclipseLinkObjectTypeConverter> getObjectTypeConverters() {
+		return new LiveCloneListIterable<OrmEclipseLinkObjectTypeConverter>(this.objectTypeConverters);
+	}
+
 	public int objectTypeConvertersSize() {
 		return this.objectTypeConverters.size();
 	}
@@ -155,6 +170,10 @@
 		return this.structConverters.listIterator();
 	}
 
+	public ListIterable<OrmEclipseLinkStructConverter> getStructConverters() {
+		return new LiveCloneListIterable<OrmEclipseLinkStructConverter>(this.structConverters);
+	}
+
 	public int structConvertersSize() {
 		return this.structConverters.size();
 	}
@@ -205,6 +224,10 @@
 		return this.typeConverters.listIterator();
 	}
 
+	public ListIterable<OrmEclipseLinkTypeConverter> getTypeConverters() {
+		return new LiveCloneListIterable<OrmEclipseLinkTypeConverter>(this.typeConverters);
+	}
+
 	public int typeConvertersSize() {
 		return this.typeConverters.size();
 	}
@@ -436,6 +459,169 @@
 		}	
 	}
 
+
+	//************************* refactoring ************************
+
+	@SuppressWarnings("unchecked")
+	public Iterable<ReplaceEdit> createRenameTypeEdits(IType originalType, String newName) {
+		return new CompositeIterable<ReplaceEdit>(
+			this.createRenameObjectTypeConverterEdits(originalType, newName),
+			this.createRenameTypeConverterEdits(originalType, newName),
+			this.createRenameStructConverterEdits(originalType, newName),
+			this.createRenameCustomConverterEdits(originalType, newName));
+	}
+
+	protected Iterable<ReplaceEdit> createRenameObjectTypeConverterEdits(final IType originalType, final String newName) {
+		return new CompositeIterable<ReplaceEdit>(
+			new TransformationIterable<OrmEclipseLinkObjectTypeConverter, Iterable<ReplaceEdit>>(getObjectTypeConverters()) {
+				@Override
+				protected Iterable<ReplaceEdit> transform(OrmEclipseLinkObjectTypeConverter objectTypeConverter) {
+					return objectTypeConverter.createRenameTypeEdits(originalType, newName);
+				}
+			}
+		);
+	}
+
+	protected Iterable<ReplaceEdit> createRenameTypeConverterEdits(final IType originalType, final String newName) {
+		return new CompositeIterable<ReplaceEdit>(
+			new TransformationIterable<OrmEclipseLinkTypeConverter, Iterable<ReplaceEdit>>(getTypeConverters()) {
+				@Override
+				protected Iterable<ReplaceEdit> transform(OrmEclipseLinkTypeConverter typeConverter) {
+					return typeConverter.createRenameTypeEdits(originalType, newName);
+				}
+			}
+		);
+	}
+
+	protected Iterable<ReplaceEdit> createRenameStructConverterEdits(final IType originalType, final String newName) {
+		return new CompositeIterable<ReplaceEdit>(
+			new TransformationIterable<OrmEclipseLinkStructConverter, Iterable<ReplaceEdit>>(getStructConverters()) {
+				@Override
+				protected Iterable<ReplaceEdit> transform(OrmEclipseLinkStructConverter structConverter) {
+					return structConverter.createRenameTypeEdits(originalType, newName);
+				}
+			}
+		);
+	}
+
+	protected Iterable<ReplaceEdit> createRenameCustomConverterEdits(final IType originalType, final String newName) {
+		return new CompositeIterable<ReplaceEdit>(
+			new TransformationIterable<OrmEclipseLinkCustomConverter, Iterable<ReplaceEdit>>(getCustomConverters()) {
+				@Override
+				protected Iterable<ReplaceEdit> transform(OrmEclipseLinkCustomConverter customConverter) {
+					return customConverter.createRenameTypeEdits(originalType, newName);
+				}
+			}
+		);
+	}
+
+	@SuppressWarnings("unchecked")
+	public Iterable<ReplaceEdit> createMoveTypeEdits(IType originalType, IPackageFragment newPackage) {
+		return new CompositeIterable<ReplaceEdit>(
+			this.createMoveObjectTypeConverterEdits(originalType, newPackage),
+			this.createMoveTypeConverterEdits(originalType, newPackage),
+			this.createMoveStructConverterEdits(originalType, newPackage),
+			this.createMoveCustomConverterEdits(originalType, newPackage));
+	}
+
+	protected Iterable<ReplaceEdit> createMoveObjectTypeConverterEdits(final IType originalType, final IPackageFragment newPackage) {
+		return new CompositeIterable<ReplaceEdit>(
+			new TransformationIterable<OrmEclipseLinkObjectTypeConverter, Iterable<ReplaceEdit>>(getObjectTypeConverters()) {
+				@Override
+				protected Iterable<ReplaceEdit> transform(OrmEclipseLinkObjectTypeConverter objectTypeConverter) {
+					return objectTypeConverter.createMoveTypeEdits(originalType, newPackage);
+				}
+			}
+		);
+	}
+
+	protected Iterable<ReplaceEdit> createMoveTypeConverterEdits(final IType originalType, final IPackageFragment newPackage) {
+		return new CompositeIterable<ReplaceEdit>(
+			new TransformationIterable<OrmEclipseLinkTypeConverter, Iterable<ReplaceEdit>>(getTypeConverters()) {
+				@Override
+				protected Iterable<ReplaceEdit> transform(OrmEclipseLinkTypeConverter typeConverter) {
+					return typeConverter.createMoveTypeEdits(originalType, newPackage);
+				}
+			}
+		);
+	}
+
+	protected Iterable<ReplaceEdit> createMoveStructConverterEdits(final IType originalType, final IPackageFragment newPackage) {
+		return new CompositeIterable<ReplaceEdit>(
+			new TransformationIterable<OrmEclipseLinkStructConverter, Iterable<ReplaceEdit>>(getStructConverters()) {
+				@Override
+				protected Iterable<ReplaceEdit> transform(OrmEclipseLinkStructConverter structConverter) {
+					return structConverter.createMoveTypeEdits(originalType, newPackage);
+				}
+			}
+		);
+	}
+
+	protected Iterable<ReplaceEdit> createMoveCustomConverterEdits(final IType originalType, final IPackageFragment newPackage) {
+		return new CompositeIterable<ReplaceEdit>(
+			new TransformationIterable<OrmEclipseLinkCustomConverter, Iterable<ReplaceEdit>>(getCustomConverters()) {
+				@Override
+				protected Iterable<ReplaceEdit> transform(OrmEclipseLinkCustomConverter customConverter) {
+					return customConverter.createMoveTypeEdits(originalType, newPackage);
+				}
+			}
+		);
+	}
+
+
+	@SuppressWarnings("unchecked")
+	public Iterable<ReplaceEdit> createRenamePackageEdits(IPackageFragment originalPackage, String newName) {
+		return new CompositeIterable<ReplaceEdit>(
+			this.createObjectTypeConverterRenamePackageEdits(originalPackage, newName),
+			this.createTypeConverterRenamePackageEdits(originalPackage, newName),
+			this.createStructConverterRenamePackageEdits(originalPackage, newName),
+			this.createCustomConverterRenamePackageEdits(originalPackage, newName));
+	}
+
+	protected Iterable<ReplaceEdit> createObjectTypeConverterRenamePackageEdits(final IPackageFragment originalPackage, final String newName) {
+		return new CompositeIterable<ReplaceEdit>(
+			new TransformationIterable<OrmEclipseLinkObjectTypeConverter, Iterable<ReplaceEdit>>(getObjectTypeConverters()) {
+				@Override
+				protected Iterable<ReplaceEdit> transform(OrmEclipseLinkObjectTypeConverter objectTypeConverter) {
+					return objectTypeConverter.createRenamePackageEdits(originalPackage, newName);
+				}
+			}
+		);
+	}
+
+	protected Iterable<ReplaceEdit> createTypeConverterRenamePackageEdits(final IPackageFragment originalPackage, final String newName) {
+		return new CompositeIterable<ReplaceEdit>(
+			new TransformationIterable<OrmEclipseLinkTypeConverter, Iterable<ReplaceEdit>>(getTypeConverters()) {
+				@Override
+				protected Iterable<ReplaceEdit> transform(OrmEclipseLinkTypeConverter typeConverter) {
+					return typeConverter.createRenamePackageEdits(originalPackage, newName);
+				}
+			}
+		);
+	}
+
+	protected Iterable<ReplaceEdit> createStructConverterRenamePackageEdits(final IPackageFragment originalPackage, final String newName) {
+		return new CompositeIterable<ReplaceEdit>(
+			new TransformationIterable<OrmEclipseLinkStructConverter, Iterable<ReplaceEdit>>(getStructConverters()) {
+				@Override
+				protected Iterable<ReplaceEdit> transform(OrmEclipseLinkStructConverter structConverter) {
+					return structConverter.createRenamePackageEdits(originalPackage, newName);
+				}
+			}
+		);
+	}
+
+	protected Iterable<ReplaceEdit> createCustomConverterRenamePackageEdits(final IPackageFragment originalPackage, final String newName) {
+		return new CompositeIterable<ReplaceEdit>(
+			new TransformationIterable<OrmEclipseLinkCustomConverter, Iterable<ReplaceEdit>>(getCustomConverters()) {
+				@Override
+				protected Iterable<ReplaceEdit> transform(OrmEclipseLinkCustomConverter customConverter) {
+					return customConverter.createRenamePackageEdits(originalPackage, newName);
+				}
+			}
+		);
+	}
+
 	//************ validation ***************
 	
 	@Override
@@ -447,6 +633,4 @@
 	public TextRange getValidationTextRange() {
 		return this.resourceConvertersHolder.getValidationTextRange();
 	}
-
-
 }
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/orm/OrmEclipseLinkCustomConverter.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/orm/OrmEclipseLinkCustomConverter.java
index ed5772f..0a0a80a 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/orm/OrmEclipseLinkCustomConverter.java
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/orm/OrmEclipseLinkCustomConverter.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2008, 2009 Oracle. All rights reserved.
+ * Copyright (c) 2008, 2010 Oracle. 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.
@@ -10,10 +10,16 @@
 package org.eclipse.jpt.eclipselink.core.internal.context.orm;
 
 import java.util.List;
+import org.eclipse.jdt.core.IPackageFragment;
+import org.eclipse.jdt.core.IType;
 import org.eclipse.jpt.core.context.XmlContextNode;
+import org.eclipse.jpt.core.resource.java.JavaResourcePersistentType;
 import org.eclipse.jpt.eclipselink.core.context.EclipseLinkCustomConverter;
 import org.eclipse.jpt.eclipselink.core.context.EclipseLinkConverter;
 import org.eclipse.jpt.eclipselink.core.resource.orm.XmlConverter;
+import org.eclipse.jpt.utility.internal.iterables.EmptyIterable;
+import org.eclipse.jpt.utility.internal.iterables.SingleElementIterable;
+import org.eclipse.text.edits.ReplaceEdit;
 import org.eclipse.wst.validation.internal.provisional.core.IMessage;
 import org.eclipse.wst.validation.internal.provisional.core.IReporter;
 
@@ -22,6 +28,7 @@
 {	
 	private String converterClass;
 	
+	private JavaResourcePersistentType converterPersistentType;
 	
 	public OrmEclipseLinkCustomConverter(XmlContextNode parent) {
 		super(parent);
@@ -51,6 +58,10 @@
 		this.converterClass = newConverterClass;
 		firePropertyChanged(CONVERTER_CLASS_PROPERTY, oldConverterClass, newConverterClass);
 	}
+
+	protected JavaResourcePersistentType getConverterJavaResourcePersistentType() {
+		return this.getEntityMappings().resolveJavaResourcePersistentType(this.converterClass);
+	}
 	
 	
 	// **************** resource interaction ***********************************
@@ -59,18 +70,24 @@
 	protected void initialize(XmlConverter xmlResource) {
 		super.initialize(xmlResource);
 		this.converterClass = getResourceClassName();
+		this.converterPersistentType = this.getConverterJavaResourcePersistentType();
 	}
 	
 	@Override
 	public void update() {
 		super.update();
 		setConverterClass_(getResourceClassName());
+		updateConverterPersistentType();
 	}
 	
 	protected String getResourceClassName() {
 		return this.resourceConverter.getClassName();
 	}
 	
+	protected void updateConverterPersistentType() {
+		this.converterPersistentType = this.getConverterJavaResourcePersistentType();
+	}
+
 	
 	// **************** validation *********************************************
 	
@@ -97,4 +114,53 @@
 //	public TextRange getConverterClassTextRange() {
 //		return getResourceConverter().getClassNameTextRange();
 //	}
+
+
+	//************************* refactoring ************************
+
+	@Override
+	public Iterable<ReplaceEdit> createRenameTypeEdits(IType originalType, String newName) {
+		if (this.isFor(originalType.getFullyQualifiedName('.'))) {
+			return new SingleElementIterable<ReplaceEdit>(this.createRenameEdit(originalType, newName));
+		}
+		return EmptyIterable.instance();
+	}
+
+	protected ReplaceEdit createRenameEdit(IType originalType, String newName) {
+		return getXmlResource().createRenameEdit(originalType, newName);
+	}
+
+	@Override
+	public Iterable<ReplaceEdit> createMoveTypeEdits(IType originalType, IPackageFragment newPackage) {
+		if (this.isFor(originalType.getFullyQualifiedName('.'))) {
+			return new SingleElementIterable<ReplaceEdit>(this.createRenamePackageEdit(newPackage.getElementName()));
+		}
+		return EmptyIterable.instance();
+	}
+
+	protected ReplaceEdit createRenamePackageEdit(String newName) {
+		return getXmlResource().createRenamePackageEdit(newName);
+	}
+
+	@Override
+	public Iterable<ReplaceEdit> createRenamePackageEdits(IPackageFragment originalPackage, String newName) {
+		if (this.isIn(originalPackage)) {
+			return new SingleElementIterable<ReplaceEdit>(this.createRenamePackageEdit(newName));
+		}
+		return EmptyIterable.instance();
+	}
+
+	protected boolean isFor(String typeName) {
+		if (this.converterPersistentType != null && this.converterPersistentType.getQualifiedName().equals(typeName)) {
+			return true;
+		}
+		return false;	
+	}
+
+	protected boolean isIn(IPackageFragment packageFragment) {
+		if (this.converterPersistentType != null) {
+			return this.converterPersistentType.isIn(packageFragment);
+		}
+		return false;
+	}
 }
\ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/orm/OrmEclipseLinkCustomizer.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/orm/OrmEclipseLinkCustomizer.java
index a7c5efb..51f33fc 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/orm/OrmEclipseLinkCustomizer.java
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/orm/OrmEclipseLinkCustomizer.java
@@ -162,33 +162,33 @@
 
 	//************************* refactoring ************************
 
-	public Iterable<ReplaceEdit> createReplaceTypeEdits(IType originalType, String newName) {
+	public Iterable<ReplaceEdit> createRenameTypeEdits(IType originalType, String newName) {
 		if (this.isFor(originalType.getFullyQualifiedName('.'))) {
-			return new SingleElementIterable<ReplaceEdit>(this.createReplaceTypeEdit(originalType, newName));
+			return new SingleElementIterable<ReplaceEdit>(this.createRenameTypeEdit(originalType, newName));
 		}
 		return EmptyIterable.instance();
 	}
 
-	protected ReplaceEdit createReplaceTypeEdit(IType originalType, String newName) {
-		return getResourceCustomizer().createReplaceEdit(originalType, newName);
+	protected ReplaceEdit createRenameTypeEdit(IType originalType, String newName) {
+		return getResourceCustomizer().createRenameEdit(originalType, newName);
 	}
 
-	public Iterable<ReplaceEdit> createMoveTypeReplaceEdits(IType originalType, IPackageFragment newPackage) {
+	public Iterable<ReplaceEdit> createMoveTypeEdits(IType originalType, IPackageFragment newPackage) {
 		if (this.isFor(originalType.getFullyQualifiedName('.'))) {
-			return new SingleElementIterable<ReplaceEdit>(this.createReplacePackageEdit(newPackage.getElementName()));
+			return new SingleElementIterable<ReplaceEdit>(this.createRenamePackageEdit(newPackage.getElementName()));
 		}
 		return EmptyIterable.instance();
 	}
 
-	public Iterable<ReplaceEdit> createReplacePackageEdits(IPackageFragment originalPackage, String newName) {
+	public Iterable<ReplaceEdit> createRenamePackageEdits(IPackageFragment originalPackage, String newName) {
 		if (this.isIn(originalPackage)) {
-			return new SingleElementIterable<ReplaceEdit>(this.createReplacePackageEdit(newName));
+			return new SingleElementIterable<ReplaceEdit>(this.createRenamePackageEdit(newName));
 		}
 		return EmptyIterable.instance();
 	}
 
-	protected ReplaceEdit createReplacePackageEdit(String newName) {
-		return getResourceCustomizer().createReplacePackageEdit(newName);
+	protected ReplaceEdit createRenamePackageEdit(String newName) {
+		return getResourceCustomizer().createRenamePackageEdit(newName);
 	}
 
 
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/orm/OrmEclipseLinkEmbeddableImpl.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/orm/OrmEclipseLinkEmbeddableImpl.java
index 070fd77..4efde72 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/orm/OrmEclipseLinkEmbeddableImpl.java
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/orm/OrmEclipseLinkEmbeddableImpl.java
@@ -102,38 +102,53 @@
 
 	@SuppressWarnings("unchecked")
 	@Override
-	public Iterable<ReplaceEdit> createReplaceTypeEdits(IType originalType, String newName) {
+	public Iterable<ReplaceEdit> createRenameTypeEdits(IType originalType, String newName) {
 		return new CompositeIterable<ReplaceEdit>(
-			super.createReplaceTypeEdits(originalType, newName),
-			this.createCustomizerReplaceTypeEdits(originalType, newName));
+			super.createRenameTypeEdits(originalType, newName),
+			this.createCustomizerRenameTypeEdits(originalType, newName),
+			this.createConverterHolderRenameTypeEdits(originalType, newName));
 	}
 
-	protected Iterable<ReplaceEdit> createCustomizerReplaceTypeEdits(IType originalType, String newName) {
-		return this.customizer.createReplaceTypeEdits(originalType, newName);
+	protected Iterable<ReplaceEdit> createCustomizerRenameTypeEdits(IType originalType, String newName) {
+		return this.customizer.createRenameTypeEdits(originalType, newName);
+	}
+
+	protected Iterable<ReplaceEdit> createConverterHolderRenameTypeEdits(IType originalType, String newName) {
+		return this.converterHolder.createRenameTypeEdits(originalType, newName);
 	}
 
 	@SuppressWarnings("unchecked")
 	@Override
-	public Iterable<ReplaceEdit> createMoveTypeReplaceEdits(IType originalType, IPackageFragment newPackage) {
+	public Iterable<ReplaceEdit> createMoveTypeEdits(IType originalType, IPackageFragment newPackage) {
 		return new CompositeIterable<ReplaceEdit>(
-			super.createMoveTypeReplaceEdits(originalType, newPackage),
-			this.createCustomizerReplaceTypeEdits(originalType, newPackage));
+			super.createMoveTypeEdits(originalType, newPackage),
+			this.createCustomizerMoveTypeEdits(originalType, newPackage),
+			this.createConverterHolderMoveTypeEdits(originalType, newPackage));
 	}
 
-	protected Iterable<ReplaceEdit> createCustomizerReplaceTypeEdits(IType originalType, IPackageFragment newPackage) {
-		return this.customizer.createMoveTypeReplaceEdits(originalType, newPackage);
+	protected Iterable<ReplaceEdit> createCustomizerMoveTypeEdits(IType originalType, IPackageFragment newPackage) {
+		return this.customizer.createMoveTypeEdits(originalType, newPackage);
+	}
+
+	protected Iterable<ReplaceEdit> createConverterHolderMoveTypeEdits(IType originalType, IPackageFragment newPackage) {
+		return this.converterHolder.createMoveTypeEdits(originalType, newPackage);
 	}
 
 	@SuppressWarnings("unchecked")
 	@Override
-	public Iterable<ReplaceEdit> createReplacePackageEdits(IPackageFragment originalPackage, String newName) {
+	public Iterable<ReplaceEdit> createRenamePackageEdits(IPackageFragment originalPackage, String newName) {
 		return new CompositeIterable<ReplaceEdit>(
-			super.createReplacePackageEdits(originalPackage, newName),
-			this.createCustomizerReplacePackageEdits(originalPackage, newName));
+			super.createRenamePackageEdits(originalPackage, newName),
+			this.createCustomizerRenamePackageEdits(originalPackage, newName),
+			this.createConverterHolderRenamePackageEdits(originalPackage, newName));
 	}
 
-	protected Iterable<ReplaceEdit> createCustomizerReplacePackageEdits(IPackageFragment originalPackage, String newName) {
-		return this.customizer.createReplacePackageEdits(originalPackage, newName);
+	protected Iterable<ReplaceEdit> createCustomizerRenamePackageEdits(IPackageFragment originalPackage, String newName) {
+		return this.customizer.createRenamePackageEdits(originalPackage, newName);
+	}
+
+	protected Iterable<ReplaceEdit> createConverterHolderRenamePackageEdits(IPackageFragment originalPackage, String newName) {
+		return this.converterHolder.createRenamePackageEdits(originalPackage, newName);
 	}
 
 
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/orm/OrmEclipseLinkEntityImpl.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/orm/OrmEclipseLinkEntityImpl.java
index 592ab9a..e11b523 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/orm/OrmEclipseLinkEntityImpl.java
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/orm/OrmEclipseLinkEntityImpl.java
@@ -218,60 +218,75 @@
 
 	@SuppressWarnings("unchecked")
 	@Override
-	public Iterable<ReplaceEdit> createReplaceTypeEdits(IType originalType, String newName) {
+	public Iterable<ReplaceEdit> createRenameTypeEdits(IType originalType, String newName) {
 		return new CompositeIterable<ReplaceEdit>(
-					super.createReplaceTypeEdits(originalType, newName),
-					this.createCustomizerReplaceTypeEdits(originalType, newName),
-					this.createClassExtractorReplaceTypeEdits(originalType, newName));
+					super.createRenameTypeEdits(originalType, newName),
+					this.createCustomizerRenameTypeEdits(originalType, newName),
+					this.createConverterHolderRenameTypeEdits(originalType, newName),
+					this.createClassExtractorRenameTypeEdits(originalType, newName));
 	}
 
-	protected Iterable<ReplaceEdit> createCustomizerReplaceTypeEdits(IType originalType, String newName) {
-		return this.customizer.createReplaceTypeEdits(originalType, newName);
+	protected Iterable<ReplaceEdit> createCustomizerRenameTypeEdits(IType originalType, String newName) {
+		return this.customizer.createRenameTypeEdits(originalType, newName);
 	}
 
-	protected Iterable<ReplaceEdit> createClassExtractorReplaceTypeEdits(IType originalType, String newName) {
+	protected Iterable<ReplaceEdit> createConverterHolderRenameTypeEdits(IType originalType, String newName) {
+		return this.converterHolder.createRenameTypeEdits(originalType, newName);
+	}
+
+	protected Iterable<ReplaceEdit> createClassExtractorRenameTypeEdits(IType originalType, String newName) {
 		if (this.classExtractorIsFor(originalType.getFullyQualifiedName('.'))) {
-			return new SingleElementIterable<ReplaceEdit>(this.getResourceClassExtractor().createReplaceEdit(originalType, newName));
+			return new SingleElementIterable<ReplaceEdit>(this.getResourceClassExtractor().createRenameEdit(originalType, newName));
 		}
 		return EmptyIterable.instance();
 	}
 
 	@SuppressWarnings("unchecked")
 	@Override
-	public Iterable<ReplaceEdit> createMoveTypeReplaceEdits(IType originalType, IPackageFragment newPackage) {
+	public Iterable<ReplaceEdit> createMoveTypeEdits(IType originalType, IPackageFragment newPackage) {
 		return new CompositeIterable<ReplaceEdit>(
-					super.createMoveTypeReplaceEdits(originalType, newPackage),
-					this.createCustomizerMoveTypeReplaceEdits(originalType, newPackage),
-					this.createClassExtractorMoveTypeReplaceEdits(originalType, newPackage));
+					super.createMoveTypeEdits(originalType, newPackage),
+					this.createCustomizerMoveTypeEdits(originalType, newPackage),
+					this.createConverterHolderMoveTypeEdits(originalType, newPackage),
+					this.createClassExtractorMoveTypeEdits(originalType, newPackage));
 	}
 
-	protected Iterable<ReplaceEdit> createCustomizerMoveTypeReplaceEdits(IType originalType, IPackageFragment newPackage) {
-		return this.customizer.createMoveTypeReplaceEdits(originalType, newPackage);
+	protected Iterable<ReplaceEdit> createCustomizerMoveTypeEdits(IType originalType, IPackageFragment newPackage) {
+		return this.customizer.createMoveTypeEdits(originalType, newPackage);
 	}
 
-	protected Iterable<ReplaceEdit> createClassExtractorMoveTypeReplaceEdits(IType originalType, IPackageFragment newPackage) {
+	protected Iterable<ReplaceEdit> createConverterHolderMoveTypeEdits(IType originalType, IPackageFragment newPackage) {
+		return this.converterHolder.createMoveTypeEdits(originalType, newPackage);
+	}
+
+	protected Iterable<ReplaceEdit> createClassExtractorMoveTypeEdits(IType originalType, IPackageFragment newPackage) {
 		if (this.classExtractorIsFor(originalType.getFullyQualifiedName('.'))) {
-			return new SingleElementIterable<ReplaceEdit>(this.getResourceClassExtractor().createReplacePackageEdit(newPackage.getElementName()));
+			return new SingleElementIterable<ReplaceEdit>(this.getResourceClassExtractor().createRenamePackageEdit(newPackage.getElementName()));
 		}
 		return EmptyIterable.instance();
 	}
 
 	@SuppressWarnings("unchecked")
 	@Override
-	public Iterable<ReplaceEdit> createReplacePackageEdits(IPackageFragment originalPackage, String newName) {
+	public Iterable<ReplaceEdit> createRenamePackageEdits(IPackageFragment originalPackage, String newName) {
 		return new CompositeIterable<ReplaceEdit>(
-			super.createReplacePackageEdits(originalPackage, newName),
-			this.createCustomizerReplacePackageEdits(originalPackage, newName),
-			this.createClassExtractorReplacePackageEdits(originalPackage, newName));
+			super.createRenamePackageEdits(originalPackage, newName),
+			this.createCustomizerRenamePackageEdits(originalPackage, newName),
+			this.createConverterHolderRenamePackageEdits(originalPackage, newName),
+			this.createClassExtractorRenamePackageEdits(originalPackage, newName));
 	}
 
-	protected Iterable<ReplaceEdit> createCustomizerReplacePackageEdits(IPackageFragment originalPackage, String newName) {
-		return this.customizer.createReplacePackageEdits(originalPackage, newName);
+	protected Iterable<ReplaceEdit> createCustomizerRenamePackageEdits(IPackageFragment originalPackage, String newName) {
+		return this.customizer.createRenamePackageEdits(originalPackage, newName);
 	}
 
-	protected Iterable<ReplaceEdit> createClassExtractorReplacePackageEdits(IPackageFragment originalPackage, String newName) {
+	protected Iterable<ReplaceEdit> createConverterHolderRenamePackageEdits(IPackageFragment originalPackage, String newName) {
+		return this.converterHolder.createRenamePackageEdits(originalPackage, newName);
+	}
+
+	protected Iterable<ReplaceEdit> createClassExtractorRenamePackageEdits(IPackageFragment originalPackage, String newName) {
 		if (this.classExtractorIsIn(originalPackage)) {
-			return new SingleElementIterable<ReplaceEdit>(this.getResourceClassExtractor().createReplacePackageEdit(newName));
+			return new SingleElementIterable<ReplaceEdit>(this.getResourceClassExtractor().createRenamePackageEdit(newName));
 		}
 		return EmptyIterable.instance();
 	}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/orm/OrmEclipseLinkMappedSuperclassImpl.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/orm/OrmEclipseLinkMappedSuperclassImpl.java
index 36186ef..3bb6018 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/orm/OrmEclipseLinkMappedSuperclassImpl.java
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/orm/OrmEclipseLinkMappedSuperclassImpl.java
@@ -149,39 +149,54 @@
 
 	@SuppressWarnings("unchecked")
 	@Override
-	public Iterable<ReplaceEdit> createReplaceTypeEdits(IType originalType, String newName) {
+	public Iterable<ReplaceEdit> createRenameTypeEdits(IType originalType, String newName) {
 		return new CompositeIterable<ReplaceEdit>(
-			super.createReplaceTypeEdits(originalType, newName),
-			this.createCustomizerReplaceTypeEdits(originalType, newName));
+			super.createRenameTypeEdits(originalType, newName),
+			this.createCustomizerRenameTypeEdits(originalType, newName),
+			this.createConverterHolderRenameTypeEdits(originalType, newName));
 	}
 
-	protected Iterable<ReplaceEdit> createCustomizerReplaceTypeEdits(IType originalType, String newName) {
-		return this.customizer.createReplaceTypeEdits(originalType, newName);
+	protected Iterable<ReplaceEdit> createCustomizerRenameTypeEdits(IType originalType, String newName) {
+		return this.customizer.createRenameTypeEdits(originalType, newName);
+	}
+
+	protected Iterable<ReplaceEdit> createConverterHolderRenameTypeEdits(IType originalType, String newName) {
+		return this.converterHolder.createRenameTypeEdits(originalType, newName);
 	}
 
 
 	@SuppressWarnings("unchecked")
 	@Override
-	public Iterable<ReplaceEdit> createMoveTypeReplaceEdits(IType originalType, IPackageFragment newPackage) {
+	public Iterable<ReplaceEdit> createMoveTypeEdits(IType originalType, IPackageFragment newPackage) {
 		return new CompositeIterable<ReplaceEdit>(
-			super.createMoveTypeReplaceEdits(originalType, newPackage),
-			this.createCustomizerMoveTypeReplaceEdits(originalType, newPackage));
+			super.createMoveTypeEdits(originalType, newPackage),
+			this.createCustomizerMoveTypeEdits(originalType, newPackage),
+			this.createConverterHolderMoveTypeEdits(originalType, newPackage));
 	}
 
-	protected Iterable<ReplaceEdit> createCustomizerMoveTypeReplaceEdits(IType originalType, IPackageFragment newPackage) {
-		return this.customizer.createMoveTypeReplaceEdits(originalType, newPackage);
+	protected Iterable<ReplaceEdit> createCustomizerMoveTypeEdits(IType originalType, IPackageFragment newPackage) {
+		return this.customizer.createMoveTypeEdits(originalType, newPackage);
+	}
+
+	protected Iterable<ReplaceEdit> createConverterHolderMoveTypeEdits(IType originalType, IPackageFragment newPackage) {
+		return this.converterHolder.createMoveTypeEdits(originalType, newPackage);
 	}
 
 	@SuppressWarnings("unchecked")
 	@Override
-	public Iterable<ReplaceEdit> createReplacePackageEdits(IPackageFragment originalPackage, String newName) {
+	public Iterable<ReplaceEdit> createRenamePackageEdits(IPackageFragment originalPackage, String newName) {
 		return new CompositeIterable<ReplaceEdit>(
-			super.createReplacePackageEdits(originalPackage, newName),
-			this.createCustomizerReplacePackageEdits(originalPackage, newName));
+			super.createRenamePackageEdits(originalPackage, newName),
+			this.createCustomizerRenamePackageEdits(originalPackage, newName),
+			this.createConverterHolderRenamePackageEdits(originalPackage, newName));
 	}
 
-	protected Iterable<ReplaceEdit> createCustomizerReplacePackageEdits(IPackageFragment originalPackage, String newName) {
-		return this.customizer.createReplacePackageEdits(originalPackage, newName);
+	protected Iterable<ReplaceEdit> createCustomizerRenamePackageEdits(IPackageFragment originalPackage, String newName) {
+		return this.customizer.createRenamePackageEdits(originalPackage, newName);
+	}
+
+	protected Iterable<ReplaceEdit> createConverterHolderRenamePackageEdits(IPackageFragment originalPackage, String newName) {
+		return this.converterHolder.createRenamePackageEdits(originalPackage, newName);
 	}
 
 
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/orm/OrmEclipseLinkObjectTypeConverter.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/orm/OrmEclipseLinkObjectTypeConverter.java
index f0ecdf9..3080f36 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/orm/OrmEclipseLinkObjectTypeConverter.java
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/orm/OrmEclipseLinkObjectTypeConverter.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2008, 2009 Oracle. All rights reserved.
+ * Copyright (c) 2008, 2010 Oracle. 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.
@@ -13,7 +13,10 @@
 import java.util.Iterator;
 import java.util.List;
 import java.util.ListIterator;
+import org.eclipse.jdt.core.IPackageFragment;
+import org.eclipse.jdt.core.IType;
 import org.eclipse.jpt.core.context.XmlContextNode;
+import org.eclipse.jpt.core.resource.java.JavaResourcePersistentType;
 import org.eclipse.jpt.eclipselink.core.context.EclipseLinkConversionValue;
 import org.eclipse.jpt.eclipselink.core.context.EclipseLinkConverter;
 import org.eclipse.jpt.eclipselink.core.context.EclipseLinkObjectTypeConverter;
@@ -21,9 +24,13 @@
 import org.eclipse.jpt.eclipselink.core.resource.orm.XmlConversionValue;
 import org.eclipse.jpt.eclipselink.core.resource.orm.XmlObjectTypeConverter;
 import org.eclipse.jpt.utility.internal.CollectionTools;
+import org.eclipse.jpt.utility.internal.iterables.CompositeIterable;
+import org.eclipse.jpt.utility.internal.iterables.EmptyIterable;
+import org.eclipse.jpt.utility.internal.iterables.SingleElementIterable;
 import org.eclipse.jpt.utility.internal.iterators.CloneIterator;
 import org.eclipse.jpt.utility.internal.iterators.CloneListIterator;
 import org.eclipse.jpt.utility.internal.iterators.TransformationListIterator;
+import org.eclipse.text.edits.ReplaceEdit;
 import org.eclipse.wst.validation.internal.provisional.core.IMessage;
 import org.eclipse.wst.validation.internal.provisional.core.IReporter;
 
@@ -33,6 +40,10 @@
 	private String dataType;
 	
 	private String objectType;
+
+	private JavaResourcePersistentType dataTypePersistentType;
+
+	private JavaResourcePersistentType objectTypePersistentType;
 	
 	private final List<OrmEclipseLinkConversionValue> conversionValues;
 	
@@ -176,6 +187,8 @@
 		super.initialize(xmlResource);
 		this.dataType = this.getResourceDataType();
 		this.objectType = this.getResourceObjectType();
+		this.dataTypePersistentType = this.getDataTypeJavaResourcePersistentType();
+		this.objectTypePersistentType = this.getObjectTypeJavaResourcePersistentType();
 		this.defaultObjectValue = this.getResourceDefaultObjectValue();
 		this.initializeConversionValues();
 	}
@@ -191,10 +204,20 @@
 		super.update();
 		setDataType_(getResourceDataType());
 		setObjectType_(getResourceObjectType());
+		updateDataTypePersistentType();
+		updateObjectTypePersistentType();
 		setDefaultObjectValue_(getResourceDefaultObjectValue());
 		updateConversionValues();
 	}
 	
+	protected void updateDataTypePersistentType() {
+		this.dataTypePersistentType = this.getDataTypeJavaResourcePersistentType();
+	}
+
+	protected void updateObjectTypePersistentType() {
+		this.objectTypePersistentType = this.getObjectTypeJavaResourcePersistentType();
+	}
+
 	protected void updateConversionValues( ) {
 		// make a copy of the XML conversion values (to prevent ConcurrentModificationException)
 		Iterator<XmlConversionValue> xmlConversionValues = new CloneIterator<XmlConversionValue>(this.getXmlResource().getConversionValues());
@@ -232,6 +255,130 @@
 		return this.resourceConverter.getDefaultObjectValue();
 	}
 	
+
+	protected JavaResourcePersistentType getDataTypeJavaResourcePersistentType() {
+		return this.getEntityMappings().resolveJavaResourcePersistentType(this.getDataType());
+	}
+
+	protected JavaResourcePersistentType getObjectTypeJavaResourcePersistentType() {
+		return this.getEntityMappings().resolveJavaResourcePersistentType(this.getObjectType());
+	}
+
+	protected boolean dataTypeIsFor(String typeName) {
+		return this.isFor(this.dataTypePersistentType, typeName);
+	}
+
+	protected boolean objectTypeIsFor(String typeName) {
+		return this.isFor(this.objectTypePersistentType, typeName);
+	}
+
+	protected boolean isFor(JavaResourcePersistentType persistentType, String typeName) {
+		if (persistentType != null && persistentType.getQualifiedName().equals(typeName)) {
+			return true;
+		}
+		return false;
+	}
+
+	protected boolean dataTypeIsIn(IPackageFragment packageFragment) {
+		return this.isIn(this.dataTypePersistentType, packageFragment);
+	}
+
+	protected boolean objectTypeIsIn(IPackageFragment packageFragment) {
+		return this.isIn(this.objectTypePersistentType, packageFragment);
+	}
+
+	protected boolean isIn(JavaResourcePersistentType persistentType, IPackageFragment packageFragment) {
+		if (persistentType != null) {
+			return persistentType.isIn(packageFragment);
+		}
+		return false;
+	}
+
+
+	//************************* refactoring ************************
+
+	@Override
+	@SuppressWarnings("unchecked")
+	public Iterable<ReplaceEdit> createRenameTypeEdits(IType originalType, String newName) {
+		return new CompositeIterable<ReplaceEdit>(
+			this.createRenameDataTypeEdits(originalType, newName),
+			this.createRenameObjectTypeEdits(originalType, newName));
+	}
+
+	protected Iterable<ReplaceEdit> createRenameDataTypeEdits(IType originalType, String newName) {
+		if (this.dataTypeIsFor(originalType.getFullyQualifiedName('.'))) {
+			return new SingleElementIterable<ReplaceEdit>(this.createRenameDataTypeEdit(originalType, newName));
+		}
+		return EmptyIterable.instance();
+	}
+
+	protected ReplaceEdit createRenameDataTypeEdit(IType originalType, String newName) {
+		return getXmlResource().createRenameDataTypeEdit(originalType, newName);
+	}
+
+	protected Iterable<ReplaceEdit> createRenameObjectTypeEdits(IType originalType, String newName) {
+		if (this.objectTypeIsFor(originalType.getFullyQualifiedName('.'))) {
+			return new SingleElementIterable<ReplaceEdit>(this.createRenameObjectTypeEdit(originalType, newName));
+		}
+		return EmptyIterable.instance();
+	}
+
+	protected ReplaceEdit createRenameObjectTypeEdit(IType originalType, String newName) {
+		return getXmlResource().createRenameObjectTypeEdit(originalType, newName);
+	}
+
+	@Override
+	@SuppressWarnings("unchecked")
+	public Iterable<ReplaceEdit> createMoveTypeEdits(IType originalType, IPackageFragment newPackage) {
+		return new CompositeIterable<ReplaceEdit>(
+			this.createMoveDataTypeEdits(originalType, newPackage),
+			this.createMoveObjectTypeEdits(originalType, newPackage));
+	}
+
+	protected Iterable<ReplaceEdit> createMoveDataTypeEdits(IType originalType, IPackageFragment newPackage) {
+		if (this.dataTypeIsFor(originalType.getFullyQualifiedName('.'))) {
+			return new SingleElementIterable<ReplaceEdit>(this.createRenameDataTypePackageEdit(newPackage.getElementName()));
+		}
+		return EmptyIterable.instance();
+	}
+
+	protected ReplaceEdit createRenameDataTypePackageEdit(String newName) {
+		return getXmlResource().createRenameDataTypePackageEdit(newName);
+	}
+
+	protected Iterable<ReplaceEdit> createMoveObjectTypeEdits(IType originalType, IPackageFragment newPackage) {
+		if (this.objectTypeIsFor(originalType.getFullyQualifiedName('.'))) {
+			return new SingleElementIterable<ReplaceEdit>(this.createRenameObjectTypePackageEdit(newPackage.getElementName()));
+		}
+		return EmptyIterable.instance();
+	}
+
+	protected ReplaceEdit createRenameObjectTypePackageEdit(String newName) {
+		return getXmlResource().createRenameObjectTypePackageEdit(newName);
+	}
+
+	@Override
+	@SuppressWarnings("unchecked")
+	public Iterable<ReplaceEdit> createRenamePackageEdits(IPackageFragment originalPackage, String newName) {
+		return new CompositeIterable<ReplaceEdit>(
+			this.createRenameDataTypePackageEdits(originalPackage, newName),
+			this.createRenameObjectTypePackageEdits(originalPackage, newName));
+	}
+
+	protected Iterable<ReplaceEdit> createRenameDataTypePackageEdits(IPackageFragment originalPackage, String newName) {
+		if (this.dataTypeIsIn(originalPackage)) {
+			return new SingleElementIterable<ReplaceEdit>(this.createRenameDataTypePackageEdit(newName));
+		}
+		return EmptyIterable.instance();
+	}
+
+	protected Iterable<ReplaceEdit> createRenameObjectTypePackageEdits(IPackageFragment originalPackage, String newName) {
+		if (this.objectTypeIsIn(originalPackage)) {
+			return new SingleElementIterable<ReplaceEdit>(this.createRenameObjectTypePackageEdit(newName));
+		}
+		return EmptyIterable.instance();
+	}
+
 	
 	// **************** validation *********************************************
 	
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/orm/OrmEclipseLinkStructConverter.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/orm/OrmEclipseLinkStructConverter.java
index 24f4b1f..73361f7 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/orm/OrmEclipseLinkStructConverter.java
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/orm/OrmEclipseLinkStructConverter.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2008, 2009 Oracle. All rights reserved.
+ * Copyright (c) 2008, 2010 Oracle. 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.
@@ -10,10 +10,16 @@
 package org.eclipse.jpt.eclipselink.core.internal.context.orm;
 
 import java.util.List;
+import org.eclipse.jdt.core.IPackageFragment;
+import org.eclipse.jdt.core.IType;
 import org.eclipse.jpt.core.context.XmlContextNode;
+import org.eclipse.jpt.core.resource.java.JavaResourcePersistentType;
 import org.eclipse.jpt.eclipselink.core.context.EclipseLinkConverter;
 import org.eclipse.jpt.eclipselink.core.context.EclipseLinkStructConverter;
 import org.eclipse.jpt.eclipselink.core.resource.orm.XmlStructConverter;
+import org.eclipse.jpt.utility.internal.iterables.EmptyIterable;
+import org.eclipse.jpt.utility.internal.iterables.SingleElementIterable;
+import org.eclipse.text.edits.ReplaceEdit;
 import org.eclipse.wst.validation.internal.provisional.core.IMessage;
 import org.eclipse.wst.validation.internal.provisional.core.IReporter;
 
@@ -21,6 +27,8 @@
 	implements EclipseLinkStructConverter
 {	
 	private String converterClass;
+
+	private JavaResourcePersistentType converterPersistentType;
 	
 	
 	public OrmEclipseLinkStructConverter(XmlContextNode parent) {
@@ -50,26 +58,36 @@
 		this.converterClass = newConverterClass;
 		firePropertyChanged(CONVERTER_CLASS_PROPERTY, oldConverterClass, newConverterClass);
 	}
-	
-	
+
+	protected JavaResourcePersistentType getConverterJavaResourcePersistentType() {
+		return this.getEntityMappings().resolveJavaResourcePersistentType(this.converterClass);
+	}
+
+
 	// **************** resource interaction ***********************************
 	
 	@Override
 	protected void initialize(XmlStructConverter xmlResource) {
 		super.initialize(xmlResource);
 		this.converterClass = getResourceConverterClass();
+		this.converterPersistentType = this.getConverterJavaResourcePersistentType();
 	}
 	
 	@Override
 	public void update() {
 		super.update();
 		setConverterClass_(getResourceConverterClass());
+		updateConverterPersistentType();
 	}
 	
 	protected String getResourceConverterClass() {
 		return this.resourceConverter.getConverter();
 	}
 	
+	protected void updateConverterPersistentType() {
+		this.converterPersistentType = this.getConverterJavaResourcePersistentType();
+	}
+	
 	
 	// **************** validation *********************************************
 	
@@ -97,4 +115,53 @@
 //	public TextRange getConverterClassTextRange() {
 //		return getResourceConverter().getClassNameTextRange();
 //	}
+
+
+	//************************* refactoring ************************
+
+	@Override
+	public Iterable<ReplaceEdit> createRenameTypeEdits(IType originalType, String newName) {
+		if (this.isFor(originalType.getFullyQualifiedName('.'))) {
+			return new SingleElementIterable<ReplaceEdit>(this.createRenameEdit(originalType, newName));
+		}
+		return EmptyIterable.instance();
+	}
+
+	protected ReplaceEdit createRenameEdit(IType originalType, String newName) {
+		return getXmlResource().createRenameEdit(originalType, newName);
+	}
+
+	@Override
+	public Iterable<ReplaceEdit> createMoveTypeEdits(IType originalType, IPackageFragment newPackage) {
+		if (this.isFor(originalType.getFullyQualifiedName('.'))) {
+			return new SingleElementIterable<ReplaceEdit>(this.createRenamePackageEdit(newPackage.getElementName()));
+		}
+		return EmptyIterable.instance();
+	}
+
+	protected ReplaceEdit createRenamePackageEdit(String newName) {
+		return getXmlResource().createRenamePackageEdit(newName);
+	}
+
+	@Override
+	public Iterable<ReplaceEdit> createRenamePackageEdits(IPackageFragment originalPackage, String newName) {
+		if (this.isIn(originalPackage)) {
+			return new SingleElementIterable<ReplaceEdit>(this.createRenamePackageEdit(newName));
+		}
+		return EmptyIterable.instance();
+	}
+
+	protected boolean isFor(String typeName) {
+		if (this.converterPersistentType != null && this.converterPersistentType.getQualifiedName().equals(typeName)) {
+			return true;
+		}
+		return false;	
+	}
+
+	protected boolean isIn(IPackageFragment packageFragment) {
+		if (this.converterPersistentType != null) {
+			return this.converterPersistentType.isIn(packageFragment);
+		}
+		return false;
+	}
 }
\ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/orm/OrmEclipseLinkTypeConverter.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/orm/OrmEclipseLinkTypeConverter.java
index 5d94c4e..0247155 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/orm/OrmEclipseLinkTypeConverter.java
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/orm/OrmEclipseLinkTypeConverter.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2008, 2009 Oracle. All rights reserved.
+ * Copyright (c) 2008, 2010 Oracle. 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.
@@ -9,10 +9,17 @@
  ******************************************************************************/
 package org.eclipse.jpt.eclipselink.core.internal.context.orm;
 
+import org.eclipse.jdt.core.IPackageFragment;
+import org.eclipse.jdt.core.IType;
 import org.eclipse.jpt.core.context.XmlContextNode;
+import org.eclipse.jpt.core.resource.java.JavaResourcePersistentType;
 import org.eclipse.jpt.eclipselink.core.context.EclipseLinkConverter;
 import org.eclipse.jpt.eclipselink.core.context.EclipseLinkTypeConverter;
 import org.eclipse.jpt.eclipselink.core.resource.orm.XmlTypeConverter;
+import org.eclipse.jpt.utility.internal.iterables.CompositeIterable;
+import org.eclipse.jpt.utility.internal.iterables.EmptyIterable;
+import org.eclipse.jpt.utility.internal.iterables.SingleElementIterable;
+import org.eclipse.text.edits.ReplaceEdit;
 
 public class OrmEclipseLinkTypeConverter extends OrmEclipseLinkConverter<XmlTypeConverter> 
 	implements EclipseLinkTypeConverter
@@ -20,6 +27,11 @@
 	private String dataType;
 	
 	private String objectType;
+
+	private JavaResourcePersistentType dataTypePersistentType;
+
+	private JavaResourcePersistentType objectTypePersistentType;
+	
 	
 	
 	public OrmEclipseLinkTypeConverter(XmlContextNode parent) {
@@ -77,6 +89,8 @@
 		super.initialize(xmlResource);
 		this.dataType = getResourceDataType();
 		this.objectType = getResourceObjectType();
+		this.dataTypePersistentType = this.getDataTypeJavaResourcePersistentType();
+		this.objectTypePersistentType = this.getObjectTypeJavaResourcePersistentType();
 	}
 	
 	@Override
@@ -84,6 +98,8 @@
 		super.update();
 		setDataType_(getResourceDataType());
 		setObjectType_(getResourceObjectType());
+		updateDataTypePersistentType();
+		updateObjectTypePersistentType();
 	}
 	
 	protected String getResourceDataType() {
@@ -93,4 +109,134 @@
 	protected String getResourceObjectType() {
 		return this.resourceConverter.getObjectType();
 	}
+
+	protected JavaResourcePersistentType getDataTypeJavaResourcePersistentType() {
+		return this.getEntityMappings().resolveJavaResourcePersistentType(this.getDataType());
+	}
+
+	protected JavaResourcePersistentType getObjectTypeJavaResourcePersistentType() {
+		return this.getEntityMappings().resolveJavaResourcePersistentType(this.getObjectType());
+	}
+	
+	protected void updateDataTypePersistentType() {
+		this.dataTypePersistentType = this.getDataTypeJavaResourcePersistentType();
+	}
+
+	protected void updateObjectTypePersistentType() {
+		this.objectTypePersistentType = this.getObjectTypeJavaResourcePersistentType();
+	}
+
+	//************************* refactoring ************************
+
+	@Override
+	@SuppressWarnings("unchecked")
+	public Iterable<ReplaceEdit> createRenameTypeEdits(IType originalType, String newName) {
+		return new CompositeIterable<ReplaceEdit>(
+			this.createRenameDataTypeEdits(originalType, newName),
+			this.createRenameObjectTypeEdits(originalType, newName));
+	}
+
+	protected Iterable<ReplaceEdit> createRenameDataTypeEdits(IType originalType, String newName) {
+		if (this.dataTypeIsFor(originalType.getFullyQualifiedName('.'))) {
+			return new SingleElementIterable<ReplaceEdit>(this.createRenameDataTypeEdit(originalType, newName));
+		}
+		return EmptyIterable.instance();
+	}
+
+	protected ReplaceEdit createRenameDataTypeEdit(IType originalType, String newName) {
+		return getXmlResource().createRenameDataTypeEdit(originalType, newName);
+	}
+
+	protected Iterable<ReplaceEdit> createRenameObjectTypeEdits(IType originalType, String newName) {
+		if (this.objectTypeIsFor(originalType.getFullyQualifiedName('.'))) {
+			return new SingleElementIterable<ReplaceEdit>(this.createRenameObjectTypeEdit(originalType, newName));
+		}
+		return EmptyIterable.instance();
+	}
+
+	protected ReplaceEdit createRenameObjectTypeEdit(IType originalType, String newName) {
+		return getXmlResource().createRenameObjectTypeEdit(originalType, newName);
+	}
+
+	@Override
+	@SuppressWarnings("unchecked")
+	public Iterable<ReplaceEdit> createMoveTypeEdits(IType originalType, IPackageFragment newPackage) {
+		return new CompositeIterable<ReplaceEdit>(
+			this.createMoveDataTypeEdits(originalType, newPackage),
+			this.createMoveObjectTypeEdits(originalType, newPackage));
+	}
+
+	protected Iterable<ReplaceEdit> createMoveDataTypeEdits(IType originalType, IPackageFragment newPackage) {
+		if (this.dataTypeIsFor(originalType.getFullyQualifiedName('.'))) {
+			return new SingleElementIterable<ReplaceEdit>(this.createRenameDataTypePackageEdit(newPackage.getElementName()));
+		}
+		return EmptyIterable.instance();
+	}
+
+	protected ReplaceEdit createRenameDataTypePackageEdit(String newName) {
+		return getXmlResource().createRenameDataTypePackageEdit(newName);
+	}
+
+	protected Iterable<ReplaceEdit> createMoveObjectTypeEdits(IType originalType, IPackageFragment newPackage) {
+		if (this.objectTypeIsFor(originalType.getFullyQualifiedName('.'))) {
+			return new SingleElementIterable<ReplaceEdit>(this.createRenameObjectTypePackageEdit(newPackage.getElementName()));
+		}
+		return EmptyIterable.instance();
+	}
+
+	protected ReplaceEdit createRenameObjectTypePackageEdit(String newName) {
+		return getXmlResource().createRenameObjectTypePackageEdit(newName);
+	}
+
+	@Override
+	@SuppressWarnings("unchecked")
+	public Iterable<ReplaceEdit> createRenamePackageEdits(IPackageFragment originalPackage, String newName) {
+		return new CompositeIterable<ReplaceEdit>(
+			this.createRenameDataTypePackageEdits(originalPackage, newName),
+			this.createRenameObjectTypePackageEdits(originalPackage, newName));
+	}
+
+	protected Iterable<ReplaceEdit> createRenameDataTypePackageEdits(IPackageFragment originalPackage, String newName) {
+		if (this.dataTypeIsIn(originalPackage)) {
+			return new SingleElementIterable<ReplaceEdit>(this.createRenameDataTypePackageEdit(newName));
+		}
+		return EmptyIterable.instance();
+	}
+
+	protected Iterable<ReplaceEdit> createRenameObjectTypePackageEdits(IPackageFragment originalPackage, String newName) {
+		if (this.objectTypeIsIn(originalPackage)) {
+			return new SingleElementIterable<ReplaceEdit>(this.createRenameObjectTypePackageEdit(newName));
+		}
+		return EmptyIterable.instance();
+	}
+
+	protected boolean dataTypeIsFor(String typeName) {
+		return this.isFor(this.dataTypePersistentType, typeName);
+	}
+
+	protected boolean objectTypeIsFor(String typeName) {
+		return this.isFor(this.objectTypePersistentType, typeName);
+	}
+
+	protected boolean isFor(JavaResourcePersistentType persistentType, String typeName) {
+		if (persistentType != null && persistentType.getQualifiedName().equals(typeName)) {
+			return true;
+		}
+		return false;	
+	}
+
+	protected boolean dataTypeIsIn(IPackageFragment packageFragment) {
+		return this.isIn(this.dataTypePersistentType, packageFragment);
+	}
+
+	protected boolean objectTypeIsIn(IPackageFragment packageFragment) {
+		return this.isIn(this.objectTypePersistentType, packageFragment);
+	}
+
+	protected boolean isIn(JavaResourcePersistentType persistentType, IPackageFragment packageFragment) {
+		if (persistentType != null) {
+			return persistentType.isIn(packageFragment);
+		}
+		return false;
+	}
 }
\ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/persistence/EclipseLinkPersistenceUnit.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/persistence/EclipseLinkPersistenceUnit.java
index 7a7f6fe..8c29d50 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/persistence/EclipseLinkPersistenceUnit.java
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/persistence/EclipseLinkPersistenceUnit.java
@@ -514,28 +514,28 @@
 
 	@SuppressWarnings("unchecked")
 	@Override
-	protected Iterable<ReplaceEdit> createPersistenceUnitPropertiesReplaceTypeEdits(IType originalType, String newName) {
+	protected Iterable<ReplaceEdit> createPersistenceUnitPropertiesRenameTypeEdits(IType originalType, String newName) {
 		return new CompositeIterable<ReplaceEdit>(
-			super.createPersistenceUnitPropertiesReplaceTypeEdits(originalType, newName),
-			this.customization.createReplaceTypeEdits(originalType, newName),
-			this.logging.createReplaceTypeEdits(originalType, newName));
+			super.createPersistenceUnitPropertiesRenameTypeEdits(originalType, newName),
+			this.customization.createRenameTypeEdits(originalType, newName),
+			this.logging.createRenameTypeEdits(originalType, newName));
 	}
 
 	@SuppressWarnings("unchecked")
 	@Override
-	protected Iterable<ReplaceEdit> createPersistenceUnitPropertiesMoveTypeReplaceEdits(IType originalType, IPackageFragment newPackage) {
+	protected Iterable<ReplaceEdit> createPersistenceUnitPropertiesMoveTypeEdits(IType originalType, IPackageFragment newPackage) {
 		return new CompositeIterable<ReplaceEdit>(
-			super.createPersistenceUnitPropertiesMoveTypeReplaceEdits(originalType, newPackage),
-			this.customization.createMoveTypeReplaceEdits(originalType, newPackage),
-			this.logging.createMoveTypeReplaceEdits(originalType, newPackage));
+			super.createPersistenceUnitPropertiesMoveTypeEdits(originalType, newPackage),
+			this.customization.createMoveTypeEdits(originalType, newPackage),
+			this.logging.createMoveTypeEdits(originalType, newPackage));
 	}
 
 	@SuppressWarnings("unchecked")
 	@Override
-	protected Iterable<ReplaceEdit> createPersistenceUnitPropertiesReplacePackageEdits(IPackageFragment originalPackage, String newName) {
+	protected Iterable<ReplaceEdit> createPersistenceUnitPropertiesRenamePackageEdits(IPackageFragment originalPackage, String newName) {
 		return new CompositeIterable<ReplaceEdit>(
-			super.createPersistenceUnitPropertiesReplacePackageEdits(originalPackage, newName),
-			this.customization.createReplacePackageEdits(originalPackage, newName),
-			this.logging.createReplacePackageEdits(originalPackage, newName));
+			super.createPersistenceUnitPropertiesRenamePackageEdits(originalPackage, newName),
+			this.customization.createRenamePackageEdits(originalPackage, newName),
+			this.logging.createRenamePackageEdits(originalPackage, newName));
 	}
 }
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/persistence/customization/EclipseLinkCustomization.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/persistence/customization/EclipseLinkCustomization.java
index f0a45f9..3cfbc54 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/persistence/customization/EclipseLinkCustomization.java
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/persistence/customization/EclipseLinkCustomization.java
@@ -807,81 +807,81 @@
 
 	@Override
 	@SuppressWarnings("unchecked")
-	public Iterable<ReplaceEdit> createReplaceTypeEdits(IType originalType, String newName) {
+	public Iterable<ReplaceEdit> createRenameTypeEdits(IType originalType, String newName) {
 		return new CompositeIterable<ReplaceEdit>(
-					this.createSessionCustomizerReplaceTypeEdits(originalType, newName),
-					this.createExceptionHandlerReplaceTypeEdits(originalType, newName));
+					this.createSessionCustomizerRenameTypeEdits(originalType, newName),
+					this.createExceptionHandlerRenameTypeEdits(originalType, newName));
 	}
 
-	protected Iterable<ReplaceEdit> createSessionCustomizerReplaceTypeEdits(final IType originalType, final String newName) {
+	protected Iterable<ReplaceEdit> createSessionCustomizerRenameTypeEdits(final IType originalType, final String newName) {
 		return new CompositeIterable<ReplaceEdit>(
 			new TransformationIterable<PersistenceUnit.Property, Iterable<ReplaceEdit>>(getPersistenceUnit().getPropertiesNamed(ECLIPSELINK_SESSION_CUSTOMIZER)) {
 				@Override
 				protected Iterable<ReplaceEdit> transform(PersistenceUnit.Property property) {
-					return property.createReplaceTypeEdits(originalType, newName);
+					return property.createRenameTypeEdits(originalType, newName);
 				}
 			}
 		);
 	}
 
-	protected Iterable<ReplaceEdit> createExceptionHandlerReplaceTypeEdits(IType originalType, String newName) {
+	protected Iterable<ReplaceEdit> createExceptionHandlerRenameTypeEdits(IType originalType, String newName) {
 		PersistenceUnit.Property property = getPersistenceUnit().getProperty(ECLIPSELINK_EXCEPTION_HANDLER);
 		if (property != null) {
-			return property.createReplaceTypeEdits(originalType, newName);
+			return property.createRenameTypeEdits(originalType, newName);
 		}
 		return EmptyIterable.instance();
 	}
 
 	@Override
 	@SuppressWarnings("unchecked")
-	public Iterable<ReplaceEdit> createMoveTypeReplaceEdits(IType originalType, IPackageFragment newPackage) {
+	public Iterable<ReplaceEdit> createMoveTypeEdits(IType originalType, IPackageFragment newPackage) {
 		return new CompositeIterable<ReplaceEdit>(
-					this.createSessionCustomizerMoveTypeReplaceEdits(originalType, newPackage),
-					this.createExceptionHandlerMoveTypeReplaceEdits(originalType, newPackage));
+					this.createSessionCustomizerMoveTypeEdits(originalType, newPackage),
+					this.createExceptionHandlerMoveTypeEdits(originalType, newPackage));
 	}
 
-	protected Iterable<ReplaceEdit> createSessionCustomizerMoveTypeReplaceEdits(final IType originalType, final IPackageFragment newPackage) {
+	protected Iterable<ReplaceEdit> createSessionCustomizerMoveTypeEdits(final IType originalType, final IPackageFragment newPackage) {
 		return new CompositeIterable<ReplaceEdit>(
 			new TransformationIterable<PersistenceUnit.Property, Iterable<ReplaceEdit>>(getPersistenceUnit().getPropertiesNamed(ECLIPSELINK_SESSION_CUSTOMIZER)) {
 				@Override
 				protected Iterable<ReplaceEdit> transform(PersistenceUnit.Property property) {
-					return property.createMoveTypeReplaceEdits(originalType, newPackage);
+					return property.createMoveTypeEdits(originalType, newPackage);
 				}
 			}
 		);
 	}
 
-	protected Iterable<ReplaceEdit> createExceptionHandlerMoveTypeReplaceEdits(IType originalType, IPackageFragment newPackage) {
+	protected Iterable<ReplaceEdit> createExceptionHandlerMoveTypeEdits(IType originalType, IPackageFragment newPackage) {
 		PersistenceUnit.Property property = getPersistenceUnit().getProperty(ECLIPSELINK_EXCEPTION_HANDLER);
 		if (property != null) {
-			return property.createMoveTypeReplaceEdits(originalType, newPackage);
+			return property.createMoveTypeEdits(originalType, newPackage);
 		}
 		return EmptyIterable.instance();
 	}
 
 	@Override
 	@SuppressWarnings("unchecked")
-	public Iterable<ReplaceEdit> createReplacePackageEdits(IPackageFragment originalPackage, String newName) {
+	public Iterable<ReplaceEdit> createRenamePackageEdits(IPackageFragment originalPackage, String newName) {
 		return new CompositeIterable<ReplaceEdit>(
-					this.createSessionCustomizerReplacePackageEdits(originalPackage, newName),
-					this.createExceptionHandlerReplacePackageEdits(originalPackage, newName));
+					this.createSessionCustomizerRenamePackageEdits(originalPackage, newName),
+					this.createExceptionHandlerRenamePackageEdits(originalPackage, newName));
 	}
 
-	protected Iterable<ReplaceEdit> createSessionCustomizerReplacePackageEdits(final IPackageFragment originalPackage, final String newName) {
+	protected Iterable<ReplaceEdit> createSessionCustomizerRenamePackageEdits(final IPackageFragment originalPackage, final String newName) {
 		return new CompositeIterable<ReplaceEdit>(
 			new TransformationIterable<PersistenceUnit.Property, Iterable<ReplaceEdit>>(getPersistenceUnit().getPropertiesNamed(ECLIPSELINK_SESSION_CUSTOMIZER)) {
 				@Override
 				protected Iterable<ReplaceEdit> transform(PersistenceUnit.Property property) {
-					return property.createReplacePackageEdits(originalPackage, newName);
+					return property.createRenamePackageEdits(originalPackage, newName);
 				}
 			}
 		);
 	}
 
-	protected Iterable<ReplaceEdit> createExceptionHandlerReplacePackageEdits(IPackageFragment originalPackage, String newName) {
+	protected Iterable<ReplaceEdit> createExceptionHandlerRenamePackageEdits(IPackageFragment originalPackage, String newName) {
 		PersistenceUnit.Property property = getPersistenceUnit().getProperty(ECLIPSELINK_EXCEPTION_HANDLER);
 		if (property != null) {
-			return property.createReplacePackageEdits(originalPackage, newName);
+			return property.createRenamePackageEdits(originalPackage, newName);
 		}
 		return EmptyIterable.instance();
 	}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/persistence/logging/EclipseLinkLogging.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/persistence/logging/EclipseLinkLogging.java
index 4ddc5bd..159a478 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/persistence/logging/EclipseLinkLogging.java
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/persistence/logging/EclipseLinkLogging.java
@@ -366,43 +366,43 @@
 	// ********** refactoring ************
 
 	@Override
-	public Iterable<ReplaceEdit> createReplaceTypeEdits(IType originalType, String newName) {
-		return this.createLoggerReplaceTypeEdits(originalType, newName);
+	public Iterable<ReplaceEdit> createRenameTypeEdits(IType originalType, String newName) {
+		return this.createLoggerRenameTypeEdits(originalType, newName);
 	}
 
-	protected Iterable<ReplaceEdit> createLoggerReplaceTypeEdits(IType originalType, String newName) {
+	protected Iterable<ReplaceEdit> createLoggerRenameTypeEdits(IType originalType, String newName) {
 		//TODO seems like we should have the Property stored in a SessionCustomizer object instead of having to go 
 		//find all of the Properties from the persistence unit.
 		PersistenceUnit.Property property = getPersistenceUnit().getProperty(ECLIPSELINK_LOGGER);
 		if (property != null) {
-			return property.createReplaceTypeEdits(originalType, newName);
+			return property.createRenameTypeEdits(originalType, newName);
 		}
 		return EmptyIterable.instance();
 	}
 
 	@Override
-	public Iterable<ReplaceEdit> createMoveTypeReplaceEdits(IType originalType, IPackageFragment newPackage) {
-		return this.createLoggerMoveTypeReplaceEdits(originalType, newPackage);
+	public Iterable<ReplaceEdit> createMoveTypeEdits(IType originalType, IPackageFragment newPackage) {
+		return this.createLoggerMoveTypeEdits(originalType, newPackage);
 	}
 
-	protected Iterable<ReplaceEdit> createLoggerMoveTypeReplaceEdits(IType originalType, IPackageFragment newPackage) {
+	protected Iterable<ReplaceEdit> createLoggerMoveTypeEdits(IType originalType, IPackageFragment newPackage) {
 		PersistenceUnit.Property property = getPersistenceUnit().getProperty(ECLIPSELINK_LOGGER);
 		if (property != null) {
-			return property.createMoveTypeReplaceEdits(originalType, newPackage);
+			return property.createMoveTypeEdits(originalType, newPackage);
 		}
 		return EmptyIterable.instance();
 	}
 
 	@Override
-	public Iterable<ReplaceEdit> createReplacePackageEdits(IPackageFragment originalPackage, String newName) {
-		return this.createLoggerReplacePackageEdits(originalPackage, newName);
+	public Iterable<ReplaceEdit> createRenamePackageEdits(IPackageFragment originalPackage, String newName) {
+		return this.createLoggerRenamePackageEdits(originalPackage, newName);
 	}
 
-	protected Iterable<ReplaceEdit> createLoggerReplacePackageEdits(IPackageFragment originalPackage, String newName) {
+	protected Iterable<ReplaceEdit> createLoggerRenamePackageEdits(IPackageFragment originalPackage, String newName) {
 		//find all of the Properties from the persistence unit.
 		PersistenceUnit.Property property = getPersistenceUnit().getProperty(ECLIPSELINK_LOGGER);
 		if (property != null) {
-			return property.createReplacePackageEdits(originalPackage, newName);
+			return property.createRenamePackageEdits(originalPackage, newName);
 		}
 		return EmptyIterable.instance();
 	}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/persistence/options/EclipseLinkOptions.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/persistence/options/EclipseLinkOptions.java
index 465a7d1..0cc9e46 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/persistence/options/EclipseLinkOptions.java
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/persistence/options/EclipseLinkOptions.java
@@ -404,40 +404,40 @@
 	// ********** refactoring ************
 
 	@Override
-	public Iterable<ReplaceEdit> createReplaceTypeEdits(IType originalType, String newName) {
-		return this.createEventListenerReplaceTypeEdits(originalType, newName);
+	public Iterable<ReplaceEdit> createRenameTypeEdits(IType originalType, String newName) {
+		return this.createEventListenerRenameTypeEdits(originalType, newName);
 	}
 
-	protected Iterable<ReplaceEdit> createEventListenerReplaceTypeEdits(IType originalType, String newName) {
+	protected Iterable<ReplaceEdit> createEventListenerRenameTypeEdits(IType originalType, String newName) {
 		PersistenceUnit.Property property = getPersistenceUnit().getProperty(ECLIPSELINK_SESSION_EVENT_LISTENER);
 		if (property != null) {
-			return property.createReplaceTypeEdits(originalType, newName);
+			return property.createRenameTypeEdits(originalType, newName);
 		}
 		return EmptyIterable.instance();
 	}
 
 	@Override
-	public Iterable<ReplaceEdit> createMoveTypeReplaceEdits(IType originalType, IPackageFragment newPackage) {
-		return this.createEventListenerMoveTypeReplaceEdits(originalType, newPackage);
+	public Iterable<ReplaceEdit> createMoveTypeEdits(IType originalType, IPackageFragment newPackage) {
+		return this.createEventListenerMoveTypeEdits(originalType, newPackage);
 	}
 
-	protected Iterable<ReplaceEdit> createEventListenerMoveTypeReplaceEdits(IType originalType, IPackageFragment newPackage) {
+	protected Iterable<ReplaceEdit> createEventListenerMoveTypeEdits(IType originalType, IPackageFragment newPackage) {
 		PersistenceUnit.Property property = getPersistenceUnit().getProperty(ECLIPSELINK_SESSION_EVENT_LISTENER);
 		if (property != null) {
-			return property.createMoveTypeReplaceEdits(originalType, newPackage);
+			return property.createMoveTypeEdits(originalType, newPackage);
 		}
 		return EmptyIterable.instance();
 	}
 
 	@Override
-	public Iterable<ReplaceEdit> createReplacePackageEdits(IPackageFragment originalPackage, String newName) {
-		return this.createEventListenerReplacePackageEdits(originalPackage, newName);
+	public Iterable<ReplaceEdit> createRenamePackageEdits(IPackageFragment originalPackage, String newName) {
+		return this.createEventListenerRenamePackageEdits(originalPackage, newName);
 	}
 
-	protected Iterable<ReplaceEdit> createEventListenerReplacePackageEdits(IPackageFragment originalPackage, String newName) {
+	protected Iterable<ReplaceEdit> createEventListenerRenamePackageEdits(IPackageFragment originalPackage, String newName) {
 		PersistenceUnit.Property property = getPersistenceUnit().getProperty(ECLIPSELINK_SESSION_EVENT_LISTENER);
 		if (property != null) {
-			return property.createReplacePackageEdits(originalPackage, newName);
+			return property.createRenamePackageEdits(originalPackage, newName);
 		}
 		return EmptyIterable.instance();
 	}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlConverter.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlConverter.java
index 0815d6a..de11705 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlConverter.java
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlConverter.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2008, 2009 Oracle. All rights reserved.
+ * Copyright (c) 2008, 2010 Oracle. 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.
@@ -14,7 +14,9 @@
 import org.eclipse.emf.ecore.EClass;
 import org.eclipse.emf.ecore.EStructuralFeature;
 import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.jdt.core.IType;
 import org.eclipse.jpt.core.internal.utility.translators.SimpleTranslator;
+import org.eclipse.text.edits.ReplaceEdit;
 import org.eclipse.wst.common.internal.emf.resource.Translator;
 
 /**
@@ -220,5 +222,25 @@
 	protected static Translator buildClassTranslator() {
 		return new Translator(EclipseLink.CONVERTER__CLASS, EclipseLinkOrmPackage.eINSTANCE.getXmlConverter_ClassName(), Translator.DOM_ATTRIBUTE);
 	}
-	
+
+
+	// ********** refactoring **********
+
+	public ReplaceEdit createRenameEdit(IType originalType, String newName) {
+		String originalName = originalType.getTypeQualifiedName();
+		int nameIndex = this.className.lastIndexOf(originalName);
+		int offset = getAttributeNode(EclipseLink.CONVERTER__CLASS).getValueRegionStartOffset() + 1; // +1 = opening double quote
+		return new ReplaceEdit(offset + nameIndex, originalName.length(), newName);
+	}
+
+	public ReplaceEdit createRenamePackageEdit(String newName) {
+		int packageLength = this.className.lastIndexOf('.');
+		if (packageLength == -1) {
+			packageLength = 0;
+			newName = newName + '.';
+		}
+		int offset = getAttributeNode(EclipseLink.CONVERTER__CLASS).getValueRegionStartOffset() + 1; // +1 = opening double quote
+		return new ReplaceEdit(offset, packageLength, newName);
+	}
+
 } // XmlConverter
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlObjectTypeConverter.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlObjectTypeConverter.java
index 2dd4e84..1a3958c 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlObjectTypeConverter.java
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlObjectTypeConverter.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2008, 2009 Oracle. All rights reserved.
+ * Copyright (c) 2008, 2010 Oracle. 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.
@@ -20,7 +20,9 @@
 import org.eclipse.emf.ecore.impl.ENotificationImpl;
 import org.eclipse.emf.ecore.util.EObjectContainmentEList;
 import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.jdt.core.IType;
 import org.eclipse.jpt.core.internal.utility.translators.SimpleTranslator;
+import org.eclipse.text.edits.ReplaceEdit;
 import org.eclipse.wst.common.internal.emf.resource.Translator;
 
 /**
@@ -434,5 +436,42 @@
 	protected static Translator buildObjectTypeTranslator() {
 		return new Translator(EclipseLink.OBJECT_TYPE_CONVERTER__OBJECT_TYPE, EclipseLinkOrmPackage.eINSTANCE.getXmlObjectTypeConverter_ObjectType(), Translator.DOM_ATTRIBUTE);
 	}
-	
+
+
+	// ********** refactoring **********
+
+	public ReplaceEdit createRenameDataTypeEdit(IType originalType, String newName) {
+		String originalName = originalType.getTypeQualifiedName();
+		int nameIndex = this.dataType.lastIndexOf(originalName);
+		int offset = getAttributeNode(EclipseLink.OBJECT_TYPE_CONVERTER__DATA_TYPE).getValueRegionStartOffset() + 1; // +1 = opening double quote
+		return new ReplaceEdit(offset + nameIndex, originalName.length(), newName);
+	}
+
+	public ReplaceEdit createRenameDataTypePackageEdit(String newName) {
+		int packageLength = this.dataType.lastIndexOf('.');
+		if (packageLength == -1) {
+			packageLength = 0;
+			newName = newName + '.';
+		}
+		int offset = getAttributeNode(EclipseLink.OBJECT_TYPE_CONVERTER__DATA_TYPE).getValueRegionStartOffset() + 1; // +1 = opening double quote
+		return new ReplaceEdit(offset, packageLength, newName);
+	}
+
+	public ReplaceEdit createRenameObjectTypeEdit(IType originalType, String newName) {
+		String originalName = originalType.getTypeQualifiedName();
+		int nameIndex = this.objectType.lastIndexOf(originalName);
+		int offset = getAttributeNode(EclipseLink.OBJECT_TYPE_CONVERTER__OBJECT_TYPE).getValueRegionStartOffset() + 1; // +1 = opening double quote
+		return new ReplaceEdit(offset + nameIndex, originalName.length(), newName);
+	}
+
+	public ReplaceEdit createRenameObjectTypePackageEdit(String newName) {
+		int packageLength = this.objectType.lastIndexOf('.');
+		if (packageLength == -1) {
+			packageLength = 0;
+			newName = newName + '.';
+		}
+		int offset = getAttributeNode(EclipseLink.OBJECT_TYPE_CONVERTER__OBJECT_TYPE).getValueRegionStartOffset() + 1; // +1 = opening double quote
+		return new ReplaceEdit(offset, packageLength, newName);
+	}
+
 } // XmlObjectTypeConverter
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlStructConverter.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlStructConverter.java
index 5c65dd0..06e218c 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlStructConverter.java
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlStructConverter.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2008, 2009 Oracle. All rights reserved.
+ * Copyright (c) 2008, 2010 Oracle. 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.
@@ -14,7 +14,9 @@
 import org.eclipse.emf.ecore.EClass;
 import org.eclipse.emf.ecore.EStructuralFeature;
 import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.jdt.core.IType;
 import org.eclipse.jpt.core.internal.utility.translators.SimpleTranslator;
+import org.eclipse.text.edits.ReplaceEdit;
 import org.eclipse.wst.common.internal.emf.resource.Translator;
 
 /**
@@ -226,4 +228,23 @@
 		return new Translator(EclipseLink.STRUCT_CONVERTER__CONVERTER, EclipseLinkOrmPackage.eINSTANCE.getXmlStructConverter_Converter(), Translator.DOM_ATTRIBUTE);
 	}
 
+
+	// ********** refactoring **********
+
+	public ReplaceEdit createRenameEdit(IType originalType, String newName) {
+		String originalName = originalType.getTypeQualifiedName();
+		int nameIndex = this.converter.lastIndexOf(originalName);
+		int offset = getAttributeNode(EclipseLink.STRUCT_CONVERTER__CONVERTER).getValueRegionStartOffset() + 1; // +1 = opening double quote
+		return new ReplaceEdit(offset + nameIndex, originalName.length(), newName);
+	}
+
+	public ReplaceEdit createRenamePackageEdit(String newName) {
+		int packageLength = this.converter.lastIndexOf('.');
+		if (packageLength == -1) {
+			packageLength = 0;
+			newName = newName + '.';
+		}
+		int offset = getAttributeNode(EclipseLink.STRUCT_CONVERTER__CONVERTER).getValueRegionStartOffset() + 1; // +1 = opening double quote
+		return new ReplaceEdit(offset, packageLength, newName);
+	}
 } // XmlStructConverter
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlTypeConverter.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlTypeConverter.java
index 0587b41..af07bb7 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlTypeConverter.java
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlTypeConverter.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2008, 2009 Oracle. All rights reserved.
+ * Copyright (c) 2008, 2010 Oracle. 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.
@@ -14,7 +14,9 @@
 import org.eclipse.emf.ecore.EClass;
 import org.eclipse.emf.ecore.EStructuralFeature;
 import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.jdt.core.IType;
 import org.eclipse.jpt.core.internal.utility.translators.SimpleTranslator;
+import org.eclipse.text.edits.ReplaceEdit;
 import org.eclipse.wst.common.internal.emf.resource.Translator;
 
 /**
@@ -296,4 +298,42 @@
 	protected static Translator buildObjectTypeTranslator() {
 		return new Translator(EclipseLink.TYPE_CONVERTER__OBJECT_TYPE, EclipseLinkOrmPackage.eINSTANCE.getXmlTypeConverter_ObjectType(), Translator.DOM_ATTRIBUTE);
 	}
+
+
+	// ********** refactoring **********
+
+	public ReplaceEdit createRenameDataTypeEdit(IType originalType, String newName) {
+		String originalName = originalType.getTypeQualifiedName();
+		int nameIndex = this.dataType.lastIndexOf(originalName);
+		int offset = getAttributeNode(EclipseLink.TYPE_CONVERTER__DATA_TYPE).getValueRegionStartOffset() + 1; // +1 = opening double quote
+		return new ReplaceEdit(offset + nameIndex, originalName.length(), newName);
+	}
+
+	public ReplaceEdit createRenameDataTypePackageEdit(String newName) {
+		int packageLength = this.dataType.lastIndexOf('.');
+		if (packageLength == -1) {
+			packageLength = 0;
+			newName = newName + '.';
+		}
+		int offset = getAttributeNode(EclipseLink.TYPE_CONVERTER__DATA_TYPE).getValueRegionStartOffset() + 1; // +1 = opening double quote
+		return new ReplaceEdit(offset, packageLength, newName);
+	}
+
+	public ReplaceEdit createRenameObjectTypeEdit(IType originalType, String newName) {
+		String originalName = originalType.getTypeQualifiedName();
+		int nameIndex = this.objectType.lastIndexOf(originalName);
+		int offset = getAttributeNode(EclipseLink.TYPE_CONVERTER__OBJECT_TYPE).getValueRegionStartOffset() + 1; // +1 = opening double quote
+		return new ReplaceEdit(offset + nameIndex, originalName.length(), newName);
+	}
+
+	public ReplaceEdit createRenameObjectTypePackageEdit(String newName) {
+		int packageLength = this.objectType.lastIndexOf('.');
+		if (packageLength == -1) {
+			packageLength = 0;
+			newName = newName + '.';
+		}
+		int offset = getAttributeNode(EclipseLink.TYPE_CONVERTER__OBJECT_TYPE).getValueRegionStartOffset() + 1; // +1 = opening double quote
+		return new ReplaceEdit(offset, packageLength, newName);
+	}
+
 } // XmlTypeConverter