Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » GMF (Graphical Modeling Framework) » Link Constraints For Special Target Features
Link Constraints For Special Target Features [message #177799] Tue, 18 March 2008 07:56 Go to next message
Eclipse UserFriend
Originally posted by: martin.baus.web.de

Hi All,

sorry that I post this again, but I need a workaround and can't find one by
myself:
 
I have a metamodel with 'Tablecolumns' that have a reference to their
'Columntype : iDataType'.

iDataType is an abstract class which has to specializations:

DistinctType ------|> iDataType <|------ PrimitiveType

I want to draw a Link between DistinctTypes and their Tablecolumn where they
are used in. But no links to PrimitiveTypes.

So I made a LinkMapping in my mappingdef and set the TargetFeature
to 'Columntype : iDataType'.
Then I added a Target-LinkConstraint 'not oclIsKindOf(PrimitiveType)'.

If I use the Tool from the palette to draw a new Link it works, because I
can't target a primitvetype.
But if I assign a primitivetype in the propertiessheet to a tablecolumn and
reopen the editor, then the link is drawn.

How can I restrict links to primitivetypes in both situations?

Any help would be appreciated.

Thanks
Martin
Re: Link Constraints For Special Target Features [message #177856 is a reply to message #177799] Tue, 18 March 2008 15:15 Go to previous messageGo to next message
Boris Blajer is currently offline Boris BlajerFriend
Messages: 217
Registered: July 2009
Senior Member
Hi Martin,

You may try using audits in the live validation mode.
Alternatively, you may add a ResourceSetListener to the transactional
editing domain and check the integrity of your model before every
transaction commit (I believe there is essentially no difference between
these approaches, except that the logic is coded in OCL or Java,
respectively).

Best regards,
Boris


Martin Baus wrote:
> Hi All,
>
> sorry that I post this again, but I need a workaround and can't find one by
> myself:
>
> I have a metamodel with 'Tablecolumns' that have a reference to their
> 'Columntype : iDataType'.
>
> iDataType is an abstract class which has to specializations:
>
> DistinctType ------|> iDataType <|------ PrimitiveType
>
> I want to draw a Link between DistinctTypes and their Tablecolumn where they
> are used in. But no links to PrimitiveTypes.
>
> So I made a LinkMapping in my mappingdef and set the TargetFeature
> to 'Columntype : iDataType'.
> Then I added a Target-LinkConstraint 'not oclIsKindOf(PrimitiveType)'.
>
> If I use the Tool from the palette to draw a new Link it works, because I
> can't target a primitvetype.
> But if I assign a primitivetype in the propertiessheet to a tablecolumn and
> reopen the editor, then the link is drawn.
>
> How can I restrict links to primitivetypes in both situations?
>
> Any help would be appreciated.
>
> Thanks
> Martin
Re: Link Constraints For Special Target Features [message #177919 is a reply to message #177856] Tue, 18 March 2008 16:54 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: martin.baus.web.de

--nextPart1378737.A0hR4ajdoc
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8Bit

Hi Boris,

thanks for help, but I think I meant something different.

I don't want to constrain the Reference from TableColumn to PrimitiveType,
because it should be allowed to set PrimitiveType as Columntype in the
PropertiesView.
But I don't want the Link to be drawn between a TableColumn and its
ColumnType if (and only if) it's a PrimitiveType.

So any validation will not cause an error, because the semantic is alright,
only the visualization isn't.

I added an attachement for you to see how it looks right now. Because of the
definition of the linkmapping in my .map I have Links to both possible
iDataTypes. But I want to disable the ones to PrimitiveTypes like Varchar
in this case.

Thanks for your help.

----------
Martin


Boris Blajer wrote:

> Hi Martin,
>
> You may try using audits in the live validation mode.
> Alternatively, you may add a ResourceSetListener to the transactional
> editing domain and check the integrity of your model before every
> transaction commit (I believe there is essentially no difference between
> these approaches, except that the logic is coded in OCL or Java,
> respectively).
>
> Best regards,
> Boris
>
>
> Martin Baus wrote:
>> Hi All,
>>
>> sorry that I post this again, but I need a workaround and can't find one
>> by myself:
>>
>> I have a metamodel with 'Tablecolumns' that have a reference to their
>> 'Columntype : iDataType'.
>>
>> iDataType is an abstract class which has to specializations:
>>
>> DistinctType ------|> iDataType <|------ PrimitiveType
>>
>> I want to draw a Link between DistinctTypes and their Tablecolumn where
>> they are used in. But no links to PrimitiveTypes.
>>
>> So I made a LinkMapping in my mappingdef and set the TargetFeature
>> to 'Columntype : iDataType'.
>> Then I added a Target-LinkConstraint 'not oclIsKindOf(PrimitiveType)'.
>>
>> If I use the Tool from the palette to draw a new Link it works, because I
>> can't target a primitvetype.
>> But if I assign a primitivetype in the propertiessheet to a tablecolumn
>> and reopen the editor, then the link is drawn.
>>
>> How can I restrict links to primitivetypes in both situations?
>>
>> Any help would be appreciated.
>>
>> Thanks
>> Martin


--nextPart1378737.A0hR4ajdoc
Content-Type: image/png; name="LinkProblem.png"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="LinkProblem.png"

iVBORw0KGgoAAAANSUhEUgAAAikAAAC0CAIAAADeliv9AAAgAElEQVR4nO3d eXwTZf4H8M9kZnLM
JOl9Qy/OQqHcWgGtAiqLCngAyqKsC66uoqKii8equ4q6Xngr6loP8Fh+Cqio KIIry6UgYFEoZ6FQ
CqVXmsk1k/n9MWnapm2aapvS9vt+8eI1eZ6ZJ08D5MOcX0ZVVRBCCCFhpOvo CRBCCOl2KHsIIYSE
G2UPIYSQcKPsIYQQEm6UPYQQQsKNsocQQki4UfYQQggJN8oeQggh4UbZQwgh JNwoewghhIQbZQ8h
hJBwo+whhBASbpQ9hBBCwo2yhxBCSLhxHT0BQkh3tHLlyo6eAmmdyZMnt+Fo tN9DCCEk3Gi/hxDS
YSIjIzt6CqRllZWVbT4m7fcQQggJN8oeQggh4UbH3AghXZz/kBHD6FiOMxhN PMv4u4Ic9wvoDb5y
KIM0efCqex54pOwhhHR9kZGRgKqqqux2SzU2o9liYBm08nv/94dE/RDqnpHj R9lDCOl8FEWWPR6P
x222RITcyzAMwxuMFkaukdwGiwH1MsArOyWHW1a8jI41GExGA6fto2i/a+v4 V66srDQLBsnp9nqh
Y1mjKOp1DACocDvtTo/sVWEwiCZjE4M05K2uqhGtVt9umKpWV1WLkVZbZZVo 0jtcblVlWN4gCkbf
bhpUt8PhdHu8KjheLwomhgGAKluNnud5nuNYtvGnEby3o1D2EEI6C1WRFY/H 7fF4vNDxvN4oWELu
rcPoTarDDhjqN9bYXXrBLPIsvIrL5QDMkZGRQfZOHDJjNlt1DGS3ZK9x6q0m AIrL5lQ40WLVQXW7
pBYHAXSCHpJLsRhZAKrqBGtkwQBweBizJYKB6rTX1Dg4i4kDoDjtTi9rtlgZ RvU47TaHxyrwACyC
0e12OySXV2V4ntfzPMvVHlVsqbejUPYQQjoBh8PuccuMjuV53iQaOVYXem8A BqyqqgGNOkBVvV6V
YXWs0WRucT6iyajt6nAGQXVUAyYAkksRrBaWAcAYjC0PAoAzCt5qh2owMwwU p4erfWuTYNIxABiT
YKq0OWCyAHC4ZJPVrLXrjaKjqgYCD0DHckYTZwS8iuKR3U6HXfGC0/OiydRi b0eh7CGEdAKMCgAq
oAJA4P/ag/cGUKEwTOA6otnkcLrsDkVldEaTaOBbuAZYVzcA43tbwKu2/iuV 4Uys4lBUgWMcHpgF
37h178/wgKQtKoC9qhIAwzCN4xMAAxUqA21CaqNPKWhvmFH2EEI6AaMgGqFq 53Ec9movWL12EoPV
tdgbQHU7GJ0hoJFh9YKoB+CVXTa73RDR9PG64FgGcuu/VXnB6KhxqmadygpM bXDKXnDa3FWZge88
DQsYIyK4RsHpVWSP2+P2uL3Q8TxvMIlivaNqwXs7Ct3fQwjpLBiW440mwWKN sIhGnep12m0h9wKA
6vXKLmeNQzGK+oAum+SUvV749iZ8uxQ6BrK3FfMz6VnJ7vB6VVVV3Q57iIMw OoOecTskl16ouxZA
cjgVFVAVp0PS6Y2+8Q2cJLkUrwpV9Xplh+T7AW12pxc6k2iJsFoEk5FvGC3B ezsK7fcQQjofHcsZ
TJyhmTMWjXu1K80YnY5lOZPZyusCv34FDo4am+yFjtUZBd9JF8HAS7Yqr6qG eD00a7QYnHabrVoF
ozea9CEPYhT0VTVyZL1ZmTiv3VblVcHxBtHE1Y5vNjod9ppq1QtGxxqMgtYe YQ12bil4b0eh7CGE
dHFBvvT9XazeaK7dvfDjjKLV2MTKAQPWvWRgMImGhoEYMEiTI6iKV6cX6rfw BoEPPC4IAHqjSW/s
yGsE2gplDyGEdDCdXrTWe9kdbjul8z2EEELCjbKHEEJIuFH2EEIICTfKHkII IeFG1xoQQrqgvLw8
AIyONUfE9hk0cuqsG8b2sfq71q9fH2TD+r3BVw5lEG0mAX7DmI3fQltgeWOP vsP//Ld7z+0p/s4x
w4myhxDSNa1fvx7w2itKf/r+82du+WPlG+9f2lNEK7/3f39I1A+h3z9a45EV l23b6uf+fuuT537y
UBsO3t7omBshpAvTiVFJYy6b8/xdA958eI3W5N9jKN384bzZ0y8cd8Fl0//8 2qpd/q68vDz/OvUX
fvrk5dlXXXrBBROm//nOb4/6Hlugep2fvPjg9MsmTph05ZPv/9DkIPUp7mNX XjylyKn4N7/m4j8c
dMp5eXn/e/fx6ZddPP6iS+947B27t/Zxbarn81f/cfXkieMunDTvwVfLPIHP SGANlpGT73BVbfp9
H1S4UfYQQrq+xLFza47+X0DjXQ+9Pubmxz5d883SF++37HsDtXsS69evb3IH 5ZkC6z9e/eCbr1be
NVF46s43tMbdr9269EDi4/9evvo/r/Sv/LDFQVh9ysJxlsc/Pqy9rCnOl3rM yTRyABbvinvmvRWf
/efVgeWfzntxl7bCnrduzz+Q+Ni/l3+16r0JEVtve3xzwIBeT832zxYLiZe0 /lPpSJQ9hJCujzOk
K+4TAY1mHVNdeuxkRY0lLuOaO59vcZBFd1+dGiPqeGHE5X9zlK3WGl/+7ND8 h/+cESvyQtylNz0V
ymQG33Rb0dJnnF4VQOFb/x0571yt/Y4HZqVYjUZryqwH7jj61ata4yv/V3jn 32enx4icMWrSzQ+X
/m+Jfxxt1+qCCZcseH7LX564PpS3PnPQ+R5CSNcnuw6zhqSAxicWL3zpreV3 vf6IJKTPuPmhmWMC
VwjQ0+B71iejE1WvS1sulOSR5sAnkwbHm0fc0ufxp386fd/w6De34/H7o7X2 ERbfOHrzcNnxgLa8
2yHfO/libTmgboK2X+WVHT+veeG+he9c9t5NrZpGx6LsIYR0faXfv25JvTKg 0dr3goWPXQCoR3as
vP5vC2d+mQ+gcWmf4PoJ3A817tHWBvHT4iB5C6956bb3pefiTmfdbK0t9LDN 5j7bqgfgrtnOGfto
jf1N3E3/WT1Q4JsbSseZBl88z/7UFKAzZQ8dcyOEdGGqVHnif5++eevTv855 cHxA342PvFFw5LTi
VRgGgO/kf7Jet73MGfob3DQp/dmH/n34tCRLZZ+9siDEQYSEy6fwa556/pML bx7sb3xm0bLjNrfb
dnzZomd6XPgXrfGWq/o/9PBbhSVVXq/n1OFdrz9yY+BPqDgLvn7JYD0r9Dmf CWi/hxDSNeXl5TGM
ToiM65s98vYX3h2bEnj7y+25xhfum/PrsZqYnv1ueNh3quauq855cOYl1S45 xOuhB974wowXH73r
usurVMtF1959SciDXLlw/LQF+77sUVek7raBJ+bPvKzMxQ0+98rn5uVojf2v W3zTe88tun1W8SlH
VGrW1Fnz6/+AAHQsn5g55M6nHwhltmeOpguvEkJIu1q5ciW6xwObm3P86/vu 3Tsz/5YB2ss2v/un
DWnVjyZPntyGY1L2EEI6AGVPJ9Ie2UPnewghhIQbZQ8hhJBwo+whhBASbpQ9 hBBCwo2yhxBCSLi1
wf092vUqhDSpba+NIYR0DbTfQwghJNza7LkGkydPaauhSNewcuWKjp4COSPs 27fv5MmTiYmJCQkJ
ZrO5o6dDzgj0TB1CSPvKyMiwWCylpaUHDx4EEB8fn5CQ0NGTIh2Mjrm1peb+ p097AKQ783q9ERER
vXv3Tk9Pj4qKstvtW7Zs6ehJkQ5G+z0taDI26AAjIY15vV6Px6OqaklJiSRJ er0+Kipq69atAFJS
UjIzMz0eD8uyNpstJSXl2LFjHT1f0pEoe1rgj5mVK1dQ5BCikWVZVdXS0lJJ khiGSUhI2Lx5s8vl
io+Pz87Orq6uFgQhMjIyOjp6woQJPM8DqKioKCsrAzBq1KioqCjKnm6ue2YP Y68cXFJydknJ2WMv
+FMrewFAdvTZvfOGY2UZsipbYzYOHfVSBOcr/nGi8NafD5zjVOSY5FUjh/6H ZwIe1coV7b698MgI
h+yNTvxqxPB3jTovgC+/fTw5aXNS0qa4yNLGbxe8l5D2o6qqqqqnTp2SJEmW 5R49emzevFmSJLPZ
PGrUqBMnTgiCEBERYTabx4wZYzKZtJppOTk5/hF0Op3D4fjll1/Ky8uzsrJ6 9OjRcT8NOYN0q+zh
qsuGl5ScfbzkLBd7NClpc/9h94bc28DXG/84eMgLA0cVs6p4rHDhlq1jLzxn vda163TZ6HHXGRFd
uO2RDQW7zx+0u/6GlXse3VtdkHv+9SLPHyn4x4affhk//AcAY4d9cPz42b9u +9dWpSIpaXNy0ub4
2MP+c3HBewlpE6qqVlRU2O12t9udmpq6ZcsWSZJUVT3//PMPHjwoiqLFYjEY DMOGDRNFkeM4ACNG
jPBvLghCcyMXFxcLgpCTk6NtRQi6T/bs3nFPSclwmPYkJW/KyX0n2lIRem9j E8c9WLtoS+n3+E+r
HwPWa68HD18u6t1ASb/hr+z/+joMurvBGx3MzJnwgIV3A0jL/tfPX9wD/ABA jNzRJ3JHnwGvOm1Z
JSVnHyi490eHkpC0ZeSQ/BZ7CWktm81mt9sdDkd6evrWrVslSXI4HBdffPHu 3bsFQRBFkef5/v37
i6JoNBoZhsnNzfVvGxER0dq369OnT5tOn3QF3SV7oB36YtTapdb0NuIqH7dj 9+TTVckehau3PQDE
693ago7f5VUWBmxYLnNbvvjA92ZNvRUDVftdBaOqgSXfg/cSEsDpdNrtdkmS UlJSdu3aZbPZJEka
N27c9u3bDQaDIAiqqqanp5tMJkEQdDrd2LFj/dvGxsZ24MxJl9ddsmfg0CcG gqsqG15Skrtz07Uu
9mhy8qakpM1xkSda7G1sy6abkobdNzTuEM+54Y1Z9emb/q5Tbn2C3g3A6xms Yw8GbBjJygMvujqa
kwPa7ZU5Jcdzj5ecbVOqkpI2ZWQ/dna9o2rBewlRFEXLmNjY2H379lVVVUmS dM4552zZskWn04mi
qN3X2bNnT0EQOI4777zz/NvSrTakQ3SX7AEAyBGxWyJit/QfxNgrc0qOn71n 22Nx4/4UWm8DHpVh
OQfHemRnj8O/3FO/a+f2y0cP/9iEqH3bbzT3XByw4aDe+7f+eM1Zg1dYTZKz pu+hwj8NGL4AwPfb
rklO2pw1/G9Npl3wXtJ9qKqq7cpEREQcPXq0oqJCkqShQ4du375dlmVRFCMj Iy0WS1RUlCiKBoOh
fsYkJSV14MwJCdCtssdPFSN39I7c0XvAq63vBYDc4R9u3fFIgWThjcdSev0b +Lu/a3B0/MZv3nUo
ckzyp6MbXmgAILLf/QMLb9i24SW702QwF2b0fU1rv3jcPWhe8F7SJcmybLfb BUEoLS0tLy+XJCkr
K6ugoKCmpkYUxZycHJ7n4+PjRVEUBOHcc8/1b0gXkpFOgVGbPO3QGtpzrOne FxJAuy2XnmMdnKqq
DoeD5/ny8vLy8nK73Z6ZmXno0KGSkhItY+x2u8fjEUUxOjqa4zjtIuYuQPve iIyM7OiJkJZVVlai
rf8td8/9HkI6gMfjYRjGZrOdPn3abrenpKScOHHi0KFDBoNh8ODB2j3/iYmJ giAMGTJk+PDh2lbR
0dEdO21C2gNlDyFtTFVVr9crSZK2HxMbG1tVVbV//36v1zto0CCGYVwul9Vq NZlM/fr1GzBggE5H
F46Qboeyh5Dfzuv1ulwu7XyM1Wp1uVyFhYUOhyMrK8toNFZUVAiCYDAYUlNT U1NTDQZDR8+XkDMF
ZQ8hIXG73ZWVlZIkmUwmVVX37NkjSVJqamp0dPTx48cFQWBZNj4+PiYmxmQy absydNqfkOZQ9vxe
DIOm7xJtpp2c4WRZ1u7B5DiO4zgtY2JiYlJSUg4cOKBduxwVFTVkyBBBEPR6 PYDk5OSOnjUhnQxl
TxOavJKonYJkciy+BqSydhmcBKGdkpEkCYDRaNQyxmw2p6en7969WxTFuLi4 hISEvn37CoIgCIL2
tGb/5kajsePmTkinR9nTBH/MtPe+S3URvmEwCXiyCAvS2vGNujmXy2W32xVF MZvNWsbo9frevXtv
27ZNFMXY2NiIiIgePXpo98rwPF//lkzKGELaA11gE6rqo7hxEqJFsHoMGY+f bHVdqx5Begz0AsZf
hyql0ZYq3rgbmXHgTRh7FY6563o2LsCghXhwIV5bEIafoOvzer3aFcxut7ug oGDLli1bt2612Wzr
1q0rKCgoLS1lWTY6Orpfv37Z2dlRUVHjx4/Pzc3t06ePwWBITk6OiIjQKs0Q Qtob7feEKmM8XnkD
T30Co4KPHsFlU3H0G1/XzRuwrhDJwGMzMXY+dj3fYMMfHsTDO/HlLvSNwJt3 IG829i0DAFXBLZ/j
nTfQFzj+AKoURLDh/qE6L6fT6XQ6LRbL/v37tbsvhwwZsmbNGq1kWU5OjtFo jImJMZvNFovl4osv
9m+YlkY7mGcQ7aZF0g1R9oTq9N665RkPYXa927FfWYbe0QBw3zI8mQE0zJ4F z+O1QxgYBQBznsWt
cb72E5tQmY5zrADwYDpu3YS3x7TnD9A5KYqinYY5dOiQ9tj/ESNGrF69muM4 s9k8evRoVVVjY2O1
SwAuueQS/23/vXv37tiZE0KCoOwJ1clN+PNd2LADlRLQ8HqECVG+BWMk3DWB G2604bI4AFDVBmeP
lt+K8c/5lmc+h2G3AtvbZ+qdhMPhMBqNxcXF2iOZhwwZsnbtWqfTKYpiXl6e w+EQBCEuLo5hmIkT
J7Ksbyexf//+/hG6zPNmugN62FI3R9kTqksvwpR38NY4RJuhesDVu03wmwpM igYAZyV4MXDDkWY8
VYxcS4NGjx337IRjAj6sbWF02GHHkEabdz2yLLMse+rUKa2CWVZW1pYtWyoq KvR6fV5eXmVlJc/z
cXFxAM4991z//ZgDBw70j+APHkJIJ0XZE6oqBYIZESJsJXi1YU24m2Zh/XtI Bp6Yhb6zAjdcfAcu
n46VLyEnDSW/4uVFWLQUB5YifiIOf1a32mdTcOtS/PeGdv9BwqyiokLLmIyM jIKCgrKyMlmWzz//
/BMnTjAMYzabAQwbNsxoNGr3Yw4aNMi/LT0IgJCuirInVF+8hyvm4s4iRCRj +u0Nul7MxQW9ccyB
sVfgu+cCNxz5dzy1CNfmofAYEvrj5vsA4MkH8af/Nlht7NOYMQbotNlTU9PD ZutptyckJ288cODS
kyd9j8IsLi6WZVm7P6Zfv36DBg3SEmXw4MH+benqMkK6G6qhQFrH6YypqUmx 2xNiYwuOHx99/PhZ
kpQ4dOjzZWWDJClBEE5kZHwpyyaWda9d+yLosD4hpCltlj2ENImyhxDSWJsd c6P9nk7K62UdjjhJ
SjSZymy2HsXFYyUpMT39C0lKKC0dIQgnMjNXs6zL4xFFsdRkOqnTySGOrNWO I4SQxuh8T3e3f/8V
RUXjRLE0I2O1wVCRnLxJFEvN5mKOc2RlLe3o2RFCuibKnu6ub9+P+vb9qF7D 3mZXJYSQNkLPcyOE
EBJulD2EEELC7YzIHnoSCiGEdCvtlT2Fq3DeIBg4JPTG/W+205u070wYBgwD HYfoRIy7Ap/81KAr
+IZBXob+7gEzCfj1+/mH4o0YcA4+phM9hJBwaZfsqdiN4X/E7MWodKBgDYTN 7fEm4ZiJqsIr49BO
zLsQfx2NJYV17a0a5HfSHkKqjVN/+ffThnJU4JmZmHVu24xJCCEtapfsWfZH TPoIfxoHE4+4TNz7
uq9dlfHoHCRaYbRi4hxUNLpRpLk9BobBigeREglLPB7+DJ8+gp5RsMTjyf/W rbDuRWT3BMchPQcf
1v4XvrmZtEpEAqb8Bf9dgvunB06s6HOMHQgTj9g03PNaXVf9XZP6C01OUvXi xflIi4ExAnP+1fQg
9clOpIj4VarbvLcZP9vBMM1UsWu+eJ2GM+GiG+Ggut2EkHBpl+x5fi/+3tR/ otfNwytHseEQyg9h
2BGMndeKMR+rwY5j2Pwa/nkFHrPj5xJ8/yIenla3wo0bsXwrXBJeux5zJ7Qw k/pCPH6VPhWVjY5K
XTQNU55FuQP7/ofo7QAa7J001uQkN96Nx3bi812oLsaoky0Pwhnx9tX40wu+ l5WFqO6DQSIA3LwB
3xSi8ihySzF2vm8FrXjdp7sgncbMGOTNDhxQcWHtG7BmhPQ5EEJIG1B/txUr VqxYscJ/LEhVwTKQ
6730/xphwarTtcd5yqC3BB5KAhqsX7/9sNN3BAxAUe0yo6tbYY/kW/bKYNgW ZtLku7TQ7gXDBHaN
smDhEuwtDrZh/Z+iyUmebcWKspBm5W90VsASAbsCVcXX0zBzva/3U//HexoG q2/5vAh8Xu5b9kjg
xSZSjeXxyt4WPqjW/qr9i0EIIYHaZb8n04hCqYn2nTW40F9mLQqeRmXWgkgz AADDAkBq7bLqrVuh
n8m3wLBQaw83NTeT+kI8d+KRwJkCG1evw7FVuHAIojPxWAhPkGlykttsuCiq uS2aZojE4qH4y7cA
8MC3eG60r73JKnZa8TqOA8tCL0Ku94FoIaG4sfZVLLykdXMghJDfrF2y59a+ eGRDE+05Zqyp8C07
K8GbA1cw6VBd+40sO9pxJr9B0QpE9Q9sjBmOtz/F4VPY+G88ONPX2NqL0EZY 8FVFYGOLg1yVj1Vz
YTuCkrMQU/t4im/qf7y1ZehGmvF9BWQZigKvF15v4FA6Hudeh6oDrZs2IYT8 Zu2SPTOXYtVVeGcd
nDLKDmHRXF/74zPw16txoByOcjwyA71mBG54fTJmvwS7jOoSPPGndpxJfS1+ y9tOYeUSnHsDHv0w
sGvUTGzcA9kLXb0PspcRa4+3YpJPzsFfp2F3CTw2vL4g1EEsabhZj7m34o9P 1zXeNAsHK+CsaFDF
bvEdmDYd2w9B8aJ4N+6dGTiUKuN/S2GKacWcCSHk92iX7IkaiG3v4M15sBow cDwcub7281/GnGTk
piEqDVtT8P3LgRs+uhY1/0aMEemjcHpMO84kRAwDnQ49s/Hcl3hpA+b0Dlzh pUtw1xQY9Rh3Ix5f
7mtcMh/Terdi7+ecJ3H3QFw0AJYe+CGhFYPc9jZWrMNDfetatCp2lhR8F11X xW7k3/HUaFybB5Me
udNhrXdsTbuUjjPhusVY8nWoEyaEkN+Jasd1YgeWYvIPKFjse6ldCnHm0Goo UP0eQkhj9BzrTqzX
TBTUO4B2RgUPIYQEQdlDCOkAVO+402nbYxiUPYSQjrFiMlW27TSmrGzjsypn xHOsCSGEdCuUPYQQ
QsKNsocQQtqG7f0fP45fmq/L7+iJdAJnxPmeM+3i4Hb1+3/YTfdjxk4UfdpG EwIAvDQJbw/H1n+0
5ZiEhEc+k9+4cbY6u22GZXX6WCFmdHLW/cNThxqCb7Lhpl+HbLoqM8uobR58 Dv4VAtZsccOuoYvX
jgtS/y24gx+hx7gm2vPHYfJHbTjBVpMlXP4slr/ve9lsKTkVS+YjyQqjFVfc AaWl9rkf4NDTKGyL
5xgREmaz1dnar4DlthlZnnXlzouzLjRuGv1xYWGjAiQNnaxWtOBBCOHX3Ard IXjQ5WvHofn6b8Fl
XI7YH/BtZYNGVyXm/YD8y9tjmqHalw/xUoysfRRe4ydSa/a/i3vXYu1+nN6P uG9wxXsttOsteGsi
5r7XxFCEdAjbtuMF921ePaDRk6xa6vU6qz8SP6iSah9c6JX/z7y0wu7NZ/KP PrJhecx77wjLvrpu
p7uuwJW38O7vlsctfce07IurfpTcAf+iGH2COfUvwyYuids+/WCQTfKZfFVF PpOv7TD598bymfwT
L/6woueyt7l3luesObTX7W+v/3v99X3vIrt3zfn6Q+u771o//HrOLndtwbPm Bqz5fPcXA//zLv/2
+2krf3ytVGv8cMDqzfcVlGyzNfkxBu9tV128dpxf4/pvwTEc3lqAW/7WoHHj Pei/AFEcqo/ixkmI
FsHqMWQ8fqr9g2MYrH4C/ZLB6oCmisJpmpxqiGN+/DQu/2fL819yH25cjgHx EOPx+HKsu7eFdgCj
F2HXEyF9OIS0F9Vb8d2RHbd/vzJt6eqZP9lU85C3J4baW0tntI652rDhhSrt pbtwh6fPsChRB2Dz
BvHCwhnXHL0kvrTwi/kntBXKHvxi507z+F3T/nj68syYY1/OLm5yauapw9x7 fwmySf0dr4BtN240
nL/1qmulq3Ov5zZO2F6/K8hWJfNW7zkaM/HQ1VcfmhhzZM/qeSXBB/x62rbU Z8df47j2iv+da9ju
a5z49hCz17b9ms+Xpq3ccPuOI99VeOtla/DedtXFa8cFaLL+G5p5nOigO1Gx FIddvpeKC9ctwzt3
AkDGeFzwNxypgKsKd5+Fy6bWbXXbDnxZAMULNFUULshUQxzz7RLM6RHsg9K8 fwpz03zLljRIJ1to
B2DpCXtrHoFKSNv6cc66j+OXfnvHr564uNwvLp++Z1LuouzkkdZQegMkPHVW 5WMbZS8AlD1YlLzY
95f+7GWDrTEcF2MdvOzs6re3+UZ+vjz3gyGRSbxOMPZ5Nq9m1bYmx9QJkV5n Tas28Rv3ZnZEEs/o
+ZRbxnqO7wvxA9m2tDr3/Rxtwjnv51YvrXuXJgfkWbiKbPZSt75H1KDXfKls HZmc/VjupL0zLv8i
NzbW8+v8tUvjP14358dQettVu1xrcMCJfkIT7fcsxSuH0TsaAB54H09lAK+E OuZHixBnQOxlUNz4
4CFEGpBzBaSr61ZY9aavOs6Ft6DmzqYH4QXIzlDfkRPw1lTMehXf3wYAe16B cSqyBAA4XS/AZjyE
2ZF1L5cuQYbFt3zX63j5ILJjAOCGp1qYaohjHnYhw9jy5EvcSNH7llk9FHcL 7QA4I2QXCOkovgPI
DNPkKczgvQHYyORRQzds+lYaO97007cYv9RXOCs5ivWvoNSs05ZP2pS1ce8B gIogz7f0SpU6k6VV
m/hFmGr/l8/yUJSg69Ypr/HWTTgq2Vs74eYGnLBu7NaHdq+59zu3JSr7mbzB UxpWqWFqfzV5pD54
bztol+zRKrZlNYqf8NeOC9Bk/Tc0/yS0vB11slQAAA1ZSURBVMW4qhekeTAB f3kYz9ZWuDm5CX++
Cxt2oFICGu42jbLULTdXFK7JqYY4ZroBB511IzQnUY9jbt+HprjB6ltoByA7 wbVwFQ8h7Wjkm+eP
fMNb/l3xkU+KNl60zSlGpl2eljo1LXmEpcXextLzB23N+9nzneg4a6SB8/1z KqlQekSzAJTKEp0Y
rTXGmtmRxTPjLC0cBKpZsV3fP6tVm4SqmSiNNuuOVyg9fRM+rjNHBx/GMDxj 7KcZAKrW71k56ZvB
9ikAbD8eL/r4SNHHRZWSMXVqWtbTF0w4L1pX+47Be9tVF68dF6DJ+m9BGKPx dDbmrkHxVziYjUm1
f/SXXoRzFmDfCSheyK5mo6vJonDNCXHM6xLx+tGWR7s6Dq8X+ZZtRRDiW2gH YDsKMSnU2RLSLhhd
dF7qkOfGTj4y8w/vDjWrNT/NWh1qb0N8WlaW/sDGW3/NfDrR37hp1s+2CkWp sP08a1PErBFa46g7
YtdP/+n0Iafq9dp3l26f+VnAUJ5TNUeWbP/ihrJhH2aGuEmrWI26kuONzn4D w2dYNl+9y1auKOW2
nTM2WWYMDz7OZzO3n9zj8Hq9jA6A7xtk9ayfamAe+t4fZh6ZPPa5Ial5DaIl eG+7apf9nplLsfAc
vLMC08ai5iiWLPJdbvD4DMy+GgPeRzLwaPO14979K5RTeGF+W07JdgrffoKb 5uPRnU30BrnnZno+
7jwPJuCu7+oaqxQIZkSIsJXg1YXNvumTczBtGnq/h75m5P8Dc58MNsMQx7x8 AS65H0+1dJ33DY8i
90rMXIs0YOGVyHu0hXYAm+5H9t0tDBuKvXtn7N8/mWV9Bzc3bNjAsmxaWppO pzt16hTLsomJiTqd
rqqqiud5q9XKcZzT6eR5Xq/Xsyyr09H9zgQALCOSs0ckZy86+zf0arLezlx+ UfnMvnV792fn1nzV
+33JoYu/YsDFz/kyKfbvF41YtOX7vE+qj3lM/eP631c3Zj6TD4bRxwnRo1Ny N0xN7a1vcZPf4Jz5
Pdb1XuZyeAMuN0h8+Q995n73edoyD/iEK7P+8HJiMwPU/nSXcFumrCrb7xL6 xg5ffqHWOP3XSUE2
Cd7brtqrfk/hSsy9D5t+RVQ6brgP/7weALwy/jkXLy1HNXDulXj/dV+xZ/9X f1UhrpqG/xZASMLs
e/DsPF97/WxocjkgPOq3a79b4zBsNOY9gKlDm/oUgt7veVdvvAlU7K9rOfQJ rrgDu4oQkYzpt+OV
BU1PQ/Xi+dvx5Lso8+LaB7DkrmBTDXFM2YHUOKwo8R2ICzjwXbemitfm48E3 UQFMmoP/PAs2aLvH
hh5J+O4U+rd0NC8UsiwoiuHLL98CMGbMGEVRBEHweDwVFRWKokRFRXk8nhMn TsiynJKS4nK5jhw5
4vF4evXq5XK59u7dy3Fc//79VVU9duwYy7IZGRmqqp46dYrjuKSkJADV1dUs y8bExDAM43Q6WZYV
RVGn06mqynFnxO3SpEUrV65s72eJ2pauXfvD4CmL47SX3eSezXYyZeWUtn2O NdWO63w23Y+rd+Hw
qrYc8+VLkZ+DrY+05Zi/uXacLMs6nU6WZUmSFEUxmUyyLPtzy+12nzx5Upbl pKQkl8t19OhRRVHS
09MdDseBAwdkWc7OzlYU5ciRIzzPZ2ZmqqpaWlrKcVxKSgqAqqqqgNwym80M w6iqyrIsRVfYUA2F
TodqKHR3uY/gcFuP+ddP8de2HvM30wJAr9fr9XVHS6zWuqtpExIS/MtpaWn+ 5f79+wNQVVXbo/J4
PCaTyeVycRynLTscDo/H43Q6rVar3W4/fvy4oigZGRk2m+3w4cOKomRlZTmd ziNHjnAcl5WV5XK5
tNxKT0/X8o/n+fj4eEVRnE4nx3EWiwWA1+vlOI7neTpg2CpUQ6ETafMaCpQ9 pKthGIbneZ7ntZcG
g8GfWxaLJT7ed31FbGxs49wCoChKr169ZFnWEstsNsuyrOUWz/Mej8fr9drt du2YoZZbRUVFsiwP
GDCgsrLy6NGjLMtmZ2c7HI7S0lKWZXv16uV2uysqKliWTUlJkWW5pqaG5/nI yEgAbreb53mDwaDT
6bpzdOUjv6OnQALNxuz2G5yyh5AGWJZlWdZgMAAwGAxms+9yTLPZHBfnO3MQ FRXVs2dPbTkxMbFP
nz7acmpq6oABAxRFYVnW7XZHR0crimI2myVJEkVRURRVVSVJKi8vl2WZ5/mK ioqSkhKPxzNgwIBT
p04dPnyY47icnJzq6mrtuoy+ffva7fbKykqO43r27Olyuex2O8uycXFxiqK4 3e76xwzpgCHpROgv
KyFtieM4LQM4jhME3z1ugiDExsZqy5GRkf7ciouL69u3r7acnJyck5OjneuK i4tLTk7Wcks7lKfl
mSzLdrtdlmWz2VxeXl5aWqooSr9+/UpLS4uLi2VZHjFixOnTp0+ePMnzfFZW VlVVlZZb6enpkiRJ
ksSybEJCgtvt9ng8LMtaLBbtjG84z3Xt27fPbreH573IGYuyh5AziBYABoNB 2/HSlqOifLcoWywW
7YoJADExMf79rcTExJycHACqqsbFxfXq1cvj8QiCYDAYRFH0eDx6vd7lcmnn ujweT3l5+cmTJ7Xc
Kikp0c57DRky5OTJk9r5rZycnPLy8vLyco7jevfuXVNTY7PZeJ5PTEx0uVxu t5vjuIiICG1PrrXn
utLS0oqKigCM2TDmYObBkqQSlek2NVRILcoeQroOhmHqX6Oh1+sjIiK0ZVEU ExN9N4hERkb26tVL
W46Lixs8eLC2nJCQMGDAAFmW9Xq9lnnauS6Xy6Wd62IYpqqqSjtm2L9//2PH jmnnvYYOHXr48OGy
sjKWZYcPH15aWlpZWcmybFZWVkVFRU1NjXaPV01NjXYvV2pq6i+//FKaUNpn X59BBYMOpx22Zlir
9dXt8In4b7L8re4HdgJtWi4Lk4DhQPcul0XZQwjx0Q4Yartc2p2/WntiYqI/ t8xmsz+3oqKisrOz
teWEhARZlhVF0Q42Op1ORVGMRqMoiqqq+s91VVZWyrKsHY1MOZ6i9+iLexRn 7cl6Z887UxrfpzEO
+AswLbA5fCTgWaC09qX/drqAPFOBOwCtUNkc4JmW2j8AEoGFQFvcTtdJUfYQ QtqG/1yXKIqiKGqN
RqPRf22h/8INTWGfwsyDmT2Ke/wy4JfH8x7HeUC9R+iiEvgB+Co8c29GPnAp 4J+1FjmNnzrzLrAW
0G4/Hw+8B/wxaLsFmAi8B8xt19mf0brvNZ2EkA7hdrv37dsHIPNg5sHMg2sm rCnsU1h9YzUalsvC
PcACgAOOApMAEdAD4wF/nTMGeAJIrv0a8wLzgRggAqhXLgsvAj0BDsgB/E+L D3HMp4EQymXhPmA5
EA/EA8uBe1tqB7AI6N7lsih7CCFhVVRUVFNTA2DDmA3Hk4/7LjS4E1gK+Kt4 uIBlgFZhZDzwN6AC
qALOAuqVtsIOoADQnmd/N7AT2AUUA/UKU2EjsBWQgOsBf2WvEMcsAUIol4VT gP9WsbR6795cO4Ce
QPcul0XH3AghYaVdnnfkyJEGrQIwFXgVuA0A8AowFdCuUa9f7/GhhsfllgD+ EgqvAweBGABAvXJZ
eLP2tMottWEW+pguIIRyWXAD/kdw6AF3S+0AjPWCtlui/R5CyJlhMfAQ4AW8 wMPA4tr2TcBoQAQY
QA/Ur65Sv3aPDWiqXFbd+XwW8Ff2CnFMAxBKtclQ8qZ+OwAn0L3LZVH2EELO DNFANrAG+ArIBvyV
0i4CFgAnAC/gav6aaQsQcrmsUMdMBEIol4U4oLYsFoqA+JbaARwFune5LMoe QsgZIx+YA8xFg6e7
KYAZEIGSoBeGzQGmASWADVjQ0huFOOYC4P4Qpv0ocCVwCjgFXAk82lI7gPuB tiiX1XlR9hBCzhi9
ACNgBHrVa9SuReaAUcCg5rd9EhgIDAB6AAnNr9aqMWcDqxteBcc0XNDMAi4A MoFMYBwwq6V2G7Aa
uLalSXZpdK0BIeRMsr9Ry9SG16HdVbsQcKBMBzwPPN+wsfFNoK0a0wTcDswE VjXV68cAi+udoGqx
/Rrg9m59YykoewghJJg2Lajo07ZP6Omc6JgbIYSQcKP9HkJIx2vXMmXkDET7 PYQQQsKNsocQQki4
UfYQQggJN8oeQggh4UbZQwghJNwoewghhIQbZQ8hhJBwo+whhBASbpQ9hBBC wo2yhxBCSLhR9hBC
CAk3yh5CCCHh1mbPEl25ckVbDUUIIaRro+dYE0I6xpSVUzp6CqTDMKraXCk+ QgghpF3Q+R5CCCHh
RtlDCCEk3Ch7CCGEhBtlDyGEkHCj7CGEEBJulD2EEELCjbKHEEJIuFH2EEII CTfKHkIIIeFG2UMI
ISTcKHsIIYSEG2UPIYSQcKPsIYQQEm6UPYQQQsKNsocQQki4UfYQQggJN8oe Qggh4UbZQwghJNwo
ewghhIQbZQ8hhJBwo+whhBASbpQ9hBBCwo2yhxBCSLhR9hBCCAk3yh5CCCHh RtlDCCEk3Ch7CCGE
hBtlDyGEkHCj7CGEEBJulD2EEELCjbKHEEJIuP0/8KY+Y67o1ScAAAAASUVO RK5CYII=

--nextPart1378737.A0hR4ajdoc--
Re: Link Constraints For Special Target Features [message #177927 is a reply to message #177919] Tue, 18 March 2008 17:25 Go to previous message
Boris Blajer is currently offline Boris BlajerFriend
Messages: 217
Registered: July 2009
Senior Member
Hi Martin,

Sorry for the misunderstanding. Now I see what you mean.

You have added a creation constraint that is only checked when the link
is created. You also need the element not to be recognized as a link by
the diagram updater. This can be done by attaching a domain
specialization constraint to the link mapping in the mapping model.

Best regards,
Boris

Martin Baus wrote:
> Hi Boris,
>
> thanks for help, but I think I meant something different.
>
> I don't want to constrain the Reference from TableColumn to PrimitiveType,
> because it should be allowed to set PrimitiveType as Columntype in the
> PropertiesView.
> But I don't want the Link to be drawn between a TableColumn and its
> ColumnType if (and only if) it's a PrimitiveType.
>
> So any validation will not cause an error, because the semantic is alright,
> only the visualization isn't.
>
> I added an attachement for you to see how it looks right now. Because of the
> definition of the linkmapping in my .map I have Links to both possible
> iDataTypes. But I want to disable the ones to PrimitiveTypes like Varchar
> in this case.
>
> Thanks for your help.
>
> ----------
> Martin
>
>
> Boris Blajer wrote:
>
>> Hi Martin,
>>
>> You may try using audits in the live validation mode.
>> Alternatively, you may add a ResourceSetListener to the transactional
>> editing domain and check the integrity of your model before every
>> transaction commit (I believe there is essentially no difference between
>> these approaches, except that the logic is coded in OCL or Java,
>> respectively).
>>
>> Best regards,
>> Boris
>>
>>
>> Martin Baus wrote:
>>> Hi All,
>>>
>>> sorry that I post this again, but I need a workaround and can't find one
>>> by myself:
>>>
>>> I have a metamodel with 'Tablecolumns' that have a reference to their
>>> 'Columntype : iDataType'.
>>>
>>> iDataType is an abstract class which has to specializations:
>>>
>>> DistinctType ------|> iDataType <|------ PrimitiveType
>>>
>>> I want to draw a Link between DistinctTypes and their Tablecolumn where
>>> they are used in. But no links to PrimitiveTypes.
>>>
>>> So I made a LinkMapping in my mappingdef and set the TargetFeature
>>> to 'Columntype : iDataType'.
>>> Then I added a Target-LinkConstraint 'not oclIsKindOf(PrimitiveType)'.
>>>
>>> If I use the Tool from the palette to draw a new Link it works, because I
>>> can't target a primitvetype.
>>> But if I assign a primitivetype in the propertiessheet to a tablecolumn
>>> and reopen the editor, then the link is drawn.
>>>
>>> How can I restrict links to primitivetypes in both situations?
>>>
>>> Any help would be appreciated.
>>>
>>> Thanks
>>> Martin
>
>
> ------------------------------------------------------------ ------------
>
Re: Link Constraints For Special Target Features [message #178148 is a reply to message #177927] Mon, 17 March 2008 05:04 Go to previous message
Eclipse UserFriend
Originally posted by: martin.baus.web.de

Hi Boris,

thanks for your great help!

It's now doing what I expected.

For these who have a similar problem, here is the solution:

Use in the your mapping definition under your link mapping

- a 'link constraint' for constraining the creation of the link when you use
the corresponding creation tool

- a 'constraint' for constraining the link at all to appear

In my solution I used the OCL Syntax for the 'constraint':

not self.columnType.oclIsKindOf(PrimitiveType)

And additionally I had to set ContainmentFeature and Element in the Link
Mapping. But that was easy.

-----------
Martin


Boris Blajer wrote:

> Hi Martin,
>
> Sorry for the misunderstanding. Now I see what you mean.
>
> You have added a creation constraint that is only checked when the link
> is created. You also need the element not to be recognized as a link by
> the diagram updater. This can be done by attaching a domain
> specialization constraint to the link mapping in the mapping model.
>
> Best regards,
> Boris
>
> Martin Baus wrote:
>> Hi Boris,
>>
>> thanks for help, but I think I meant something different.
>>
>> I don't want to constrain the Reference from TableColumn to
>> PrimitiveType, because it should be allowed to set PrimitiveType as
>> Columntype in the PropertiesView.
>> But I don't want the Link to be drawn between a TableColumn and its
>> ColumnType if (and only if) it's a PrimitiveType.
>>
>> So any validation will not cause an error, because the semantic is
>> alright, only the visualization isn't.
>>
>> I added an attachement for you to see how it looks right now. Because of
>> the definition of the linkmapping in my .map I have Links to both
>> possible iDataTypes. But I want to disable the ones to PrimitiveTypes
>> like Varchar in this case.
>>
>> Thanks for your help.
>>
>> ----------
>> Martin
>>
>>
>> Boris Blajer wrote:
>>
>>> Hi Martin,
>>>
>>> You may try using audits in the live validation mode.
>>> Alternatively, you may add a ResourceSetListener to the transactional
>>> editing domain and check the integrity of your model before every
>>> transaction commit (I believe there is essentially no difference between
>>> these approaches, except that the logic is coded in OCL or Java,
>>> respectively).
>>>
>>> Best regards,
>>> Boris
>>>
>>>
>>> Martin Baus wrote:
>>>> Hi All,
>>>>
>>>> sorry that I post this again, but I need a workaround and can't find
>>>> one by myself:
>>>>
>>>> I have a metamodel with 'Tablecolumns' that have a reference to their
>>>> 'Columntype : iDataType'.
>>>>
>>>> iDataType is an abstract class which has to specializations:
>>>>
>>>> DistinctType ------|> iDataType <|------ PrimitiveType
>>>>
>>>> I want to draw a Link between DistinctTypes and their Tablecolumn where
>>>> they are used in. But no links to PrimitiveTypes.
>>>>
>>>> So I made a LinkMapping in my mappingdef and set the TargetFeature
>>>> to 'Columntype : iDataType'.
>>>> Then I added a Target-LinkConstraint 'not oclIsKindOf(PrimitiveType)'.
>>>>
>>>> If I use the Tool from the palette to draw a new Link it works, because
>>>> I can't target a primitvetype.
>>>> But if I assign a primitivetype in the propertiessheet to a tablecolumn
>>>> and reopen the editor, then the link is drawn.
>>>>
>>>> How can I restrict links to primitivetypes in both situations?
>>>>
>>>> Any help would be appreciated.
>>>>
>>>> Thanks
>>>> Martin
>>
>>
>> ------------------------------------------------------------ ------------
>>
Previous Topic:Error: "Top level node 'Containment Feature'..."
Next Topic:link mapping
Goto Forum:
  


Current Time: Thu Apr 25 16:04:35 GMT 2024

Powered by FUDForum. Page generated in 0.02606 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top