################################################################################
# Copyright (c) 2006, 2013 Oracle. All rights reserved.
# This program and the accompanying materials are made available under the
# terms of the Eclipse Public License 2.0, which accompanies this distribution
# and is available at https://www.eclipse.org/legal/epl-2.0/.
# 
# Contributors:
#     Oracle - initial API and implementation
################################################################################

# JptJpaCoreMessages

NONE=<None>

BUILD_JPA_PROJECT_JOB_NAME=Building JPA Project: {0}
DISPOSE_JPA_PROJECTS_JOB_NAME=Disposing JPA Projects
GET_JPA_PROJECTS_JOB_NAME=Retrieving JPA Projects
GET_JPA_PROJECT_JOB_NAME=Retrieving JPA Project: {0}
REBUILD_JPA_PROJECT_JOB_NAME=Rebuilding JPA Project: {0}
BUILD_VALIDATION_MESSAGES_JOB_NAME=JPA Validation: {0}
PROJECT_CHANGE_EVENT_HANDLER_JOB_NAME=JPA Project Change Event Handler
PROJECT_POST_CLEAN_BUILD_EVENT_HANDLER_JOB_NAME=JPA Project Post-Clean Build Event Handler: {0}
FACET_FILE_CHANGE_EVENT_HANDLER_JOB_NAME=JPA Facet File Change Event Handler: {0}
JAVA_CHANGE_EVENT_HANDLER_JOB_NAME=JPA Java Change Event Handler

VALIDATE_JOB=Validation
VALIDATE_PROJECT_NOT_JPA=Project does not have the JPA facet
VALIDATE_PROJECT_IMPROPER_PLATFORM=Project's JPA platform does not support this file type
VALIDATE_CONTAINER_QUESTIONABLE=Parent folder may not be acceptable for this project
VALIDATE_PERSISTENCE_UNIT_DOES_NOT_SPECIFIED=Persistence unit not specified
VALIDATE_PERSISTENCE_UNIT_NOT_IN_PROJECT=Persistence unit ''{0}'' not defined in project ''{1}''
VALIDATE_PLATFORM_NOT_SPECIFIED=Platform must be specified
VALIDATE_PLATFORM_DOES_NOT_SUPPORT_FACET_VERSION=Platform does not support the current JPA facet version
VALIDATE_LIBRARY_PROVIDER_INVALID=The currently selected library provider is invalid
VALIDATE_CONNECTION_INVALID=Connection profile ''{0}'' does not exist
VALIDATE_CONNECTION_NOT_CONNECTED=Connection must be active to get data source specific help and validation.
VALIDATE_DEFAULT_CATALOG_NOT_SPECIFIED=Default catalog is not specified
VALIDATE_CONNECTION_DOESNT_CONTAIN_CATALOG=Catalog ''{0}'' does not exist on the connection specified
VALIDATE_DEFAULT_SCHEMA_NOT_SPECIFIED=Default schema is not specified
VALIDATE_CONNECTION_DOESNT_CONTAIN_SCHEMA=Schema ''{0}'' does not exist on the connection specified
CONTEXT_MODEL_SYNC_JOB_NAME=Synchronize JPA project: ''{0}''
UPDATE_JOB_NAME=Update JPA project: ''{0}''
METAMODEL_SYNC_JOB_NAME=Synchronize JPA project metamodel: ''{0}''
INVALID_FACET=Invalid Facet: {0}

JAVA_METADATA_CONVERSION_IN_PROGRESS=Java metadata conversion in progress...
JAVA_METADATA_CONVERSION_CONVERT_GENERATOR=Converting Java generator ''{0}''
JAVA_METADATA_CONVERSION_CONVERT_QUERY=Converting Java query ''{0}''
JAVA_METADATA_CONVERSION_CANCELED=Java metadata conversion operation canceled. Check for inconsistent metadata.
JAVA_METADATA_CONVERSION_COMPLETE=Java metadata conversion complete. Open the mapping file...

MAKE_PERSISTENT_ADD_TO_XML_RESOURCE_MODEL=Adding to XML resource model
MAKE_PERSISTENT_BUILDING_PERSISTENT_TYPE=Building: {0}
MAKE_PERSISTENT_PROCESSING_MAPPED_SUPERCLASSES=Processing mapped superclasses...
MAKE_PERSISTENT_PROCESSING_ENTITIES=Processing entities...
MAKE_PERSISTENT_PROCESSING_EMBEDDABLES=Processing embeddables...
MAKE_PERSISTENT_UPDATING_JPA_MODEL=Updating JPA model
MAKE_PERSISTENT_PROCESSING_JAVA_CLASSES=Processing Java classes...
MAKE_PERSISTENT_ANNOTATING_CLASS=Annotating: {0}
MAKE_PERSISTENT_LISTING_IN_PERSISTENCE_XML=Listing in persistence.xml...
MAKE_PERSISTENT_ADD_TO_PERSISTENCE_XML_RESOURCE_MODEL=Adding to XML resource model

BASIC_JPA_SE_PRESET_CONFIG__LABEL=Basic JPA Configuration
BASIC_JPA_SE_PRESET_CONFIG__DESC=A general starting point for a JPA application.
BASIC_JPA_EE_PRESET_CONFIG__LABEL=Basic JPA EE Configuration
BASIC_JPA_EE_PRESET_CONFIG__DESC=A general starting point for a JPA application intended to be used as part of a Java EE deployment.

