###############################################################################
# Copyright (c) 2009, 2010 IBM Corporation and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v1.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/epl-v10.html
#
# Contributors:
# IBM Corporation - initial API and implementation
# yyyymmdd bug      Email and other contact information
# -------- -------- -----------------------------------------------------------
# 20091021   291954 ericdp@ca.ibm.com - Eric D. Peters, JAX-RS: Implement JAX-RS Facet
# 20100413   307552 ericdp@ca.ibm.com - Eric D. Peters, JAX-RS and Java EE 6 setup is incorrect
# 20100519   313576 ericdp@ca.ibm.com - Eric D. Peters, JAX-RS tools- validation problems
###############################################################################
JAXRSLibraryRegistry_ErrorCreatingURL=Error creating URL for JAX-RS Library Registry
JAXRSLibraryRegistry_ErrorSaving=Error saving JAX-RS Library Registry
JAXRSLibraryRegistry_DEFAULT_IMPL_LABEL=<Default>
JAXRSLibraryConfigModel_Null_Data_Source=Data Source is not provided.
JAXRSLibraryRegistry_ErrorLoadingFromExtPt=Error while loading JAX-RS Libraries from extension points
JAXRSSharedLibraryConfigurator_ErrorLoadingFromExtPt=Error while loading JAX-RS Shared Library Configurators from extension points
JAXRSLibraryProvider_ErrorLoadingFromExtPt=Error while loading JAX-RS Library Providers from extension points
JAXRSLibraryClasspathContainer_IMPL_LIBRARY=[JAX-RS Library]

JAXRSFacetInstallDataModelProvider_ValidateServletName=Specify a servlet name to use
JAXRSFacetInstallDataModelProvider_ValidateServletClassName=Specify a servlet class name to use
JAXRSLibraryConfigPersistData_SAVED_IMPLLIB_NOT_FOUND=Saved JAX-RS implementation library in {0} is unavailable in JAX-RS Library Registry
JAXRSLibraryConfigPersistData_SAVED_COMPLIB_NOT_FOUND=Saved JAX-RS component library in {0} is unavailable in JAX-RS Library Registry
JAXRSLibrariesContainerInitializer_missing_library=[missing JAX-RS Library]
JAXRSFacetInstallDataModelProvider_ValidateJAXRSImpl=A JAX-RS implementation library has not been chosen
JAXRSFacetInstallDataModelProvider_DupeJarValidation=Duplicated jar on classpath: {0}
JAXRSFacetInstallDataModelProvider_ClientImplValidationMsg=JAX-RS Implementation library must be specified.

JAXRSFacetInstallDelegate_InternalErr=Internal Error creating JAX-RS Facet.  Missing configuration.
JAXRSFacetInstallDelegate_ConfigErr=''{0}'' : unable to configure web module for JAX-RS 
JAXRSFacetInstallDelegate_NonUpdateableWebXML=JAX-RS Facet was not installed on ''{0}''.  The web.xml file needs to be updateable.
JAXRSFacetUninstallDelegate_ConfigErr=''{0}'' : unable to de-configure web module for JAX-RS
JAXRSFacetUninstallDelegate_NonUpdateableWebXML=JAX-RS Facet was not un-installed from ''{0}''.  The web.xml file needs to be updateable.

ArchiveFileImpl_CannotCopyFile=Cannot copy file
ArchiveFileImpl_CannotCloseFile=Cannot close file
ArchiveFileImpl_CannotLocatePluginRelativeFile=Cannot locate plugin-relative file "{0}"

PluginProvidedJAXRSLibraryCreationHelper_ErrorCreating=Unable to create JAX-RS Library: {0}
PluginProvidedSharedLibraryConfiguratorCreationHelper_ErrorCreating=Unable to create JAX-RS Shared Library Configurator: {0}
JAXRSLibraryProviderCreationHelper_ErrorCreating=Unable to create JAX-RS Library Provider: {0}
PluginProvidedJAXRSLibraryCreationHelper_ErrorMultipleDefinition={0} defined multiple times in {1}
