<?xml version="1.0" encoding="UTF-8"?> | |
<eqvtr:RelationalTransformation xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:eqvtb="http://www.eclipse.org/qvt/1.0/QVTBase" xmlns:eqvtr="http://www.eclipse.org/qvt/1.0/QVTRelation" xmlns:eqvtt="http://www.eclipse.org/qvt/1.0/QVTTemplate" xmlns:ocl.ecore="http://www.eclipse.org/ocl/1.1.0/Ecore" name="umlToRdbms"> | |
<eOperations xsi:type="eqvtb:Function" name="PrimitiveTypeToSqlType"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> | |
<eParameters xsi:type="eqvtb:FunctionParameter" name="primitiveType"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> | |
</eParameters> | |
<queryExpression xsi:type="ocl.ecore:IfExp"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> | |
<condition xsi:type="ocl.ecore:OperationCallExp"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> | |
<source xsi:type="ocl.ecore:VariableExp" name="primitiveType" referredVariable="//PrimitiveTypeToSqlType/primitiveType"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> | |
</source> | |
<argument xsi:type="ocl.ecore:StringLiteralExp" name="String" stringSymbol="INTEGER"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> | |
</argument> | |
<referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String_Class/="/> | |
</condition> | |
<thenExpression xsi:type="ocl.ecore:StringLiteralExp" name="String" stringSymbol="NUMBER"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> | |
</thenExpression> | |
<elseExpression xsi:type="ocl.ecore:IfExp"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> | |
<condition xsi:type="ocl.ecore:OperationCallExp"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> | |
<source xsi:type="ocl.ecore:VariableExp" name="primitiveType" referredVariable="//PrimitiveTypeToSqlType/primitiveType"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> | |
</source> | |
<argument xsi:type="ocl.ecore:StringLiteralExp" name="String" stringSymbol="BOOLEAN"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> | |
</argument> | |
<referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String_Class/="/> | |
</condition> | |
<thenExpression xsi:type="ocl.ecore:StringLiteralExp" name="String" stringSymbol="BOOLEAN"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> | |
</thenExpression> | |
<elseExpression xsi:type="ocl.ecore:StringLiteralExp" name="String" stringSymbol="VARCHAR"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> | |
</elseExpression> | |
</elseExpression> | |
</queryExpression> | |
</eOperations> | |
<eClassifiers xsi:type="ocl.ecore:OrderedSetType" name="OrderedSet(Column)" instanceClassName="java.util.LinkedHashSet"> | |
<elementType xsi:type="ecore:EClass" href="SimpleRdbms.ecore#//Column"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ocl.ecore:OrderedSetType" name="OrderedSet(Key)" instanceClassName="java.util.LinkedHashSet"> | |
<elementType xsi:type="ecore:EClass" href="SimpleRdbms.ecore#//Key"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ocl.ecore:OrderedSetType" name="OrderedSet(Attribute)" instanceClassName="java.util.LinkedHashSet"> | |
<elementType xsi:type="ecore:EClass" href="SimpleUml.ecore#//Attribute"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ocl.ecore:OrderedSetType" name="OrderedSet(Class)" instanceClassName="java.util.LinkedHashSet"> | |
<elementType xsi:type="ecore:EClass" href="SimpleUml.ecore#//Class"/> | |
</eClassifiers> | |
<modelParameter name="uml"> | |
<usedPackage href="SimpleUml.ecore#/"/> | |
</modelParameter> | |
<modelParameter name="rdbms"> | |
<usedPackage href="SimpleRdbms.ecore#/"/> | |
</modelParameter> | |
<rule xsi:type="eqvtr:Relation" name="PackageToSchema" isTopLevel="true"> | |
<domain xsi:type="eqvtr:RelationDomain" name="uml" isCheckable="true" isEnforceable="false" typedModel="//uml" rootVariable="//PackageToSchema/p"> | |
<pattern> | |
<templateExpression xsi:type="eqvtt:ObjectTemplateExp" name="p" bindsTo="//PackageToSchema/p"> | |
<eType xsi:type="ecore:EClass" href="SimpleUml.ecore#//Package"/> | |
<part> | |
<referredProperty xsi:type="ecore:EAttribute" href="SimpleUml.ecore#//UMLModelElement/name"/> | |
<value xsi:type="ocl.ecore:VariableExp" name="pn" referredVariable="//PackageToSchema/pn"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> | |
</value> | |
</part> | |
<referredClass href="SimpleUml.ecore#//Package"/> | |
</templateExpression> | |
</pattern> | |
</domain> | |
<domain xsi:type="eqvtr:RelationDomain" name="rdbms" isCheckable="false" isEnforceable="true" typedModel="//rdbms" rootVariable="//PackageToSchema/s"> | |
<pattern> | |
<templateExpression xsi:type="eqvtt:ObjectTemplateExp" name="s" bindsTo="//PackageToSchema/s"> | |
<eType xsi:type="ecore:EClass" href="SimpleRdbms.ecore#//Schema"/> | |
<part> | |
<referredProperty xsi:type="ecore:EAttribute" href="SimpleRdbms.ecore#//RModelElement/name"/> | |
<value xsi:type="ocl.ecore:VariableExp" name="pn" referredVariable="//PackageToSchema/pn"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> | |
</value> | |
</part> | |
<referredClass href="SimpleRdbms.ecore#//Schema"/> | |
</templateExpression> | |
</pattern> | |
</domain> | |
<variable name="p"> | |
<eType xsi:type="ecore:EClass" href="SimpleUml.ecore#//Package"/> | |
</variable> | |
<variable name="s"> | |
<eType xsi:type="ecore:EClass" href="SimpleRdbms.ecore#//Schema"/> | |
</variable> | |
<variable name="pn"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> | |
</variable> | |
</rule> | |
<rule xsi:type="eqvtr:Relation" name="ClassToTable" isTopLevel="true"> | |
<domain xsi:type="eqvtr:RelationDomain" name="uml" isCheckable="true" isEnforceable="false" typedModel="//uml" rootVariable="//ClassToTable/c"> | |
<pattern> | |
<templateExpression xsi:type="eqvtt:ObjectTemplateExp" name="c" bindsTo="//ClassToTable/c"> | |
<eType xsi:type="ecore:EClass" href="SimpleUml.ecore#//Class"/> | |
<part> | |
<referredProperty xsi:type="ecore:EReference" href="SimpleUml.ecore#//PackageElement/namespace"/> | |
<value xsi:type="eqvtt:ObjectTemplateExp" name="p" bindsTo="//ClassToTable/p"> | |
<eType xsi:type="ecore:EClass" href="SimpleUml.ecore#//Package"/> | |
<referredClass href="SimpleUml.ecore#//Package"/> | |
</value> | |
</part> | |
<part> | |
<referredProperty xsi:type="ecore:EAttribute" href="SimpleUml.ecore#//UMLModelElement/kind"/> | |
<value xsi:type="ocl.ecore:StringLiteralExp" name="String" stringSymbol="Persistent"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> | |
</value> | |
</part> | |
<part> | |
<referredProperty xsi:type="ecore:EAttribute" href="SimpleUml.ecore#//UMLModelElement/name"/> | |
<value xsi:type="ocl.ecore:VariableExp" name="cn" referredVariable="//ClassToTable/cn"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> | |
</value> | |
</part> | |
<referredClass href="SimpleUml.ecore#//Class"/> | |
</templateExpression> | |
</pattern> | |
</domain> | |
<domain xsi:type="eqvtr:RelationDomain" name="rdbms" isCheckable="false" isEnforceable="true" typedModel="//rdbms" rootVariable="//ClassToTable/t"> | |
<pattern> | |
<templateExpression xsi:type="eqvtt:ObjectTemplateExp" name="t" bindsTo="//ClassToTable/t"> | |
<eType xsi:type="ecore:EClass" href="SimpleRdbms.ecore#//Table"/> | |
<part> | |
<referredProperty xsi:type="ecore:EReference" href="SimpleRdbms.ecore#//Table/schema"/> | |
<value xsi:type="eqvtt:ObjectTemplateExp" name="s" bindsTo="//ClassToTable/s"> | |
<eType xsi:type="ecore:EClass" href="SimpleRdbms.ecore#//Schema"/> | |
<referredClass href="SimpleRdbms.ecore#//Schema"/> | |
</value> | |
</part> | |
<part> | |
<referredProperty xsi:type="ecore:EAttribute" href="SimpleRdbms.ecore#//RModelElement/name"/> | |
<value xsi:type="ocl.ecore:VariableExp" name="cn" referredVariable="//ClassToTable/cn"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> | |
</value> | |
</part> | |
<part> | |
<referredProperty xsi:type="ecore:EReference" href="SimpleRdbms.ecore#//Table/column"/> | |
<value xsi:type="eqvtt:ObjectTemplateExp" name="cl" bindsTo="//ClassToTable/cl"> | |
<eType xsi:type="ecore:EClass" href="SimpleRdbms.ecore#//Column"/> | |
<part> | |
<referredProperty xsi:type="ecore:EAttribute" href="SimpleRdbms.ecore#//RModelElement/name"/> | |
<value xsi:type="ocl.ecore:OperationCallExp"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> | |
<source xsi:type="ocl.ecore:VariableExp" name="cn" referredVariable="//ClassToTable/cn"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> | |
</source> | |
<argument xsi:type="ocl.ecore:StringLiteralExp" name="String" stringSymbol="_tid"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> | |
</argument> | |
<referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String_Class/concat"/> | |
</value> | |
</part> | |
<part> | |
<referredProperty xsi:type="ecore:EAttribute" href="SimpleRdbms.ecore#//Column/type"/> | |
<value xsi:type="ocl.ecore:StringLiteralExp" name="String" stringSymbol="NUMBER"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> | |
</value> | |
</part> | |
<referredClass href="SimpleRdbms.ecore#//Column"/> | |
</value> | |
</part> | |
<part> | |
<referredProperty xsi:type="ecore:EReference" href="SimpleRdbms.ecore#//Table/_key"/> | |
<value xsi:type="eqvtt:ObjectTemplateExp" name="k" bindsTo="//ClassToTable/k"> | |
<eType xsi:type="ecore:EClass" href="SimpleRdbms.ecore#//Key"/> | |
<part> | |
<referredProperty xsi:type="ecore:EAttribute" href="SimpleRdbms.ecore#//RModelElement/name"/> | |
<value xsi:type="ocl.ecore:OperationCallExp"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> | |
<source xsi:type="ocl.ecore:VariableExp" name="cn" referredVariable="//ClassToTable/cn"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> | |
</source> | |
<argument xsi:type="ocl.ecore:StringLiteralExp" name="String" stringSymbol="_pk"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> | |
</argument> | |
<referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String_Class/concat"/> | |
</value> | |
</part> | |
<part> | |
<referredProperty xsi:type="ecore:EReference" href="SimpleRdbms.ecore#//Key/column"/> | |
<value xsi:type="ocl.ecore:VariableExp" name="cl" referredVariable="//ClassToTable/cl"> | |
<eType xsi:type="ecore:EClass" href="SimpleRdbms.ecore#//Column"/> | |
</value> | |
</part> | |
<referredClass href="SimpleRdbms.ecore#//Key"/> | |
</value> | |
</part> | |
<referredClass href="SimpleRdbms.ecore#//Table"/> | |
</templateExpression> | |
</pattern> | |
</domain> | |
<variable name="c"> | |
<eType xsi:type="ecore:EClass" href="SimpleUml.ecore#//Class"/> | |
</variable> | |
<variable name="t"> | |
<eType xsi:type="ecore:EClass" href="SimpleRdbms.ecore#//Table"/> | |
</variable> | |
<variable name="cn"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> | |
</variable> | |
<variable name="prefix"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> | |
</variable> | |
<variable name="p"> | |
<eType xsi:type="ecore:EClass" href="SimpleUml.ecore#//Package"/> | |
</variable> | |
<variable name="s"> | |
<eType xsi:type="ecore:EClass" href="SimpleRdbms.ecore#//Schema"/> | |
</variable> | |
<variable name="cl"> | |
<eType xsi:type="ecore:EClass" href="SimpleRdbms.ecore#//Column"/> | |
</variable> | |
<variable name="k"> | |
<eType xsi:type="ecore:EClass" href="SimpleRdbms.ecore#//Key"/> | |
</variable> | |
<when> | |
<predicate> | |
<conditionExpression xsi:type="eqvtr:RelationCallExp" referredRelation="//PackageToSchema"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> | |
<argument xsi:type="ocl.ecore:VariableExp" name="p" referredVariable="//ClassToTable/p"> | |
<eType xsi:type="ecore:EClass" href="SimpleUml.ecore#//Package"/> | |
</argument> | |
<argument xsi:type="ocl.ecore:VariableExp" name="s" referredVariable="//ClassToTable/s"> | |
<eType xsi:type="ecore:EClass" href="SimpleRdbms.ecore#//Schema"/> | |
</argument> | |
</conditionExpression> | |
</predicate> | |
</when> | |
<where> | |
<predicate> | |
<conditionExpression xsi:type="ocl.ecore:OperationCallExp"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> | |
<source xsi:type="ocl.ecore:VariableExp" name="prefix" referredVariable="//ClassToTable/prefix"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> | |
</source> | |
<argument xsi:type="ocl.ecore:StringLiteralExp" name="String" stringSymbol=""> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> | |
</argument> | |
<referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String_Class/="/> | |
</conditionExpression> | |
</predicate> | |
<predicate> | |
<conditionExpression xsi:type="eqvtr:RelationCallExp" referredRelation="//AttributeToColumn"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> | |
<argument xsi:type="ocl.ecore:VariableExp" name="c" referredVariable="//ClassToTable/c"> | |
<eType xsi:type="ecore:EClass" href="SimpleUml.ecore#//Class"/> | |
</argument> | |
<argument xsi:type="ocl.ecore:VariableExp" name="t" referredVariable="//ClassToTable/t"> | |
<eType xsi:type="ecore:EClass" href="SimpleRdbms.ecore#//Table"/> | |
</argument> | |
<argument xsi:type="ocl.ecore:VariableExp" name="prefix" referredVariable="//ClassToTable/prefix"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> | |
</argument> | |
</conditionExpression> | |
</predicate> | |
</where> | |
</rule> | |
<rule xsi:type="eqvtr:Relation" name="AttributeToColumn" isTopLevel="false"> | |
<domain xsi:type="eqvtr:RelationDomain" name="uml" isCheckable="true" isEnforceable="false" typedModel="//uml" rootVariable="//AttributeToColumn/c"> | |
<pattern> | |
<templateExpression xsi:type="eqvtt:ObjectTemplateExp" name="c" bindsTo="//AttributeToColumn/c"> | |
<eType xsi:type="ecore:EClass" href="SimpleUml.ecore#//Class"/> | |
<referredClass href="SimpleUml.ecore#//Class"/> | |
</templateExpression> | |
</pattern> | |
</domain> | |
<domain xsi:type="eqvtr:RelationDomain" name="rdbms" isCheckable="false" isEnforceable="true" typedModel="//rdbms" rootVariable="//AttributeToColumn/t"> | |
<pattern> | |
<templateExpression xsi:type="eqvtt:ObjectTemplateExp" name="t" bindsTo="//AttributeToColumn/t"> | |
<eType xsi:type="ecore:EClass" href="SimpleRdbms.ecore#//Table"/> | |
<referredClass href="SimpleRdbms.ecore#//Table"/> | |
</templateExpression> | |
</pattern> | |
</domain> | |
<domain xsi:type="eqvtr:RelationDomain" name="prefix" isCheckable="false" isEnforceable="false" rootVariable="//AttributeToColumn/prefix.1"/> | |
<variable name="c"> | |
<eType xsi:type="ecore:EClass" href="SimpleUml.ecore#//Class"/> | |
</variable> | |
<variable name="t"> | |
<eType xsi:type="ecore:EClass" href="SimpleRdbms.ecore#//Table"/> | |
</variable> | |
<variable name="prefix"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> | |
</variable> | |
<where> | |
<predicate> | |
<conditionExpression xsi:type="eqvtr:RelationCallExp" referredRelation="//PrimitiveAttributeToColumn"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> | |
<argument xsi:type="ocl.ecore:VariableExp" name="c" referredVariable="//AttributeToColumn/c"> | |
<eType xsi:type="ecore:EClass" href="SimpleUml.ecore#//Class"/> | |
</argument> | |
<argument xsi:type="ocl.ecore:VariableExp" name="t" referredVariable="//AttributeToColumn/t"> | |
<eType xsi:type="ecore:EClass" href="SimpleRdbms.ecore#//Table"/> | |
</argument> | |
<argument xsi:type="ocl.ecore:VariableExp" name="prefix" referredVariable="//AttributeToColumn/prefix.1"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> | |
</argument> | |
</conditionExpression> | |
</predicate> | |
<predicate> | |
<conditionExpression xsi:type="eqvtr:RelationCallExp" referredRelation="//ComplexAttributeToColumn"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> | |
<argument xsi:type="ocl.ecore:VariableExp" name="c" referredVariable="//AttributeToColumn/c"> | |
<eType xsi:type="ecore:EClass" href="SimpleUml.ecore#//Class"/> | |
</argument> | |
<argument xsi:type="ocl.ecore:VariableExp" name="t" referredVariable="//AttributeToColumn/t"> | |
<eType xsi:type="ecore:EClass" href="SimpleRdbms.ecore#//Table"/> | |
</argument> | |
<argument xsi:type="ocl.ecore:VariableExp" name="prefix" referredVariable="//AttributeToColumn/prefix.1"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> | |
</argument> | |
</conditionExpression> | |
</predicate> | |
<predicate> | |
<conditionExpression xsi:type="eqvtr:RelationCallExp" referredRelation="//SuperAttributeToColumn"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> | |
<argument xsi:type="ocl.ecore:VariableExp" name="c" referredVariable="//AttributeToColumn/c"> | |
<eType xsi:type="ecore:EClass" href="SimpleUml.ecore#//Class"/> | |
</argument> | |
<argument xsi:type="ocl.ecore:VariableExp" name="t" referredVariable="//AttributeToColumn/t"> | |
<eType xsi:type="ecore:EClass" href="SimpleRdbms.ecore#//Table"/> | |
</argument> | |
<argument xsi:type="ocl.ecore:VariableExp" name="prefix" referredVariable="//AttributeToColumn/prefix.1"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> | |
</argument> | |
</conditionExpression> | |
</predicate> | |
</where> | |
</rule> | |
<rule xsi:type="eqvtr:Relation" name="PrimitiveAttributeToColumn" isTopLevel="false"> | |
<domain xsi:type="eqvtr:RelationDomain" name="uml" isCheckable="true" isEnforceable="false" typedModel="//uml" rootVariable="//PrimitiveAttributeToColumn/c"> | |
<pattern> | |
<templateExpression xsi:type="eqvtt:ObjectTemplateExp" name="c" bindsTo="//PrimitiveAttributeToColumn/c"> | |
<eType xsi:type="ecore:EClass" href="SimpleUml.ecore#//Class"/> | |
<part> | |
<referredProperty xsi:type="ecore:EReference" href="SimpleUml.ecore#//Class/attribute"/> | |
<value xsi:type="eqvtt:ObjectTemplateExp" name="a" bindsTo="//PrimitiveAttributeToColumn/a"> | |
<eType xsi:type="ecore:EClass" href="SimpleUml.ecore#//Attribute"/> | |
<part> | |
<referredProperty xsi:type="ecore:EAttribute" href="SimpleUml.ecore#//UMLModelElement/name"/> | |
<value xsi:type="ocl.ecore:VariableExp" name="an" referredVariable="//PrimitiveAttributeToColumn/an"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> | |
</value> | |
</part> | |
<part> | |
<referredProperty xsi:type="ecore:EReference" href="SimpleUml.ecore#//Attribute/type"/> | |
<value xsi:type="eqvtt:ObjectTemplateExp" name="p" bindsTo="//PrimitiveAttributeToColumn/p"> | |
<eType xsi:type="ecore:EClass" href="SimpleUml.ecore#//PrimitiveDataType"/> | |
<part> | |
<referredProperty xsi:type="ecore:EAttribute" href="SimpleUml.ecore#//UMLModelElement/name"/> | |
<value xsi:type="ocl.ecore:VariableExp" name="pn" referredVariable="//PrimitiveAttributeToColumn/pn"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> | |
</value> | |
</part> | |
<referredClass href="SimpleUml.ecore#//PrimitiveDataType"/> | |
</value> | |
</part> | |
<referredClass href="SimpleUml.ecore#//Attribute"/> | |
</value> | |
</part> | |
<referredClass href="SimpleUml.ecore#//Class"/> | |
</templateExpression> | |
</pattern> | |
</domain> | |
<domain xsi:type="eqvtr:RelationDomain" name="rdbms" isCheckable="false" isEnforceable="true" typedModel="//rdbms" rootVariable="//PrimitiveAttributeToColumn/t"> | |
<pattern> | |
<templateExpression xsi:type="eqvtt:ObjectTemplateExp" name="t" bindsTo="//PrimitiveAttributeToColumn/t"> | |
<eType xsi:type="ecore:EClass" href="SimpleRdbms.ecore#//Table"/> | |
<part> | |
<referredProperty xsi:type="ecore:EReference" href="SimpleRdbms.ecore#//Table/column"/> | |
<value xsi:type="eqvtt:ObjectTemplateExp" name="cl" bindsTo="//PrimitiveAttributeToColumn/cl"> | |
<eType xsi:type="ecore:EClass" href="SimpleRdbms.ecore#//Column"/> | |
<part> | |
<referredProperty xsi:type="ecore:EAttribute" href="SimpleRdbms.ecore#//RModelElement/name"/> | |
<value xsi:type="ocl.ecore:VariableExp" name="cn" referredVariable="//PrimitiveAttributeToColumn/cn"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> | |
</value> | |
</part> | |
<part> | |
<referredProperty xsi:type="ecore:EAttribute" href="SimpleRdbms.ecore#//Column/type"/> | |
<value xsi:type="ocl.ecore:VariableExp" name="sqltype" referredVariable="//PrimitiveAttributeToColumn/sqltype"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> | |
</value> | |
</part> | |
<referredClass href="SimpleRdbms.ecore#//Column"/> | |
</value> | |
</part> | |
<referredClass href="SimpleRdbms.ecore#//Table"/> | |
</templateExpression> | |
</pattern> | |
</domain> | |
<domain xsi:type="eqvtr:RelationDomain" name="prefix" isCheckable="false" isEnforceable="false" rootVariable="//PrimitiveAttributeToColumn/prefix.1"/> | |
<variable name="c"> | |
<eType xsi:type="ecore:EClass" href="SimpleUml.ecore#//Class"/> | |
</variable> | |
<variable name="t"> | |
<eType xsi:type="ecore:EClass" href="SimpleRdbms.ecore#//Table"/> | |
</variable> | |
<variable name="prefix"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> | |
</variable> | |
<variable name="an"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> | |
</variable> | |
<variable name="pn"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> | |
</variable> | |
<variable name="cn"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> | |
</variable> | |
<variable name="sqltype"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> | |
</variable> | |
<variable name="a"> | |
<eType xsi:type="ecore:EClass" href="SimpleUml.ecore#//Attribute"/> | |
</variable> | |
<variable name="p"> | |
<eType xsi:type="ecore:EClass" href="SimpleUml.ecore#//PrimitiveDataType"/> | |
</variable> | |
<variable name="cl"> | |
<eType xsi:type="ecore:EClass" href="SimpleRdbms.ecore#//Column"/> | |
</variable> | |
<where> | |
<predicate> | |
<conditionExpression xsi:type="ocl.ecore:OperationCallExp"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> | |
<source xsi:type="ocl.ecore:VariableExp" name="cn" referredVariable="//PrimitiveAttributeToColumn/cn"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> | |
</source> | |
<argument xsi:type="ocl.ecore:IfExp"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> | |
<condition xsi:type="ocl.ecore:OperationCallExp"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> | |
<source xsi:type="ocl.ecore:VariableExp" name="prefix" referredVariable="//PrimitiveAttributeToColumn/prefix.1"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> | |
</source> | |
<argument xsi:type="ocl.ecore:StringLiteralExp" name="String" stringSymbol=""> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> | |
</argument> | |
<referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String_Class/="/> | |
</condition> | |
<thenExpression xsi:type="ocl.ecore:VariableExp" name="an" referredVariable="//PrimitiveAttributeToColumn/an"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> | |
</thenExpression> | |
<elseExpression xsi:type="ocl.ecore:OperationCallExp"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> | |
<source xsi:type="ocl.ecore:OperationCallExp"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> | |
<source xsi:type="ocl.ecore:VariableExp" name="prefix" referredVariable="//PrimitiveAttributeToColumn/prefix.1"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> | |
</source> | |
<argument xsi:type="ocl.ecore:StringLiteralExp" name="String" stringSymbol="_"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> | |
</argument> | |
<referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String_Class/concat"/> | |
</source> | |
<argument xsi:type="ocl.ecore:VariableExp" name="an" referredVariable="//PrimitiveAttributeToColumn/an"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> | |
</argument> | |
<referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String_Class/concat"/> | |
</elseExpression> | |
</argument> | |
<referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String_Class/="/> | |
</conditionExpression> | |
</predicate> | |
<predicate> | |
<conditionExpression xsi:type="ocl.ecore:OperationCallExp"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> | |
<source xsi:type="ocl.ecore:VariableExp" name="sqltype" referredVariable="//PrimitiveAttributeToColumn/sqltype"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> | |
</source> | |
<argument xsi:type="ocl.ecore:OperationCallExp" name="PrimitiveTypeToSqlType" referredOperation="//PrimitiveTypeToSqlType"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> | |
<argument xsi:type="ocl.ecore:VariableExp" name="pn" referredVariable="//PrimitiveAttributeToColumn/pn"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> | |
</argument> | |
</argument> | |
<referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String_Class/="/> | |
</conditionExpression> | |
</predicate> | |
</where> | |
</rule> | |
<rule xsi:type="eqvtr:Relation" name="ComplexAttributeToColumn" isTopLevel="false"> | |
<domain xsi:type="eqvtr:RelationDomain" name="uml" isCheckable="true" isEnforceable="false" typedModel="//uml" rootVariable="//ComplexAttributeToColumn/c"> | |
<pattern> | |
<templateExpression xsi:type="eqvtt:ObjectTemplateExp" name="c" bindsTo="//ComplexAttributeToColumn/c"> | |
<eType xsi:type="ecore:EClass" href="SimpleUml.ecore#//Class"/> | |
<part> | |
<referredProperty xsi:type="ecore:EReference" href="SimpleUml.ecore#//Class/attribute"/> | |
<value xsi:type="eqvtt:ObjectTemplateExp" name="a" bindsTo="//ComplexAttributeToColumn/a"> | |
<eType xsi:type="ecore:EClass" href="SimpleUml.ecore#//Attribute"/> | |
<part> | |
<referredProperty xsi:type="ecore:EAttribute" href="SimpleUml.ecore#//UMLModelElement/name"/> | |
<value xsi:type="ocl.ecore:VariableExp" name="an" referredVariable="//ComplexAttributeToColumn/an"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> | |
</value> | |
</part> | |
<part> | |
<referredProperty xsi:type="ecore:EReference" href="SimpleUml.ecore#//Attribute/type"/> | |
<value xsi:type="eqvtt:ObjectTemplateExp" name="tc" bindsTo="//ComplexAttributeToColumn/tc"> | |
<eType xsi:type="ecore:EClass" href="SimpleUml.ecore#//Class"/> | |
<referredClass href="SimpleUml.ecore#//Class"/> | |
</value> | |
</part> | |
<referredClass href="SimpleUml.ecore#//Attribute"/> | |
</value> | |
</part> | |
<referredClass href="SimpleUml.ecore#//Class"/> | |
</templateExpression> | |
</pattern> | |
</domain> | |
<domain xsi:type="eqvtr:RelationDomain" name="rdbms" isCheckable="false" isEnforceable="true" typedModel="//rdbms" rootVariable="//ComplexAttributeToColumn/t"> | |
<pattern> | |
<templateExpression xsi:type="eqvtt:ObjectTemplateExp" name="t" bindsTo="//ComplexAttributeToColumn/t"> | |
<eType xsi:type="ecore:EClass" href="SimpleRdbms.ecore#//Table"/> | |
<referredClass href="SimpleRdbms.ecore#//Table"/> | |
</templateExpression> | |
</pattern> | |
</domain> | |
<domain xsi:type="eqvtr:RelationDomain" name="prefix" isCheckable="false" isEnforceable="false" rootVariable="//ComplexAttributeToColumn/prefix.1"/> | |
<variable name="c"> | |
<eType xsi:type="ecore:EClass" href="SimpleUml.ecore#//Class"/> | |
</variable> | |
<variable name="t"> | |
<eType xsi:type="ecore:EClass" href="SimpleRdbms.ecore#//Table"/> | |
</variable> | |
<variable name="prefix"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> | |
</variable> | |
<variable name="an"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> | |
</variable> | |
<variable name="newPrefix"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> | |
</variable> | |
<variable name="a"> | |
<eType xsi:type="ecore:EClass" href="SimpleUml.ecore#//Attribute"/> | |
</variable> | |
<variable name="tc"> | |
<eType xsi:type="ecore:EClass" href="SimpleUml.ecore#//Class"/> | |
</variable> | |
<where> | |
<predicate> | |
<conditionExpression xsi:type="ocl.ecore:OperationCallExp"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> | |
<source xsi:type="ocl.ecore:VariableExp" name="newPrefix" referredVariable="//ComplexAttributeToColumn/newPrefix"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> | |
</source> | |
<argument xsi:type="ocl.ecore:OperationCallExp"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> | |
<source xsi:type="ocl.ecore:OperationCallExp"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> | |
<source xsi:type="ocl.ecore:VariableExp" name="prefix" referredVariable="//ComplexAttributeToColumn/prefix.1"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> | |
</source> | |
<argument xsi:type="ocl.ecore:StringLiteralExp" name="String" stringSymbol="_"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> | |
</argument> | |
<referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String_Class/concat"/> | |
</source> | |
<argument xsi:type="ocl.ecore:VariableExp" name="an" referredVariable="//ComplexAttributeToColumn/an"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> | |
</argument> | |
<referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String_Class/concat"/> | |
</argument> | |
<referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String_Class/="/> | |
</conditionExpression> | |
</predicate> | |
<predicate> | |
<conditionExpression xsi:type="eqvtr:RelationCallExp" referredRelation="//AttributeToColumn"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> | |
<argument xsi:type="ocl.ecore:VariableExp" name="tc" referredVariable="//ComplexAttributeToColumn/tc"> | |
<eType xsi:type="ecore:EClass" href="SimpleUml.ecore#//Class"/> | |
</argument> | |
<argument xsi:type="ocl.ecore:VariableExp" name="t" referredVariable="//ComplexAttributeToColumn/t"> | |
<eType xsi:type="ecore:EClass" href="SimpleRdbms.ecore#//Table"/> | |
</argument> | |
<argument xsi:type="ocl.ecore:VariableExp" name="newPrefix" referredVariable="//ComplexAttributeToColumn/newPrefix"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> | |
</argument> | |
</conditionExpression> | |
</predicate> | |
</where> | |
</rule> | |
<rule xsi:type="eqvtr:Relation" name="SuperAttributeToColumn" isTopLevel="false"> | |
<domain xsi:type="eqvtr:RelationDomain" name="uml" isCheckable="true" isEnforceable="false" typedModel="//uml" rootVariable="//SuperAttributeToColumn/c"> | |
<pattern> | |
<templateExpression xsi:type="eqvtt:ObjectTemplateExp" name="c" bindsTo="//SuperAttributeToColumn/c"> | |
<eType xsi:type="ecore:EClass" href="SimpleUml.ecore#//Class"/> | |
<part> | |
<referredProperty xsi:type="ecore:EReference" href="SimpleUml.ecore#//Class/general"/> | |
<value xsi:type="eqvtt:ObjectTemplateExp" name="sc" bindsTo="//SuperAttributeToColumn/sc"> | |
<eType xsi:type="ecore:EClass" href="SimpleUml.ecore#//Class"/> | |
<referredClass href="SimpleUml.ecore#//Class"/> | |
</value> | |
</part> | |
<referredClass href="SimpleUml.ecore#//Class"/> | |
</templateExpression> | |
</pattern> | |
</domain> | |
<domain xsi:type="eqvtr:RelationDomain" name="rdbms" isCheckable="false" isEnforceable="true" typedModel="//rdbms" rootVariable="//SuperAttributeToColumn/t"> | |
<pattern> | |
<templateExpression xsi:type="eqvtt:ObjectTemplateExp" name="t" bindsTo="//SuperAttributeToColumn/t"> | |
<eType xsi:type="ecore:EClass" href="SimpleRdbms.ecore#//Table"/> | |
<referredClass href="SimpleRdbms.ecore#//Table"/> | |
</templateExpression> | |
</pattern> | |
</domain> | |
<domain xsi:type="eqvtr:RelationDomain" name="prefix" isCheckable="false" isEnforceable="false" rootVariable="//SuperAttributeToColumn/prefix.1"/> | |
<variable name="c"> | |
<eType xsi:type="ecore:EClass" href="SimpleUml.ecore#//Class"/> | |
</variable> | |
<variable name="t"> | |
<eType xsi:type="ecore:EClass" href="SimpleRdbms.ecore#//Table"/> | |
</variable> | |
<variable name="prefix"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> | |
</variable> | |
<variable name="sc"> | |
<eType xsi:type="ecore:EClass" href="SimpleUml.ecore#//Class"/> | |
</variable> | |
<where> | |
<predicate> | |
<conditionExpression xsi:type="eqvtr:RelationCallExp" referredRelation="//AttributeToColumn"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> | |
<argument xsi:type="ocl.ecore:VariableExp" name="sc" referredVariable="//SuperAttributeToColumn/sc"> | |
<eType xsi:type="ecore:EClass" href="SimpleUml.ecore#//Class"/> | |
</argument> | |
<argument xsi:type="ocl.ecore:VariableExp" name="t" referredVariable="//SuperAttributeToColumn/t"> | |
<eType xsi:type="ecore:EClass" href="SimpleRdbms.ecore#//Table"/> | |
</argument> | |
<argument xsi:type="ocl.ecore:VariableExp" name="prefix" referredVariable="//SuperAttributeToColumn/prefix.1"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> | |
</argument> | |
</conditionExpression> | |
</predicate> | |
</where> | |
</rule> | |
<rule xsi:type="eqvtr:Relation" name="AssocToFKey" isTopLevel="true"> | |
<domain xsi:type="eqvtr:RelationDomain" name="uml" isCheckable="true" isEnforceable="false" typedModel="//uml" rootVariable="//AssocToFKey/a"> | |
<pattern> | |
<templateExpression xsi:type="eqvtt:ObjectTemplateExp" name="a" bindsTo="//AssocToFKey/a"> | |
<eType xsi:type="ecore:EClass" href="SimpleUml.ecore#//Association"/> | |
<part> | |
<referredProperty xsi:type="ecore:EAttribute" href="SimpleUml.ecore#//UMLModelElement/name"/> | |
<value xsi:type="ocl.ecore:VariableExp" name="an" referredVariable="//AssocToFKey/an"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> | |
</value> | |
</part> | |
<part> | |
<referredProperty xsi:type="ecore:EReference" href="SimpleUml.ecore#//Association/source"/> | |
<value xsi:type="eqvtt:ObjectTemplateExp" name="sc" bindsTo="//AssocToFKey/sc"> | |
<eType xsi:type="ecore:EClass" href="SimpleUml.ecore#//Class"/> | |
<part> | |
<referredProperty xsi:type="ecore:EAttribute" href="SimpleUml.ecore#//UMLModelElement/kind"/> | |
<value xsi:type="ocl.ecore:StringLiteralExp" name="String" stringSymbol="Persistent"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> | |
</value> | |
</part> | |
<part> | |
<referredProperty xsi:type="ecore:EAttribute" href="SimpleUml.ecore#//UMLModelElement/name"/> | |
<value xsi:type="ocl.ecore:VariableExp" name="scn" referredVariable="//AssocToFKey/scn"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> | |
</value> | |
</part> | |
<referredClass href="SimpleUml.ecore#//Class"/> | |
</value> | |
</part> | |
<part> | |
<referredProperty xsi:type="ecore:EReference" href="SimpleUml.ecore#//Association/destination"/> | |
<value xsi:type="eqvtt:ObjectTemplateExp" name="dc" bindsTo="//AssocToFKey/dc"> | |
<eType xsi:type="ecore:EClass" href="SimpleUml.ecore#//Class"/> | |
<part> | |
<referredProperty xsi:type="ecore:EAttribute" href="SimpleUml.ecore#//UMLModelElement/kind"/> | |
<value xsi:type="ocl.ecore:StringLiteralExp" name="String" stringSymbol="Persistent"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> | |
</value> | |
</part> | |
<part> | |
<referredProperty xsi:type="ecore:EAttribute" href="SimpleUml.ecore#//UMLModelElement/name"/> | |
<value xsi:type="ocl.ecore:VariableExp" name="dcn" referredVariable="//AssocToFKey/dcn"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> | |
</value> | |
</part> | |
<referredClass href="SimpleUml.ecore#//Class"/> | |
</value> | |
</part> | |
<referredClass href="SimpleUml.ecore#//Association"/> | |
</templateExpression> | |
</pattern> | |
</domain> | |
<domain xsi:type="eqvtr:RelationDomain" name="rdbms" isCheckable="false" isEnforceable="true" typedModel="//rdbms" rootVariable="//AssocToFKey/fk"> | |
<pattern> | |
<templateExpression xsi:type="eqvtt:ObjectTemplateExp" name="fk" bindsTo="//AssocToFKey/fk"> | |
<eType xsi:type="ecore:EClass" href="SimpleRdbms.ecore#//ForeignKey"/> | |
<part> | |
<referredProperty xsi:type="ecore:EAttribute" href="SimpleRdbms.ecore#//RModelElement/name"/> | |
<value xsi:type="ocl.ecore:VariableExp" name="fkn" referredVariable="//AssocToFKey/fkn"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> | |
</value> | |
</part> | |
<part> | |
<referredProperty xsi:type="ecore:EReference" href="SimpleRdbms.ecore#//ForeignKey/owner"/> | |
<value xsi:type="ocl.ecore:VariableExp" name="srcTbl" referredVariable="//AssocToFKey/srcTbl"> | |
<eType xsi:type="ecore:EClass" href="SimpleRdbms.ecore#//Table"/> | |
</value> | |
</part> | |
<part> | |
<referredProperty xsi:type="ecore:EReference" href="SimpleRdbms.ecore#//ForeignKey/column"/> | |
<value xsi:type="eqvtt:ObjectTemplateExp" name="fc" bindsTo="//AssocToFKey/fc"> | |
<eType xsi:type="ecore:EClass" href="SimpleRdbms.ecore#//Column"/> | |
<part> | |
<referredProperty xsi:type="ecore:EAttribute" href="SimpleRdbms.ecore#//RModelElement/name"/> | |
<value xsi:type="ocl.ecore:VariableExp" name="fcn" referredVariable="//AssocToFKey/fcn"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> | |
</value> | |
</part> | |
<part> | |
<referredProperty xsi:type="ecore:EAttribute" href="SimpleRdbms.ecore#//Column/type"/> | |
<value xsi:type="ocl.ecore:StringLiteralExp" name="String" stringSymbol="NUMBER"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> | |
</value> | |
</part> | |
<part> | |
<referredProperty xsi:type="ecore:EReference" href="SimpleRdbms.ecore#//Column/owner"/> | |
<value xsi:type="ocl.ecore:VariableExp" name="srcTbl" referredVariable="//AssocToFKey/srcTbl"> | |
<eType xsi:type="ecore:EClass" href="SimpleRdbms.ecore#//Table"/> | |
</value> | |
</part> | |
<referredClass href="SimpleRdbms.ecore#//Column"/> | |
</value> | |
</part> | |
<part> | |
<referredProperty xsi:type="ecore:EReference" href="SimpleRdbms.ecore#//ForeignKey/refersTo"/> | |
<value xsi:type="ocl.ecore:VariableExp" name="pKey" referredVariable="//AssocToFKey/pKey"> | |
<eType xsi:type="ecore:EClass" href="SimpleRdbms.ecore#//Key"/> | |
</value> | |
</part> | |
<referredClass href="SimpleRdbms.ecore#//ForeignKey"/> | |
</templateExpression> | |
</pattern> | |
</domain> | |
<variable name="a"> | |
<eType xsi:type="ecore:EClass" href="SimpleUml.ecore#//Association"/> | |
</variable> | |
<variable name="fk"> | |
<eType xsi:type="ecore:EClass" href="SimpleRdbms.ecore#//ForeignKey"/> | |
</variable> | |
<variable name="srcTbl"> | |
<eType xsi:type="ecore:EClass" href="SimpleRdbms.ecore#//Table"/> | |
</variable> | |
<variable name="destTbl"> | |
<eType xsi:type="ecore:EClass" href="SimpleRdbms.ecore#//Table"/> | |
</variable> | |
<variable name="pKey"> | |
<eType xsi:type="ecore:EClass" href="SimpleRdbms.ecore#//Key"/> | |
</variable> | |
<variable name="an"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> | |
</variable> | |
<variable name="scn"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> | |
</variable> | |
<variable name="dcn"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> | |
</variable> | |
<variable name="fkn"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> | |
</variable> | |
<variable name="fcn"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> | |
</variable> | |
<variable name="sc"> | |
<eType xsi:type="ecore:EClass" href="SimpleUml.ecore#//Class"/> | |
</variable> | |
<variable name="dc"> | |
<eType xsi:type="ecore:EClass" href="SimpleUml.ecore#//Class"/> | |
</variable> | |
<variable name="fc"> | |
<eType xsi:type="ecore:EClass" href="SimpleRdbms.ecore#//Column"/> | |
</variable> | |
<when> | |
<predicate> | |
<conditionExpression xsi:type="eqvtr:RelationCallExp" referredRelation="//ClassToTable"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> | |
<argument xsi:type="ocl.ecore:VariableExp" name="sc" referredVariable="//AssocToFKey/sc"> | |
<eType xsi:type="ecore:EClass" href="SimpleUml.ecore#//Class"/> | |
</argument> | |
<argument xsi:type="ocl.ecore:VariableExp" name="srcTbl" referredVariable="//AssocToFKey/srcTbl"> | |
<eType xsi:type="ecore:EClass" href="SimpleRdbms.ecore#//Table"/> | |
</argument> | |
</conditionExpression> | |
</predicate> | |
<predicate> | |
<conditionExpression xsi:type="eqvtr:RelationCallExp" referredRelation="//ClassToTable"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> | |
<argument xsi:type="ocl.ecore:VariableExp" name="dc" referredVariable="//AssocToFKey/dc"> | |
<eType xsi:type="ecore:EClass" href="SimpleUml.ecore#//Class"/> | |
</argument> | |
<argument xsi:type="ocl.ecore:VariableExp" name="destTbl" referredVariable="//AssocToFKey/destTbl"> | |
<eType xsi:type="ecore:EClass" href="SimpleRdbms.ecore#//Table"/> | |
</argument> | |
</conditionExpression> | |
</predicate> | |
<predicate> | |
<conditionExpression xsi:type="ocl.ecore:OperationCallExp"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> | |
<source xsi:type="ocl.ecore:VariableExp" name="pKey" referredVariable="//AssocToFKey/pKey"> | |
<eType xsi:type="ecore:EClass" href="SimpleRdbms.ecore#//Key"/> | |
</source> | |
<argument xsi:type="ocl.ecore:OperationCallExp"> | |
<eType xsi:type="ecore:EClass" href="SimpleRdbms.ecore#//Key"/> | |
<source xsi:type="ocl.ecore:PropertyCallExp" eType="//OrderedSet(Key)"> | |
<source xsi:type="ocl.ecore:VariableExp" name="destTbl" referredVariable="//AssocToFKey/destTbl"> | |
<eType xsi:type="ecore:EClass" href="SimpleRdbms.ecore#//Table"/> | |
</source> | |
<referredProperty xsi:type="ecore:EReference" href="SimpleRdbms.ecore#//Table/_key"/> | |
</source> | |
<referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)_Class/first"/> | |
</argument> | |
<referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/="/> | |
</conditionExpression> | |
</predicate> | |
</when> | |
<where> | |
<predicate> | |
<conditionExpression xsi:type="ocl.ecore:OperationCallExp"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> | |
<source xsi:type="ocl.ecore:VariableExp" name="fkn" referredVariable="//AssocToFKey/fkn"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> | |
</source> | |
<argument xsi:type="ocl.ecore:OperationCallExp"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> | |
<source xsi:type="ocl.ecore:OperationCallExp"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> | |
<source xsi:type="ocl.ecore:OperationCallExp"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> | |
<source xsi:type="ocl.ecore:OperationCallExp"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> | |
<source xsi:type="ocl.ecore:VariableExp" name="scn" referredVariable="//AssocToFKey/scn"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> | |
</source> | |
<argument xsi:type="ocl.ecore:StringLiteralExp" name="String" stringSymbol="_"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> | |
</argument> | |
<referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String_Class/concat"/> | |
</source> | |
<argument xsi:type="ocl.ecore:VariableExp" name="an" referredVariable="//AssocToFKey/an"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> | |
</argument> | |
<referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String_Class/concat"/> | |
</source> | |
<argument xsi:type="ocl.ecore:StringLiteralExp" name="String" stringSymbol="_"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> | |
</argument> | |
<referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String_Class/concat"/> | |
</source> | |
<argument xsi:type="ocl.ecore:VariableExp" name="dcn" referredVariable="//AssocToFKey/dcn"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> | |
</argument> | |
<referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String_Class/concat"/> | |
</argument> | |
<referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String_Class/="/> | |
</conditionExpression> | |
</predicate> | |
<predicate> | |
<conditionExpression xsi:type="ocl.ecore:OperationCallExp"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> | |
<source xsi:type="ocl.ecore:VariableExp" name="fcn" referredVariable="//AssocToFKey/fcn"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> | |
</source> | |
<argument xsi:type="ocl.ecore:OperationCallExp"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> | |
<source xsi:type="ocl.ecore:VariableExp" name="fkn" referredVariable="//AssocToFKey/fkn"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> | |
</source> | |
<argument xsi:type="ocl.ecore:StringLiteralExp" name="String" stringSymbol="_tid"> | |
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> | |
</argument> | |
<referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String_Class/concat"/> | |
</argument> | |
<referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String_Class/="/> | |
</conditionExpression> | |
</predicate> | |
</where> | |
</rule> | |
<ownedKey> | |
<identifies href="SimpleRdbms.ecore#//Table"/> | |
<part xsi:type="ecore:EAttribute" href="SimpleRdbms.ecore#//RModelElement/name"/> | |
<part xsi:type="ecore:EReference" href="SimpleRdbms.ecore#//Table/schema"/> | |
</ownedKey> | |
<ownedKey> | |
<identifies href="SimpleRdbms.ecore#//Column"/> | |
<part xsi:type="ecore:EAttribute" href="SimpleRdbms.ecore#//RModelElement/name"/> | |
<part xsi:type="ecore:EReference" href="SimpleRdbms.ecore#//Column/owner"/> | |
</ownedKey> | |
<ownedKey> | |
<identifies href="SimpleRdbms.ecore#//Key"/> | |
<part xsi:type="ecore:EAttribute" href="SimpleRdbms.ecore#//RModelElement/name"/> | |
<part xsi:type="ecore:EReference" href="SimpleRdbms.ecore#//Key/owner"/> | |
</ownedKey> | |
</eqvtr:RelationalTransformation> |