###############################################################################
# Copyright (c) 2003, 2006 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
###############################################################################
ERR_JAR_NAME_EMPTY=The JAR name cannot be empty.
ERR_JAR_NAME_EXIST=The JAR name already exists.
ERR_JAVA_PROJECT_NAME_EMPTY=The Java project name cannot be empty.
ERR_JAVA_PROJECT_NAME_EXIST=The Java project name already exists.
ERR_SERVLET_MAPPING_URL_PATTERN_EMPTY=The servlet mapping url pattern cannot be empty.

KEY_3=The filter mapping url pattern cannot be empty.
KEY_4=The filter mapping url pattern "{0}" already exists.
KEY_5=The filter mapping servlet cannot be empty.
KEY_6=The filter init param name cannot be empty.
ERR_FILTER_PARAMETER_NAME_EXIST=The filter initialization parameter name already exists.
ERR_FILTER_MAPPING_SERVLET_EXIST=The filter mapping servlet "{0}" already exists.
ERR_FILTER_MAPPING_SERVLET_DISPATCHER_TYPES_EMPTY=The dispatcher types cannot be empty.
ERR_DISPLAY_NAME_EMPTY=The name cannot be empty.
ERR_SERVLET_NAME_EXIST=The servlet name already exists.
ERR_SERVLET_DISPLAY_NAME_EXIST=The servlet display name already exists.
ERR_SERVLET_CLASS_NAME_USED=The class is already associated with other servlet.
ERR_SERVLET_JAVA_CLASS_NAME_INVALID=Cannot use Servlet as the servlet class name.
ERR_SERVLET_MAPPING_URL_PATTERN_EXIST=The servlet URL mapping pattern already exists.
ERR_SERVLET_MAPPING_SERVLET_NOT_EXIST=The servlet does not exist.
ERR_SERVLET_PARAMETER_NAME_EMPTY=The servlet initialization parameter name cannot be empty.
ERR_SERVLET_PARAMETER_NAME_EXIST=The servlet initialization parameter name already exists.
ERR_SERVLET_PARAMETER_VALUE_EMPTY=The servlet initialization parameter value cannot be empty.
ERR_SERVLET_PARAMETER_VALUE_EXIST=The servlet initialization parameter value already exists.

ERR_FILTER_NAME_EXIST=The filter name already exists.
ERR_FILTER_CLASS_NAME_USED=The class is already associated with other filter.
ERR_FILTER_CLASS_NAME_INVALID=Cannot use Filter as the filter class name.

ERR_LISTENER_DISPLAY_NAME_EXIST=The listener name already exists.
ERR_LISTENER_CLASS_NAME_USED=The class is already associated with other listener.
ERR_LISTENER_CLASS_NAME_INVALID=Cannot use Listener as the listener class name.

ERR_DUPLICATED_INIT_PARAMETER=Duplicated initialization parameters.
ERR_DUPLICATED_URL_MAPPING=Duplicated URL mappings.

ERR_URL_MAPPING_LIST_EMPTY=The URL Mappings list cannot be empty.
ERR_URL_PATTERN_INVALID="{0}" is unresolvable URL pattern. URL patterns should start with "/" or "*.".
ERR_FILTER_MAPPING_EMPTY=The Filter Mappings list cannot be empty.
  
ERR_SERVLET_ROLE_REF_NAME_EMPTY=The servlet security role reference name cannot be empty.
ERR_SERVLET_ROLE_REF_NAME_EXIST=The servlet security role reference name already exists.
ERR_SERVLET_ROLE_LINK_EMPTY=The servlet security role reference link cannot be empty.
ERR_SERVLET_INTERFACE=The Servlet class or its superclass must implement the javax.servlet.Servlet interface.

ERR_PAGE_ENCODING_EMPTY=The page encoding cannot be empty.
ERR_PAGE_ENCODING_EXIST=The page encoding already exists.
ERR_URL_PATTERN_EXIST=The URL pattern exists.
ERR_INCLUDE_PRELUDES_EXIST=The include preludes exists.
ERR_INCLUDE_CODAS_EXIST=The include Codas exists.
ERR_SECURITY_CONSTRAINT_NAME_EMPTY=The security constraint name cannot be empty.
ERR_SECURITY_CONSTRAINT_NAME_EXIST=The security constraint name already exists.
ERR_CONTEXT_PARAMETER_NAME_EMPTY=The context parameter name cannot be empty.
ERR_CONTEXT_PARAMETER_NAME_EXIST=The context parameter name already exists.
ERR_RESOURCE_NAME_EMPTY=The web resource name cannot be empty.
ERR_RESOURCE_NAME_EXIST=The web resource name already exists.
ERR_URL_PATTERNS_EMPTY=The URL patterns cannot be empty.
ERR_MIME_MAPPING_EXTENSION_EMPTY=The Mime mapping extension cannot be empty.
ERR_MIME_MAPPING_EXTENSION_EXIST=The Mime mapping extension already exists.
ERR_WELCOME_PAGE_EMPTY=The Welcome file name cannot be empty.
ERR_WELCOME_PAGE_EXIST=The Welcome file name already exists in Welcome File List.
ERR_ENV_ENTRY_NAME_EMPTY=The environment entry name cannot be empty.
ERR_ENV_ENTRY_NAME_EXIST=The environment entry name already exists.
ERR_ERROR_CODE_EMPTY=The error code cannot be empty.
ERR_ERROR_CODE_MUST_BE_3_DIGITS=The error code must be three digits.
ERR_ERROR_PAGE_LOCATION_EMPTY=The error page location cannot be empty.
ERR_ERROR_PAGE_LOCATION_EXIST=The error page location already exists.
ERR_ERROR_PAGE_LOCATION_MUST_START_WITH_SLASH=The error page location must start with /.
ERR_EXCEPTION_TYPE_EMPTY=The exception type cannot be empty.
ERR_EXCEPTION_SECURITY_ID_NO_BEANS=The bean selection can not be empty.
ERR_EXCEPTION_ROLE_NAME_EMPTY=The role name can not be empty.
ERR_LOCALE_NAME_EMPTY=The locale cannot be empty.
ERR_LOCALE_NAME_EXIST=The locale already exists.
ERR_TAGLIBREF_URL_EMPTY=The tag lib ref URL cannot be empty.
ERR_TAGLIBREF_URL_EXIST=The tag lib ref URL already exists.
ERR_MESSAGE_DESTINATION_NAME_EMPTY=The message destination name cannot be empty.
ERR_MESSAGE_DESTINATION_NAME_EXIST=The message destination name already exists.
ERR_EXCEPTION_ROLE_NAME_EMPTY=The security role names cannot be empty.
ERR_EXCEPTION_METHOD_ELEMENT_EMPTY=The method elements cannot be empty.
ERR_EXCEPTION_METHOD_TRANSACTION_ATTRIBUTES_EMPTY=The method transaction attributes can not be empty.
ERR_SERVLET_LIST_EMPTY=The list of servlets to be removed cannot be empty.
ERR_FILTER_LIST_EMPTY=The list of filters to be removed cannot be empty.
ERR_LISTENER_LIST_EMPTY=The list of listeners to be removed cannot be empty.
ERR_NO_LISTENER_SELECTED=At least of the application lifecycle listeners must be selected. 
