# <copyright>
# Copyright (c) 2010-2014 Henshin developers. 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
# </copyright>

pluginName=Henshin Model
providerName=Eclipse Modeling Project

# Validation Messages

_Constraint_Msg_Unit_nameNotEmpty=Empty unit/rule name
_Constraint_Msg_Unit_parameterNamesUnique=Duplicate parameter name
_Constraint_Msg_Unit_parameterNamesNotTypeName=Parameter name matches name of an imported EClassifer
_Constraint_Msg_Unit_parameterMappingsPointToDirectSubUnit=If one end of a Parameter Mapping is contained in the same Unit as Parameter Mapping, the other end has to be contained in direct subunit

_Constraint_Msg_Rule_mappingsFromLeft2Right=Rule mapping not from Lhs to Rhs
_Constraint_Msg_Rule_createdNodesNotAbstract=Node of abstract type cannot be created
_Constraint_Msg_Rule_createdEdgesNotDerived=Edge of derived type cannot be created 
_Constraint_Msg_Rule_deletedEdgesNotDerived=Edge of derived type cannot be deleted
_Constraint_Msg_Rule_uniqueNodeNames=Duplicate node name: {0}

_Constraint_Msg_Parameter_nameNotEmpty=Empty parameter name
_Constraint_Msg_Parameter_nameNotType=Parameter name matches name of an imported EClassifier

_Constraint_Msg_Mapping_equalOriginAndImageTypes=Mapped nodes must be of the same type

_Constraint_Msg_Node_uniqueAttributeTypes=Node attributes must be of different types
_Constraint_Msg_Node_atMostOneContainer=Node contained in more than one container
_Constraint_Msg_Node_NodeDeletionDanglingEdge=The associated containment-edge has to be deleted as well
_Constraint_Msg_Node_NodeCreationWithoutContainment=Created nodes should have an incoming containment edge

_Constraint_Msg_Edge_equalParentGraphs=Source or target node of edge not contained in same graph
_Constraint_Msg_Edge_indexValidJavaScript=Error parsing JavaScript expression: {1}
_Constraint_Msg_Edge_noContainmentCycles=Containment edges should not build a cycle
_Constraint_Msg_Edge_EOppositeContainments=This edge has an EOpposite containment edge which should be used instead
_Constraint_Msg_Edge_oppositeEdgeConsidered=This edge has an EOpposite edge which should also be part of this rule
_Constraint_Msg_Edge_noParallelEdgesOfSameType=There is another edge of the same type with the same source and target
_Constraint_Msg_Edge_containmentEdgeDeletion=By deleting this containment edge the node remains without a container
_Constraint_Msg_Edge_containmentEdgeCreation=By creating this containment edge the node might have two container

_Constraint_Msg_IteratedUnit_iterationsNotEmpty=Empty iterations definition
_Constraint_Msg_IteratedUnit_iterationsValidJavaScript=Error parsing JavaScript expression: {1}
_Constraint_Msg_Edge_noContainmentCycles=Edges should not build a containment cycle
_Constraint_Msg_Edge_EOppositeContainments=If an edge is the EOpposite of an containment edge, either both edges or just the containment edge should be specified

_Constraint_Msg_IteratedUnit_iterationsNotEmpty=Empty iterations definition
_Constraint_Msg_IteratedUnit_iterationsValidJavaScript=Error parsing JavaScript expression: {1}

_Constraint_Msg_NestedCondition_mappingOriginContainedInParentCondition=Mapping origin of Nested Condition not contained in parent Graph
_Constraint_Msg_NestedCondition_mappingImageContainedInCurrent=Mapping image of Nested Condition not contained in the same Nested Condition's conclusion

_Constraint_Msg_Attribute_valueValidJavaScript=Error parsing JavaScript expression: {1}

_Constraint_Msg_AttributeCondition_conditionTextNotEmpty=Empty condition text
_Constraint_Msg_AttributeCondition_conditionValidJavaScript=Error parsing JavaScript expression: {1}
