###############################################################################
# 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_DUPLICATED_INIT_PARAMETER=Duplicated init parameters.
ERR_DUPLICATED_URL_MAPPING=Duplicated URL mappings.

ERR_SERVLET_MAPPING_URL_PATTERN_EMPTY=The servlet mapping url pattern cannot be empty.
ERR_SERVLET_MAPPING_URL_PATTERN_EXIST=The servlet mapping url pattern "{0}" already exists.
ERR_SERVLET_MAPPING_URL_PATTERN_INVALID="{0}" is unresolvable URL mapping. URL mappings should start with "/" or "*.".
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_MAPPING_URL_PATTERN_EMPTY=The servlet mapping url pattern cannot be empty.
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_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_FILTER_DISPLAY_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_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.
