#
# These are string arguments that are passed to some of the BPELC_* messages
#
text.property = property
#
text.term.variable = variable
text.term.messagePart = message part
text.term.from = from-spec
text.term.to = to-spec
text.term.unspecified = unspecified
#

#
# ------------------------------
# General.NCName_Bad
#  params:
#      {0}: name attribute
#      {1}: BPEL node name 
#      {2}: the actual name
#  node:
#      any
#  implement status:
#      done
General.NCName_Bad = The "{0}" attribute of this <{1}> is set to "{2}" - it is not a valid NCName.
General.NCName_Bad.fix = Set the "{0}" attribute to a valid NCName.

# ------------------------------- General ----------------------------------
# BPELC__VALIDATOR_NOT_FOUND
#  {0}: node name (type)
BPELC__VALIDATOR_NOT_FOUND.summary = No validator for <{0}>
BPELC__VALIDATOR_NOT_FOUND = Unable to find validator for element <{0}> - it will not be checked.
BPELC__VALIDATOR_NOT_FOUND.fix = No fix for that.
#
# -----
# BPELC_GENERAL__NO_ACTIVITY
#   {0}: the container activity
BPELC_GENERAL__NO_ACTIVITY.summary = No activity in this <{0}>.
BPELC_GENERAL__NO_ACTIVITY = There is no activity inside this <{0}> activity.
BPELC_GENERAL__NO_ACTIVITY.fix = Place an activity inside this <{0}> or remove it.
#
# --
# BPELC_GENERAL__ACTIVITIES
#   {0}: the container activity
#   {1}: # of activities
#
BPELC_GENERAL__ACTIVITIES.summary = Too many activity in this <{0}>.
BPELC_GENERAL__ACTIVITIES = There are too many activities inside this <{0}> activity.
BPELC_GENERAL__ACTIVITIES.fix = Remove the activities inside this <{0}> or use a compound activity (sequence).
# -- 
# BPELC__LEXICAL_HIDE
#  {0}: node name
#  {1}: name of variable/partner link
BPELC__LEXICAL_HIDE.summary = <{0}> "{1}" is hiding a {0} by the same name
BPELC__LEXICAL_HIDE = <{0}> "{1}" is hiding a {0} by the same name in a higher scope/process.
BPELC__LEXICAL_HIDE.fix = There is nothing to fix.
#
# --
# BPELC__NO_EXPRESSION_VALIDATOR
#  {0}: expression node
#  {1}: namespace associated with expression language
#  
BPELC__NO_EXPRESSION_VALIDATOR.summary = No expression validator present.
BPELC__NO_EXPRESSION_VALIDATOR = The expression in <{0}> cannot be checked - \
 no expression validator has been registered for language {1}.
BPELC__NO_EXPRESSION_VALIDATOR.fix = Register the validator for this expression \
 language and try again.
#
# BPELC__MIN_CHILD
#  {0}: node name
#  {1}: node kind
#  {2}: set of nodes

