################################################################################
# Copyright (c) 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.
# 
# Contributors:
#     Oracle - initial API and implementation
################################################################################

JPA_DELETE_TYPE_REFACTORING_PARTICIPANT_NAME=JPA delete IType refactoring participant
JPA_DELETE_PACKAGE_OR_FOLDER_REFACTORING_PARTICIPANT_NAME=JPA delete IPackageFragment/IFolder refactoring participant
JPA_DELETE_TYPE_REFACTORING_CHANGE_NAME=Delete references in JPA metadata files
JPA_DELETE_TYPE_REFACTORING_CHANGE_PERSISTENCE_XML_NAME=Delete references from persistence.xml
JPA_DELETE_TYPE_REFACTORING_CHANGE_MAPPING_FILE_NAME=Delete types from mapping file
JPA_DELETE_TYPE_REFACTORING_SUB_TASK_NAME=JPA delete references

JPA_DELETE_MAPPING_FILE_REFACTORING_PARTICIPANT_NAME=JPA delete mapping file refactoring participant
JPA_DELETE_MAPPING_FILE_REFACTORING_SUB_TASK_NAME=JPA delete mapping file references
JPA_DELETE_MAPPING_FILE_REFACTORING_CHANGE_NAME=Delete mapping file references in JPA metadata files
JPA_DELETE_MAPPING_FILE_REFACTORING_CHANGE_PERSISTENCE_XML_NAME=Delete mapping files from persistence.xml

JPA_REFACORING_PARTICIPANT_LOADING_JPA_PROJECTS_SUB_TASK_NAME=loading JPA projects

JPA_RENAME_TYPE_REFACTORING_PARTICIPANT_NAME=JPA rename IType refactoring participant
JPA_RENAME_TYPE_REFACTORING_CHANGE_NAME=Rename classes referenced in JPA metadata files
JPA_RENAME_TYPE_REFACTORING_CHANGE_PERSISTENCE_XML_NAME=Rename type references in the persistence.xml
JPA_RENAME_TYPE_REFACTORING_CHANGE_MAPPING_FILE_NAME=Rename type references in the mapping file
JPA_RENAME_TYPE_REFACTORING_SUB_TASK_NAME=JPA rename type references

JPA_RENAME_PACKAGE_REFACTORING_PARTICIPANT_NAME=JPA rename IPackageFragment refactoring participant
JPA_RENAME_PACKAGE_REFACTORING_CHANGE_NAME=Rename packages referenced in JPA metadata files
JPA_RENAME_PACKAGE_REFACTORING_CHANGE_PERSISTENCE_XML_NAME=Rename package references in the persistence.xml
JPA_RENAME_PACKAGE_REFACTORING_CHANGE_MAPPING_FILE_NAME=Rename package references in the mapping file
JPA_RENAME_PACKAGE_REFACTORING_SUB_TASK_NAME=JPA rename package references

JPA_RENAME_FOLDER_REFACTORING_PARTICIPANT_NAME=JPA rename IFolder refactoring participant
JPA_RENAME_FOLDER_REFACTORING_CHANGE_NAME=Rename folders referenced in JPA metadata files
JPA_RENAME_FOLDER_REFACTORING_CHANGE_PERSISTENCE_XML_NAME=Rename folder references in the persistence.xml
JPA_RENAME_FOLDER_REFACTORING_SUB_TASK_NAME=JPA rename folder references

JPA_RENAME_MAPPING_FILE_REFACTORING_PARTICIPANT_NAME=JPA rename mapping file refactoring participant
JPA_RENAME_MAPPING_FILE_REFACTORING_SUB_TASK_NAME=JPA rename mapping file references
JPA_RENAME_MAPPING_FILE_REFACTORING_CHANGE_NAME=Rename mapping file references in JPA metadata files
JPA_RENAME_MAPPING_FILE_REFACTORING_CHANGE_PERSISTENCE_XML_NAME=Rename mapping file references in the persistence.xml

JPA_MOVE_TYPE_REFACTORING_PARTICIPANT_NAME=JPA move IType refactoring participant
JPA_MOVE_TYPE_REFACTORING_CHANGE_NAME=Move classes referenced in JPA metadata files
JPA_MOVE_TYPE_REFACTORING_CHANGE_PERSISTENCE_XML_NAME=Move type references in the persistence.xml
JPA_MOVE_TYPE_REFACTORING_CHANGE_MAPPING_FILE_NAME=Move type references in the mapping file
JPA_MOVE_TYPE_REFACTORING_SUB_TASK_NAME=JPA move type references

JPA_MOVE_MAPPING_FILE_REFACTORING_PARTICIPANT_NAME=JPA move mapping file refactoring participant
JPA_MOVE_MAPPING_FILE_REFACTORING_SUB_TASK_NAME=JPA move mapping file references
JPA_MOVE_MAPPING_FILE_REFACTORING_CHANGE_NAME=Move mapping file references in JPA metadata files
JPA_MOVE_MAPPING_FILE_REFACTORING_CHANGE_PERSISTENCE_XML_NAME=Move mapping file references in the persistence.xml

JPA_MOVE_FOLDER_REFACTORING_PARTICIPANT_NAME=JPA move IFolder refactoring participant
JPA_MOVE_FOLDER_REFACTORING_CHANGE_NAME=Move folders referenced in JPA metadata files
JPA_MOVE_FOLDER_REFACTORING_CHANGE_PERSISTENCE_XML_NAME=Move folder references in the persistence.xml
JPA_MOVE_FOLDER_REFACTORING_SUB_TASK_NAME=JPA move folder references
