From 78e36baaef8da2a0f7be6be77064a1bb8e8a798e Mon Sep 17 00:00:00 2001 From: Axel RICHARD Date: Mon, 22 Jun 2026 13:42:41 +0200 Subject: [PATCH 1/3] ST6RI-944 Invalid TypeAdapter#getFeatureMembership cache when needed Signed-off-by: Axel RICHARD --- ...ype_featureMembership_SettingDelegate.java | 7 +- .../logic/TypeFeatureMembershipCacheTest.java | 103 ++++++++++++++++++ 2 files changed, 108 insertions(+), 2 deletions(-) create mode 100644 org.omg.sysml.logic/src/test/java/org/omg/sysml/logic/TypeFeatureMembershipCacheTest.java diff --git a/org.omg.sysml.logic/src/main/java/org/omg/sysml/delegate/setting/Type_featureMembership_SettingDelegate.java b/org.omg.sysml.logic/src/main/java/org/omg/sysml/delegate/setting/Type_featureMembership_SettingDelegate.java index 321f65232..3cbb7fb26 100644 --- a/org.omg.sysml.logic/src/main/java/org/omg/sysml/delegate/setting/Type_featureMembership_SettingDelegate.java +++ b/org.omg.sysml.logic/src/main/java/org/omg/sysml/delegate/setting/Type_featureMembership_SettingDelegate.java @@ -2,7 +2,8 @@ * SysML 2 Pilot Implementation * Copyright (c) 2022 Siemens AG * Copyright (c) 2022, 2026 Model Driven Solutions, Inc. - * + * Copyright (c) 2026 Obeo + * * This program is free software: you can redistribute it and/or modify * it under the terms of the Eclipse Public License as published by * the Eclipse Foundation, version 2 of the License. @@ -25,6 +26,7 @@ import org.eclipse.emf.ecore.EStructuralFeature; import org.eclipse.emf.ecore.InternalEObject; import org.omg.sysml.lang.sysml.Type; +import org.omg.sysml.util.ElementUtil; import org.omg.sysml.util.TypeUtil; public class Type_featureMembership_SettingDelegate extends BasicDerivedListSettingDelegate { @@ -35,7 +37,8 @@ public Type_featureMembership_SettingDelegate(EStructuralFeature eStructuralFeat @Override protected EList basicGet(InternalEObject owner) { - return TypeUtil.getFeatureMembershipOf((Type)owner); + ElementUtil.clearCachesOf((Type) owner); + return TypeUtil.getFeatureMembershipOf((Type) owner); } } diff --git a/org.omg.sysml.logic/src/test/java/org/omg/sysml/logic/TypeFeatureMembershipCacheTest.java b/org.omg.sysml.logic/src/test/java/org/omg/sysml/logic/TypeFeatureMembershipCacheTest.java new file mode 100644 index 000000000..ed41d7689 --- /dev/null +++ b/org.omg.sysml.logic/src/test/java/org/omg/sysml/logic/TypeFeatureMembershipCacheTest.java @@ -0,0 +1,103 @@ +/******************************************************************************* + * SysML 2 Pilot Implementation + * Copyright (c) 2026 Obeo + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program. If not, see . + * + * @license LGPL-3.0-or-later + * + *******************************************************************************/ + +package org.omg.sysml.logic; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertSame; +import static org.junit.Assert.assertTrue; + +import org.eclipse.emf.common.util.EList; +import org.junit.Test; +import org.omg.sysml.lang.sysml.Feature; +import org.omg.sysml.lang.sysml.FeatureMembership; +import org.omg.sysml.lang.sysml.SysMLFactory; +import org.omg.sysml.lang.sysml.Type; +import org.omg.sysml.util.TypeUtil; + +/** + * Verifies that derived feature memberships reflect owned membership mutations that happen after an initial read. + */ +public class TypeFeatureMembershipCacheTest { + + /** + * Verifies that a second read of {@link Type#getFeatureMembership()} sees a newly added owned membership after the + * first read has already populated the derived list. + */ + @Test + public void getFeatureMembershipReflectsOwnedMembershipsAddedAfterFirstRead() { + initializeStandalone(); + + Type type = this.createType("FixtureType"); + Feature initialFeature = this.createFeature("initialFeature"); + FeatureMembership initialMembership = TypeUtil.addOwnedFeatureTo(type, initialFeature); + + EList initialMemberships = type.getFeatureMembership(); + + assertEquals(1, initialMemberships.size()); + assertSame(initialMembership, initialMemberships.get(0)); + assertSame(initialFeature, initialMemberships.get(0).getOwnedMemberFeature()); + + Feature addedFeature = this.createFeature("addedFeature"); + FeatureMembership addedMembership = TypeUtil.addOwnedFeatureTo(type, addedFeature); + + EList updatedMemberships = type.getFeatureMembership(); + + assertEquals(2, updatedMemberships.size()); + assertTrue(updatedMemberships.contains(initialMembership)); + assertTrue(updatedMemberships.contains(addedMembership)); + assertSame(addedMembership, updatedMemberships.get(1)); + assertSame(addedFeature, updatedMemberships.get(1).getOwnedMemberFeature()); + } + + /** + * Installs the standalone delegates used by direct EMF logic tests. + */ + private void initializeStandalone() { + SysMLLogicStandaloneSetup.doSetup(); + } + + /** + * Creates a type with the given declared name. + * + * @param name + * the declared type name used in the test fixture + * @return a new type instance + */ + private Type createType(String name) { + Type type = SysMLFactory.eINSTANCE.createType(); + type.setDeclaredName(name); + return type; + } + + /** + * Creates a feature with the given declared name. + * + * @param name + * the declared feature name used in the test fixture + * @return a new feature instance + */ + private Feature createFeature(String name) { + Feature feature = SysMLFactory.eINSTANCE.createFeature(); + feature.setDeclaredName(name); + return feature; + } +} From 7260317e02de052d5ce06e1a85841f6963216261 Mon Sep 17 00:00:00 2001 From: Ed Seidewitz Date: Wed, 26 Aug 2026 01:27:12 -0400 Subject: [PATCH 2/3] ST6RI-944 Replaced internal calls of getFeatureMembership with util. --- .../org.omg.sysml.logic-0.62.0-SNAPSHOT.jar | Bin 687504 -> 687766 bytes .../setting/Type_feature_SettingDelegate.java | 5 +++-- .../java/org/omg/sysml/util/TypeUtil.java | 2 +- .../org.omg.sysml.model-0.62.0-SNAPSHOT.jar | Bin 898006 -> 898006 bytes .../xtext/validation/SysMLValidator.xtend | 5 +++-- 5 files changed, 7 insertions(+), 5 deletions(-) diff --git a/org.omg.sysml.logic.bundle/lib/org.omg.sysml.logic-0.62.0-SNAPSHOT.jar b/org.omg.sysml.logic.bundle/lib/org.omg.sysml.logic-0.62.0-SNAPSHOT.jar index ba24ed85625409dc2388c357b157faa82b45b148..983f7ace30ace5d36ecac6fd38f53f58ee505648 100644 GIT binary patch delta 42748 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 LZMh&G@xtVP9|2OR diff --git a/org.omg.sysml.logic/src/main/java/org/omg/sysml/delegate/setting/Type_feature_SettingDelegate.java b/org.omg.sysml.logic/src/main/java/org/omg/sysml/delegate/setting/Type_feature_SettingDelegate.java index ad081c49a..3ca983077 100644 --- a/org.omg.sysml.logic/src/main/java/org/omg/sysml/delegate/setting/Type_feature_SettingDelegate.java +++ b/org.omg.sysml.logic/src/main/java/org/omg/sysml/delegate/setting/Type_feature_SettingDelegate.java @@ -1,7 +1,7 @@ /******************************************************************************* * SysML 2 Pilot Implementation * Copyright (c) 2022 Siemens AG - * Copyright (c) 2022 Model Driven Solutions, Inc. + * Copyright (c) 2022, 2026 Model Driven Solutions, Inc. * * This program is free software: you can redistribute it and/or modify * it under the terms of the Eclipse Public License as published by @@ -28,6 +28,7 @@ import org.omg.sysml.lang.sysml.FeatureMembership; import org.omg.sysml.lang.sysml.Type; import org.omg.sysml.util.NonNotifyingEObjectEList; +import org.omg.sysml.util.TypeUtil; public class Type_feature_SettingDelegate extends BasicDerivedListSettingDelegate { @@ -38,7 +39,7 @@ public Type_feature_SettingDelegate(EStructuralFeature eStructuralFeature) { @Override protected EList basicGet(InternalEObject owner) { EList features = new NonNotifyingEObjectEList<>(Feature.class, owner, eStructuralFeature.getFeatureID()); - ((Type) owner).getFeatureMembership().stream(). + TypeUtil.getFeatureMembershipOf((Type) owner).stream(). map(FeatureMembership::getOwnedMemberFeature). filter(f->f != null). forEachOrdered(features::add); diff --git a/org.omg.sysml.logic/src/main/java/org/omg/sysml/util/TypeUtil.java b/org.omg.sysml.logic/src/main/java/org/omg/sysml/util/TypeUtil.java index 58f08f811..eea7ea7ce 100644 --- a/org.omg.sysml.logic/src/main/java/org/omg/sysml/util/TypeUtil.java +++ b/org.omg.sysml.logic/src/main/java/org/omg/sysml/util/TypeUtil.java @@ -319,7 +319,7 @@ public static Stream getInheritedMembersByMembershi } public static Stream getFeaturesByMembershipIn(Type type, Class kind) { - return type.getFeatureMembership().stream(). + return getFeatureMembershipOf(type).stream(). filter(kind::isInstance). map(FeatureMembership::getOwnedMemberFeature); } diff --git a/org.omg.sysml.model.bundle/lib/org.omg.sysml.model-0.62.0-SNAPSHOT.jar b/org.omg.sysml.model.bundle/lib/org.omg.sysml.model-0.62.0-SNAPSHOT.jar index cce2670e9d111fad62145812b7a68d0e02c3cf2c..4f6148ad2bb7a393e75aad03f1d177d53721af9b 100644 GIT binary patch delta 8861 zcmYjVcUV=&)4u1Ha}OStV!%qcAfTa$Vxa^9jiO@jKoEPu3MwdyfMNt=MNk$SU@wRT z)MF)(*g_H|u|NXLk6W?~jCeroQve?C!bVeCU1ip*I=QU#D-P(MTH2 zG16*1an`ASx-8WdvOgzH@Tba2{gWZMs(&&)1W(l`Gg9aRf6E0oI;1BN&HsO*%yPjG zyv? zE?r)lfyOTIoCrd7uS$tK4-9Am!t2n7-1%O(m(hZii1eylX!VC)quFhq>3GArsMq+H zdhqn0Qo=nyO})r5T#9~aRACksFX+lOuadH?L9;IXPYz~ARyr3xZMnh2Z*G%CDAajS zvsD*~MicK$w|^E*nKie~i(2ivPtUkouqJV2o+^*o| z(;r;q#lrvnk^9)!pBJE5O=>GmR|}11Yda`L^Sp?u$n!}MCo$%u&>GyHZ1ei&vzbP- zw`FGOZD%?p)?lt2ZXvV)vXrtmLN~1nPcd^5^iWE%auebpiL%01s5J*`bg`-3w?Qa9Uto?TH`~S)4_hCs64+Tl-dHG z6EB4_0q|JG*Dv%pXf%s5OFi0AhX#Xz9`q&FO4%zR*Z^Ggo;5dYINSJKTj0XXkF-`s ze-I*JFv?lI_FJG|X(?+D^A>(F*9uLc&Q*J@9rtT!tChI))>F%;q7--3_UEzYKHBR9 zs+mdHY~(8{Xi^`qSe6%M+gbY3$R141Q}HIwwN!OkDzrN$D{~8_LmanXMhmIr+Fuo7u!tol!Geqg}ys zjb_?ETAKH>Y)^*-v7Rf}YL(}Jamrs~mRw-l5!;-nRDxK_nx(p{X4Y&Tk+VXIEy~!* z=_YG5{&f9x!I6%u5X`81cVa_33^O!UtXAuOgwv$lNY~|a#LKAe32*XP%$3xSEcR~) zTDn0t(U?k|NW*%tEjgL1Gn!kg5Z!#%fB4N@qlt0UXnc5$0incP`IxV(HRm8ZK5X)i zQFX_HI^^q}Gjl&0l~$*8_Pm<^54x6|v(WRpD!vN#1=_U5Y&EMg9d5W#hsC0vhW8{k zO2S25Dj%%=vMwBsm@@9F?lV78otkzWu};)z%q(eAoX}p`{JU;HuhF|w=gDg?_^?Zj@MQ;N#8H|qTC?{S^2e({xmQ5{cybvKj3*I^*{08DG~Z` zPSxFn+W|SONC4r%s|T| zV>l1dEA=z^RPLnfI~mQ?9dh1UeR4T1%@JMc(<#J48IrBf;XOawq`$_iT*}qI(?ga0 zc|Uom`y^VbJu5GE=}kPLZNA=&ci~u|f5*?geTlxFUt;VeXgL{KU;4g@V`Dw7%@mTI zm2a-q=XUBFz+kFT-_yOtecr&%D6ax05w>%n_XFBGnuk zXt>I2x&|BC8u*C|USijkT}-7-HJZTxJ8=%m_I`#SekSe@HQ-}VH_9-HLl`>RU{4_a zMS#WrRqP(BZU!fo>e|q{Ft)3wrx`X%a1~$ezkg5yBj_fazd_;5xM{9oIq%Og)=(zE zb>9$Y@aF|R5)H-NTAyTC##v5$-C$A=@m(z*9`%5Ai(rT6?01G#egKS5y1e{gsnMKr z=L_QyNJJ$r)zH!kPQm&tLl#Hxw$)%mplFZ%1|L3|gyV*AJMgRc-7tc)i!bfD zY3G|fWL+jV=R>}0(DO-!JTmO$NuSgka=4WK!Vt>u-a1Ki=VzjYjd-8GvY+h57W^=_ zY%liY8#cCsn9uVOKhd`Z!00J9 zefNpaxh~*<*oSX-TA^6XrM_pxiJYH9KZ{p*?c}Rs3b04@RpMhy_RScnJAEr%(P%Uy z1Pv`wBzyYhE%6%cTTp|+6w54oXh~biA!{bFq#o5`5|CO@Ew+Wy^yY2xGN`uS5!-V# zzuy&Ix%9C{93~L8%$9#v?f8QwTS}vMNsct}FYzfv#oQO&c%p5!;wM!_a~_B#AdLT8 zJOW6ZoIdT;veD?-<~t~X4;#}@eIbvZ;<4z!k^0v+;)rSxtKdc((JVIL8Vfoos5u>J%v@qY zlb?vU0o>T9;$i5(`k5HPb3{KE4+78B{*BlGUY2jg)8O^%Tk#UNWqlTJsH)?$jrKfl zonRC>2iaO9aG-3`8J)QC2fdLGkES;<-h^D!WTQFvk2g2|3H{IWyR)m3VNDU}z1yM# zO(w?w0KftZ<8RPvA4{Xexf=N{!=@BG}@{pc`Z)AJv zg${Nz@RG&Kc;>rXLpzqT@1#U8DIHv_I!RCX&WG*Jd#6^M%y-_Si}V_@we2dMg&dos z{mW~a0~P4fB)JWZ$(HrB`7lDLlehE|I%?%3d2mufe5E8VmHA0Bmny%O*xst==$^ln z!lfwzQW3Y>1xa(bl-^yM!L6TqNJ)4T^^wfDbyZ(UhyY~kc1qWv?BrdNkq1QYmIThu zo68pWC$aB~r?QIHL`!C|ub4Y)$QLx)PLh=$_ec{BfaR-$5?g2WA~{(godY5MkkkOS zX@{l%;H9AB3#Ff-R{J8!iUa9>Omg8>qmE0xxbE-?NefciF-2nknJLGVCYcu?vR|Ui zuQ@tDNv?%Lk;(EeAh<7)e*>rYOJu^6$|*9tCsekkEtB!b+?(&@u3XnKRd(c!-YOh; z%%2_4Q(79cOER&0S5K`Lvj4emWG_NynjFj{Zmp2V^FtD}N@km{c06Xa%YAU9Nzz-1Q8$ifmSfJOHxOvzaoii*jOv+<|lPXd{CN zO_@`<3%^VL3peyTM@!qXA6%B+68piGEl=T&w>QZaTx!@Xvw5pE-ffWw=|JkA zE4Sjhs62Tj_|cN>@)I~P8|`{rJ;}Dy5w_Drt9QuNQ2fkJ*^}pdyh~>1P0jg!x6HSW z9^ETng?G(%kG+Q{L$*lE-!-LRpWF`-?3b;1HH&n zRtM#Bc)X&vw>)!$S%+ml(>hR6z)4m<705jW_wQ(+&3bE(&AX|gS1AyxFa9SW^~{VBGZ^3 zEdC_F0tP?-B>V9G{VvG$U~|1FR|4(rKRxYcVzd!0Tr7&`CG=IIF0*w9vZjZaqF*yW zTCMs`Y*LDU#{E-nm&t9okJOm1h{3dsVG0^E(=|cbOeVb*HVb$;D9i2dBkz)eCLAz<$Y@Xvh8JOFHDdY(-tKvmIAmKV0YS zD35Q*mw7p*LT=5a8m#{*%`$tCsQW<=t)E6WZr4o@Uz``8@bn z*T@2othp!S718d#JeBL#*UJ1`Mk#(E^Y03J?{B#ZLW>_Z8vlL7NK$pws!py0b#pxPErM`~bKc)gb?+gJk~CWw_C(@r7Ih zwz3zpZEICZ`^&;y`OAXXSb_enJ*j~QpH@4NZR(3l7dsO82S{4vNP<)+`ky1|07APq zq%#PSZ3z4`B;C}81VU6*8`28|M<)`}D72<4oQNkxoN^*wpssf!UxVQ0O!|Tl=S)U} z&vj=q9PqojkjWrqxR6K?p1Y6h zN6fM9$wV+!wI{Pd=wQ$RS-5ur+6NJ5kshF|eQ zsP3IGDx(v^c-;w|Lpx*dr#hpiWfu|(ndf!E>J?qEogQ5=&%Umhhj_CRYRl8T$t;Mf z@@5HDO*bD5&+|b%qA%8p@DHAGWjAkAy*<*M3-H^w&u5&y9k&KeD>fAAR2W zV~KIyFyWEDXdH*)N=IA#Ftwm4lesND+z`CAj8rln;PxL~{ z9fA=?N-)m3CKwU+?u|Z2dSgPHK8Po=4{q6mJ_uu2U&MU8FV?aP!Il$3F#K)^ntJ!c z@I(EOpO*cxXmWog9o5+dI09JABb!u4a5b!H4s<3+aN@^dk}7Yv%v@>ZZKA_ z9*menhLCU=)9xWyw8>CxId&*UU2D_?48syR!_Y?>jtQe1g`2|>nD+<_-#CKALJ9Mc zWEu$ZBax_EBa!)lQ7Gh&!X38^MdyT2Y^OF9s|SZ+(Su=#**Y9)i3?|W)J3Xj)cAjk zFgAaSKA*lto+m{h)bkODr`>3_0BZR1(HK=b8qZ2lBmz4eiQ%?m&?j~b=D9uw@%W8J z&8D%a`P3*(9EV+;ABSDIk0*11mb~$p@bh>w4n7|iJxCi*8(c{6 zJ!he?Vit>1pTT>xaBBl*qlwPOzFy77JVT?&P$;oG8ey2lFzVIt=`mykm`Y>Vyj6{9 z4n{4SgJf3B!Gzv((Rs~WG6bS(=HhA&n8(^t@3>v_IG(In>}FIf<~tgTgf)-Dl~@pm z2mfvy0_;2=S7O6_oZG8LP3QvDoLaz|P?3HakD24+Sxr@QJ)Uu(3Z4rYQrO;wjBizV zvXCT$FlP~)lB&76i0z0f1SGJXSB1O;d|o~#VARyb==|$qbncu;62SRrBAE|@TN2|y zEt-{tUDPGvD0(F$!rWw*S@rpljME;ugpr_XjxQmDfH`p~?(D3kIHlj0B4a)&IDxDb zT(S2l*mCGHyr_>aBf}t1lkZRy^&O6&_&coLdO4#-Ejo8OZp{@{qt4AG6{$;3MLgxH zETQV`l7@?rl7^XU(lE+r17&%$Jakrpk1jO3->lk-Z*^zgdq_;Tb5L&OpdbGucY1wc;}I zSY6A+VYqH!BUDXmHz2ToHek`N#bC6;W)ZM(Y}f%$J?&Zs%z9=3>IPVF}eJ_q|v>buYGae=p9W$3Be8-G^Pg*@x$R^nUC@*^l>XlLNR& z6As{eeBl5N&LtlarsZS82l+UiZU?dGrh{mDeGvN^UVycf0yNnk!mDJ_A!Os$A%x+5 zxRH&+SoHZ}Gz~n0$Klu!G}#AfR%7TK!YHP1tf@Qtk^pe>=i4hpeO>0vBZj?tQD{q#D;pT z1QJ_Fq9!(?s2DLCBUocEzdbX<_k4dO%ro_!cV>6b_1c5LYYzfhudYT@HJwh@>1NKV zwUT)mwLi`08WY5yqc-?+!&Cc{uJ_UYWcca*HJ^;Z`sVQWlD;AD)s9Kl|DP!1l0Mit zLwH#Y9^lo)&=8{xE#dDPLpLp3{sTizy{5?5n-*9=vsiJm2O+C=jW0k@{Z^Yn=-KqL z9t7{^FYQ2ZZGB3D@Y41rGCFq;tp>vDhzIC=H!{FtFKP`AD4FT_he@Z~X3g-p>XqMq z_)8ObhKwmh&rf5|B8GD@FD;O^U`7knyh_e=0?mrFKM~A?%rq1}t-p%l*ET8=6l&I^ z#*(v4r%UkSn?6gnjIvwS{5o6jF)hKtgVz!0jpNDKUetx7*h7u07088jJx>B;M{Zrm z@@e1R<@vyu7$l$x1j+P<2eD$mhb;03`varsILodPc{a8^Vv?P z+fh5C=$04n6=$}p`)cWH0aex^p4@uNTE%oJAu*P)I2f|XQ zJ4fkD%uJ*8&7Y;4Q}sICe;N9L-Whf$6mDz5zECfX*DnQL)S(mgPB1QYTD;x`%Pg6p zkA%%oAFR>)nKfqA8d>^U!5{@(*T>+@&iM4Zeab~FXG`p^$z!9;%Ys-<-ZNN|)aSSL zMJ|Bs$V+{(9`HCORLl%9>vXd+iu@XI_e!&w?`g@L)Z$nA4rbt@~X4&b;HoM*_W<{+pY zT*JlUn)h6%8~2Za=lra=@m^t~=aS_H^|`%fAM@9cIcLOn#MQ)zN3)FTIO#$j9sj0ZmMm849)t- z?Rh4;xM>ed>e@xD$EOg}d-VIz)|7!qXJlMfzy>kNmS5tc+-7D){k46?OYANfc;6iN zWq*HW;X_MADf{WBA0Nao(yh=`ftQ##2?iW% z=9ews#EY>WH)QBjywqo{4+C z&GZ;N8ekrU5PAk+)5>^r2)uKuUy`{1trf}UdAM>(uPbfZA--dv!=oLrR#D>c zoczwb0FSKYN%NN<9CW&4zPK>%t(m08FEH13gk4#gY0kuDY`DSf4DYboc9%H_CzE*C z9O()}zW%$pAF||MV*U%4_SCr3)gFj0Q)=Rn@0d+Esqly9ElA0e3Ud}pX)nwXE|BVx zEcxP@sO2o(!&ml`n^X%AW9>##JKV6Ljip@7$AYDnwE%AC-clOExEUegw~3k+DXGZT zz$hsQp?z`W$)GxCyI+8-3ITLR=aR4 zW9l~<(sbjsEa#2bJ z_PFVW^w>dLedF<)X{t`A>!;W8LREI-U*421!@h-8nr(5yvYi*!m)$cbG6(KgDkTG{ zd8JZ)D9x|klFox_(`~5{qWS%f13qOP@3q&$=%af-wAVX+I$G^!&8NAVy;noA0i+eo&Qu{6ncGuIx)khezSUBhA1A zTFCA^HkFyw{C}h&SiL0w!tNuYdT)NfTUcBFD_w``wH{0Eh%}_43P*IMbOY|qel_Ak zFN>f(dM&31kDbcwdCC*%7JwW2RN4nQoSsQhm?P%7vJ*edrNZXDa`U80GMHK`3-_PIap-ms{gz6v(p4uTZ~#?Hg&e6Wf`upwYud; zZ&=*lgDjo~kX{E{j#xq3-_f!ib&=tgY&+1s?_+s21TMw1!LSF+gcnkX9y%VgurzLN0(%<+*gA+lyyEvXlTOFFqE`N|I=NwlB* z9109>B)>31y4L6H7bghcZ93khNPH(H1;}aO;@DJvf;&HOTh2SJ;%MA?zvl95$X36F zd=hf3iwU_@E*!X?&rMe9@z^zriP!AI821d6UqZGzL9!o`65diyMyWVhR!}PWTE@Lq z?}o^!s2dY1=cD8rCQm^rt&KbZrB7|;WV(qu$#$q)(plC=0kRca;Uw`Db9)*4g2%YZiu&Vrc_e23YL6_|S-VJ%=EQhKSQlX`LZL{YI8{TMk)HR+#aQUM`Qy?3lFKX_|Hx~q*lu~1Cd>l z6ujp6^kk(R3Jp$CegVOEj)KST{Tzj1DkW8+dt%%?g?`Mv`A%tp)+P%S4{Y@2!S07b z#PK|4;IUg}o49vP+;OJ(pU-OXB4jL7I$*@jMapnIBw&2q$zL>^6ZreTb-1ybVJ+83+fOs1sWhe~fy(Rl)P7zTc+c*6{;7l#B4Lxomgy z^B2fw8Sq_G^L8p-Fz($h#R;p~=PE@|?ccG-mz@>WHpBgC;}^5VZ!yO`$|bmaqBqq( zaaCCRWIQvtbC!oBtDo|ec6#`JOmAd?vV3R@U2a_`|~+QmKiv0}%&Z)OUQ{Xt0q55vN~dn<&;cBr1cS-iu( zg)|-SBE?fLYwvi8`L>Ne^OC)Jmo4I*>ikx6XMDIV=CuH1FlgVzHnreq+CTMH zu~H9xGYw7N(%xri68QeYj*VF?@` zY;yQf=;xt+a)ojqA_r6|f5BQmFlNp<4VxajC0G3;(jWs(;xtXGhS# zbz^1l;PX;`D_mc{{YGJJy;lE`_F?l2BASc)(nKf^;j?nYwNMr5Ot#-YY&2l zCkw9<>heXN%wH?Sk9o2HP*-@euR&<r!@5OK{uXwS(X!2&GA$__x8w|p8Z#Dvi zi27_e2q&rpTLU%>G^q_(G?r+f8_Q(v*MAT;n{_`uBfp*;UoX*xAz--6H9 zh9X>JqPi~|51JHTfl$-j_N6?X{Rs08KLTcLM400mv60|>qY;}7;a&aN5D@nGlc{=R zQC&+oT@$nud808K1wz{vZWc`KYzSrpq5A7!DlzD5qW9-2AuxnkT^&L`??R}=uvUcdTr1Iqmf0he zjer|BxxDqev;1y<=E66HiY?R_dKfBpK@ekYt@bnHS)y0;7Q zQ@bk_P3bBSY6;7`lBs7m5{`GHzTCPK8_C^i0dIB}tF1+~>LCzn!nPi?^)-457@8)& zCsi-)Nz{e+Vv*?Fi)g9VTePe>$Mq)gmo<$x!O%W*db0YEM(#_U#%O}(bFD7{3+zWl zSNCIaV6ygS<3LF0Pek49PYVz_fJTr#K09D?R1`ry9VPH+wHgef1(-jGqRIz}v!a>81{1J-gDKo) z2>HYfp*&ZH5T4+nLZd~k9ZH%{Rl>+&)Wzvx#F+1JHWgaV8BPg54`;*R^I_Kgg~NHJ z539kGMzA*ER5*eL<~ovgV&O=-AIe8k#;&7?g}hO0BH(ZxO+#HUTGY^x-5*VKgpVOp z{ut8K97~x~$I>-bI+kY8A)1=cjV7NOLaaD7w(u9wvgn8p>U20BX{h^DP32Xoe z=O>7VMw_?WM7oq_RtZ-oQg#1HBrKXlQFkW^5?~`IlZj6z?p{r%JiTLBZ}8a`Lon=O ziTd%etRI+)V(AUCO`)h+Q|LHdpF#-(r;_ussjL@7l})8R?lz6u**XpJWX4f91L7#( zfjAq+NTi0>=feiLki8U{~RLW@Eq0yxRmD7&Q6+34gNlt7z;|J31p_yioH*z zmLulT+z!uUeIQS@??@B<9gU#iJE~rHJ`Hf{dt&-D`-x`S5Q#F3Tnfa zMp21rWGYFcsf4X06l+#e@i!|eDl(mf62`2d5=B)S+gbvjvX+RywwBmv zxQq%3&o<`AY1C_|#KqOcvdCR)vbo5(qT6Pc`=Ni%jcg`e6?&egY&Fm?+;J->y% z$pg1iU+G(^*2}Hr9KMY-xm5z&PV`RLPDB-Nr-Z&csQQ8()Xu#fYJU! z&!AltrS778wc2i4q!GJmk kind, String msg, String eId) { - var mems = featuringType.featureMembership.filter[m | kind.isInstance(m)] + var mems = TypeUtil.getFeatureMembershipOf(featuringType).filter[m | kind.isInstance(m)] checkAtMostOneRelationship(featuringType, mems, msg, eId) } From c8bbeebeb525d09cae3d927c716d5fc46c7e744d Mon Sep 17 00:00:00 2001 From: Ed Seidewitz Date: Wed, 26 Aug 2026 23:03:15 -0400 Subject: [PATCH 3/3] ST6RI-944 Replaced internal calls of Type.getFeature with util method. - This necessitated the similar replacement of the use of methods based on get Feature: - Type.getDirectedFeature, getEndFeature, getInput, getOutput - InstantiationExpression.getArgument - ConnectionDefnition.getConnectionEnd - InterfaceDefinition.getInterfaceEnd --- .../xtext/validation/KerMLValidator.xtend | 6 +- .../org.omg.sysml.logic-0.62.0-SNAPSHOT.jar | Bin 687766 -> 700206 bytes .../omg/sysml/adapter/ConnectorAdapter.java | 4 +- .../org/omg/sysml/adapter/FeatureAdapter.java | 4 +- .../org/omg/sysml/adapter/FlowEndAdapter.java | 2 +- .../omg/sysml/adapter/FlowUsageAdapter.java | 4 +- .../org/omg/sysml/adapter/TypeAdapter.java | 2 +- ...iation_associationEnd_SettingDelegate.java | 12 +--- ...inition_connectionEnd_SettingDelegate.java | 4 +- ...lowDefinition_flowEnd_SettingDelegate.java | 10 +--- ...onExpression_argument_SettingDelegate.java | 37 ++---------- ...finition_interfaceEnd_SettingDelegate.java | 6 +- .../Type_directedFeature_SettingDelegate.java | 13 ++-- .../Type_endFeature_SettingDelegate.java | 18 ++---- .../setting/Type_feature_SettingDelegate.java | 12 +--- .../setting/Type_input_SettingDelegate.java | 13 ++-- .../setting/Type_output_SettingDelegate.java | 13 ++-- .../org/omg/sysml/util/ConnectorUtil.java | 6 +- .../org/omg/sysml/util/ExpressionUtil.java | 27 +++++++++ .../java/org/omg/sysml/util/FeatureUtil.java | 2 +- .../java/org/omg/sysml/util/TypeUtil.java | 56 ++++++++++++++++-- .../java/org/omg/sysml/util/UsageUtil.java | 20 ++++++- .../org.omg.sysml.model-0.62.0-SNAPSHOT.jar | Bin 898006 -> 898108 bytes .../xtext/validation/SysMLValidator.xtend | 2 +- 24 files changed, 148 insertions(+), 125 deletions(-) diff --git a/org.omg.kerml.xtext/src/org/omg/kerml/xtext/validation/KerMLValidator.xtend b/org.omg.kerml.xtext/src/org/omg/kerml/xtext/validation/KerMLValidator.xtend index 019218c84..b53980b00 100644 --- a/org.omg.kerml.xtext/src/org/omg/kerml/xtext/validation/KerMLValidator.xtend +++ b/org.omg.kerml.xtext/src/org/omg/kerml/xtext/validation/KerMLValidator.xtend @@ -983,7 +983,7 @@ class KerMLValidator extends AbstractKerMLValidator { } // validateConnectorBinarySpecialization - val connectorEnds = c.connectorEnd + val connectorEnds = TypeUtil.getEndFeatureOf(c) if (connectorEnds.size() > 2) { val binaryLinkType = SysMLLibraryUtil.getLibraryElement(c, "Links::BinaryLink") as Type if (c.conformsTo(binaryLinkType)) { @@ -1176,7 +1176,7 @@ class KerMLValidator extends AbstractKerMLValidator { val type = e.instantiatedType() val result = TypeUtil.getOwnedResultParameterOf(e) if (type !== null && result !== null) { - val typeFeatures = type.feature.filter[f | f.owningMembership.visibility == VisibilityKind.PUBLIC] + val typeFeatures = TypeUtil.getFeatureOf(type).filter[f | f.owningMembership.visibility == VisibilityKind.PUBLIC] val resultFeatures = result.ownedFeature.filter[p | FeatureUtil.isInputDirected(p)] e.checkInstantiationExpressionFeatures(typeFeatures, resultFeatures, INVALID_CONSTRUCTOR_EXPRESSION_RESULT_FEATURE_REDEFINITION_MSG, INVALID_CONSTRUCTOR_EXPRESSION_RESULT_FEATURE_REDEFINITION, @@ -1216,7 +1216,7 @@ class KerMLValidator extends AbstractKerMLValidator { // validateInvocationExpressionParameterRedefinition // validateInvocationExpressionNoDuplicateParameterRedefinition - val typeParams = type.input + val typeParams = TypeUtil.getInputOf(type) val exprParams = e.ownedFeature.filter[p | FeatureUtil.isInputDirected(p)] e.checkInstantiationExpressionFeatures(typeParams, exprParams, INVALID_INVOCATION_EXPRESSION_PARAMETER_REDEFINITION_MSG, INVALID_INVOCATION_EXPRESSION_PARAMETER_REDEFINITION, diff --git a/org.omg.sysml.logic.bundle/lib/org.omg.sysml.logic-0.62.0-SNAPSHOT.jar b/org.omg.sysml.logic.bundle/lib/org.omg.sysml.logic-0.62.0-SNAPSHOT.jar index 983f7ace30ace5d36ecac6fd38f53f58ee505648..3381d0e52b08e05bf77ae41a14df2ffe67a20bde 100644 GIT binary patch delta 114863 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 ZT+%L+=_-;AH=;$UadREs1cRCD{{uH$N!9=W delta 103230 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
vn<#^;7s4p-*(4K9sgD-VznB=W%Px!^ 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 z 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%0DNmVhlMqLIOPM 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 diff --git a/org.omg.sysml.logic/src/main/java/org/omg/sysml/adapter/ConnectorAdapter.java b/org.omg.sysml.logic/src/main/java/org/omg/sysml/adapter/ConnectorAdapter.java index 0e361e884..7ea7da29b 100644 --- a/org.omg.sysml.logic/src/main/java/org/omg/sysml/adapter/ConnectorAdapter.java +++ b/org.omg.sysml.logic/src/main/java/org/omg/sysml/adapter/ConnectorAdapter.java @@ -1,6 +1,6 @@ /******************************************************************************* * SysML 2 Pilot Implementation - * Copyright (c) 2021, 2024, 2025 Model Driven Solutions, Inc. + * Copyright (c) 2021, 2024-2026 Model Driven Solutions, Inc. * * This program is free software: you can redistribute it and/or modify * it under the terms of the Eclipse Public License as published by @@ -66,7 +66,7 @@ protected void addContextFeaturingType() { } public static void addEndSubsetting(Connector target) { - for (Feature end: target.getConnectorEnd()) { + for (Feature end: TypeUtil.getEndFeatureOf(target)) { if (end != null) { Expression expression = end.getOwnedFeature().stream(). filter(Expression.class::isInstance). diff --git a/org.omg.sysml.logic/src/main/java/org/omg/sysml/adapter/FeatureAdapter.java b/org.omg.sysml.logic/src/main/java/org/omg/sysml/adapter/FeatureAdapter.java index d24992bd0..af550c9f7 100644 --- a/org.omg.sysml.logic/src/main/java/org/omg/sysml/adapter/FeatureAdapter.java +++ b/org.omg.sysml.logic/src/main/java/org/omg/sysml/adapter/FeatureAdapter.java @@ -690,7 +690,7 @@ protected List getRelevantFeatures(Type type) { * @satisfies checkFeatureEndRedefinition */ protected List getEndRelevantFeatures(Type type) { - return getTarget().getOwningType() == type? type.getOwnedEndFeature(): type.getEndFeature(); + return getTarget().getOwningType() == type? type.getOwnedEndFeature(): TypeUtil.getEndFeatureOf(type); } /** @@ -703,7 +703,7 @@ protected List getConstructorRelevantFeatures(Type type) { } else { Type instantiatedType = ((ConstructorExpression)(owningType.getOwningNamespace())).getInstantiatedType(); return type != instantiatedType? Collections.emptyList(): - instantiatedType.getFeature().stream().filter(f-> + TypeUtil.getFeatureOf(instantiatedType).stream().filter(f-> f.getOwningFeatureMembership().getVisibility() == VisibilityKind.PUBLIC).toList(); } } diff --git a/org.omg.sysml.logic/src/main/java/org/omg/sysml/adapter/FlowEndAdapter.java b/org.omg.sysml.logic/src/main/java/org/omg/sysml/adapter/FlowEndAdapter.java index 567652cf6..8a9ca355a 100644 --- a/org.omg.sysml.logic/src/main/java/org/omg/sysml/adapter/FlowEndAdapter.java +++ b/org.omg.sysml.logic/src/main/java/org/omg/sysml/adapter/FlowEndAdapter.java @@ -105,7 +105,7 @@ public void addFlowFeatureRedefinition() { EList ownedFeatures = target.getOwnedFeature(); if (!ownedFeatures.isEmpty()) { Feature flowFeature = ownedFeatures.get(0); - int i = ((Feature)owner).getEndFeature().indexOf(target); + int i = TypeUtil.getEndFeatureOf((Feature)owner).indexOf(target); if (i == 0 || i == 1) { TypeUtil.addImplicitGeneralTypeTo(flowFeature, SysMLPackage.eINSTANCE.getRedefinition(), diff --git a/org.omg.sysml.logic/src/main/java/org/omg/sysml/adapter/FlowUsageAdapter.java b/org.omg.sysml.logic/src/main/java/org/omg/sysml/adapter/FlowUsageAdapter.java index fc9c5bd9c..935ed575e 100644 --- a/org.omg.sysml.logic/src/main/java/org/omg/sysml/adapter/FlowUsageAdapter.java +++ b/org.omg.sysml.logic/src/main/java/org/omg/sysml/adapter/FlowUsageAdapter.java @@ -93,7 +93,7 @@ protected boolean isSuboccurrence() { */ @Override protected String getDefaultSupertype() { - return UsageUtil.isMessageConnection(getTarget())? + return UsageUtil.isMessage(getTarget())? getDefaultSupertype("message"): getDefaultSupertype("base"); } @@ -105,7 +105,7 @@ protected String getDefaultSupertype() { protected void makeMessageAbstract() { super.postProcess(); FlowUsage target = getTarget(); - if (UsageUtil.isMessageConnection(target) && target.getRelatedFeature().size() < 2) { + if (UsageUtil.isMessage(target) && target.getRelatedFeature().size() < 2) { target.setIsAbstract(true); } } diff --git a/org.omg.sysml.logic/src/main/java/org/omg/sysml/adapter/TypeAdapter.java b/org.omg.sysml.logic/src/main/java/org/omg/sysml/adapter/TypeAdapter.java index 281526b8a..b866aac9d 100644 --- a/org.omg.sysml.logic/src/main/java/org/omg/sysml/adapter/TypeAdapter.java +++ b/org.omg.sysml.logic/src/main/java/org/omg/sysml/adapter/TypeAdapter.java @@ -464,7 +464,7 @@ protected List getBaseTypes() { // with name resolution when applying semantic metadata. metadataFeature.getMetaclass(); isGetBaseTypes = false; - metadataFeature.getFeature().stream(). + TypeUtil.getFeatureOf(metadataFeature).stream(). filter(f->TypeUtil.specializes(f, getBaseTypeFeature(metadataFeature))). map(FeatureUtil::getValueExpressionFor). filter(expr->expr != null). diff --git a/org.omg.sysml.logic/src/main/java/org/omg/sysml/delegate/setting/Association_associationEnd_SettingDelegate.java b/org.omg.sysml.logic/src/main/java/org/omg/sysml/delegate/setting/Association_associationEnd_SettingDelegate.java index 4c82db7a6..66fb6011c 100644 --- a/org.omg.sysml.logic/src/main/java/org/omg/sysml/delegate/setting/Association_associationEnd_SettingDelegate.java +++ b/org.omg.sysml.logic/src/main/java/org/omg/sysml/delegate/setting/Association_associationEnd_SettingDelegate.java @@ -1,6 +1,6 @@ /******************************************************************************* * SysML 2 Pilot Implementation - * Copyright (c) 2022 Model Driven Solutions, Inc. + * Copyright (c) 2022, 2026 Model Driven Solutions, Inc. * * This program is free software: you can redistribute it and/or modify * it under the terms of the Eclipse Public License as published by @@ -20,20 +20,12 @@ package org.omg.sysml.delegate.setting; -import org.eclipse.emf.common.util.EList; import org.eclipse.emf.ecore.EStructuralFeature; -import org.eclipse.emf.ecore.InternalEObject; -import org.omg.sysml.lang.sysml.Feature; public class Association_associationEnd_SettingDelegate extends Type_endFeature_SettingDelegate { public Association_associationEnd_SettingDelegate(EStructuralFeature eStructuralFeature) { super(eStructuralFeature); } - - @Override - protected EList basicGet(InternalEObject owner) { - return basicGet(owner, Feature.class); - } - + } diff --git a/org.omg.sysml.logic/src/main/java/org/omg/sysml/delegate/setting/ConnectionDefinition_connectionEnd_SettingDelegate.java b/org.omg.sysml.logic/src/main/java/org/omg/sysml/delegate/setting/ConnectionDefinition_connectionEnd_SettingDelegate.java index 4edfa7006..1dbd3e893 100644 --- a/org.omg.sysml.logic/src/main/java/org/omg/sysml/delegate/setting/ConnectionDefinition_connectionEnd_SettingDelegate.java +++ b/org.omg.sysml.logic/src/main/java/org/omg/sysml/delegate/setting/ConnectionDefinition_connectionEnd_SettingDelegate.java @@ -23,7 +23,9 @@ import org.eclipse.emf.common.util.EList; import org.eclipse.emf.ecore.EStructuralFeature; import org.eclipse.emf.ecore.InternalEObject; +import org.omg.sysml.lang.sysml.ConnectionDefinition; import org.omg.sysml.lang.sysml.Usage; +import org.omg.sysml.util.UsageUtil; public class ConnectionDefinition_connectionEnd_SettingDelegate extends Association_associationEnd_SettingDelegate { @@ -33,7 +35,7 @@ public ConnectionDefinition_connectionEnd_SettingDelegate(EStructuralFeature eSt @Override public EList basicGet(InternalEObject owner) { - return basicGet(owner, Usage.class); + return UsageUtil.getConnectionEndOf((ConnectionDefinition)owner); } } diff --git a/org.omg.sysml.logic/src/main/java/org/omg/sysml/delegate/setting/FlowDefinition_flowEnd_SettingDelegate.java b/org.omg.sysml.logic/src/main/java/org/omg/sysml/delegate/setting/FlowDefinition_flowEnd_SettingDelegate.java index a203b2edc..2567bd61a 100644 --- a/org.omg.sysml.logic/src/main/java/org/omg/sysml/delegate/setting/FlowDefinition_flowEnd_SettingDelegate.java +++ b/org.omg.sysml.logic/src/main/java/org/omg/sysml/delegate/setting/FlowDefinition_flowEnd_SettingDelegate.java @@ -1,6 +1,6 @@ /******************************************************************************* * SysML 2 Pilot Implementation - * Copyright (c) 2024 Model Driven Solutions, Inc. + * Copyright (c) 2024, 2026 Model Driven Solutions, Inc. * * This program is free software: you can redistribute it and/or modify * it under the terms of the Eclipse Public License as published by @@ -20,10 +20,7 @@ package org.omg.sysml.delegate.setting; -import org.eclipse.emf.common.util.EList; import org.eclipse.emf.ecore.EStructuralFeature; -import org.eclipse.emf.ecore.InternalEObject; -import org.omg.sysml.lang.sysml.Feature; public class FlowDefinition_flowEnd_SettingDelegate extends Type_endFeature_SettingDelegate { @@ -31,9 +28,4 @@ public FlowDefinition_flowEnd_SettingDelegate(EStructuralFeature eStructuralFeat super(eStructuralFeature); } - @Override - protected EList basicGet(InternalEObject owner) { - return basicGet(owner, Feature.class); - } - } diff --git a/org.omg.sysml.logic/src/main/java/org/omg/sysml/delegate/setting/InstantiationExpression_argument_SettingDelegate.java b/org.omg.sysml.logic/src/main/java/org/omg/sysml/delegate/setting/InstantiationExpression_argument_SettingDelegate.java index 68409ecd8..356c85929 100644 --- a/org.omg.sysml.logic/src/main/java/org/omg/sysml/delegate/setting/InstantiationExpression_argument_SettingDelegate.java +++ b/org.omg.sysml.logic/src/main/java/org/omg/sysml/delegate/setting/InstantiationExpression_argument_SettingDelegate.java @@ -1,6 +1,6 @@ /******************************************************************************* * SysML 2 Pilot Implementation - * Copyright (c) 2025 Model Driven Solutions, Inc. + * Copyright (c) 2025-2026 Model Driven Solutions, Inc. * * This program is free software: you can redistribute it and/or modify * it under the terms of the Eclipse Public License as published by @@ -20,20 +20,12 @@ package org.omg.sysml.delegate.setting; -import java.util.List; - import org.eclipse.emf.common.util.EList; import org.eclipse.emf.ecore.EStructuralFeature; import org.eclipse.emf.ecore.InternalEObject; -import org.omg.sysml.lang.sysml.ConstructorExpression; -import org.omg.sysml.lang.sysml.Expression; -import org.omg.sysml.lang.sysml.Feature; import org.omg.sysml.lang.sysml.InstantiationExpression; -import org.omg.sysml.lang.sysml.InvocationExpression; -import org.omg.sysml.lang.sysml.Type; -import org.omg.sysml.util.FeatureUtil; -import org.omg.sysml.util.NonNotifyingEObjectEList; -import org.omg.sysml.util.TypeUtil; +import org.omg.sysml.util.ElementUtil; +import org.omg.sysml.util.ExpressionUtil; public class InstantiationExpression_argument_SettingDelegate extends BasicDerivedListSettingDelegate { @@ -43,28 +35,9 @@ public InstantiationExpression_argument_SettingDelegate(EStructuralFeature eStru @Override protected EList basicGet(InternalEObject owner) { - EList arguments = new NonNotifyingEObjectEList(Expression.class, owner, eStructuralFeature.getFeatureID(), false); InstantiationExpression self = (InstantiationExpression)owner; - Type instantiatedType = self.instantiatedType(); - if (instantiatedType != null) { - if (owner instanceof InvocationExpression) { - addArguments(arguments, instantiatedType.getInput(), self.getOwnedFeature()); - } else if (owner instanceof ConstructorExpression) { - Feature result = TypeUtil.getOwnedResultParameterOf(self); - if (result != null) { - addArguments(arguments, instantiatedType.getFeature(), result.getOwnedFeature()); - } - } - } - return arguments; + ElementUtil.clearCachesOf(self); + return ExpressionUtil.getArgumentOf(self); } - protected void addArguments(List arguments, List instantiatedTypeFeatures, List argumentFeatures) { - instantiatedTypeFeatures.stream(). - flatMap(f->argumentFeatures.stream().filter(rf->rf.redefines(f))). - map(FeatureUtil::getValueExpressionFor). - filter(e->e != null). - forEachOrdered(arguments::add); - } - } diff --git a/org.omg.sysml.logic/src/main/java/org/omg/sysml/delegate/setting/InterfaceDefinition_interfaceEnd_SettingDelegate.java b/org.omg.sysml.logic/src/main/java/org/omg/sysml/delegate/setting/InterfaceDefinition_interfaceEnd_SettingDelegate.java index 85f881984..9f9b7b13c 100644 --- a/org.omg.sysml.logic/src/main/java/org/omg/sysml/delegate/setting/InterfaceDefinition_interfaceEnd_SettingDelegate.java +++ b/org.omg.sysml.logic/src/main/java/org/omg/sysml/delegate/setting/InterfaceDefinition_interfaceEnd_SettingDelegate.java @@ -1,6 +1,6 @@ /******************************************************************************* * SysML 2 Pilot Implementation - * Copyright (c) 2022 Model Driven Solutions, Inc. + * Copyright (c) 2022, 2026 Model Driven Solutions, Inc. * * This program is free software: you can redistribute it and/or modify * it under the terms of the Eclipse Public License as published by @@ -23,7 +23,9 @@ import org.eclipse.emf.common.util.EList; import org.eclipse.emf.ecore.EStructuralFeature; import org.eclipse.emf.ecore.InternalEObject; +import org.omg.sysml.lang.sysml.InterfaceDefinition; import org.omg.sysml.lang.sysml.PortUsage; +import org.omg.sysml.util.UsageUtil; public class InterfaceDefinition_interfaceEnd_SettingDelegate extends ConnectionDefinition_connectionEnd_SettingDelegate { @@ -33,7 +35,7 @@ public InterfaceDefinition_interfaceEnd_SettingDelegate(EStructuralFeature eStru @Override public EList basicGet(InternalEObject owner) { - return basicGet(owner, PortUsage.class); + return UsageUtil.getInterfaceEndOf((InterfaceDefinition)owner); } } diff --git a/org.omg.sysml.logic/src/main/java/org/omg/sysml/delegate/setting/Type_directedFeature_SettingDelegate.java b/org.omg.sysml.logic/src/main/java/org/omg/sysml/delegate/setting/Type_directedFeature_SettingDelegate.java index ebf1950be..581776598 100644 --- a/org.omg.sysml.logic/src/main/java/org/omg/sysml/delegate/setting/Type_directedFeature_SettingDelegate.java +++ b/org.omg.sysml.logic/src/main/java/org/omg/sysml/delegate/setting/Type_directedFeature_SettingDelegate.java @@ -1,7 +1,7 @@ /******************************************************************************* * SysML 2 Pilot Implementation * Copyright (c) 2022 Siemens AG - * Copyright (c) 2022 Model Driven Solutions, Inc. + * Copyright (c) 2022, 2026 Model Driven Solutions, Inc. * * This program is free software: you can redistribute it and/or modify * it under the terms of the Eclipse Public License as published by @@ -24,9 +24,9 @@ import org.eclipse.emf.common.util.EList; import org.eclipse.emf.ecore.EStructuralFeature; import org.eclipse.emf.ecore.InternalEObject; -import org.omg.sysml.lang.sysml.Feature; import org.omg.sysml.lang.sysml.Type; -import org.omg.sysml.util.NonNotifyingEObjectEList; +import org.omg.sysml.util.ElementUtil; +import org.omg.sysml.util.TypeUtil; public class Type_directedFeature_SettingDelegate extends BasicDerivedListSettingDelegate { @@ -36,11 +36,8 @@ public Type_directedFeature_SettingDelegate(EStructuralFeature eStructuralFeatur @Override protected EList basicGet(InternalEObject owner) { - EList directedFeatures = new NonNotifyingEObjectEList<>(Feature.class, owner, eStructuralFeature.getFeatureID()); - ((Type)owner).getFeature().stream(). - filter(f->f.getDirection() != null). - forEachOrdered(directedFeatures::add); - return directedFeatures; + ElementUtil.clearCachesOf((Type)owner); + return TypeUtil.getDirectedFeatureOf((Type)owner); } } diff --git a/org.omg.sysml.logic/src/main/java/org/omg/sysml/delegate/setting/Type_endFeature_SettingDelegate.java b/org.omg.sysml.logic/src/main/java/org/omg/sysml/delegate/setting/Type_endFeature_SettingDelegate.java index 93ae4b7c1..1ffe1e5f7 100644 --- a/org.omg.sysml.logic/src/main/java/org/omg/sysml/delegate/setting/Type_endFeature_SettingDelegate.java +++ b/org.omg.sysml.logic/src/main/java/org/omg/sysml/delegate/setting/Type_endFeature_SettingDelegate.java @@ -1,7 +1,7 @@ /******************************************************************************* * SysML 2 Pilot Implementation * Copyright (c) 2022 Siemens AG - * Copyright (c) 2022 Model Driven Solutions, Inc. + * Copyright (c) 2022, 2026 Model Driven Solutions, Inc. * * This program is free software: you can redistribute it and/or modify * it under the terms of the Eclipse Public License as published by @@ -26,7 +26,8 @@ import org.eclipse.emf.ecore.InternalEObject; import org.omg.sysml.lang.sysml.Feature; import org.omg.sysml.lang.sysml.Type; -import org.omg.sysml.util.NonNotifyingEObjectEList; +import org.omg.sysml.util.ElementUtil; +import org.omg.sysml.util.TypeUtil; public class Type_endFeature_SettingDelegate extends BasicDerivedListSettingDelegate { @@ -36,17 +37,8 @@ public Type_endFeature_SettingDelegate(EStructuralFeature eStructuralFeature) { @Override protected EList basicGet(InternalEObject owner) { - return basicGet(owner, Feature.class); - } - - protected EList basicGet(InternalEObject owner, Class kind) { - EList endFeatures = new NonNotifyingEObjectEList<>(kind, owner, eStructuralFeature.getFeatureID()); - ((Type)owner).getFeature().stream(). - filter(Feature::isEnd). - filter(kind::isInstance). - map(kind::cast). - forEachOrdered(endFeatures::add); - return endFeatures; + ElementUtil.clearCachesOf((Type)owner); + return TypeUtil.getEndFeatureOf((Type)owner, Feature.class, eStructuralFeature.getFeatureID()); } } diff --git a/org.omg.sysml.logic/src/main/java/org/omg/sysml/delegate/setting/Type_feature_SettingDelegate.java b/org.omg.sysml.logic/src/main/java/org/omg/sysml/delegate/setting/Type_feature_SettingDelegate.java index 3ca983077..3627c0a4c 100644 --- a/org.omg.sysml.logic/src/main/java/org/omg/sysml/delegate/setting/Type_feature_SettingDelegate.java +++ b/org.omg.sysml.logic/src/main/java/org/omg/sysml/delegate/setting/Type_feature_SettingDelegate.java @@ -24,10 +24,8 @@ import org.eclipse.emf.common.util.EList; import org.eclipse.emf.ecore.EStructuralFeature; import org.eclipse.emf.ecore.InternalEObject; -import org.omg.sysml.lang.sysml.Feature; -import org.omg.sysml.lang.sysml.FeatureMembership; import org.omg.sysml.lang.sysml.Type; -import org.omg.sysml.util.NonNotifyingEObjectEList; +import org.omg.sysml.util.ElementUtil; import org.omg.sysml.util.TypeUtil; public class Type_feature_SettingDelegate extends BasicDerivedListSettingDelegate { @@ -38,12 +36,8 @@ public Type_feature_SettingDelegate(EStructuralFeature eStructuralFeature) { @Override protected EList basicGet(InternalEObject owner) { - EList features = new NonNotifyingEObjectEList<>(Feature.class, owner, eStructuralFeature.getFeatureID()); - TypeUtil.getFeatureMembershipOf((Type) owner).stream(). - map(FeatureMembership::getOwnedMemberFeature). - filter(f->f != null). - forEachOrdered(features::add); - return features; + ElementUtil.clearCachesOf((Type) owner); + return TypeUtil.getFeatureOf((Type)owner); } } diff --git a/org.omg.sysml.logic/src/main/java/org/omg/sysml/delegate/setting/Type_input_SettingDelegate.java b/org.omg.sysml.logic/src/main/java/org/omg/sysml/delegate/setting/Type_input_SettingDelegate.java index f98eed0b8..ea3d184f1 100644 --- a/org.omg.sysml.logic/src/main/java/org/omg/sysml/delegate/setting/Type_input_SettingDelegate.java +++ b/org.omg.sysml.logic/src/main/java/org/omg/sysml/delegate/setting/Type_input_SettingDelegate.java @@ -1,7 +1,7 @@ /******************************************************************************* * SysML 2 Pilot Implementation * Copyright (c) 2022 Siemens AG - * Copyright (c) 2022, 2023, 2025 Model Driven Solutions, Inc. + * Copyright (c) 2022, 2023, 2025, 2026 Model Driven Solutions, Inc. * * This program is free software: you can redistribute it and/or modify * it under the terms of the Eclipse Public License as published by @@ -24,10 +24,9 @@ import org.eclipse.emf.common.util.EList; import org.eclipse.emf.ecore.EStructuralFeature; import org.eclipse.emf.ecore.InternalEObject; -import org.omg.sysml.lang.sysml.Feature; import org.omg.sysml.lang.sysml.Type; -import org.omg.sysml.util.FeatureUtil; -import org.omg.sysml.util.NonNotifyingEObjectEList; +import org.omg.sysml.util.ElementUtil; +import org.omg.sysml.util.TypeUtil; public class Type_input_SettingDelegate extends BasicDerivedListSettingDelegate { @@ -37,10 +36,8 @@ public Type_input_SettingDelegate(EStructuralFeature eStructuralFeature) { @Override protected EList basicGet(InternalEObject owner) { - EList inputs = new NonNotifyingEObjectEList<>(Feature.class, owner, eStructuralFeature.getFeatureID()); - Type type = (Type)owner; - type.getFeature().stream().filter(f->FeatureUtil.isInputParameter(f, type)).forEachOrdered(inputs::add); - return inputs; + ElementUtil.clearCachesOf((Type)owner); + return TypeUtil.getInputOf((Type)owner); } } diff --git a/org.omg.sysml.logic/src/main/java/org/omg/sysml/delegate/setting/Type_output_SettingDelegate.java b/org.omg.sysml.logic/src/main/java/org/omg/sysml/delegate/setting/Type_output_SettingDelegate.java index 049531a86..36100a1fe 100644 --- a/org.omg.sysml.logic/src/main/java/org/omg/sysml/delegate/setting/Type_output_SettingDelegate.java +++ b/org.omg.sysml.logic/src/main/java/org/omg/sysml/delegate/setting/Type_output_SettingDelegate.java @@ -1,7 +1,7 @@ /******************************************************************************* * SysML 2 Pilot Implementation * Copyright (c) 2022 Siemens AG - * Copyright (c) 2022, 2023, 2025 Model Driven Solutions, Inc. + * Copyright (c) 2022, 2023, 2025,2026 Model Driven Solutions, Inc. * * This program is free software: you can redistribute it and/or modify * it under the terms of the Eclipse Public License as published by @@ -24,10 +24,9 @@ import org.eclipse.emf.common.util.EList; import org.eclipse.emf.ecore.EStructuralFeature; import org.eclipse.emf.ecore.InternalEObject; -import org.omg.sysml.lang.sysml.Feature; import org.omg.sysml.lang.sysml.Type; -import org.omg.sysml.util.FeatureUtil; -import org.omg.sysml.util.NonNotifyingEObjectEList; +import org.omg.sysml.util.ElementUtil; +import org.omg.sysml.util.TypeUtil; public class Type_output_SettingDelegate extends BasicDerivedListSettingDelegate { @@ -37,10 +36,8 @@ public Type_output_SettingDelegate(EStructuralFeature eStructuralFeature) { @Override protected EList basicGet(InternalEObject owner) { - EList outputs = new NonNotifyingEObjectEList<>(Feature.class, owner, eStructuralFeature.getFeatureID()); - Type type = (Type)owner; - type.getFeature().stream().filter(f->FeatureUtil.isOutputParameter(f, type)).forEachOrdered(outputs::add); - return outputs; + ElementUtil.clearCachesOf((Type)owner); + return TypeUtil.getOutputOf((Type)owner); } } diff --git a/org.omg.sysml.logic/src/main/java/org/omg/sysml/util/ConnectorUtil.java b/org.omg.sysml.logic/src/main/java/org/omg/sysml/util/ConnectorUtil.java index 0266a419d..4143d1d4b 100644 --- a/org.omg.sysml.logic/src/main/java/org/omg/sysml/util/ConnectorUtil.java +++ b/org.omg.sysml.logic/src/main/java/org/omg/sysml/util/ConnectorUtil.java @@ -55,7 +55,7 @@ public static BindingConnector createBindingConnector(Feature source, Feature ta public static void transformBindingConnector(BindingConnector connector, Type owner) { TypeUtil.addImplicitGeneralTypeTo(connector, SysMLPackage.eINSTANCE.getSubsetting(), SysMLLibraryUtil.getLibraryType(owner, ImplicitGeneralizationMap.getDefaultSupertypeFor(connector.getClass(), "binary"))); - for (Feature end: connector.getConnectorEnd()) { + for (Feature end: TypeUtil.getEndFeatureOf(connector)) { ElementUtil.transform(end); } } @@ -82,7 +82,7 @@ public static Feature addConnectorEndTo(Connector connector, Feature relatedFeat public static void transformConnectorEndsOf(Flow flow) { Namespace owner = flow.getOwningNamespace(); if (owner instanceof Feature) { - EList ends = flow.getConnectorEnd(); + EList ends = TypeUtil.getEndFeatureOf(flow); if (ends.size() >= 2) { EList endFeatures = ends.get(1).getOwnedFeature(); if (!endFeatures.isEmpty()) { @@ -103,7 +103,7 @@ public static Feature getRelatedFeatureOfEnd(Feature end) { public static EList getRelatedFeaturesOf(Connector connector) { EList relatedFeatures = new BasicInternalEList(Feature.class); - for (Object end: connector.getConnectorEnd().toArray()) { + for (Object end: TypeUtil.getEndFeatureOf(connector).toArray()) { if (end != null) { Feature referencedFeature = getRelatedFeatureOfEnd((Feature) end); if (referencedFeature != null) { diff --git a/org.omg.sysml.logic/src/main/java/org/omg/sysml/util/ExpressionUtil.java b/org.omg.sysml.logic/src/main/java/org/omg/sysml/util/ExpressionUtil.java index 00de8bbd0..b4179719e 100644 --- a/org.omg.sysml.logic/src/main/java/org/omg/sysml/util/ExpressionUtil.java +++ b/org.omg.sysml.logic/src/main/java/org/omg/sysml/util/ExpressionUtil.java @@ -25,6 +25,7 @@ import java.util.stream.Stream; import org.eclipse.emf.common.util.EList; +import org.eclipse.emf.ecore.InternalEObject; import org.omg.sysml.adapter.ExpressionAdapter; import org.omg.sysml.adapter.FeatureReferenceExpressionAdapter; import org.omg.sysml.adapter.InvocationExpressionAdapter; @@ -35,12 +36,14 @@ import org.omg.sysml.lang.sysml.Feature; import org.omg.sysml.lang.sysml.FeatureMembership; import org.omg.sysml.lang.sysml.FeatureReferenceExpression; +import org.omg.sysml.lang.sysml.InstantiationExpression; import org.omg.sysml.lang.sysml.InvocationExpression; import org.omg.sysml.lang.sysml.LiteralBoolean; import org.omg.sysml.lang.sysml.Membership; import org.omg.sysml.lang.sysml.ParameterMembership; import org.omg.sysml.lang.sysml.ResultExpressionMembership; import org.omg.sysml.lang.sysml.ReturnParameterMembership; +import org.omg.sysml.lang.sysml.SysMLPackage; import org.omg.sysml.lang.sysml.TransitionFeatureKind; import org.omg.sysml.lang.sysml.TransitionFeatureMembership; import org.omg.sysml.lang.sysml.Type; @@ -191,4 +194,28 @@ public static EList getOperandsOf(InvocationExpression expression) { return ((InvocationExpressionAdapter)getExpressionAdapter(expression)).getOperand(); } + public static EList getArgumentOf(InstantiationExpression expression) { + EList arguments = new NonNotifyingEObjectEList<>(Expression.class, (InternalEObject)expression, SysMLPackage.INSTANTIATION_EXPRESSION__ARGUMENT, false); + Type instantiatedType = expression.instantiatedType(); + if (instantiatedType != null) { + if (expression instanceof InvocationExpression) { + addArguments(arguments, TypeUtil.getInputOf(instantiatedType), expression.getOwnedFeature()); + } else if (expression instanceof ConstructorExpression) { + Feature result = TypeUtil.getOwnedResultParameterOf(expression); + if (result != null) { + addArguments(arguments, TypeUtil.getFeatureOf(instantiatedType), result.getOwnedFeature()); + } + } + } + return arguments; + } + + private static void addArguments(List arguments, List instantiatedTypeFeatures, List argumentFeatures) { + instantiatedTypeFeatures.stream(). + flatMap(f->argumentFeatures.stream().filter(rf->rf.redefines(f))). + map(FeatureUtil::getValueExpressionFor). + filter(e->e != null). + forEachOrdered(arguments::add); + } + } diff --git a/org.omg.sysml.logic/src/main/java/org/omg/sysml/util/FeatureUtil.java b/org.omg.sysml.logic/src/main/java/org/omg/sysml/util/FeatureUtil.java index 9950230c8..399ac56df 100644 --- a/org.omg.sysml.logic/src/main/java/org/omg/sysml/util/FeatureUtil.java +++ b/org.omg.sysml.logic/src/main/java/org/omg/sysml/util/FeatureUtil.java @@ -215,7 +215,7 @@ public static boolean isIgnoredParameter(Feature feature) { } public static List getAllSubsettingFeaturesIn(Type type, Feature subsettedFeature) { - return type.getFeature().stream(). + return TypeUtil.getFeatureOf(type).stream(). filter(f->TypeUtil.specializes(f, subsettedFeature)). collect(Collectors.toList()); } diff --git a/org.omg.sysml.logic/src/main/java/org/omg/sysml/util/TypeUtil.java b/org.omg.sysml.logic/src/main/java/org/omg/sysml/util/TypeUtil.java index eea7ea7ce..d9cc320b8 100644 --- a/org.omg.sysml.logic/src/main/java/org/omg/sysml/util/TypeUtil.java +++ b/org.omg.sysml.logic/src/main/java/org/omg/sysml/util/TypeUtil.java @@ -34,6 +34,7 @@ import org.eclipse.emf.common.util.BasicEList; import org.eclipse.emf.common.util.EList; import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; import org.omg.sysml.adapter.TypeAdapter; import org.omg.sysml.lang.sysml.Association; import org.omg.sysml.lang.sysml.BindingConnector; @@ -105,10 +106,6 @@ public static List getFeaturesRedefinedBy(Type type, Feature skip) { toList(); } - public static EList getFeatureMembershipOf(Type type) { - return getTypeAdapter(type).getFeatureMembership(); - } - // Supertypes public static List getSupertypesOf(Type type) { @@ -205,6 +202,19 @@ public static boolean isCompatible(Type subtype, Type supertype) { // Features + public static EList getFeatureMembershipOf(Type type) { + return getTypeAdapter(type).getFeatureMembership(); + } + + public static EList getFeatureOf(Type type) { + EList features = new NonNotifyingEObjectEList<>(Feature.class, (InternalEObject)type, SysMLPackage.TYPE__FEATURE); + getFeatureMembershipOf(type).stream(). + map(FeatureMembership::getOwnedMemberFeature). + filter(f->f != null). + forEachOrdered(features::add); + return features; + } + public static List getPublicFeaturesOf(Type type) { return type.visibleMemberships(new BasicEList<>(), false, false).stream(). filter(FeatureMembership.class::isInstance). @@ -213,8 +223,22 @@ public static List getPublicFeaturesOf(Type type) { collect(Collectors.toList()); } + public static EList getEndFeatureOf(Type type) { + return getEndFeatureOf(type, Feature.class, SysMLPackage.FEATURE__END_FEATURE); + } + + public static EList getEndFeatureOf(Type type, Class kind, int featureId) { + EList endFeatures = new NonNotifyingEObjectEList<>(kind, (InternalEObject)type, featureId); + TypeUtil.getFeatureOf((Type)type).stream(). + filter(Feature::isEnd). + filter(kind::isInstance). + map(kind::cast). + forEachOrdered(endFeatures::add); + return endFeatures; + } + public static List getAllEndFeaturesOf(Type type) { - return type == null? Collections.emptyList(): type.getEndFeature(); + return type == null? Collections.emptyList(): getEndFeatureOf(type); } public static List getOwnedEndFeaturesOf(Type type) { @@ -222,7 +246,7 @@ public static List getOwnedEndFeaturesOf(Type type) { } public static List getAllParametersOf(Type type) { - return type.getDirectedFeature(); + return TypeUtil.getDirectedFeatureOf(type); } public static List getOwnedParametersOf(Type type) { @@ -308,6 +332,26 @@ private static Set getResultExpressionMembershipsOf( return resultExpressions; } + public static EList getInputOf(Type type) { + EList inputs = new NonNotifyingEObjectEList<>(Feature.class, (InternalEObject)type, SysMLPackage.TYPE__INPUT); + TypeUtil.getFeatureOf(type).stream().filter(f->FeatureUtil.isInputParameter(f, type)).forEachOrdered(inputs::add); + return inputs; + } + + public static EList getOutputOf(Type type) { + EList inputs = new NonNotifyingEObjectEList<>(Feature.class, (InternalEObject)type, SysMLPackage.TYPE__INPUT); + TypeUtil.getFeatureOf(type).stream().filter(f->FeatureUtil.isInputParameter(f, type)).forEachOrdered(inputs::add); + return inputs; + } + + public static EList getDirectedFeatureOf(Type type) { + EList directedFeatures = new NonNotifyingEObjectEList<>(Feature.class, (InternalEObject)type, SysMLPackage.TYPE__DIRECTED_FEATURE); + TypeUtil.getFeatureOf(type).stream(). + filter(f->f.getDirection() != null). + forEachOrdered(directedFeatures::add); + return directedFeatures; + } + // Membership public static Stream getInheritedMembersByMembershipIn(Type type, Class kind, Class memberType) { diff --git a/org.omg.sysml.logic/src/main/java/org/omg/sysml/util/UsageUtil.java b/org.omg.sysml.logic/src/main/java/org/omg/sysml/util/UsageUtil.java index 7d9a8eda0..31c2a398f 100644 --- a/org.omg.sysml.logic/src/main/java/org/omg/sysml/util/UsageUtil.java +++ b/org.omg.sysml.logic/src/main/java/org/omg/sysml/util/UsageUtil.java @@ -35,6 +35,7 @@ import org.omg.sysml.lang.sysml.CaseUsage; import org.omg.sysml.lang.sysml.FramedConcernMembership; import org.omg.sysml.lang.sysml.ConcernUsage; +import org.omg.sysml.lang.sysml.ConnectionDefinition; import org.omg.sysml.lang.sysml.Connector; import org.omg.sysml.lang.sysml.ConstraintUsage; import org.omg.sysml.lang.sysml.Definition; @@ -46,10 +47,12 @@ import org.omg.sysml.lang.sysml.FeatureMembership; import org.omg.sysml.lang.sysml.FeatureValue; import org.omg.sysml.lang.sysml.FlowUsage; +import org.omg.sysml.lang.sysml.InterfaceDefinition; import org.omg.sysml.lang.sysml.Membership; import org.omg.sysml.lang.sysml.Namespace; import org.omg.sysml.lang.sysml.ObjectiveMembership; import org.omg.sysml.lang.sysml.ParameterMembership; +import org.omg.sysml.lang.sysml.PortUsage; import org.omg.sysml.lang.sysml.ReferenceSubsetting; import org.omg.sysml.lang.sysml.RenderingUsage; import org.omg.sysml.lang.sysml.RequirementConstraintKind; @@ -65,6 +68,7 @@ import org.omg.sysml.lang.sysml.StateUsage; import org.omg.sysml.lang.sysml.SubjectMembership; import org.omg.sysml.lang.sysml.Succession; +import org.omg.sysml.lang.sysml.SysMLPackage; import org.omg.sysml.lang.sysml.TransitionFeatureKind; import org.omg.sysml.lang.sysml.TransitionFeatureMembership; import org.omg.sysml.lang.sysml.TransitionUsage; @@ -205,6 +209,16 @@ public static Expression getArgumentOf(ActionUsage action, int i) { return parameters.size() < i? null: FeatureUtil.getValueExpressionFor(parameters.get(i - 1)); } + // Connections + + public static EList getConnectionEndOf(ConnectionDefinition type) { + return TypeUtil.getEndFeatureOf(type, Usage.class, SysMLPackage.CONNECTION_DEFINITION__CONNECTION_END); + } + + public static EList getInterfaceEndOf(InterfaceDefinition type) { + return TypeUtil.getEndFeatureOf(type, PortUsage.class, SysMLPackage.INTERFACE_DEFINITION__INTERFACE_END); + } + // SuccessionAsUsages public static Feature getSourceOf(Feature succession) { @@ -264,7 +278,7 @@ public static Feature getPreviousFeature(Feature feature) { !FeatureUtil.isParameter((Feature)previousElement) && !(previousElement instanceof TransitionUsage) && (!(previousElement instanceof Connector) || - isMessageConnection((Feature)previousElement))) { + isMessage((Feature)previousElement))) { return (Feature)previousElement; } } @@ -272,9 +286,9 @@ public static Feature getPreviousFeature(Feature feature) { } } - // Flow Connections + // Flows - public static boolean isMessageConnection(Feature feature) { + public static boolean isMessage(Feature feature) { return feature instanceof FlowUsage && feature.getOwnedFeature().stream().noneMatch(Feature::isEnd); } diff --git a/org.omg.sysml.model.bundle/lib/org.omg.sysml.model-0.62.0-SNAPSHOT.jar b/org.omg.sysml.model.bundle/lib/org.omg.sysml.model-0.62.0-SNAPSHOT.jar index 4f6148ad2bb7a393e75aad03f1d177d53721af9b..bdb38042500326acfc882f8b428241ff8b807a24 100644 GIT binary patch delta 8501 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 F{2#851*iZ3 delta 8480 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 diff --git a/org.omg.sysml.xtext/src/org/omg/sysml/xtext/validation/SysMLValidator.xtend b/org.omg.sysml.xtext/src/org/omg/sysml/xtext/validation/SysMLValidator.xtend index a357988b2..28a2311aa 100644 --- a/org.omg.sysml.xtext/src/org/omg/sysml/xtext/validation/SysMLValidator.xtend +++ b/org.omg.sysml.xtext/src/org/omg/sysml/xtext/validation/SysMLValidator.xtend @@ -1444,7 +1444,7 @@ class SysMLValidator extends KerMLValidator { } protected def boolean checkSubjectParameter(Type type, String msg, String eId) { - val inputs = type.input + val inputs = TypeUtil.getInputOf(type) if (inputs.empty || !UsageUtil.isSubjectParameter(inputs.get(0))) { val subjectParameter = UsageUtil.getOwnedSubjectParameterOf(type) if (subjectParameter !== null) {