BPELC__MIN_CHILD.summary = Missing required children nodes.
BPELC__MIN_CHILD = The node <{0}> requires at least {3,choice,1\#one {1}|1<children nodes from {1}}
BPELC__MIN_CHILD.fix = You must add any of the following child nodes {1} 

# BPELC__MAX_IN_PARENT
#  {0}: parent name
#  {1}: parent node kind (0,1,2)
#  {2}: child node kind (0,1,2)
#  {3}: filter set
#  {4}: actual number of nodes
#  {5}: max number of nodes
BPELC__MAX_IN_PARENT.summary = Too many occurrences of node
BPELC__MAX_IN_PARENT = <{3}> can only occur at most {5,choice,1\#one time|1<{5} times} in parent {1,choice,0\#node|1\#activity} <{0}>
BPELC__MAX_IN_PARENT.fix = Remove from {1,choice,0#node|1#activity} <{0}> the node <{3}>
#
# 
# BPELC__MIN_IN_PARENT
#  {0}: parent name
#  {1}: parent node kind (0,1,2)
#  {2}: child node kind (0,1,2)
#  {3}: filter set
#  {4}: actual number of nodes
#  {5}: min number of nodes
BPELC__MIN_IN_PARENT = {1,choice,0\#Node|1\#Activity} <{0}> must contain at least {5,choice,1\#one node|1<{5} nodes} from {3}
BPELC__MIN_IN_PARENT.fix = Add <{3}> to {1,choice,0\#node|1\#activity} <{0}> to satisfy the constraint. 
#
# ---
# BPELC__AT_LEAST_ONE
#  {0}: node name    (eg. onEvent)
#  {1}: node kind    (0,1,2)
#  {2}: node types   (string)
#  {3}: type of node (0,1,2)
#
BPELC__AT_LEAST_ONE.summary = Missing {3,choice,0\#node|1\#activity|2\#attribute} {2} in <{0}> {1,choice,0\#node|1\#activity}.
BPELC__AT_LEAST_ONE = {1,choice,0\#Node|1\#Activity} <{0}> must have {2} {3,choice,0\#node|1\#activity|2\#attribute} present.
BPELC__AT_LEAST_ONE.fix = You need to add {3,choice,0\#node|1\#activity|2\#attribute} {2} to {1,choice,0\#node|1\#activity} <{0}>.
#
# BPELC__AT_MOST_ONE
#  {0}: node name    (eg. onEvent)
#  {1}: node kind    (0,1,2)
#  {2}: node types   (string)
#  {3}: type of node (0,1,2)
BPELC__AT_MOST_ONE.summary = {1,choice,0\#Node|1\#Activity} <{0}> must specify one {3,choice,0\#node|1\#activity|2\#attribute} {2}.
BPELC__AT_MOST_ONE = {1,choice,0\#Node|1\#Activity} <{0}> must specify one {3,choice,0\#node|1\#activity|2\#attribute} {2}.
BPELC__AT_MOST_ONE.fix = You need to remove {3,choice,0\#node|1\#activity|2\#attribute} {2} from {1,choice,0\#node|1\#activity} <{0}>. 
# 
# BPELC__SPECIFY_NONE
#   {0}: node name (eg. onEvent)
#   {1}: node kind (0,1,2)
#   {2}: node names allowed (x,y, or z)
#   {3}: type of node allowed (0,1,2)
BPELC__SPECIFY_NONE.summary = {3,choice,0\#Node|1\#Activity|2\#Attribute} {2} must not be specified on {1,choice,0\#node|1\#activity} <{0}>.
BPELC__SPECIFY_NONE = {3,choice,0\#Node|1\#Activity|2\#Attribute} {2} must not be specified on  {1,choice,0\#node|1\#activity} <{0}>.
BPELC__SPECIFY_NONE.fix = Remove {3,choice,0\#node|1\#activity|2\#attribute} {2} from {1,choice,0\#node|1\#activity} <{0}>.

# ---
# BPELC__START_ACTIVITY
#  {0}: node name
#  {1}: index of list
BPELC__START_ACTIVITY.summary = The starting <{0}> is placed incorrectly
BPELC__START_ACTIVITY = The start activity <{0}> must be the first \
 activity in the process.
BPELC__START_ACTIVITY.fix = Make <{0}> the first activity in the process.

# --
# BPELC__UNSUPPORTED_XML_LANG
#   {0}: XML language attribute name
#   {1}: XML language attribute value 
#
BPELC__UNSUPPORTED_XML_LANG.code = 10117
BPELC__UNSUPPORTED_XML_LANG.summary = Unsupported expression/query language"
BPELC__UNSUPPORTED_XML_LANG = {0} attribute refers to an unsupported language URI {1}
BPELC__UNSUPPORTED_XML_LANG.fix = Please use an {1} \
 supported by this BPEL processor.
 #
# ------
# BPELC__INVALID_ATTRIBUTE_VALUE
#      {0}: node name
#      {1}: attribute name 
#      {2}: the value to which it is set
#      {3}: allowed values
#      {4}: choice node/activity
BPELC__INVALID_ATTRIBUTE_VALUE.summary = {1} has an invalid value "{2}" on {4,choice,0\#node|1\#activity} <{0}>  
BPELC__INVALID_ATTRIBUTE_VALUE = "{1}" is set to "{2}" on this <{0}> {4,choice,0\#node|1\#activity} but it can only be set to {3}
BPELC__INVALID_ATTRIBUTE_VALUE.fix = Make sure that "{1}" is set \
 to one of the values from {3}

# ---------------------------------------------
# BPELC__UNRESOLVED_ATTRIBUTE
#      {0}: node name (ex: variable)
#      {1}: attribute name  (ex: name)
#      {2}: choice: node/activity (0,1,2)
#      {3}: the value to which it is set 
#      {4}: 
BPELC__UNRESOLVED_ATTRIBUTE.summary = {1} cannot be resolved on <{0}> {2,choice,0\#|1\#activity}. 
BPELC__UNRESOLVED_ATTRIBUTE = "{1}" is set to "{3}" on this <{0}> {2,choice,0\#|1\#activity} but it cannot be resolved (check value of "{1}", imports, WSDLs or XSDs).
BPELC__UNRESOLVED_ATTRIBUTE.fix = Make sure that value "{3}" is resolvable \
 (check imports, value of "{1}").
 
# ---------------------------------------------
# BPELC__WRONG_PARENT
#    {0}: node name
#    {1}: parent node name
#    {2}: allowed parents
#
BPELC__WRONG_PARENT.summary = {0} cannot be a child of {1}
BPELC__WRONG_PARENT = <{0}> cannot be a child of <{1}>; it can only be a child of {2}
BPELC__WRONG_PARENT.fix = Seems like a syntax issue. <{0}> cannot exist as a child of <{2}>
#  
# ---------------------------------------------
# BPELC__UNSET_ATTRIBUTE
#      {0}: activity node name
#      {1}: name of attribute   
#      {2}: choice 
BPELC__UNSET_ATTRIBUTE.summary = Attribute "{1}" is not set on <{0}> 
BPELC__UNSET_ATTRIBUTE = Attribute "{1}" is not set on this <{0}> {2,choice,0#node|1#activity}.
BPELC__UNSET_ATTRIBUTE.fix = Make sure that the attribute "{1}" is specified.
#
# ---------------------------------------------
# BPELC__SET_ATTRIBUTE
#      {0}: name of attribute
#      {1}: activity node name
#      {2}: choice 
BPELC__SET_ATTRIBUTE.summary = Attribute "{0}" must not be set on <{1}> 
BPELC__SET_ATTRIBUTE = Attribute "{0}" must not be set on this <{1}> {2,choice,0#node|1#activity}.
BPELC__SET_ATTRIBUTE.fix = Make sure that the attribute "{0}" is defined.
#
# ---------
# BPELC_REF_NODE_PROBLEMS
#     {0} : context node name
#     {1} : ref node node name
#     {2} : name of attribute
#     {3} : 0 node, 1 activity
#
BPELC_REF_NODE_PROBLEMS.summary = The {3,choice,0#node|1#activity} <{0}> refers to a {1} which has problems.
BPELC_REF_NODE_PROBLEMS = The {3,choice,0\#node|1\#activity} <{0}> refers to a {1} (via the attribute "{2}") - this {1} needs to be defined correctly.    
BPELC_REF_NODE_PROBLEMS.fix = Check the {1} specified on this {3,choice,0\#node|1\#activity} via attribute "{2}" and make sure it is itself specified correctly.
#
# --------
# BPELC_MISSING_ROLE
#       {0}: node type
#		{1}: activity name
#		{2}: partnerLink QName
#       {3}: which role is missing
#	node:
#		activity nodes
#	implement status:
#		done
#
BPELC_MISSING_ROLE.summary = missing {3} in {2} in activity <{0}>  
BPELC_MISSING_ROLE = <{0}> activity "{1}" is trying to use partnerLink "{2}" which does not have a "{3}" defined.
BPELC_MISSING_ROLE.fix = make sure there is a "{3}" defined for for partnerLink "{2}"
# -----
# BPELC_ROLE_NOT_FOUND
#		{0}: role name
#		{1}: partnerLink QName
#		{2}: partnerLinkType QName
#       {3}: invoke name
#		{4}: WSDL URL

BPELC_ROLE_NOT_FOUND.code = 10006
BPELC_ROLE_NOT_FOUND.summary = role not found
BPELC_ROLE_NOT_FOUND = invoke "{3}" references a role "{0}", yet this role does not exist in the partnerLinkType "{2}" defined in WSDL "{4}"
BPELC_ROLE_NOT_FOUND.fix = make sure the role "{0}" is defined correctly in partnerLink "{1}"
  
# -----------
# BPELC_MISMATCH_ROLE_PORT_TYPE#	
#		{0}: node name       (receive)
#       {1}: activity name   (the "name" attribute)
#       {2}: portType        (the specified port type)
#		{3}: partnerLink     (the partnerLink name)
#		{4}: roleName        (myRole|partnerRole) 
#		{5}: WSDL URL
#
BPELC_MISMATCH_ROLE_PORT_TYPE.code = 10005
BPELC_MISMATCH_ROLE_PORT_TYPE.summary = mismatch role portType
BPELC_MISMATCH_ROLE_PORT_TYPE =  <{0}> activity "{1}" specifies a \
 portType "{2}", yet this portType does not match the portType \
 derived from "{4}" of partnerLink "{3}" defined in WSDL "{5}"
BPELC_MISMATCH_ROLE_PORT_TYPE.fix = make sure the {4} is \
 defined correctly in partnerLink "{3}" in WSDL {5}
#
# ----
# BPELC_UNRESOLVED_PORT_TYPE
#	{0}: portType QName
#	{1}: activity type, one of "receive", "onMessage" and "invoke"
#
BPELC_UNRESOLVED_PORT_TYPE.code = 10016
BPELC_UNRESOLVED_PORT_TYPE.summary = unresolved portType "{0}"
BPELC_UNRESOLVED_PORT_TYPE = portType "{0}" of <{1}> is not defined (or is defined \
 but does not resolve to a valid portType)
BPELC_UNRESOLVED_PORT_TYPE.fix = Make sure the portType "{0}" is defined in one of \
 the referenced WSDLs

#-----
# BPELC_EMPTY_CONTAINER
#      {0}: container name 
BPELC_EMPTY_CONTAINER.summary = empty {0}
BPELC_EMPTY_CONTAINER = This <{0}> has no activities.
BPELC_EMPTY_CONTAINER.fix = You can safely remove it.
#
# ------
# BPELC_DUPLICATE_NAME
#    {0}: container name
#    {1}: node type
#    {2}: name of node
BPELC_DUPLICATE_NAME.summary = <{1}> name "{2}" is already used.
BPELC_DUPLICATE_NAME = <{1}> name "{2}" is already defined in this scope/process.
BPELC_DUPLICATE_NAME.fix = You must change the name of {1} "{2}" to something else.
#
# --------------------------------------------------------------------------------------- 
# BPELC_MISSING_IMODELQUERY
#    {0} : rule name
BPELC_MISSING_IMODELQUERY.summary = Missing IModelQuery adapter
BPELC_MISSING_IMODELQUERY = The adapter for IModelQuery is missing and prevents rule "{0}" from running.
BPELC_MISSING_IMODELQUERY.fix = Contact vendor or check configuration.
#
#-------
# BPELC_EMPTY_EXPIRATION_SETTING
#	{0}: expression
#	{1}: activity name
BPELC_EMPTY_EXPIRATION_SETTING.code = 10020
BPELC_EMPTY_EXPIRATION_SETTING.summary = empty expiration setting
BPELC_EMPTY_EXPIRATION_SETTING = Neither "for" nor "until" expressions are \
 set for activity <{0}>
BPELC_EMPTY_EXPIRATION_SETTING.fix = Make sure either "for" or "until" expression is set for activity <{0}>
#
# -------
# 
# BPELC_MULTIPLE_EXPIRATION_SETTING
#      {0}: expression
#      {1}: activity name
#
BPELC_MULTIPLE_EXPIRATION_SETTING.code = 10077
BPELC_MULTIPLE_EXPIRATION_SETTING.summary = Multiple expiration setting
BPELC_MULTIPLE_EXPIRATION_SETTING = Both "for" and "until" expressions are \
 set for activity <{0}>.
BPELC_MULTIPLE_EXPIRATION_SETTING.fix = Make sure only one of "for" and "until" \
 expression is set for activity <{0}>.
#
# ------
# BPELC_NO_EXPRESSION
#   {0}: attribute name
#	{1}: activity name
BPELC_NO_EXPRESSION.summary = no expression in "{0}" on <{1}>
BPELC_NO_EXPRESSION = There is no expression for "{0}" in activity <{1}>
BPELC_NO_EXPRESSION.fix = Set the expression for "{0}" in activity <{1}>
#
# -------------------------- Import -----------------------------------
# BPELC_IMPORT__IMPORT_TYPE
#     {0}: import Type
#     {1}: attribute name (importType)
#     {2}: node name
#     {3}: kind (0,1)
BPELC_IMPORT__IMPORT_TYPE.summary = {1} of {1} is not understood.
BPELC_IMPORT__IMPORT_TYPE = The {1} of {0} is not defined in BPEL 2.0 and is not understood by this implementation.
BPELC_IMPORT__IMPORT_TYPE.fix = WSDL and XSD imports are allowed in BPEL 2.0, others are implementation dependent.


BPELC_IMPORT_LOCATION.summary = The import {1} of {1} is not supported.
BPELC_IMPORT_LOCATION = The import {1} of {0} is not supported by this implementation. Import artifacts must be contained within the folder hierarchy that has the deployment descriptor at the root
BPELC_IMPORT_LOCATION.fix = Move the imported artifacts into the supported folder hierarchy and change the import location.
#
# BPELC_IMPORT__NS1
#   {0}: node name (import)
#   {1}: import node namespace
#   {2}: target namespace from imported document
BPELC_IMPORT__NS1.summary = Namespaces do not match.
BPELC_IMPORT__NS1 = The import namespace {1} and the imported document target namespace {2} do not match.
BPELC_IMPORT__NS1.fix = Change the import statement namespace.
#
# BPELC_IMPORT__NS2
#  {0}: node name (import)
#  {1}: import node namespace
#  {2}: target namespace from imported document
BPELC_IMPORT__NS2.summary = Namespace is not the default namespace.
BPELC_IMPORT__NS2 = The targetNamespace {2} of the imported document is not the default namespace.
BPELC_IMPORT__NS2.fix = Remove the namespace attribute from the import statement.
# 
# BPELC_IMPORT__UNRESOVED
#  {0}: node name (import)
#  {1}: import namespace
#  {2}: import location
BPELC_IMPORT__UNRESOVED.summary = Cannot import from "{2}"
BPELC_IMPORT__UNRESOVED = Cannot import type "{1}" from location "{2}"
BPELC_IMPORT__UNRESOVED.fix = Check location "{2}" and import type "{1}"
#
# ---------------------------------- Variable ---------------------------
# BPELC_VARIABLE__NO_DOT 
#    {0}: variable Name
BPELC_VARIABLE__NO_DOT.summary = Variable name must not contain a "."
BPELC_VARIABLE__NO_DOT = The variable name "{0}" contains an illegal period (.) character.
BPELC_VARIABLE__NO_DOT.fix = Remove the period (.) character from variable name.
#
# ------
# BPELC_VARIABLE__NO_TYPE
#   {0}: variable name
BPELC_VARIABLE__NO_TYPE.summary = variable "{0}" has no type
BPELC_VARIABLE__NO_TYPE = Variable "{0}" must be have either messageType,element, or type defined.
BPELC_VARIABLE__NO_TYPE.fix = Define the type of the variable "{0}"
#
# --------------------------------
# BPELC_VARIABLE__DUPLICATE_NAME
#    {0}: node type
#    {1}: variable name
BPELC_VARIABLE__DUPLICATE_NAME.summary = <{0}> name "{1}" is already used
BPELC_VARIABLE__DUPLICATE_NAME = <{0}> name "{1}" is already used
BPELC_VARIABLE__DUPLICATE_NAME.fix = You must change the name of <{0}> "{1}" to something else.
#
# ----------------------------- Partner Link --------------------------------
# BPELC_PARTNER_LINK__NO_ROLES_SET
#     {0}: node
#     {1}: myRole
#     {2}: partnerRole
BPELC_PARTNER_LINK__NO_ROLES_SET.summary = {0} must have "{2}" and/or "{3}" set.
BPELC_PARTNER_LINK__NO_ROLES_SET = {0} "{1}" must have "{2}" and/or "{3}" set.
BPELC_PARTNER_LINK__NO_ROLES_SET.fix = You must specify either "{2}" or "{3}" for the <{0}> "{1}"
#
# ------
# BPELC_PARTNER_LINK__INIT_PARTNER_ROLE
#   {0}: the partner link node
#   {1}: name of the attribute
#   {2}: role name 
BPELC_PARTNER_LINK__INIT_PARTNER_ROLE.summary = "{1}" must not be used on this <{0}>.
BPELC_PARTNER_LINK__INIT_PARTNER_ROLE = The "{1}" cannot be used on <{0}> that does not have {2} defined.
BPELC_PARTNER_LINK__INIT_PARTNER_ROLE.fix = You must remove "{1}" from this <{0}>.
# ------
# BPELC_PL__OVERLOADED
#  {0}: node name
#  {1}: partner link name
#  {2}: PLT name
#  {3}: portType name
#  {4}: operation name
#
BPELC_PL__OVERLOADED.summary = Overloaded operation "{4}" in portType "{3}".   
BPELC_PL__OVERLOADED = partnerLink "{1}" uses portType "{3}" \
 (via partnerLinkType "{2}") which has an overloaded \
 operation "{4}".
BPELC_PL__OVERLOADED.fix = Remove the overloaded operation "{4}" in portType "{3}". 

# --------
# BPELC_PL__NOTIFICATION
#  {0}: node name
#  {1}: partner link name
#  {2}: PLT name
#  {3}: portType name
#  {4}: operation name
#
BPELC_PL__NOTIFICATION.summary = Notification operation "{4}" in portType "{3}"   
BPELC_PL__NOTIFICATION = Notification operation "{4}" in portType "{3}" \
 (via partnerLinkType "{2}") cannot be used in a BPEL process.
BPELC_PL__NOTIFICATION.fix = Notification operations cannot be used in BPEL partnerLinkTypes.
#
# ---------
# BPELC_PL__SOLICIT_RESPONSE
#  {0}: node name
#  {1}: partner link name
#  {2}: PLT name
#  {3}: portType name
#  {4}: operation name
#
BPELC_PL__SOLICIT_RESPONSE.summary = Solicit-response operation "{4}" in portType "{3}"   
BPELC_PL__SOLICIT_RESPONSE = Solicit-response operation "{4}" in portType "{3}" \
  cannot be used in a BPEL process.
BPELC_PL__SOLICIT_RESPONSE.fix = Solicit-response operations cannot be used in \
  BPEL partnerLinkTypes.

#
# ---------------------------------- Partner Link Type ------------------------
# BPELC_PARTNER_LINK_TYPE__NO_ROLES_DEFINED
#     {0}: node name
#     {1}: partner link type
BPELC_PARTNER_LINK_TYPE__NO_ROLES_DEFINED.summary = No roles defined for this <{0}>
BPELC_PARTNER_LINK_TYPE__NO_ROLES_DEFINED = There are no roles defined in the "{0}" used by this <{1}>
BPELC_PARTNER_LINK_TYPE__NO_ROLES_DEFINED.fix = You must define at least one role in this {0}
#
# ---------------------------------------
# BPELC_PARTNER_LINK_TYPE__TOO_MANY_ROLES_DEFINED
#    {0}: node name
#    {1}:partner link type
BPELC_PARTNER_LINK_TYPE__TOO_MANY_ROLES_DEFINED.summary = Too many roles defined for this <{0}>
BPELC_PARTNER_LINK_TYPE__TOO_MANY_ROLES_DEFINED = There are more then 2 roles defined in the <{0}> used by this <{1}>
BPELC_PARTNER_LINK_TYPE__TOO_MANY_ROLES_DEFINED.fix = At least 1 but at most 2 roles can be defined for this <{1}>
#
# ----------------------------------------
# BPELC_PARTNER_LINK_TYPE__NO_SUCH_ROLE
#    {0}: partnerLinkType node tagName
#    {1}: roleName
#
BPELC_PARTNER_LINK_TYPE__NO_SUCH_ROLE.summary = <{0}> does not have a role "{1}" defined.
BPELC_PARTNER_LINK_TYPE__NO_SUCH_ROLE = <{0}> does not have a role "{1}" defined.
BPELC_PARTNER_LINK_TYPE__NO_SUCH_ROLE.fix = The <{0}> must define a role "{1}".  
# 
# ------------------------------- Throw -------------------------------------
# BPELC_THROW__NO_SUCH_VARIABLE 
#    {0}: variable name
#
BPELC_THROW__NO_SUCH_VARIABLE.summary = No such fault variable "{0}".
BPELC_THROW__NO_SUCH_VARIABLE = The variable "{0}" used in this throw activity, does not exist.
BPELC_THROW__NO_SUCH_VARIABLE.fix = You must define this fault variable "{0}" or \
 remove the reference from the throw activity.
#
# ------------------------------- Validate ----------------------------------
# BPELC_VALIDATE__NO_SUCH_VARIABLE
#    {0}: variable name
#    {1}: node name
#
BPELC_VALIDATE__NO_SUCH_VARIABLE.summary = No such variable "{0}".
BPELC_VALIDATE__NO_SUCH_VARIABLE = The variable "{0}" used in this <{1}> activity, does not exist.
BPELC_VALIDATE__NO_SUCH_VARIABLE.fix = You must define this variable "{0}" or \
 remove the reference from the <{1}> activity.
#
# ---------------
# BPELC_VALIDATE__NO_VARIABLES_SPECIFIED  
#   {0} : node name
BPELC_VALIDATE__NO_VARIABLES_SPECIFIED.summary = No variables to validate.
BPELC_VALIDATE__NO_VARIABLES_SPECIFIED = The list of variables to validate is empty or is not specified.
BPELC_VALIDATE__NO_VARIABLES_SPECIFIED.fix = You must specify at least 1 variable to validate.
# 					
# -------------------------------------- Re-throw -----------------------------
# BPELC_RETHROW__NOT_IN_FAULT_HANDLER
#    {0}: name of re-throw
#    {1}: node name
BPELC_RETHROW__NOT_IN_FAULT_HANDLER.summary = <{1}> named "{0}" cannot be placed here.
BPELC_RETHROW__NOT_IN_FAULT_HANDLER = The <{1}> activity named {0} must be in a fault handler.
BPELC_RETHROW__NOT_IN_FAULT_HANDLER.fix = You need to move this <{1}> activity to a fault \
 handler.
#
# ----------------------------------- Compensate -------------------------------
# BPELC_COMPENSATE__NOT_IN_HANDLER
#    {0}: node name
#    {1}: name of compensate
BPELC_COMPENSATE__NOT_IN_HANDLER.summary = <{0}> named "{1}" cannot be placed here.
BPELC_COMPENSATE__NOT_IN_HANDLER = The <{0}> activity named "{1}" must be in a fault, compensate, \
 or termination handlers.
BPELC_COMPENSATE__NOT_IN_HANDLER.fix = You need to move this <{0}> activity to fault, compensate, \
 or termination handlers.

# --------------------------------- CompensateScope -------------------------------
# BPELC_COMPENSATE_SCOPE__NOT_IN_HANDLER
#    {0}: name of compensateScope
#    {1}: node name
BPELC_COMPENSATE_SCOPE__NOT_IN_HANDLER.summary = <{1}> named "{0}" cannot be placed here.
BPELC_COMPENSATE_SCOPE__NOT_IN_HANDLER = The <{1}> activity named {0} must be in a fault, compensate, \
 or termination handlers.
BPELC_COMPENSATE_SCOPE__NOT_IN_HANDLER.fix = You need to move this <{1}> activity to fault, compensate, \
 or termination handlers.
#
# BPELC_COMPENSATE_SCOPE__NO_TARGET
#   {0}: node name
#   {1}: name of compensate scope
#   {2}: target name
BPELC_COMPENSATE_SCOPE__NO_TARGET.summary = Target scope "{2}" does not exist.
BPELC_COMPENSATE_SCOPE__NO_TARGET = Target scope "{2}" does not exist.
BPELC_COMPENSATE_SCOPE__NO_TARGET.fix = Change target scope name "{2}" or create a new target scope.
#
# BPELC_COMPENSATE_SCOPE__TARGET_NO_HANDLERS
#  {0): node name
#  {1}: name of compensate scope
#  {2}: target name
#  {3}: target node name
BPELC_COMPENSATE_SCOPE__TARGET_NO_HANDLERS.summary = Target {3} "{2}" must have  
 a compensationHandler or a faultHandler.
BPELC_COMPENSATE_SCOPE__TARGET_NO_HANDLERS = Target {3} "{2}" must have a \
 compensationHandler or a faultHandler.
BPELC_COMPENSATE_SCOPE__TARGET_NO_HANDLERS.fix = Add a compensationHandler \
 or a faultHandler to the target {3}.
# 
# ---------------------------- From --------------------------------
# BPELC_FROM__VARIANT
#  {0}: node
#  {1}: no variants matched.
BPELC_FROM__VARIANT.summary = Invalid <{0}> variant.
BPELC_FROM__VARIANT = The form of <{0}> is not valid (too many variants detected).
BPELC_FROM__VARIANT.fix = You must change the <{0}> to be one of the allowed variants.
# -----
# BPELC_FROM__VARIABLE_PART_MISSING
#  {0}: node name (from)
#  {1}: variable attribute
#  {2}: variable name
BPELC_FROM__VARIABLE_PART_MISSING.summary = Variable part is missing.
BPELC_FROM__VARIABLE_PART_MISSING = The {1} "{2}" is of messageType and needs \
 to have a "part" name specified in this <{0}> node.
BPELC_FROM__VARIABLE_PART_MISSING.fix = You need to specify the variable part or chose \
 a different variable.
# ------
# BPELC_FROM__VARIABLE_PART
#  {0}: node name (from)
#  {1}: variable attribute
#  {2}: variable name
BPELC_FROM__VARIABLE_PART.summary = Variable part must not be specified.
BPELC_FROM__VARIABLE_PART = The {1} "{2}" is not of messageType and a "part" is specified in this <{0}> node. 
BPELC_FROM__VARIABLE_PART.fix = Remove the "part" attribute or choose a \
 messageType variable.
# ----
# BPELC_FROM__PARTNER_LINK
#  {0}: node name
#  {1}: attribute name
#  {2}: value of attribute
#  {3}: partner link node tag name
#  {4}: partnerLink node name
BPELC_FROM__PARTNER_LINK.summary = Partner Link "{1}" must have "{2}" defined.
BPELC_FROM__PARTNER_LINK = The partner link "{1}" referenced from this <{0}> must have "{2}" defined. 
BPELC_FROM__PARTNER_LINK.fix = Define a "{2}" in parterLink "{1}" or use a different \
 partnerLink.
# ----
#  BPELC_FROM__LITERAL
#  {0}: node name
#  {1}: literal node name
#  {2}: # of child elements
BPELC_FROM__LITERAL.summary = The <{1}> node must be EII or TII
BPELC_FROM__LITERAL = The <{1}> node present in this <{0}> has {2,choice,0\# unspecified text value (is empty)| 1<has too many elements (1 element is required)}
BPELC_FROM__LITERAL.fix = Change the <{1}> to have only 1 element or a text value.
# 
# ----------------------------------- To ----------------------------------------
BPELC_TO__VARIANT = ${BPELC_FROM__VARIANT}
BPELC_TO__VARIABLE_PART_MISSING = ${BPELC_FROM__VARIABLE_PART_MISSING}
BPELC_TO__VARIABLE_PART = ${BPELC_FROM__VARIABLE_PART}
BPELC_TO__PARTNER_LINK = ${BPELC_FROM__PARTNER_LINK}
#
# ----------------- If Else -------------------------------------------
# BPELC_IFELSE__EMPTY_ELSE
#  {0}: node name
BPELC_IFELSE__EMPTY_ELSE.summary = The <{0}> part has no activity.
BPELC_IFELSE__EMPTY_ELSE = The <{0}> part has no activity.
BPELC_IFELSE__EMPTY_ELSE.fix = You can safely remove this <{0}>
#
# ------------------- Pick --------------------------------------
# BPELC_PICK__ON_ALARM
#  {0}: node name
#  {1}: createInstance
#  {2}: value of createInstance
BPELC_PICK__ON_ALARM.summary = This <{0}> is a start activity - \
 it cannot have onAlarm
BPELC_PICK__ON_ALARM = This <{0}> activity is a start activity and cannot \
 have an onAlarm component.
BPELC_PICK__ON_ALARM.fix = Remove the onAlarm component.
 
# --------------------------- Partner  Link Type -------------------------------
# BPELC_PLT__NO_PORT_TYPE
#  {0}: role name
#  {1}: port type name
#  {2}: partner link type node name
#  {3}: port type attribute name
#
BPELC_PLT__NO_PORT_TYPE.summary =  
BPELC_PLT__NO_PORT_TYPE = The role named "{0}" on this {2} uses {3} "{1}" \
 which is not defined anywhere.
BPELC_PLT__NO_PORT_TYPE.fix = The {3} must be defined or the value of this {3} must be \
 changed.
#
# ------------------------- Catch -----------------------------
# BPELC_CATCH__STANDARD_FAULT
#  {0} : node
#  {1} : fault QName
BPELC_CATCH__STANDARD_FAULT.summary = Standard fault "{1}" cannot be \
  handled in <{0}> when exitOnStandardFaults is set to yes.
BPELC_CATCH__STANDARD_FAULT = Standard fault "{1}" cannot be \
  handled in <{0}> when exitOnStandardFaults is set to yes.
BPELC_CATCH__STANDARD_FAULT.fix = Remove the handler or set "Exit On Standard Faults" to "No" for this process.
#
# BPELC_CATCH__EXIST
#  {0}: node name
#  {1}: fault QName
#  {2}: message type
BPELC_CATCH__EXIST.summary = A catch for fault "{1}" already exist.
BPELC_CATCH__EXIST = A catch for fault "{1}" already exist.
BPELC_CATCH__EXIST.fix = Remove the duplicate catch for fault "{1}".
#
# ------------------ Process -------------------------
# BPELC_PROCESS__NO_START
#   {0}: activity node name 
#   {1}: activity name
BPELC_PROCESS__NO_START.summary = No start activity in process.
BPELC_PROCESS__NO_START = There is no start activity in process "{1}"
BPELC_PROCESS__NO_START.fix = A <receive> or <pick> with createInstance set \
 to "true" must be present.
#
# ----------------- Link ------------------------------
# BPELC_LINK__UNDEFINED
#  {0}: node name (source, target)
#  {1}: name of link
BPELC_LINK__UNDEFINED.summary = The link "{1}" is not defined.
BPELC_LINK__UNDEFINED = The link "{1}" used as a {0} is not defined in the enclosing flow.
BPELC_LINK__UNDEFINED.fix = Define the link "{1}".
#
# BPELC_LINK__NO_SOURCE
#  {0}: node name (link)
#  {1}: link name
BPELC_LINK__NO_SOURCE.summary = The link "{1}" does not have a source.
BPELC_LINK__NO_SOURCE = The link "{1}" does not have a source.
BPELC_LINK__NO_SOURCE.fix = Make the link "{1}" a source of an activity within this flow.
#
# BPELC_LINK__NO_TARGET
#  {0}: node name (link)
#  {1}: link name
BPELC_LINK__NO_TARGET.summary = The link "{1}" does not have a target.
BPELC_LINK__NO_TARGET = The link "{1}" does not have a target.
BPELC_LINK__NO_TARGET.fix = Make the link "{1}" a target of an activity within this flow.
#
BPELC_LINK__NAME_USED.summary = The link "{1}" is already used as a {0}
BPELC_LINK__NAME_USED = The link "{1}" is already used as a {0}.
BPELC_LINK__NAME_USED.fix = Use a different link then "{1}" as a {0}.
#
# BPELC_LINK__CROSS_REPEATABLE
#  {0}: node name (target/source)
#  {1}: link name
#  {2}: repeatable node name
#  {3}: repeatable node name attribute
BPELC_LINK__CROSS_REPEATABLE.summary = The link "{1}" crosses a repeatable boundary.
BPELC_LINK__CROSS_REPEATABLE = The link "{1}" crosses repeatable boundary on <{2}>.
BPELC_LINK__CROSS_REPEATABLE.fix = Links cannot cross repeatable boundaries. 
#
# BPELC_LINK__NOT_UNIQUE
#  {0}: node name(link)
#  {1}: link name 
#  {2}: the other identical link name
BPELC_LINK__NOT_UNIQUE.summary = The link "{1}" is not unique.
BPELC_LINK__NOT_UNIQUE = The link "{1}" is not unique - the link "{2}" also makes \
 an identical connection.
BPELC_LINK__NOT_UNIQUE.fix = Link in BPEL must be unique - remove either "{1}" or "{2}".
#
# BPELC_LINK__OUTBOUND_ONLY
#  {0}: node name (source)
#  {1}: link name
#  {2}: fault handler boundary node
#  {3}: name of fault or termination handler
BPELC_LINK__OUTBOUND_ONLY.summary = Link "{1}" must be outbound only (target outside of <{2}>)
BPELC_LINK__OUTBOUND_ONLY = Link "{1}" must be outbound only; target activity must be \
 outside of the enclosing <{2}>.
BPELC_LINK__OUTBOUND_ONLY.fix = Change the linkage expressed by the link "{1}"

# ------------------------ ForEach ----------------------
#
BPELC_VARIABLE__COUNTER.summary = The variable "{1}" is used as <{2}> counter name.
BPELC_VARIABLE__COUNTER = The variable name "{1}" is used as a counter name in <{2}>.
BPELC_VARIABLE__COUNTER.fix = Change the name of this variable.

# --------------- Scope ----------------------------------
#
# BPELC_SCOPE__UNIQUE_NAME
#  {0}: node name (scope,invoke)
#  {1}: name of scope
#  {2}: scope node name (the containing scope)
#  {3}: the containing scope name
BPELC_SCOPE__UNIQUE_NAME.summary = Immediately enclosed {0} "{1}" must have unique name.
BPELC_SCOPE__UNIQUE_NAME = Immediately enclosed {0} "{1}" must have a unique \
 name within the outer scope "{3}".
BPELC_SCOPE__UNIQUE_NAME.fix = Choose unique name for {0} "{1}"
# 
# BPELC_SCOPE__ISOLATED
#  {0}: node name
#  {1}: name of the scope
#  {2}: parent node name (scope)
#  {3}: parent scope name
#
BPELC_SCOPE__ISOLATED.summary = Isolated scope "{1}" cannot exist within another isolated scope.
BPELC_SCOPE__ISOLATED = Isolated scope "{1}" cannot exist within another isolated scope (scope "{3}").
BPELC_SCOPE__ISOLATED.fix = Remove this isolated scope "{1}".
#
# BPELC_SCOPE__COMPENSATION_HANDLER
#  {0}: node name
#  {1}: name of the scope
#  {2}: compensate node name
BPELC_SCOPE__COMPENSATION_HANDLER.summary = Scope "{1}" cannot have a <{2}>.
BPELC_SCOPE__COMPENSATION_HANDLER = Scope "{1}" cannot have a <{2}> because because \
 it is itself inside an FCT-hander.
BPELC_SCOPE__COMPENSATION_HANDLER.fix = Remove <{2}> from the scope "{1}".
# 
# ------------------- Partner Activity -------------------
# BPELC_PA__MESSAGE_TYPE_MISMATCH
#		{0}: activity name     (receive)
#       {1}: variable attribute name (variable, inputVariable)
#		{2}: variable name  
#		{3}: message
#       {4}: variable type 
BPELC_PA__MESSAGE_TYPE_MISMATCH.summary = Incompatible {1}/message types on <{0}> activity.
BPELC_PA__MESSAGE_TYPE_MISMATCH = {1} "{2}" of type "{4}" is not compatible with \
 WSDL message "{3}".
BPELC_PA__MESSAGE_TYPE_MISMATCH.fix = Check {1} "{2}" declaration, check WSDL message "{3}" declaration. 
#
# BPELC_PA__OMIT
#  {0}: activity name (invoke, reply)
#  {1}: partner link name
#  {2}: message type (input,output)
#  {3}: kind (0 - node, 2-attribute)
#  {4}: attribute or node name
BPELC_PA__OMIT.summary = {3,choice,0#Node <{4}>|2#Attribute "{4}"} must be omitted from this <{0}>.
BPELC_PA__OMIT = There is no "{2}" message that is used by this <{0}> - {3,choice,0\#node <{4}> |2\#attribute "{4}"} must be omitted.
BPELC_PA__OMIT.fix = {3,choice,0#Node <{4}> |2#Attribute "{4}"} must be omitted from this <{0}>.
#
# BPELC__PA_PARTS
#   {0}: node name
#   {1}: node name (toPart or fromPart)
#   {2}: attribute name (inputVariable, variable, outputVariable)
#   {3}: kind (0 - node, 1 - activity)
BPELC__PA_PARTS.summary = Either <{1}> *or* attribute "{2}" must be specified on <{0}>
BPELC__PA_PARTS = Either <{1}> *or* attribute "{2}" must be specified on <{0}>.
BPELC__PA_PARTS.fix = Specify either <{1}> *or* attribute "{2}" on <{0}>.
#
# BPELC__PA_NO_PART
#   {0}: node name
#   {1}: part name
#   {2}: message name
BPELC__PA_NO_PART.summary = Message part "{1}" does not exist in message "{2}"
BPELC__PA_NO_PART =  Message part "{1}" does not exist in message "{2}"
BPELC__PA_NO_PART.fix = Pick a valid message type.
#
# BPELC_PA__NO_MESSAGE
#   {0}: node name
#   {1}: port type
#   {2}: operation name
#   {3}: message kind
BPELC_PA__NO_MESSAGE.summary = No "{3}" message exist on portType "{1}" with operation "{2}".
BPELC_PA__NO_MESSAGE = No "{3}" message exist on portType "{1}" with operation "{2}".
BPELC_PA__NO_MESSAGE.fix = Check value of operation ("{2}") and portType "{1}". 
#
# -------------------- Parts ----------------------------------
# BPELC_PART__MISSING_PART
#   {0}: node name
#   {1}: activity node name 
#   {2}: part node name (toPart,fromPart)
#   {3}: name of the part.
BPELC_PART__MISSING_PART.summary = Part "{3}" must be specified on this <{2}> 
BPELC_PART__MISSING_PART = Part "{3}" must be specified on this <{2}> - activity <{1}> requires it.
BPELC_PART__MISSING_PART.fix = You must specify part "{3}" on this <{2}>
#
# BPELC_PART__DUPLICATE
#  {0}: node name
#  {1}: part name 
#  {2}: variable name
BPELC_PART__DUPLICATE.summary = The part "{1}" is already specified in another <{0}>.
BPELC_PART__DUPLICATE = The part "{1}" is already specified in another <{0}>.
BPELC_PART__DUPLICATE.fix = Remove the duplicate <{0}> "{1}"
#
#
# ------------------ Correlation ------------------------------
# BPELC_CORRELATION__JOIN
#  {0}: node name
#  {1}: attribute name
#  {2}: attribute value
BPELC_CORRELATION__JOIN.summary = The attribute {1} must be set to "{2}" on this <{0}>
BPELC_CORRELATION__JOIN = The attribute {1} must be set to "{2}" on this <{0}>
BPELC_CORRELATION__JOIN.fix = Set the value of {1} to "{2}" on this <{0}>
#
# BPELC_CORRELATION__COMMON
#   {0}: node name
#   {1}: how many start activites are there
BPELC_CORRELATION__COMMON.summary = Start activities specify but do not share a single correlation.
BPELC_CORRELATION__COMMON = The {1} start activities must share at least one correlation.
BPELC_CORRELATION__COMMON.fix = Remove the correlation from the start {1} activities or \
 have them share at least one correlation.

# -------------------- XSD Types ------------------------------
# BPELC_XSD__NOT_SIMPLE_TYPE
#   {0}: node name          (where this problem occurs)
#   {1}: value              (ex: xsd:integer)  
#   {2}: name               (ex: type,property)
#   {3}: value of attribute (not the type)
BPELC_XSD__NOT_SIMPLE_TYPE.summary = The type "{1}" of {2} "{3}" is not a XSD simple type.
BPELC_XSD__NOT_SIMPLE_TYPE = The XSD type "{1}" of {2} "{3}" in this <{0}> is not a simple XSD type.
BPELC_XSD__NOT_SIMPLE_TYPE.fix = The {2} "{3}" must of be simple XSD type.
# 
# BPELC_XSD__INCOMPATIBLE_TYPE
#   {0}: node
#   {1}: LHS (variable, message type, etc)
#   {2}: its name
#   {3}: its type
#   {4}: RHS (variable, message type, etc)
#   {5}: its name
#   {6}: its type
#
BPELC_XSD__INCOMPATIBLE_TYPE.summary = Incompatible types of {1} "{2}" and {4} "{5}".
BPELC_XSD__INCOMPATIBLE_TYPE = The {1} "{2}" of type "{3}" is not \
 compatible with {4} "{5}" of type "{6}"
BPELC_XSD__INCOMPATIBLE_TYPE.fix = Type must be compatible.
#
# ------------- Conflicting XSD type definitions ---------------------
#  BPELC_UNKNOWN__ELEMENT
#   {0}: node
#   {1}: namespace URI
#
# https://issues.jboss.org/browse/JBIDE-8088
BPELC_XSD__CONFLICTING_DEFINITION.summary = Conflicting XSD element <{0}> definitions.
BPELC_XSD__CONFLICTING_DEFINITION = XSD element <{0}> in import {1} conflicts with element of the same name in {2}.
BPELC_XSD__CONFLICTING_DEFINITION.fix = Resolve the conflict by removing the conflicting definitions, or ensuring that all definitions are identical.

#
#
# -------------------- Copy ------------------------------------
# BPELC_COPY__INCOMPATIBLE
#   {0}: node
#   {1}: LHS (to spec)
#   {2}: its type
#   {3}: RHS (from spec)
#   {4}: its type
BPELC_COPY__INCOMPATIBLE.summary = Incompatible types of {1} and {3}.
# https://jira.jboss.org/browse/JBIDE-7351
# added {5} for diagnostics from XSDComparer
BPELC_COPY__INCOMPATIBLE = The {1} of "{2}" is not \
 compatible with {3} of "{4}" - {5}
BPELC_COPY__INCOMPATIBLE.fix = Types must be compatible.
#
# ---
# BPELC_COPY__INCOMPATIBLE_SIMPLE
#   {0}: node
#   {1}: LHS (to spec)
#   {2}: its type
#   {3}: RHS (from spec)
#   {4}: its type
BPELC_COPY__INCOMPATIBLE_SIMPLE.summary = Incompatible simple types of {1} and {3}.
BPELC_COPY__INCOMPATIBLE_SIMPLE = The {1} of simple type "{2}" is not \
 compatible with {3} of simple type "{4}" - a BPEL runtime may provide an implicit conversion.
BPELC_COPY__INCOMPATIBLE_SIMPLE.fix = Simple types ought to be compatible.
#
# ---
# BPELC_COPY__NOT_CHECKED
#   {0}: node
#   {1}: LHS (to spec)
#   {2}: its type
#   {3}: RHS (from spec)
#   {4}: its type
BPELC_COPY__NOT_CHECKED.summary = Copy rule not checked.
BPELC_COPY__NOT_CHECKED = Copy rule not checked - {1} type-of "{2}", {3} type-of "{4}".
BPELC_COPY__NOT_CHECKED.fix = Nothing.
#
# BPELC_COPY__KEEP_ELEMENT_NAME
#  {0}: node name
#  {1}: attribute name
#  {2}: spec
#  {3}: type name
BPELC_COPY__KEEP_ELEMENT_NAME.summary = Attribute "{1}" cannot be set on this <{0}>.
BPELC_COPY__KEEP_ELEMENT_NAME = Attribute "{1}" cannot be set because {2} "{3}" is not an element.
BPELC_COPY__KEEP_ELEMENT_NAME.fix = Remove the attribute "{1}" from this <{0}> 
#
# ------------- Extension ---------------------
#  BPELC_EXTENSION__NOT_SUPPORTED
#   {0}: node
#   {1}: extension URI
#   {2}: must support attribute value
#
BPELC_EXTENSION__NOT_SUPPORTED.summary = Extension "{1}" is not supported.
BPELC_EXTENSION__NOT_SUPPORTED = Extension "{1}" is not supported by this implementation.
BPELC_EXTENSION__NOT_SUPPORTED.fix = Remove the dependency on extension "{1}"
#
# https://jira.jboss.org/browse/JBIDE-6917
#
# ------------- Extension Activity ---------------------
#  BPELC_UNKNOWN_EXTENSION__ACTIVITY
#   {0}: node
#   {1}: extension activity name
#
BPELC_UNKNOWN_EXTENSION__ACTIVITY.summary = Extension Activity element <{0}> is not supported.
BPELC_UNKNOWN_EXTENSION__ACTIVITY = Extension Activity element <{0} name="{1}"> is not supported by this implementation.
BPELC_UNKNOWN_EXTENSION__ACTIVITY.fix = Remove the Extension Activity <{0}> or contact the vendor to obtain the necessary plug-in(s)
#
#  BPELC_UNKNOWN_EXTENSION__ACTIVITY
#   {0}: node
#   {1}: extension activity name
#
BPELC_MISSING_EXTENSION__ACTIVITY.summary = Extension Activity element <{0}> must have exactly one child element.
BPELC_MISSING_EXTENSION__ACTIVITY = Extension Activity element <{0} name="{1}"> must have exactly one child element.
BPELC_MISSING_EXTENSION__ACTIVITY.fix = Make sure the Extension Activity element <{0}> has exactly one child element that is supported by this implementation
#
# Bugzilla 324165
# https://issues.jboss.org/browse/JBIDE-6825
#
# ------------- Unknown BPEL Element ---------------------
#  BPELC_UNKNOWN__ELEMENT
#   {0}: node
#   {1}: namespace URI
#
BPELC_UNKNOWN__ELEMENT.summary = BPEL element <{0}> is not supported.
BPELC_UNKNOWN__ELEMENT = BPEL element <{0}> in namespace "{1}" is not supported by this implementation.
BPELC_UNKNOWN__ELEMENT.fix = Remove the element <{0}> or contact the vendor to obtain the necessary plug-in(s)
#
# ------------- Link cycle ---------------------
#  BPELC_LINK__CYCLE
#   {0}: node
#   {1}: node NCName
#   {2}: source activity
#   {3}: target activity
#
BPELC_LINK__CYCLE.summary = Link cycle on "{1}": target "{3}" precedes source "{2}".
BPELC_LINK__CYCLE = The <link> "{1}" has a control cycle where the source "{2}" has the target "{3}" as a preceding activity.
BPELC_LINK__CYCLE.fix = Rearrange the source and target activities so that the source "{2}" does not have the target "{3}" as a preceding activity.