From f228143ebba169ecfc7da9e25e0773008845320b Mon Sep 17 00:00:00 2001 From: Ruben Verma Date: Tue, 25 Jun 2019 13:13:59 +0200 Subject: [PATCH] implementation version update management for topology modeler. Co-authored-by: Yuye Tong Co-authored-by: Yannik Dietrich Signed-off-by: Ruben Verma --- docs/user/VersionManagement.md | 35 ++++ .../NewVersionAvailable.jpeg | Bin 0 -> 77156 bytes .../versionManagement/PropertiesToMap.png | Bin 0 -> 27767 bytes .../UpdatedNodeTemplate.jpeg | Bin 0 -> 75353 bytes .../versionManagement/VersionSelection.jpeg | Bin 0 -> 45557 bytes docs/user/index.md | 4 +- .../src/app/canvas/canvas.component.ts | 16 +- .../src/app/enricher/enricher.component.ts | 4 +- .../src/app/models/UpdateInfo.ts | 24 +++ .../src/app/models/entityTypesModel.ts | 4 +- .../src/app/models/propertyDiffList.ts | 20 +++ .../{utils.ts => topologyTemplateUtil.ts} | 12 +- .../src/app/models/versionElement.ts | 34 ++++ .../src/app/node/node.component.css | 14 +- .../src/app/node/node.component.html | 5 + .../src/app/node/node.component.ts | 44 ++++- .../src/app/node/versions/update.service.ts | 55 ++++++ .../app/node/versions/versions.component.css | 22 +++ .../app/node/versions/versions.component.html | 76 ++++++++ .../app/node/versions/versions.component.ts | 167 ++++++++++++++++++ .../src/app/palette/palette.component.ts | 10 +- .../problemDetection.component.ts | 4 +- .../refinementSidebar.component.ts | 4 +- .../src/app/services/backend.service.ts | 8 + .../services/statefulAnnotations.service.ts | 6 +- .../topology-renderer.component.ts | 6 +- .../topology-renderer.module.ts | 4 +- .../src/app/winery.component.ts | 19 +- .../src/assets/styles/styles.scss | 4 +- .../app/topologymodeler/src/index.html | 3 +- .../tosca-management/src/app/model/enums.ts | 2 +- .../repository/rest/datatypes/UpdateInfo.java | 67 +++++++ .../apiData/NewVersionListElement.java | 31 ++++ .../resources/apiData/PropertyDiffList.java | 31 ++++ .../ServiceTemplateResource.java | 51 +++++- .../TopologyTemplateResource.java | 128 ++++++++++++++ .../ServiceTemplateResourceTest.java | 7 + .../servicetemplates/newVersionList.json | 84 +++++++++ .../repository/backend/BackendUtils.java | 8 + .../repository/backend/BackendUtilsTest.java | 24 ++- 40 files changed, 990 insertions(+), 47 deletions(-) create mode 100644 docs/user/VersionManagement.md create mode 100644 docs/user/graphics/versionManagement/NewVersionAvailable.jpeg create mode 100644 docs/user/graphics/versionManagement/PropertiesToMap.png create mode 100644 docs/user/graphics/versionManagement/UpdatedNodeTemplate.jpeg create mode 100644 docs/user/graphics/versionManagement/VersionSelection.jpeg create mode 100644 org.eclipse.winery.frontends/app/topologymodeler/src/app/models/UpdateInfo.ts create mode 100644 org.eclipse.winery.frontends/app/topologymodeler/src/app/models/propertyDiffList.ts rename org.eclipse.winery.frontends/app/topologymodeler/src/app/models/{utils.ts => topologyTemplateUtil.ts} (94%) create mode 100644 org.eclipse.winery.frontends/app/topologymodeler/src/app/models/versionElement.ts create mode 100644 org.eclipse.winery.frontends/app/topologymodeler/src/app/node/versions/update.service.ts create mode 100644 org.eclipse.winery.frontends/app/topologymodeler/src/app/node/versions/versions.component.css create mode 100644 org.eclipse.winery.frontends/app/topologymodeler/src/app/node/versions/versions.component.html create mode 100644 org.eclipse.winery.frontends/app/topologymodeler/src/app/node/versions/versions.component.ts create mode 100644 org.eclipse.winery.repository.rest/src/main/java/org/eclipse/winery/repository/rest/datatypes/UpdateInfo.java create mode 100644 org.eclipse.winery.repository.rest/src/main/java/org/eclipse/winery/repository/rest/resources/apiData/NewVersionListElement.java create mode 100644 org.eclipse.winery.repository.rest/src/main/java/org/eclipse/winery/repository/rest/resources/apiData/PropertyDiffList.java create mode 100644 org.eclipse.winery.repository.rest/src/test/resources/servicetemplates/newVersionList.json diff --git a/docs/user/VersionManagement.md b/docs/user/VersionManagement.md new file mode 100644 index 0000000000..dc573fcb00 --- /dev/null +++ b/docs/user/VersionManagement.md @@ -0,0 +1,35 @@ +# Update Management of Node Templates in Topology Modeler + +This guide shows an overview of how to update a Node Template in a Topology Template. + + +## Steps to update a Node Template + +User will be informed with a *red exclamation mark* when there's any new versions available for a node template. +![NewVersionAvailable](graphics/versionManagement/NewVersionAvailable.jpeg) + +Select the version to update. +![VersionSelection](graphics/versionManagement/VersionSelection.jpeg) + + +A table with new, removed and resolved Properties will be shown. A new *Property* and a removed *Property* can be selected so that the value will be transferred. +![PropertiesToMap](graphics/versionManagement/PropertiesToMap.png) + +Now the Node Template is updated in the Topology Template. New Properties are available and values are transferred. +![UpdatedNodeTemplate](graphics/versionManagement/UpdatedNodeTemplate.jpeg) + +To confirm the update above, save the topology template. + +## License + +Copyright (c) 2019 Contributors to the Eclipse Foundation + +See the NOTICE file(s) distributed with this work for additional +information regarding copyright ownership. + +This program and the accompanying materials are made available under the +terms of the Eclipse Public License 2.0 which is available at +http://www.eclipse.org/legal/epl-2.0, or the Apache Software License 2.0 +which is available at https://www.apache.org/licenses/LICENSE-2.0. + +SPDX-License-Identifier: EPL-2.0 OR Apache-2.0 diff --git a/docs/user/graphics/versionManagement/NewVersionAvailable.jpeg b/docs/user/graphics/versionManagement/NewVersionAvailable.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..54a6ec5226951962bf323cf8748067169a4337f1 GIT binary patch literal 77156 zcmeFZ2V4{1);2mw6G0K_QX+rD$Z`~B`c8wQe@Ju`c+y=SdwJ!|cu{Gdz$C$DSi zY5`PK0H6c@02C~6Llf?32LSr|z&QW_jsjGnjsOk#39JH~1~&kpPNxE>!T(gh_N5>B zkE66g>D2%6nQHA1BCcS-^oSBuKlbiP;|KpdE(z5c3ua#8|jZMuht!?e! z`uYb3hlYRr9KqtIXJ+T-7Z#TY8=G6(JG;ca{a^h8<@u*u;NL$z`%AxAzgaDndB6+`;_?yP5JUmj)Ch|MUjXAqRTjc0%Gr1uzykUUnH@T+UT zd-i{>V*&rSdiI|k`>%eD0#|_}zYFz|Bh<9i)YPIdG@8HLmjT%k7jd&wEHj*j%}^8g|I&t_^#0vE`2broHn%NJ^6nQp z*~F+?4US=@=nIKC47>lJHP9>KVC< z7+gWyBV)QA|1jNra87KW0wm54JT+;M_5XR>RUH=mq&BR!o>UWmg93zn`$_>aZXu?; zDS!hi-mjB6IIDP=cdWQS17>C$-~ST;-i9? zeRg^>Jz^&uisQ8ZuQQqded51`^Y5AS@2BJcN2=qiTNvV`yi72fZbeOV7+aeK$Zgq+3OJP{uf zZIqBtv{>DL1hV8SbEy?~pRvJx-4*VX<)v=15#Jc!Xq||tLB_c(R&PP=@jM}Tl5>;% zmrs(TL4Ny%;?m}h1xthR@lFz5lMlO(_sUOl`41rYXx|T#&O4*eSEb!isCN?);587t zQpzzB+gc3pz1T%*5GlaHS$OM?AHFO!LhVZ74=1nT-H3q#pQfAlqd+-Rsm~qZeE-e$2D?>wU zyheP9l@e`9<4Ni6_l$V@HMsgkW5WHPZ)Q!s&V=u;(R8bqgzndBuQw8`)K}5ddj^XZ zSo`#85evZmtOW`_ykY7+9TC9 zQQ~*}jUaI@))1j6n7px!8sWrhehLvCW`9MVk<)?7M~34kkNbZ|%Md!3aR%Z0O?b7b z^A*O-9;KTBU2h@|d-C||7Oi{j4-`oP<*&3Ar#;S1Y@ap^ zARl-iB-Y803XMrRu7-O*S{f|?C9t;RJykVs0 zF+_VE{1$$i~G4)4C(DL3?7sX17blQf#;Z~08wC@k3;ZD5&G77-7jCUgkQvgy*6*xiz|J+g(1-J=H@E(W( z|1x^o|0qKvXEOKj)Z`%}1=v&aqyVkI1o79V!pQHzv8^-uCmF^3MT#GX|9SNO+SUfl zp(;4mFADxDB*T!BT)%{LBO$3J`Xp&<*~h z{n~3z$X#qGPNLY@n44ZDeWRsYA4P+hQ$09;@WGpT4Ylh zW*ZhL!4#lEbGjI&^B-7~pjc@O0Oz8l$w^6IqW(koc1lg?Q1xt!^r~d1K>g^Qgr9gVq+NFKO0V zyEc1FCjzQS!xc?xR<}_HBGkKZ_(EnWCN*ufcAK=VHiirpFgVQOTpvm-taX{G7Gh~- z6B7(RBDTPGkGby7rfDMiY>)J|bJUUkJLM^NO071{v)lTcLb>cCPkmFr-_F-s_{a{; zm)o6xbyLgnU6%Zl7o^_gZp^@ne4Bsohnugpe-yX)y;wpVo9k|3W}uF#0IjMxf|zVf zUE0N6Btzz)4?=+WfdUBVQGg~8MKDq~KsSHwc%4H5aAKeNavi$d5%|w)f)oG>TI^#m z^4S=oDL)J7u!CqI7=&OfnlD!6w45VA4E7QW+52^J+iehfu^}4j@G+!c-+$dRT$0`~ zS9Th?FOa8LC{Z!(SoVDG`T$siKiV8f6!Ex!cYi(8Ze$mA8ABET=8T+{K-17uoy&WCebzgBv8L zG9nKiWk|R#`~JZKkG`}>{iL^;swv9zmF?&Nljm7XD&uHJt=5L02H7}mZb>WAjCajG z_WPWjXui-)^5Js|5D-KXBoA1QK{Di2k-Pz3 z_(c7&qAT2L0kRS+(9xKkC%x*N@HGHmM!fmSgTGJcGA|Er#h-);f zXo4Pxqs%OTYYZYWPhwlEx$ni+6?~ntEskHd_NQjQXy*5bH{T%H#pP*f`SQ1Mufi7^E>}%p`9PJnKh)YOVxK(borZ^ttG=w&6YUr+IJZ3$4~&872@h)Lcth`nZVv6 zr6A%{D3FRz0_+^9E@d0mYVRggm-(`L;#H@u5=twQkj$j3v^7WjbcK?QM$Vp%ERo}S z0Z_#m047%WJ5${)5KiLm)s*^usl)gY*l6W|HN)9}o|dIKt=JdbS2kVf-52N;I$rm; z-Y-7c)R!X?U(!2jjg%WD+<(006Z_!Fn5*KOI}vXzQr)<tMlO^7b8SpsLU4lkR zp~jBx@pnmaDra@SBf?Sy4DK=TX`QD4PKU-Y8Lhsn5NR{pH!*ik1w;0^Q7Dp9&ee1x zLcjOSt>PaRngBKVUApDrO=J#je~?voFYuVT3vBblcA;n*@sbf zLDf!7cTa76df_5`{RP4+RAoPbMFmp4m!-fDKImDMA`V^Jzn*lqHq1Lcp>Lj zw4AT(7h)9lS)AA#XGO6-vyPrb-nVZlfF~iwCUARutT%bS87p9(nt#{ihO}?qfjp7C zY}6-$k1kpnetw0KAACOVsnM#;i)l^fN-Up$A_t>!)KL>XxVe;Uo41CmO}u^g@dY)F zWv(sy9KTuDQJnEMI}ShltmDMufcIlps5c1^$qbj6{1xG&ru6?d$VY1XU4mb2px~?DY z9x}(`RzDZin)>HW{zUN*m(xk+1d|t&jYzt(HZ{2-C#Ca^ig~i@iitN2kV1Na@4WEu zRn%mWZ+++-x_r5}y`dsdTZ5o|SiQk$1&;GYX`$ApDF^vf0M2K0Ppu;&CFR|t*)$Wk zo$;_%A#b4#g!v{cl>#sukRDawVh+Q0p!@6z{^541LGS*|9v$D-4z%FVn!>oTbGzx= zM)okDbJTT^&V!-jY{s_1Y=)O<|FS_Y`znL=FP*bc&6U-C_$?!BCX2chl6!RDB-5_O z4XaIRhOUN^2T=FA%!R-FnPYD&!~RS^>bHO9YP!n*OFP2%gR{+}g1;k`$N2^fSgFUY zt|NPf8z#R9uS9sF%}JqJY|MAf!=ws{Ec`^X$h zAw^T5MB{pOaz6#o)m|`9ec|YszpHr>qpn^9M%{paK$-4 z7S|ybM$Hddx_nm&1yfwa`e{Unx-5B|+ztX5_fN+y+76VEJDu|Svu>L<8<;`ARn%}E z@8LzEeYxMLLWh1XvR_Wifod;HzOy$O@OS6}54?c<#vm(mc&v2bT1SH_T#vCppw#Ei` zXaBa>oSyW)2C?2j0dnV1J<9ZC8w#+(pGO|?jp0OeiXQrhF8OVO!W-9GBFZhrsP~iE z;MCWNNgsXheeSD4aXK42-uL#K@AMsY*kLyis|9+qskq;%^S`b+sR zei?GMSCjo+`hR0asg^-X4>2cB0Ukkjo^P)V$B-nH$paLi9CC2!`Px$HRdDoRDVWls zKtd}vswf3Fd7NZF)F*Qap4oWALeSA>*4$#r;|or4Lk}YUnA2UQRbed#M|+s$tKeDW zdyg3Q3BFy{QSE$5dPtAUdPgr4!m;z(tff$}Kh5HZ_yU5`{U$MgsUrvIv z*#Jr0K5uE_G(j=ul%?gu{&u|M?y{SB!%e{l-w5$7vo?W|(-KHUX!(47b9M6K%Jv{W zTM6@Xz8U)S36eP_Myb87=C(gfZgx}gQMXo$tf{nLFxZC^@adgw0%s6tyrtx@lKia0 zs4cp_+&Fi~?9z=f%Xc;`V-{_^u4PfCpNi<%i3)R2R;VNL74j&?IqJcrd7R#QP?c45 z?1`fASBNhucfV=+y`~A~Fk%!Ha&e_wEqxL`zZeZF;S7Qd4iZ+{Jz_Iu5(FZ>H~964 zdj!b}ymm3Jnj`T-*P~JVO_r1=3HMVsV@*gt2PPyaUOQqNLT&1hCP0WT%*cM?l#d;k z*4LCDOz_Sdd4K)mDU2f31A4>y%trO}E^gF`%EL_Z$x&ZkSd6x{t{RV!hR#|nZ*?{F zjeuz}=KH3){#zPFj~5IO5z@884_SnYX!R3tw?<>MC|)t^0}Lqsxu2DeeE7M z9~Zl=;D@dHoO`O^gSzR)NixJw2B?`}nU5~#Kdw+$tV;XV^6>J|vOA54OT5axyKU(~ z4XLlMG(RA^O((tZH6qwF!|3Ew!YrEnnFA(pdsaYDPD25+)GlAM(g%OKzRUBes#Gh_ zvJ^I~^9c4h?G|LHHDrha*h%OVx{&U8JfmK&YWNVNUsn32VfVsFKnr%p^Zt?e(%2*( zk1z`GAcl`vjWby3$I5UM*YEh*SYrG%U8S?{YQ?u>z6Q&lJQsOZY|1OM&d&mL)#fAA zbnT}=pKzI9azG#%H>_Ejw&Sompextv#-oE%5Wafh*kf5)IO;S(boCOxpaIQ7L`=Jw zFM0N>3tO6wE^6A))?==mRa-KBq*H(7Hp97_=N(O%GeKvuiDX7FX$Wmr7a(f%FL6}W zB17_qrCnDNE|->i!P&C2NfoLu;lqwouA=PIWWK{pG&|`mQ3Bs;M3Am6ay|_UUrkm$ zu6H|T)jYUSoAriz-^oN-<%YBAUUuhd;*-6oS3vpi^<(o^<)+-i)MdXC;ZF-a8vI3~ z$0n}k5kqgr>wm2(J6_s#q*7pjKmGN%zcmj;WdV8;v>?R?w@3<~iCLb`*luPbZrCyr z%J_37bwo37ls>FzZD&sRXDSEF>xfdSffuICy}rG_w9xHe=Adi9^|t{~GOYS-4?van z+dO#keE6@!=p%=5&>0z&pA=%J&~Lj6P5bxX*O@`@IYN#Ce1+~?s2hL;erypv8HZRD zJ3MAkB|b24kog{lgxvdY(^-OE$lerp;-&zDr-ArRgLUTbF&CgU(2H1dFO;<9*4euQ z&Vl(Xf4di|e-5ZMk@2ME(1U9fV6zt^r#&J{0n(!Ol7Y3~M;10&4;nX%AgipP!>&c@ zf;b?_&z0sJsK5R`koEf(UlFAS6yOriro3M!VsBycUHXaX|M~Z3nD5?iA$0-XX98qZ z*viun+>RZFVz$m6B6?e-$`e4)mbyVhd5GU;IG;gX7WP1#|xl#aKUkaos7d zI0ipR$791l>0{+%Q!^|uJ72}a68YmM9sT}7KPkXN%QW?$k520ut8EZSecC_VYgpSy zB<3IUnrUS1cn%BI>>N;l&aGl@O`Req{|)ttT+FzFw%%ZA?UM$nJDN2iLsiMa zE+rt^S~)3zD`HVH?9^`uN@1(%Z=Mv@AKZNT&wly;_Un8ZhJ8VuFF1FwsE^%Rr%iNY z*=(@jsCKezN9Rx!!$4fH{OC%w!L(?Y3`qiiaC_)!>&Dty0JPC?99o0OPC!`otLY@$ zhv(SX=3f{U#B=iQZYvDcpUJw1+kwF8rxci-h$B0KpdB=b8zG^=ytYSyII2T#!Hww!$j`j#NDM!j7sBE6T$>~~GKci@%w0;p z@8wlmRqlE+@vd94i1w@&Bg=O=>vtc0ZxB5)8l_swaD}1<;XJutV%KES!)`C0H>Z=H zV$hoX26_9?y$u!Q&jfF6MY9|h`CiE(Y2mM7m_Ly({9s&WR4HS$x?(%{)O1k#v{KoF z@P`#HYbUr8=u-(P2N!*%i5CdWxQbPJkLfO+n*@M?Wg7CPhMOr))u?Z zbA4&4PmIa8jC)U0F~~m=;b58~kk9yv++wqNZL~FMHn!TIH0`SL-93Dsq%_@4P5h?! zp+*45r)udVGJ5gHc;l1%k7C1UZj9d4z6yH-@(kXAHJ1(qiO2?jp;qRz_kXE8012=nen6v)Q)$p3KRZ*58Ltn%Bc5a_r{GHZbRkW3xE)b4+&}>WksLLb2p-Lt(_1c3Yr?e&(V;@mg7=0jYx1K$#-mJzx@X2+ zcpty`)@G6id+m}#K-5h#k?v&rccPErCkkZ3YL3giimKscHP{LCwxzAfYkzjW8fSZz zfr~q4b~m%$W6P$|Um0&7nK)YmK`ri2eL+Zj-1lVf3ESI)eX|>Zt3j@#@_jY%98o9> zqKOGX`khUo)pUDt+6Grq_V})s#&^Dw*huPRVzW8~E{Annt({sYnw-9b3R(5l$6hj4 zJ4`s{LQ|EoNG?I2=`^ikc7b}R*puxUIpR{wD`3pWcDeW3K zdwdZa;$F2ci>kq%8S7l3gA1xCFgNMSubNCL=4bkkV1DeYzb~B7v=LnBv(|Hlyj^e+ z+O(D;=#((6+ina~yVsvh2$+|hx|giO?GtEV2#VvD%INbu;=J;g%tsdh?gFoY$9A%;n{KY_sh6nQbkj# z9V0Ch<3U_Dyd#e%znfmA$34Wb_%a-yegCG4^VQjCea(!oueC4_(Gid0zOj)CUI4V= zpSgIz$bA5r2fj%@#_W^rt65S$IK)glVrA+${O!v~w+G)q_(KPnxKOOt%B}OtOr3Nl z0zahvgB+5{p*Sl=KIg{dsPclmu_F&EOW%nG*D0$$jQo-Yri@rXUiniED(tC==fab2 zR1aZkYJ-$Mw?9qylsZ=F9^(#6L$eI1(c&#|uvMiTqSuHinb+asrH~w-+{K&s^sF?T z%``g|?L-XD>KbZ!UEF&_cPxm<--{6aQYMtdjdyOn2x&kvk}mX1tLb9*wtT9kZj3u` zYCgse+Qz!{d`Gdm#&;&Xnif0@vUmsLMWicu&S3H|m>wY$Cf_Bx!pLLkSG2*UmXM-u z7T@VP0&yHMu;hJ;I**4nM|m_&LevFFQeOiG9LT3W_ZF?pzk(tqoDADGo<&+_iTzM? zF`8Bpt>}s+i4dO=ly+u`fzJr^SIY=Y7iB`_jmyi>VXjiw;@?rlX1r#zyY=>V-ISbr zeCu~usc`{8=^F8X5Klh&L0SOsv`FRv^FOMV^=z$fk7}BZ+j3lo)3kiIda-9{a9J08 z+IBcK2^=qRdX6%_s`(>J<@mOqn#2;Jg)ey%S`HmRqu`khIWzP{LUcU-pgws%+Oucg zpy$zi?fVBj*$-bbCTO;GD4x$!i<6+oN+mVESH)I@7NSpSyFh}}+j$l-4=KRi9_29} z(K+d+xLNd*pHiE4wMQIr6=C!5hm^B!cdk7CnEntXyr~8TB8jvZCkhbF&)!=jN4SGS zG^$>LU@_sYE&^sQWgIDY`>_K@57c&Vl{y8R%B~qTN5l^@F{7 z_4&7~s^KAL?76zxe#8=ZC(B?hGN%^#1&KNMJZx8PExx;9SLs&S*nU{3;h;dVkmcBq zhT^Jcj%7P^55Cg_ig*3qPr*(*AXwCRGKuSrvhPZ3pZD=}c-;?W>C6cDN`oC%zW?(j zJHdYCCFtYBJ$3|2Q>@@Cck0Wlx{6AevL(#BUECjUw2E~zeXB1XSmQ5Sf)t-f%3qlL zlGGS+$;`~&Po;=WxqiddF3thIwejA4RX<(5=r_~sr1gh-?xFd^E(8DlSNcXU+(UYA ziCk|6DUoed^$KQsTs;8IJdBxH$_Cj|nM0*QKP+g>`4_j?H+fYkzy;{`4k9B{3gkDo zej|SbW$+)Vmy67hveN$`SuiNX^f);L4fKGKw^fjCdH#oht>c;g59%fKKdG1bs;EH@ z(4|)r-&PU^9hQjSY`FB2(p|G(lzDeN$oJI!5X&qWx4LT2Xlcp!p;jL-%`E0=x@fK? z?5K06KQMV9V2<&vX44HOm!2M)EhFcY4j&!!XQM~o`wTh5L-ll;3dN5-f9!FY=jmOJ zT^6frC3T~*Rj1Ql{9=(VIb$7LcaVq06yWFb(5^|WuZ;39MzI_UQZp^iriDy1+vY;7xy1JwzT%%54$i~7Vf_k=+b*%Ba|F7iov4j& z_ptO}uf)=r#8lZE9rd(C5OpK*H-1NF2Glm5ZE#T zX@rbyVk@F+5P}Q){Q1~gZ5_RqsF{~Cb6>-+1y3m4W1t4opvQW8)Sy}Lk{t}OAB$x9 z*^0LUMoaX@af0w*RA#EXuA75f z0m4kYpr$Vx;%UYp9oUU^1K4I8lFlPkxfcX}9X5E>8JOc}+szkC<~;fm^S?^(IAL zEO_6vddwJ|W2;@~c|71K*v$--6fqPZ(TF&;_Gw+AOV7O6N64Ya@pr@wvFc{U2Y$0CD=Vk-nR=q>pF@HYWw3~l{nGvK zVfo7y{g#(qek$lY9o!BQw|!zPk)N&U`=ODlnwz`+%>J6g6_0K*3!H;F1j1M&j^CN2 zfg|+GO1vPgl7=rO2;-9;5D(Z{|7L%#N_mXVwmEtrxW6it*HUiI2=slLdw=jfb*NnOR1$9b0o%PS&J z1W}LXA0k1LTmqQ_D-o&uNU{J;E@CH&aJ*y`My&dFNt$bheDtZyc};NxO`m)b_3Y@& zxEfb5alwoKBvIjjAD(B_pF1d7no?Go%mX*a*+xrf*}Xe^%PjH?_v3VAe6;h9sKTuE zC89|le7BiQOYocBDldU^ke!KVqwaoMmp@KrBKjJ5M3{I{xgm)>RRcNDCJ#6q zoV%Ab#BS+|@;-ScO31T|pl$aytjg@-&iSSqx0dCp`8#r%WGkh&(9VhK@=g??y# zW3~;ZJ`YEkv8AnpM|+RHOPiI`YFd#u!JrNF)}6I*Pv3n^nP}bXbOyS6cY27N<=5vOURbo-x=s_d1T0yfHfwJPC<2OG?`GR8YGXLK%3 z*f99^Gic#mxf}AykxtDObC}Mg;ExGokg;|(3*392Ix@!~$rh&)g-*&C(f9E@b9?rF zg~pmjwCU7idLg{T+^SsDWLZVn)=`pQrXxRRzoeTWrYp0EmnfmQ+s&q=eazL~Vk3^euBk|mKbrU}7*jJZx6r_0|teq4N# zy<_saRsNI!Ex$OMtZZyOtv;ro+&A>k`+TnZ&mg_@Csmf5Np!;YD}UdgjVPR_2!Y|uD%cO z$j};gf(@2F+LtA7bkSO1K<&z5@DnLPQ~kLF4|{i^McMQtnn4Y5;`h8*HeMT?fn0V* zaQJh;omkv)P_Bg$OD&wmf&( z&Jr>-Z`(YZy`kT!%gP#RPd-^GHG)dp5DoRV!qe(d1DlUa$Anu?f*Qx zNi_xpYdk!8c`+O~6u_@HAw&Jo53Fs$7~px=hsqeKQX+gLen{H|QAf7LR?9}FKDkJ^ zNziUWgrbjrEiWY?!{uv_`1H}ROit80^~F6_WU$hE80ijE^1XwX2?QnOHsxA9waU?b zwOaqlvaU$WgzCMWJBvxKJ)fgYp3p^I&&L{^v8(aH8ih7t*e6K3gu9sIB-LrNvdL4+ z97-mqhl(ClhL5y(m4zCdf3H3zbiO6fX)j1|W5#!YYG2}m)4p+hp6(~7iqB?0G%_Y| zjvUH{%v$yj*iJl;w=9n#T*c8Ab2=T9taSF?)JZtF`AX~!v(u+Hp_>?hu;-%jn;$a_+Z3Q0>= zgUd`CzyDzAz&WIGaI+R&?xQS|S(VaOS_v1dI`{TIFV?7MwT0_`49)hwQZpiWLU1@6 zj|#21pSARSKsfNn$P&k4lb(|YqvvrV8Q7F4KCDn~lD!XY+v^v1=F@O@M^xHI zks1=whsDsDAL>FB;Ky0FxpSyhgM4dK(y_$v6B|~Fqvq(|rv;;J4>!^#T5n-0Dk|@R zx&2k54@Eye>Y*=jz_6lu;PIBoMt(kmUHnI9j=Fb`3f{o>3J_K}RO<_Vtz?R8b-k3aK=~ARq3i1G6(;vDK&Oak$3qq7>en|VR(_n; z4p(}oR$)t8bhtA~}Kp3EmJhz&k1Kd5+(%#I){5Eu?a zwhXWY+q(Uc3^4y7f#ooy6on-`Z6uF@oI~^w0@ev#;6_Y2pbEfr+WGaV?#h;od*jkJ zP`m<|r}x^*LTNmKxi{GN4B~zYGnNpPwfrED0yy8*-r*`IL%6{ewqN1k5{oTN=>>2V z3b^VeK7AhzA^Ve=4yJT@p58;8_VWc0_raME+LG<}bcF(}cFB>sOvrf%QZ5D9)rX8I zQ-FP1aK!@-Vhj?G-IJsQWcpo``E}BH)FHS?V^5y~tR+LS!H6Yq3h>Phj12T1X2pOD zZeXM|f$c|7(jj=V*)pcIyIz1G2wnmoNAzbR#_L3`81ar@R<{e<|FU7T`;7u{XwNc= z-!=+4Iu$sAo&?=$L>644v0_4uKp*29!E>~ulH9fTcI&R;PLWwOyY>@j99_%J{@779 zlRCo1luvoLlZ4X98{V7!ZUg&FMc+jvfuNtKoc%5lK{ko?k z8v2aYmWNxpO~|VrRpZa=|I;5bICMz~r-|IT)bGC2aj(z3cz#{9OUN&jr}fEQlesRh zG)AKLw81Nrmd1vQcZXMk7=#SVxk|d%g&&=rp?-1G;GX^yTNSi)&>JyD&^@U-z_g8W z2Id%A=cd{JK$N!R=PoO$Lk6}YzM@=2E#i55s@i!XTa;~uP9Jo5`WwI-r^q?@R8#GO zB^GO|B?*BzW%eLfves%ax>I>d;zL=T#WWKZ-XSbwvaq;+zB{u;2fapc}n z8=m%FK~BMfzyYh##Obr*a_xs)Ee~I{3m)MSb^q>TvM5u}{Ij|NQqr83QDo%=b+8+o zvlC`N`EZ)M9+$(h5~I;imcO*#6oeDPl-t@o!|PkxUZ*$iqh5EOxdrR;5Vlw zdx;Oo?ebB#EmuokyV7i{v^4|0eT&di;ko?#Q|r*1alJKn`vb*k_KvW&Xh9<;s=7Hz zuz?yC#eBY^)Lp|xmm}4Yk$X){FNuSb5ik}qx374QU=`th2>Y!YEWzB}>8*mv#ODa2 zm`JpzuE1BkDySpAeLKAx;c~8);oD9+N8VU6eKSuC3rTaJhLcU|$YN|$=M3+KcS=kU zr#+KjVR=tS-0~!=RjU;F&GpoRlU&|BntpEh>DEc+8U*-|6HTpo;{6_!@$0r`cTMK=M*&Yw7eGkY|`C7V`ygpZjG-^;Y zx+C6HH87Q(Tw+iWzwi`FujYc^VX$mZ7m4n5x!tF}W2g2|e7?}HsN`C&gdnX6xAho* z0`ccZcmU7(s2z`$hPzvqMP91l_a@l5o65p*pYkX|e=CfeET^48Qql%_yvFPbu7+wC zf#>_@iz1QIiS!IBGkeJ^Z`?Mt)qUQzo^LrY%{yA{CMx0kbBJ_%^ATF!%wW3C4!`+z zgG!ke!~FcDG1bgwRy@~7BESmy5_rmTn`J|eF+2pVS zWaQYinhAcnK233uq>6&47#vtMwOP3a)AK-5qXA<2;NY z9mn~3;M9u=1&yC4E#ZO9&(m^p$IK_jEN+h2;xuUP=sFACFnY)JHuW>j3~9lx0Z8W1=^>&a!u~p$pF}e*>|1kEg41+#{_56Z+9B>fMgrhW(BB& zA9nxT#d(JnsokH3FywqMcz)8VgLZH*bNm%~eMGQ4QT}b@2`k+?AeG4^$J+NC@tGe5 zIQlk8GhB?sc&;n6mHJYR@y%i`lZWoI8HU{F*aOA3y1c>M1gdrzoUy??DQXMzYPek8 z{#B`kMTCSNO3`rk%F`D)rqfE}VSNdQ_{q8BMFJSU<+q8{ z+^wt(8CtscL?~@Y{5AtjD6WfJQdcUz%a1Qv?(*@9fQj!D5_&pAN6*}fZFzC-?1zSr zAEp3h;OQqAJKW+|Bx!p$SPhnUwZQT88-J_j!iLaj&F@-Q){fG!w4FJ5%SCAG^MA>@yPsO@QoCwIR+(j2#~j zE_C&H5pf!)6-Aeabw)9pnwfq58pre1ZM8@^Hccrw&J?ZPGV7lD8jLNsfQpt`0uQZQ z2i4&TUv32cph2CdytK#DO?7o>!>v*&?fIM6W4fxU9hEoxYh!p%D5Io%5f5U1##~O5 zC{(R?oVVzvZLaR{@sYErt;vKp9T!@8aOKRH(fPvOm%JtemA`~-`b*fbC{MRn<%;Si zuRJ@Pee^m|ipHDw%Es=)B#WcG*3>=*_{2AB-^cIPSJ_9Dt@Hg{toQ6@t#@(x@V!q5 zhvQLr7|e9DMd4UcF&$8iAO~*CYqCy2d=keQM zsz(B**JQOg0=~iZw&zj%w+|{^<4Sc<4qqetPjHjzw90g1OvCfRpdD|H=hpANbH9_l z*ya%B-!$09j^5&VeU-^${U_Ld0txzAdnL=|RK45OPh8aVbI#^fANHx9!8E$?jdk7- zmQ{bLt{g#ld53|^If->y{SLeD4=?Qb)Rb&q*b83+UY|H2QT1G zb1Hf86yi@xBjIl;jYK625Lx9Rc0o$K|M~EQF^sT=yaE$%ti~ahK}>bkw%9dX43)(N zrV~<8hW>$VpC^N9G@=g3b-h11jf|7TT|@?|dzF)XvkN+rL;>`>VCj$Ph~P4L`g{;W zA_bZc?n9Tipm)~5v?M!_ZCBYE{#(MR^q;jVmo4|q!^Mg`vLzUsUiCS$o@<}wSAS&B zyKlTIaI29?_R<1%Q{w#Xq}u^{D;>^{J}IrX;2NVP%KGj*BN$$-U!j-u+fy@fp4E(e zWa&q%>NM?2cS(%;dzN0lJWp`->t@f`%HmWeLTg`TaOFVGKziJP?8vCZ@dNj-pQpoj zx?Vjw7VVdhzH8dj+}d-CUKPt_SJ8uwetdN{Mm>mNrEmsdqI#+KI}e(_5Z_9E0NZJ$ z0QM;3u4m9j=w29N6mpnWYobu9cs^wy$ERS?{9*ZPC#BaT9SE6N*SNM1{nxL!#D<(H zxyM@S@k0Nq=qq`#_nAqC<=Pro#otlUc+%Jx`X2CZzzcSAlZO`e%GK$5jHY5ry+=~t zK7&r2m!7`NqC+skM7ba0hzycAFnCF*9T5 zUuA`$ZePC>{#x*|0`sP2z6`5TbT&$Unn9t!iBxXzkUTh?sXkUZ@JObS zhv#jPhK+aP60!TnRH{+uaEJQ&8hp~qRx&IU%}TUu7;Umvsp7zE3q{cujT%XAjzL8q zp1m1JvxX}r^O5cmtR`dJ)HzAo<^4Qn`p|>hed|{fbw91$V=kT^mHGZ9f5kwsKVU3D z`N^k+8e@pLmy7i`eNnr;JI_TuG1@;zKO#@wjxq{CWv|;if6d+2OYSiKw6j!Qa3~7e zIbI_DbZ86nE3a61cjHC6(2sC`pAtsL$1quEug?rO?96H!&Wr(*C9^^-f#01fB0ZTS z9S;m0FCs!``)ErRHfu{wWUY>l^jr@xes{}emFf$t!)Qf**VCetsMGx!=I)VM+)C@B z_I&;2-S|}>-u3W>s`IGpr{36#yNxci zvLf1Hbtb{stm2VIot(?el)We)0hR`3v1l2gUlql5hxyZWjZK{Dm;bq5N}vETRZl-^ zexp8|IVNOXQ*>E~R=p4>!?u7{AWq_Wn*I5{a+-VPx!|}n+=q`ptTg6(chl(Q%*iV= zCYm>yo#dCaa;DF@x{PAua+jXeKF|KNzx*>Rjn_0KpPuo$oT2$Tr{SGB>!|9YWbYgM z2l94kb3{0lTg?LnkAnt|h{T9QV4Z(HU9=yZdvA-bu7IHR+)uC{iDQ#{pBI>>V^n>Z zh3>`2YZ6)lGiu0Z2`AE%rHbMuQ@orWt@3CKy@i}zkxFHXq%Mt*fgav%@yQn&byVm? zaSD5O6(x&ok9^;;e~$ANtr>L`8edrzdXJP&Uh3=jDX@a*S}$MJdgl%%$iuEUt7iy= zkEqz*eKrFW>kPh<{y~F%;%;t+3L@DS_?o$eBN<8&;TNrwSj&rrn``G{B)eUI1Seo) zMX3gdpS*rz^ip|2^ZAKdLJE$qdOGGL(Ew{(9?Xsj8b4E0HSB8p%5tnK(ZMBA^5h*J zv(#zzAEF;oM~7x}7u!{v+pCN2R;C)GT}RyflX(Y-9}|| vFUhjT~HWJN?Lswf2 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 literal 0 HcmV?d00001 diff --git a/docs/user/graphics/versionManagement/PropertiesToMap.png b/docs/user/graphics/versionManagement/PropertiesToMap.png new file mode 100644 index 0000000000000000000000000000000000000000..485f844e1ae0a761f75379f129045d19e4707570 GIT binary patch literal 27767 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 literal 0 HcmV?d00001 diff --git a/docs/user/graphics/versionManagement/UpdatedNodeTemplate.jpeg b/docs/user/graphics/versionManagement/UpdatedNodeTemplate.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..b38b0e486a50c84ff01626da6f1a244794f0f33c GIT binary patch literal 75353 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 DKeF&C literal 0 HcmV?d00001 diff --git a/docs/user/index.md b/docs/user/index.md index 3a0d43a42a..d97304fe83 100644 --- a/docs/user/index.md +++ b/docs/user/index.md @@ -19,7 +19,7 @@ For more information on TOSCA see [our TOSCA information page](../tosca/). - [Compliance Checking](ComplianceChecking.md) - Enables compliance checking of Topology Templates based on reusable Compliance Rules - [Implementation Artifact Generation](generateIA.md) - Shows how to generate and update an implementation artifact of type .war - [Accountability](../../org.eclipse.winery.accountability/README.md) - Enables enforcing accountability in decentralized scenarios for collaborative development of CSARs - +- [Version Management](VersionManagement.md) - shows how to update the version of a node template in the topology modeler ## Background Literature [BBKL14] Breitenbücher, Uwe; Binz, Tobias; Kopp, Oliver; Leymann, Frank: Vinothek - A Self-Service Portal for TOSCA. In: Herzberg, Nico (Hrsg); Kunze, Matthias (Hrsg): Proceedings of the 6th Central-European Workshop on Services and their Composition (ZEUS 2014). @@ -35,7 +35,7 @@ More readings at . ## License -Copyright (c) 2017-2018 Contributors to the Eclipse Foundation +Copyright (c) 2017-2019 Contributors to the Eclipse Foundation See the NOTICE file(s) distributed with this work for additional information regarding copyright ownership. diff --git a/org.eclipse.winery.frontends/app/topologymodeler/src/app/canvas/canvas.component.ts b/org.eclipse.winery.frontends/app/topologymodeler/src/app/canvas/canvas.component.ts index 1c415e01e0..6407e63358 100644 --- a/org.eclipse.winery.frontends/app/topologymodeler/src/app/canvas/canvas.component.ts +++ b/org.eclipse.winery.frontends/app/topologymodeler/src/app/canvas/canvas.component.ts @@ -50,7 +50,7 @@ import { DifferenceStates, VersionUtils } from '../models/ToscaDiff'; import { ErrorHandlerService } from '../services/error-handler.service'; import { DragSource } from '../models/DragSource'; import { TopologyRendererState } from '../redux/reducers/topologyRenderer.reducer'; -import { Utils } from '../models/utils'; +import { TopologyTemplateUtil } from '../models/topologyTemplateUtil'; @Component({ selector: 'winery-canvas', @@ -316,12 +316,12 @@ export class CanvasComponent implements OnInit, OnDestroy, OnChanges, AfterViewI this.requirements.properties = currentNodeData.currentRequirement.properties.kvproperties; return true; } else { - this.requirements.properties = Utils.setKVProperties(reqType); + this.requirements.properties = TopologyTemplateUtil.setKVProperties(reqType); this.setDefaultReqKVProperties(); return true; } } else { - this.requirements.properties = Utils.setKVProperties(reqType); + this.requirements.properties = TopologyTemplateUtil.setKVProperties(reqType); this.setDefaultReqKVProperties(); return true; } @@ -398,12 +398,12 @@ export class CanvasComponent implements OnInit, OnDestroy, OnChanges, AfterViewI this.capabilities.properties = currentNodeData.currentCapability.properties.kvproperties; return true; } else { - this.capabilities.properties = Utils.setKVProperties(capType); + this.capabilities.properties = TopologyTemplateUtil.setKVProperties(capType); this.setDefaultCapKVProperties(); return true; } } else { - this.capabilities.properties = Utils.setKVProperties(capType); + this.capabilities.properties = TopologyTemplateUtil.setKVProperties(capType); this.setDefaultCapKVProperties(); return true; } @@ -639,7 +639,7 @@ export class CanvasComponent implements OnInit, OnDestroy, OnChanges, AfterViewI if (cap.full.serviceTemplateOrNodeTypeOrNodeTypeImplementation[0].any.length > 0) { this.capabilities.propertyType = 'KV'; this.showDefaultProperties = true; - this.capabilities.properties = Utils.setKVProperties(cap); + this.capabilities.properties = TopologyTemplateUtil.setKVProperties(cap); // if propertiesDefinition is defined it's a XML property } else if (cap.full.serviceTemplateOrNodeTypeOrNodeTypeImplementation[0].propertiesDefinition) { if (cap.full.serviceTemplateOrNodeTypeOrNodeTypeImplementation[0].propertiesDefinition.element) { @@ -745,7 +745,7 @@ export class CanvasComponent implements OnInit, OnDestroy, OnChanges, AfterViewI if (req.full.serviceTemplateOrNodeTypeOrNodeTypeImplementation[0].any.length > 0) { this.requirements.propertyType = 'KV'; this.showDefaultProperties = true; - this.requirements.properties = Utils.setKVProperties(req); + this.requirements.properties = TopologyTemplateUtil.setKVProperties(req); return true; // if propertiesDefinition is defined it's a XML property } else if (req.full.serviceTemplateOrNodeTypeOrNodeTypeImplementation[0].propertiesDefinition) { @@ -1907,7 +1907,7 @@ export class CanvasComponent implements OnInit, OnDestroy, OnChanges, AfterViewI this.selectedRelationshipType.name, relationshipId, this.selectedRelationshipType.qName, - Utils.getDefaultPropertiesFromEntityTypes(this.selectedRelationshipType.name, this.entityTypes.relationshipTypes), + TopologyTemplateUtil.getDefaultPropertiesFromEntityTypes(this.selectedRelationshipType.name, this.entityTypes.relationshipTypes), [], [], {} diff --git a/org.eclipse.winery.frontends/app/topologymodeler/src/app/enricher/enricher.component.ts b/org.eclipse.winery.frontends/app/topologymodeler/src/app/enricher/enricher.component.ts index 1e7a4713bd..28c19ff490 100644 --- a/org.eclipse.winery.frontends/app/topologymodeler/src/app/enricher/enricher.component.ts +++ b/org.eclipse.winery.frontends/app/topologymodeler/src/app/enricher/enricher.component.ts @@ -20,7 +20,7 @@ import { TopologyRendererState } from '../redux/reducers/topologyRenderer.reduce import { HttpErrorResponse } from '@angular/common/http'; import { ToastrService } from 'ngx-toastr'; import { TTopologyTemplate } from '../models/ttopology-template'; -import { Utils } from '../models/utils'; +import { TopologyTemplateUtil } from '../models/topologyTemplateUtil'; import { EnricherService } from './enricher.service'; import { Enrichment, FeatureEntity } from './enrichmentEntity'; @@ -205,7 +205,7 @@ export class EnricherComponent { * @param data: topology template that was updated */ private enrichmentApplied(data: TTopologyTemplate) { - Utils.updateTopologyTemplate(this.ngRedux, this.wineryActions, data); + TopologyTemplateUtil.updateTopologyTemplate(this.ngRedux, this.wineryActions, data); // reset available features since they are no longer valid this.availableFeatures = null; this.alert.success('Updated Topology Template!'); diff --git a/org.eclipse.winery.frontends/app/topologymodeler/src/app/models/UpdateInfo.ts b/org.eclipse.winery.frontends/app/topologymodeler/src/app/models/UpdateInfo.ts new file mode 100644 index 0000000000..80712dcc2d --- /dev/null +++ b/org.eclipse.winery.frontends/app/topologymodeler/src/app/models/UpdateInfo.ts @@ -0,0 +1,24 @@ +/******************************************************************************** + * Copyright (c) 2019 Contributors to the Eclipse Foundation + * + * See the NOTICE file(s) distributed with this work for additional + * information regarding copyright ownership. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0, or the Apache Software License 2.0 + * which is available at https://www.apache.org/licenses/LICENSE-2.0. + * + * SPDX-License-Identifier: EPL-2.0 OR Apache-2.0 + ********************************************************************************/ + +export class UpdateInfo { + + constructor(public nodeTemplateId: string, + public newComponentType: string, + public mappingList?: string[][], + public newList?: string[], + public resolvedList?: string[]) { + + } +} diff --git a/org.eclipse.winery.frontends/app/topologymodeler/src/app/models/entityTypesModel.ts b/org.eclipse.winery.frontends/app/topologymodeler/src/app/models/entityTypesModel.ts index 8173c7c2fd..27122058a6 100644 --- a/org.eclipse.winery.frontends/app/topologymodeler/src/app/models/entityTypesModel.ts +++ b/org.eclipse.winery.frontends/app/topologymodeler/src/app/models/entityTypesModel.ts @@ -1,5 +1,5 @@ /******************************************************************************** - * Copyright (c) 2017-2018 Contributors to the Eclipse Foundation + * Copyright (c) 2017-2019 Contributors to the Eclipse Foundation * * See the NOTICE file(s) distributed with this work for additional * information regarding copyright ownership. @@ -14,6 +14,7 @@ import { Entity, EntityType, TTopologyTemplate, VisualEntityType } from './ttopology-template'; import { TopologyModelerConfiguration } from './topologyModelerConfiguration'; +import { VersionElement } from './versionElement'; import { Visuals } from './visuals'; /** @@ -24,6 +25,7 @@ export class EntityTypesModel { artifactTypes: EntityType[]; capabilityTypes: EntityType[]; groupedNodeTypes: any[]; + versionElements: VersionElement[]; nodeVisuals: Visuals[]; relationshipVisuals: Visuals[]; policyTemplates: Entity[]; diff --git a/org.eclipse.winery.frontends/app/topologymodeler/src/app/models/propertyDiffList.ts b/org.eclipse.winery.frontends/app/topologymodeler/src/app/models/propertyDiffList.ts new file mode 100644 index 0000000000..3ad4cc5e3f --- /dev/null +++ b/org.eclipse.winery.frontends/app/topologymodeler/src/app/models/propertyDiffList.ts @@ -0,0 +1,20 @@ +/******************************************************************************* + * Copyright (c) 2019 Contributors to the Eclipse Foundation + * + * See the NOTICE file(s) distributed with this work for additional + * information regarding copyright ownership. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0, or the Apache Software License 2.0 + * which is available at https://www.apache.org/licenses/LICENSE-2.0. + * + * SPDX-License-Identifier: EPL-2.0 OR Apache-2.0 + *******************************************************************************/ + +export class PropertyDiffList { + + constructor(public resolvedProperties: string[], public removedProperties: string[], public newProperties: string[]) { + + } +} diff --git a/org.eclipse.winery.frontends/app/topologymodeler/src/app/models/utils.ts b/org.eclipse.winery.frontends/app/topologymodeler/src/app/models/topologyTemplateUtil.ts similarity index 94% rename from org.eclipse.winery.frontends/app/topologymodeler/src/app/models/utils.ts rename to org.eclipse.winery.frontends/app/topologymodeler/src/app/models/topologyTemplateUtil.ts index 94b2450516..0c99b7d923 100644 --- a/org.eclipse.winery.frontends/app/topologymodeler/src/app/models/utils.ts +++ b/org.eclipse.winery.frontends/app/topologymodeler/src/app/models/topologyTemplateUtil.ts @@ -19,7 +19,7 @@ import { NgRedux } from '@angular-redux/store'; import { IWineryState } from '../redux/store/winery.store'; import { WineryActions } from '../redux/actions/winery.actions'; -export class Utils { +export class TopologyTemplateUtil { static HORIZONTAL_OFFSET_FOR_NODES_WITHOUT_COORDINATES = 350; static VERTICAL_OFFSET_FOR_NODES_WITHOUT_COORDINATES = 200; @@ -117,7 +117,7 @@ export class Utils { } const state = topologyDifferences ? DifferenceStates.UNCHANGED : null; nodeTemplates.push( - Utils.createTNodeTemplateFromObject(node, nodeVisuals, state) + TopologyTemplateUtil.createTNodeTemplateFromObject(node, nodeVisuals, state) ); }); } @@ -140,7 +140,7 @@ export class Utils { if (element.full.serviceTemplateOrNodeTypeOrNodeTypeImplementation[0].any.length > 0 && element.full.serviceTemplateOrNodeTypeOrNodeTypeImplementation[0].any[0].propertyDefinitionKVList) { const properties = { - kvproperties: Utils.setKVProperties(element) + kvproperties: TopologyTemplateUtil.setKVProperties(element) }; return properties; } @@ -191,7 +191,7 @@ export class Utils { relationshipTemplateArray.forEach(relationship => { const state = topologyDifferences ? DifferenceStates.UNCHANGED : null; relationshipTemplates.push( - Utils.createTRelationshipTemplateFromObject(relationship, state) + TopologyTemplateUtil.createTRelationshipTemplateFromObject(relationship, state) ); }); } @@ -214,11 +214,11 @@ export class Utils { relationship => ngRedux.dispatch(wineryActions.deleteRelationshipTemplate(relationship.id)) ); - Utils.initNodeTemplates(topology.nodeTemplates, wineryState.nodeVisuals) + TopologyTemplateUtil.initNodeTemplates(topology.nodeTemplates, wineryState.nodeVisuals) .forEach( node => ngRedux.dispatch(wineryActions.saveNodeTemplate(node)) ); - Utils.initRelationTemplates(topology.relationshipTemplates) + TopologyTemplateUtil.initRelationTemplates(topology.relationshipTemplates) .forEach( relationship => ngRedux.dispatch(wineryActions.saveRelationship(relationship)) ); diff --git a/org.eclipse.winery.frontends/app/topologymodeler/src/app/models/versionElement.ts b/org.eclipse.winery.frontends/app/topologymodeler/src/app/models/versionElement.ts new file mode 100644 index 0000000000..e355f24e39 --- /dev/null +++ b/org.eclipse.winery.frontends/app/topologymodeler/src/app/models/versionElement.ts @@ -0,0 +1,34 @@ +/******************************************************************************** + * Copyright (c) 2019 Contributors to the Eclipse Foundation + * + * See the NOTICE file(s) distributed with this work for additional + * information regarding copyright ownership. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0, or the Apache Software License 2.0 + * which is available at https://www.apache.org/licenses/LICENSE-2.0. + * + * SPDX-License-Identifier: EPL-2.0 OR Apache-2.0 + *******************************************************************************/ +import { WineryVersion } from '../../../../tosca-management/src/app/model/wineryVersion'; + +export class VersionElement { + + versions: WineryVersion[]; + + constructor(public qName: string, versions: Array) { + this.versions = []; + versions.forEach(version => { + this.versions.push( + new WineryVersion(version.componentVersion, + version.wineryVersion, + version.workInProgressVersion, + version.currentVersion, + version.latestVersion, + version.releasable, + version.editable) + ); + }); + } +} diff --git a/org.eclipse.winery.frontends/app/topologymodeler/src/app/node/node.component.css b/org.eclipse.winery.frontends/app/topologymodeler/src/app/node/node.component.css index 9c10c90d13..d27f4035f8 100644 --- a/org.eclipse.winery.frontends/app/topologymodeler/src/app/node/node.component.css +++ b/org.eclipse.winery.frontends/app/topologymodeler/src/app/node/node.component.css @@ -1,5 +1,5 @@ /******************************************************************************** - * Copyright (c) 2017-2018 Contributors to the Eclipse Foundation + * Copyright (c) 2017-2019 Contributors to the Eclipse Foundation * * See the NOTICE file(s) distributed with this work for additional * information regarding copyright ownership. @@ -132,6 +132,10 @@ div.connectorLabel { text-overflow: ellipsis !important; } +td { + padding: 0; +} + button.btn.btn-sm.btn-outline-secondary { /* background-color: rgba(255,255,255,0.8);*/ background-color: rgba(237, 234, 230, 1) !important; @@ -180,3 +184,11 @@ button.btn.btn-sm.btn-outline-secondary:hover, button.btn.btn-sm.btn-outline-sec .policyAnnotation { margin: 3px; } + +.newVersionTriangle { + position: absolute; + right: -4px; + top: -12px; + color: red; + font-size: 20px; +} diff --git a/org.eclipse.winery.frontends/app/topologymodeler/src/app/node/node.component.html b/org.eclipse.winery.frontends/app/topologymodeler/src/app/node/node.component.html index 2ecd90a5b0..6f6cb1bcba 100644 --- a/org.eclipse.winery.frontends/app/topologymodeler/src/app/node/node.component.html +++ b/org.eclipse.winery.frontends/app/topologymodeler/src/app/node/node.component.html @@ -34,6 +34,11 @@ +
+ + +
+
diff --git a/org.eclipse.winery.frontends/app/topologymodeler/src/app/node/node.component.ts b/org.eclipse.winery.frontends/app/topologymodeler/src/app/node/node.component.ts index 72206701a3..cbb9402123 100644 --- a/org.eclipse.winery.frontends/app/topologymodeler/src/app/node/node.component.ts +++ b/org.eclipse.winery.frontends/app/topologymodeler/src/app/node/node.component.ts @@ -14,7 +14,7 @@ import { AfterViewInit, Component, ComponentRef, DoCheck, ElementRef, EventEmitter, Input, KeyValueDiffers, NgZone, - OnDestroy, OnInit, Output, Renderer2 + OnDestroy, OnInit, Output, Renderer2, ViewChild } from '@angular/core'; import { animate, keyframes, state, style, transition, trigger } from '@angular/animations'; import { NgRedux } from '@angular-redux/store'; @@ -32,6 +32,10 @@ import { TopologyRendererState } from '../redux/reducers/topologyRenderer.reduce import { TPolicy } from '../models/policiesModalData'; import { Visuals } from '../models/visuals'; +import { VersionElement } from '../models/versionElement'; +import { VersionsComponent } from './versions/versions.component'; +import { WineryVersion } from '../../../../tosca-management/src/app/model/wineryVersion'; + /** * Every node has its own component and gets created dynamically. */ @@ -89,6 +93,7 @@ export class NodeComponent implements OnInit, AfterViewInit, OnDestroy, DoCheck @Output() sendPaletteStatus: EventEmitter; @Output() sendNodeData: EventEmitter; + @ViewChild('versionModal') versionModal: VersionsComponent; previousPosition: any; currentPosition: any; nodeRef: ComponentRef; @@ -101,6 +106,10 @@ export class NodeComponent implements OnInit, AfterViewInit, OnDestroy, DoCheck // differ object for detecting changes made to the nodeTemplate object for DoCheck differ: any; + newerVersions: WineryVersion[]; + newerVersionExist: boolean; + newVersionElement: VersionElement; + constructor(private zone: NgZone, private $ngRedux: NgRedux, private actions: WineryActions, @@ -205,6 +214,9 @@ export class NodeComponent implements OnInit, AfterViewInit, OnDestroy, DoCheck this.policyIcons = null; } } + + this.addNewVersions(new QName(this.nodeTemplate.type)); // yannik + } /** @@ -437,4 +449,34 @@ export class NodeComponent implements OnInit, AfterViewInit, OnDestroy, DoCheck this.longpress = true; } } + + /** + * Adding all newer Versions of Node Type + */ + private addNewVersions(currentQname: QName): void { + this.newerVersions = new Array(); + this.newerVersionExist = true; + let index: number; + const currentVersionElement = this.entityTypes.versionElements.find(versionElement => { + + return versionElement.qName === currentQname.qName; + }); + + if (currentVersionElement) { + currentVersionElement.versions.find((version, indexNumber) => { + if (version.currentVersion) { + index = indexNumber; + } + return version.currentVersion; + }); + + this.newerVersions = currentVersionElement.versions.slice(0, index); + this.newVersionElement = new VersionElement(currentQname.qName, this.newerVersions); + } + + } + + public openVersionModal() { + this.versionModal.open(); + } } diff --git a/org.eclipse.winery.frontends/app/topologymodeler/src/app/node/versions/update.service.ts b/org.eclipse.winery.frontends/app/topologymodeler/src/app/node/versions/update.service.ts new file mode 100644 index 0000000000..ba19f14034 --- /dev/null +++ b/org.eclipse.winery.frontends/app/topologymodeler/src/app/node/versions/update.service.ts @@ -0,0 +1,55 @@ +/******************************************************************************** + * Copyright(c) 2019 Contributors to the Eclipse Foundation + * + * See the NOTICE file(s) distributed with this work for additional + * information regarding copyright ownership. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0, or the Apache Software License 2.0 + * which is available at https://www.apache.org/licenses/LICENSE-2.0. + * + * SPDX-License-Identifier: EPL-2.0 OR Apache-2.0 + ********************************************************************************/ + +import { Injectable } from '@angular/core'; +import { HttpClient, HttpHeaders } from '@angular/common/http'; +import { UpdateInfo } from '../../models/UpdateInfo'; +import { TopologyModelerConfiguration } from '../../models/topologyModelerConfiguration'; +import { Observable } from 'rxjs'; +import { BackendService } from '../../services/backend.service'; +import { TTopologyTemplate } from '../../models/ttopology-template'; +import { PropertyDiffList } from '../../models/propertyDiffList'; + +@Injectable() +export class UpdateService { + + configuration: TopologyModelerConfiguration; + + headers = new HttpHeaders().set('Content-Type', 'application/json'); + + url = this.backendService.configuration.repositoryURL + + '/' + this.backendService.configuration.parentPath + '/' + + encodeURIComponent(encodeURIComponent(this.backendService.configuration.ns)) + + '/' + this.backendService.configuration.id + + '/' + this.backendService.configuration.elementPath; + + constructor(private http: HttpClient, + private backendService: BackendService) { + + } + + update(updateInfo: UpdateInfo): Observable { + + const url = this.url + '/update'; + console.log(url); + console.log(updateInfo); + return this.http.post(url, updateInfo, { headers: this.headers }); + } + + getKVComparison(updateInfo: UpdateInfo): Observable { + const url = this.url + '/kvcomparison'; + return this.http.post(url, updateInfo, { headers: this.headers }); + } + +} diff --git a/org.eclipse.winery.frontends/app/topologymodeler/src/app/node/versions/versions.component.css b/org.eclipse.winery.frontends/app/topologymodeler/src/app/node/versions/versions.component.css new file mode 100644 index 0000000000..1e56de5412 --- /dev/null +++ b/org.eclipse.winery.frontends/app/topologymodeler/src/app/node/versions/versions.component.css @@ -0,0 +1,22 @@ +/******************************************************************************* + * Copyright (c) 2019 Contributors to the Eclipse Foundation + * + * See the NOTICE file(s) distributed with this work for additional + * information regarding copyright ownership. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0, or the Apache Software License 2.0 + * which is available at https://www.apache.org/licenses/LICENSE-2.0. + * + * SPDX-License-Identifier: EPL-2.0 OR Apache-2.0 + *******************************************************************************/ + +.propertiesMappingData { + padding-right: 10px; +} + +p { + margin-top: 10px; + margin-left: 10px; +} diff --git a/org.eclipse.winery.frontends/app/topologymodeler/src/app/node/versions/versions.component.html b/org.eclipse.winery.frontends/app/topologymodeler/src/app/node/versions/versions.component.html new file mode 100644 index 0000000000..c035e47820 --- /dev/null +++ b/org.eclipse.winery.frontends/app/topologymodeler/src/app/node/versions/versions.component.html @@ -0,0 +1,76 @@ + + + + + + + +
+ {{" " + + wineryVersion.toReadableString()}}
+
+
+ +
+ + +
+ + + +

Click continue when you finished mapping. Click save to finish updating the Node Template.

+ + + + + + + + + + + + + +
+ NEW + + REMOVED + + RESOLVED +
+ + {{propertyDiff.newProperties[i]}} + + + {{propertyDiff.removedProperties[i]}} + + + {{propertyDiff.resolvedProperties[i]}} +
+
+ + +
diff --git a/org.eclipse.winery.frontends/app/topologymodeler/src/app/node/versions/versions.component.ts b/org.eclipse.winery.frontends/app/topologymodeler/src/app/node/versions/versions.component.ts new file mode 100644 index 0000000000..849cbde6a8 --- /dev/null +++ b/org.eclipse.winery.frontends/app/topologymodeler/src/app/node/versions/versions.component.ts @@ -0,0 +1,167 @@ +/******************************************************************************* + * Copyright (c) 2019 Contributors to the Eclipse Foundation + * + * See the NOTICE file(s) distributed with this work for additional + * information regarding copyright ownership. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0, or the Apache Software License 2.0 + * which is available at https://www.apache.org/licenses/LICENSE-2.0. + * + * SPDX-License-Identifier: EPL-2.0 OR Apache-2.0 + *******************************************************************************/ + +import { Component, Input, OnInit, ViewChild } from '@angular/core'; +import { BsModalRef, BsModalService, ModalDirective } from 'ngx-bootstrap'; +import { VersionElement } from '../../models/versionElement'; +import { UpdateInfo } from '../../models/UpdateInfo'; +import { UpdateService } from './update.service'; +import { ErrorHandlerService } from '../../services/error-handler.service'; +import { TTopologyTemplate } from '../../models/ttopology-template'; +import { NgRedux } from '@angular-redux/store'; +import { IWineryState } from '../../redux/store/winery.store'; +import { TopologyTemplateUtil } from '../../models/topologyTemplateUtil'; +import { WineryActions } from '../../redux/actions/winery.actions'; +import { PropertyDiffList } from '../../models/propertyDiffList'; +import { Utils } from '../../../../../tosca-management/src/app/wineryUtils/utils'; +import { WineryVersion } from '../../../../../tosca-management/src/app/model/wineryVersion'; + +@Component({ + selector: 'winery-versions', + templateUrl: './versions.component.html', + styleUrls: ['./versions.component.css'], + providers: [UpdateService] +}) +export class VersionsComponent implements OnInit { + + chosenVersion: WineryVersion; + + choosedNewProperty: string; + choosedRemovedProperty: string; + + // first entry newProperties, second entry removedProperties + matchedProperties: string[][]; + + @ViewChild('updateVersionModal') updateVersionModal: ModalDirective; + updateVersionModalRef: BsModalRef; + + @ViewChild('updatePropertyModal') updatePropertyModal: ModalDirective; + updatePropertyModalRef: BsModalRef; + + @Input() aVersionElement: VersionElement; + @Input() nodeTemplateId: string; + @Input() nodeType: string; + qNamePrefix: string; + versions: WineryVersion[]; + kvComparison: any; + versionClicked = false; + continueOrMap: string; + + propertyDiff: PropertyDiffList; + + constructor(private modalService: BsModalService, + private updateService: UpdateService, + private errorHandler: ErrorHandlerService, + private ngRedux: NgRedux, + private wineryActions: WineryActions) { + } + + ngOnInit() { + this.qNamePrefix = this.aVersionElement.qName.split('}')[0] + '}'; + this.versions = this.aVersionElement.versions; + } + + readProperties(removedProperties: number, newProperties: number, resolvedProperties: number) { + if (Math.max(removedProperties, newProperties) >= resolvedProperties) { + return removedProperties >= newProperties ? this.propertyDiff.removedProperties : this.propertyDiff.newProperties; + } + return this.propertyDiff.resolvedProperties; + } + + open() { + this.updateVersionModalRef = this.modalService.show(this.updateVersionModal); + this.versionClicked = false; + } + + openProperty() { + this.updatePropertyModalRef = this.modalService.show(this.updatePropertyModal); + + this.continueOrMap = 'Continue'; + + } + + matchProperties() { + if (this.choosedNewProperty != null && this.choosedRemovedProperty != null) { + this.matchedProperties.push([this.choosedNewProperty, this.choosedRemovedProperty]); + this.propertyDiff.newProperties.splice(this.propertyDiff.newProperties.indexOf(this.choosedNewProperty), 1); + this.propertyDiff.removedProperties.splice(this.propertyDiff.removedProperties.indexOf(this.choosedRemovedProperty), 1); + + this.choosedRemovedProperty = null; + this.choosedNewProperty = null; + + this.continueOrMap = 'Continue'; + } + + } + + triggerUpdate(nodeTemplateId: string) { + + const qName = this.qNamePrefix + Utils.getNameWithoutVersion(Utils.getNameFromQName(this.nodeType)) + + WineryVersion.WINERY_NAME_FROM_VERSION_SEPARATOR + this.chosenVersion.toString(); + this.updateService.update(new UpdateInfo(nodeTemplateId, qName, + this.matchedProperties, + this.propertyDiff.newProperties, + this.propertyDiff.resolvedProperties)) + .subscribe( + data => this.updateTopology(data), + error => this.errorHandler.handleError(error) + ); + } + + selectedVersion(version: WineryVersion) { + this.kvComparison = null; + this.chosenVersion = version; + this.showKVComparison(); + this.versionClicked = true; + } + + selectedNewProperty(newProperty: string) { + this.continueOrMap = 'Map'; + this.choosedNewProperty = newProperty; + } + + selectedRemovedProperty(removedProperty) { + this.continueOrMap = 'Map'; + this.choosedRemovedProperty = removedProperty; + } + + updateTopology(topology: TTopologyTemplate) { + TopologyTemplateUtil.updateTopologyTemplate(this.ngRedux, this.wineryActions, topology); + } + + showKVComparison() { + const qName = this.qNamePrefix + Utils.getNameWithoutVersion(Utils.getNameFromQName(this.nodeType)) + + WineryVersion.WINERY_NAME_FROM_VERSION_SEPARATOR + this.chosenVersion.toString(); + + this.updateService.getKVComparison(new UpdateInfo(this.nodeTemplateId, qName)) + .subscribe( + data => this.propertyDiff = new PropertyDiffList(data.resolvedProperties, data.removedProperties, data.newProperties) + ); + + this.matchedProperties = []; + this.choosedNewProperty = null; + this.choosedRemovedProperty = null; + } + + triggerUpdateOrMatchProperties(nodeTemplateId: string) { + if (this.continueOrMap.trim() === 'Continue') { + this.triggerUpdate(nodeTemplateId); + } else { + this.matchProperties(); + + this.openProperty(); + } + } + +} diff --git a/org.eclipse.winery.frontends/app/topologymodeler/src/app/palette/palette.component.ts b/org.eclipse.winery.frontends/app/topologymodeler/src/app/palette/palette.component.ts index 6ccb065366..575892ceea 100644 --- a/org.eclipse.winery.frontends/app/topologymodeler/src/app/palette/palette.component.ts +++ b/org.eclipse.winery.frontends/app/topologymodeler/src/app/palette/palette.component.ts @@ -20,7 +20,7 @@ import { IWineryState } from '../redux/store/winery.store'; import { TNodeTemplate } from '../models/ttopology-template'; import { NewNodeIdTypeColorPropertiesModel } from '../models/newNodeIdTypeColorModel'; import { Subscription } from 'rxjs'; -import { Utils } from '../models/utils'; +import { TopologyTemplateUtil } from '../models/topologyTemplateUtil'; import { EntityTypesModel } from '../models/entityTypesModel'; import { GroupedNodeTypeModel } from '../models/groupedNodeTypeModel'; import { hostURL } from '../models/configuration'; @@ -139,7 +139,7 @@ export class PaletteComponent implements OnDestroy { const y = $event.pageY - this.newNodePositionOffsetY; const newIdTypeColorProperties = this.generateIdTypeAndProperties(child.text); - const nodeVisuals: Visuals = Utils.getNodeVisualsForNodeTemplate(newIdTypeColorProperties.type, this.entityTypes.nodeVisuals); + const nodeVisuals: Visuals = TopologyTemplateUtil.getNodeVisualsForNodeTemplate(newIdTypeColorProperties.type, this.entityTypes.nodeVisuals); const newNode: TNodeTemplate = new TNodeTemplate( newIdTypeColorProperties.properties, newIdTypeColorProperties.id, @@ -190,7 +190,7 @@ export class PaletteComponent implements OnDestroy { return { id: this.backendService.configuration.idPrefix + newId, type: type, - properties: Utils.getDefaultPropertiesFromEntityTypes(name , this.entityTypes.unGroupedNodeTypes) + properties: TopologyTemplateUtil.getDefaultPropertiesFromEntityTypes(name , this.entityTypes.unGroupedNodeTypes) }; } } @@ -214,7 +214,7 @@ export class PaletteComponent implements OnDestroy { const result = { id: this.backendService.configuration.idPrefix + node.id, type: node.qName, - properties: Utils.getDefaultPropertiesFromEntityTypes(name, this.entityTypes.unGroupedNodeTypes) + properties: TopologyTemplateUtil.getDefaultPropertiesFromEntityTypes(name, this.entityTypes.unGroupedNodeTypes) }; return result; } @@ -231,7 +231,7 @@ export class PaletteComponent implements OnDestroy { } getImageUrl(child: GroupedNodeTypeModel): string { - const visuals = Utils.getNodeVisualsForNodeTemplate(child.id, + const visuals = TopologyTemplateUtil.getNodeVisualsForNodeTemplate(child.id, this.entityTypes.nodeVisuals); // if the node doesn't have a picture the URL is "null" diff --git a/org.eclipse.winery.frontends/app/topologymodeler/src/app/problemDetection/problemDetection.component.ts b/org.eclipse.winery.frontends/app/topologymodeler/src/app/problemDetection/problemDetection.component.ts index a0b4aa6920..8e4352fdf5 100644 --- a/org.eclipse.winery.frontends/app/topologymodeler/src/app/problemDetection/problemDetection.component.ts +++ b/org.eclipse.winery.frontends/app/topologymodeler/src/app/problemDetection/problemDetection.component.ts @@ -23,7 +23,7 @@ import { HttpErrorResponse } from '@angular/common/http'; import { BackendService } from '../services/backend.service'; import { SolutionInputData } from './solutionEntity'; import { TTopologyTemplate } from '../models/ttopology-template'; -import { Utils } from '../models/utils'; +import { TopologyTemplateUtil } from '../models/topologyTemplateUtil'; import { WineryActions } from '../redux/actions/winery.actions'; @Component({ @@ -131,7 +131,7 @@ export class ProblemDetectionComponent { } private solutionApplied(data: TTopologyTemplate) { - Utils.updateTopologyTemplate(this.ngRedux, this.wineryActions, data); + TopologyTemplateUtil.updateTopologyTemplate(this.ngRedux, this.wineryActions, data); this.loading = false; } } diff --git a/org.eclipse.winery.frontends/app/topologymodeler/src/app/refinementSidebar/refinementSidebar.component.ts b/org.eclipse.winery.frontends/app/topologymodeler/src/app/refinementSidebar/refinementSidebar.component.ts index 51f0a243bb..86458cbbb3 100644 --- a/org.eclipse.winery.frontends/app/topologymodeler/src/app/refinementSidebar/refinementSidebar.component.ts +++ b/org.eclipse.winery.frontends/app/topologymodeler/src/app/refinementSidebar/refinementSidebar.component.ts @@ -18,7 +18,7 @@ import { NgRedux } from '@angular-redux/store'; import { IWineryState } from '../redux/store/winery.store'; import { TopologyRendererActions } from '../redux/actions/topologyRenderer.actions'; import { WineryActions } from '../redux/actions/winery.actions'; -import { Utils } from '../models/utils'; +import { TopologyTemplateUtil } from '../models/topologyTemplateUtil'; @Component({ selector: 'winery-refinement', @@ -97,7 +97,7 @@ export class RefinementSidebarComponent implements OnDestroy { } if (value.currentTopology) { - Utils.updateTopologyTemplate(this.ngRedux, this.wineryActions, value.currentTopology); + TopologyTemplateUtil.updateTopologyTemplate(this.ngRedux, this.wineryActions, value.currentTopology); } else { this.openModelerFor(value.serviceTemplateContainingRefinements.xmlId.decoded, value.serviceTemplateContainingRefinements.namespace.decoded, diff --git a/org.eclipse.winery.frontends/app/topologymodeler/src/app/services/backend.service.ts b/org.eclipse.winery.frontends/app/topologymodeler/src/app/services/backend.service.ts index 8ef2fa1b23..ebf0a4a6f6 100644 --- a/org.eclipse.winery.frontends/app/topologymodeler/src/app/services/backend.service.ts +++ b/org.eclipse.winery.frontends/app/topologymodeler/src/app/services/backend.service.ts @@ -27,6 +27,7 @@ import { forkJoin } from 'rxjs'; import { TopologyModelerConfiguration } from '../models/topologyModelerConfiguration'; import { ErrorHandlerService } from './error-handler.service'; import { Visuals } from '../models/visuals'; +import { VersionElement } from '../models/versionElement'; import { WineryRepositoryConfigurationService } from '../../../../tosca-management/src/app/wineryFeatureToggleModule/WineryRepositoryConfiguration.service'; /** @@ -100,6 +101,7 @@ export class BackendService { this.requestPolicyTemplates(), this.requestRelationshipTypes(), this.requestNodeTypes(), + this.requestVersionElements(), this.configurationService.getConfigurationFromBackend(this.configuration.repositoryURL) ); } @@ -347,4 +349,10 @@ export class BackendService { const url = this.configuration.repositoryURL + urlElement.ServiceTemplates; return this.http.get(url, { headers: this.headers }); } + + requestVersionElements(): Observable { + if (this.configuration) { + return this.http.get(this.serviceTemplateURL + '/newversions', { headers: this.headers }); + } + } } diff --git a/org.eclipse.winery.frontends/app/topologymodeler/src/app/services/statefulAnnotations.service.ts b/org.eclipse.winery.frontends/app/topologymodeler/src/app/services/statefulAnnotations.service.ts index 827791770f..04b1640b1b 100644 --- a/org.eclipse.winery.frontends/app/topologymodeler/src/app/services/statefulAnnotations.service.ts +++ b/org.eclipse.winery.frontends/app/topologymodeler/src/app/services/statefulAnnotations.service.ts @@ -17,7 +17,7 @@ import { IWineryState } from '../redux/store/winery.store'; import { HttpClient } from '@angular/common/http'; import { BackendService } from './backend.service'; import { TTopologyTemplate } from '../models/ttopology-template'; -import { Utils } from '../models/utils'; +import { TopologyTemplateUtil } from '../models/topologyTemplateUtil'; import { ErrorHandlerService } from './error-handler.service'; import { WineryActions } from '../redux/actions/winery.actions'; import { TopologyRendererActions } from '../redux/actions/topologyRenderer.actions'; @@ -71,7 +71,7 @@ export class StatefulAnnotationsService { this.http.get(url) .subscribe( - data => Utils.updateTopologyTemplate(this.ngRedux, this.actions, data), + data => TopologyTemplateUtil.updateTopologyTemplate(this.ngRedux, this.actions, data), error => this.errorHandler.handleError(error) ); } @@ -87,7 +87,7 @@ export class StatefulAnnotationsService { this.http.get(url) .subscribe( data => { - Utils.updateTopologyTemplate(this.ngRedux, this.actions, data.topologyTemplate); + TopologyTemplateUtil.updateTopologyTemplate(this.ngRedux, this.actions, data.topologyTemplate); if (data.errorList && data.errorList.length > 0) { this.alert.warning( 'There were no freeze operations found for some stateful components!', diff --git a/org.eclipse.winery.frontends/app/topologymodeler/src/app/topology-renderer/topology-renderer.component.ts b/org.eclipse.winery.frontends/app/topologymodeler/src/app/topology-renderer/topology-renderer.component.ts index 43ee82c5fc..694049cb3d 100644 --- a/org.eclipse.winery.frontends/app/topologymodeler/src/app/topology-renderer/topology-renderer.component.ts +++ b/org.eclipse.winery.frontends/app/topologymodeler/src/app/topology-renderer/topology-renderer.component.ts @@ -1,5 +1,5 @@ /******************************************************************************** - * Copyright (c) 2017-2018 Contributors to the Eclipse Foundation + * Copyright (c) 2017-2019 Contributors to the Eclipse Foundation * * See the NOTICE file(s) distributed with this work for additional * information regarding copyright ownership. @@ -22,7 +22,7 @@ import { WineryActions } from '../redux/actions/winery.actions'; import { IWineryState } from '../redux/store/winery.store'; import { ILoaded } from '../services/loaded.service'; import { Subscription } from 'rxjs'; -import { Utils } from '../models/utils'; +import { TopologyTemplateUtil } from '../models/topologyTemplateUtil'; import { EntityTypesModel } from '../models/entityTypesModel'; /** @@ -96,7 +96,7 @@ export class TopologyRendererComponent implements OnInit, OnDestroy { if (node.state === DifferenceStates.REMOVED) { current = this.oldTopology.nodeTemplates.find(item => item.id === node.element); - current = Utils.createTNodeTemplateFromObject(current, this.entityTypes.nodeVisuals, node.state); + current = TopologyTemplateUtil.createTNodeTemplateFromObject(current, this.entityTypes.nodeVisuals, node.state); this.nodeTemplates.push(current); } else { current.state = node.state; diff --git a/org.eclipse.winery.frontends/app/topologymodeler/src/app/topology-renderer/topology-renderer.module.ts b/org.eclipse.winery.frontends/app/topologymodeler/src/app/topology-renderer/topology-renderer.module.ts index e2b49b5df6..f85b2508bd 100644 --- a/org.eclipse.winery.frontends/app/topologymodeler/src/app/topology-renderer/topology-renderer.module.ts +++ b/org.eclipse.winery.frontends/app/topologymodeler/src/app/topology-renderer/topology-renderer.module.ts @@ -39,6 +39,7 @@ import { EntitiesModalComponent } from '../canvas/entities-modal/entities-modal. import { LocalnamePipe } from '../pipes/localname.pipe'; import { TooltipModule } from 'ngx-bootstrap/tooltip'; import { PopoverModule } from 'ngx-bootstrap/popover'; +import { VersionsComponent } from '../node/versions/versions.component'; import { PropertiesModule } from '../properties/properties.module'; import { WineryModalModule } from '../../../../tosca-management/src/app/wineryModalModule/winery.modal.module'; import { WineryFeatureToggleModule } from '../../../../tosca-management/src/app/wineryFeatureToggleModule/winery-feature-toggle.module'; @@ -74,7 +75,8 @@ import { WineryFeatureToggleModule } from '../../../../tosca-management/src/app/ CapabilitiesComponent, ToscatypeTableComponent, EntitiesModalComponent, - LocalnamePipe + LocalnamePipe, + VersionsComponent ], exports: [ TopologyRendererComponent, diff --git a/org.eclipse.winery.frontends/app/topologymodeler/src/app/winery.component.ts b/org.eclipse.winery.frontends/app/topologymodeler/src/app/winery.component.ts index 50786b217c..901bdd6c95 100644 --- a/org.eclipse.winery.frontends/app/topologymodeler/src/app/winery.component.ts +++ b/org.eclipse.winery.frontends/app/topologymodeler/src/app/winery.component.ts @@ -24,12 +24,13 @@ import { NgRedux } from '@angular-redux/store'; import { IWineryState } from './redux/store/winery.store'; import { ToscaDiff } from './models/ToscaDiff'; import { isNullOrUndefined } from 'util'; -import { Utils } from './models/utils'; +import { TopologyTemplateUtil } from './models/topologyTemplateUtil'; import { EntityTypesModel, TopologyModelerInputDataFormat } from './models/entityTypesModel'; import { ActivatedRoute } from '@angular/router'; import { TopologyModelerConfiguration } from './models/topologyModelerConfiguration'; import { ToastrService } from 'ngx-toastr'; import { TopologyRendererState } from './redux/reducers/topologyRenderer.reducer'; +import { VersionElement } from './models/versionElement'; import { TopologyRendererActions } from './redux/actions/topologyRenderer.actions'; import { WineryRepositoryConfigurationService } from '../../../tosca-management/src/app/wineryFeatureToggleModule/WineryRepositoryConfiguration.service'; @@ -45,7 +46,7 @@ export class WineryComponent implements OnInit, AfterViewInit { // If this input variable is not null, it means that data is passed to the topologymodeler to be rendered. @Input() topologyModelerData: TopologyModelerInputDataFormat; - + versionElements: VersionElement[]; sidebarDeleteButtonClickEvent: any; nodeTemplates: Array = []; relationshipTemplates: Array = []; @@ -206,6 +207,13 @@ export class WineryComponent implements OnInit, AfterViewInit { this.entityTypes.groupedNodeTypes = entityTypeJSON; break; } + case 'versionElements': { + this.entityTypes.versionElements = []; + entityTypeJSON.forEach((versionElements => { + this.entityTypes.versionElements.push(new VersionElement(versionElements.qName, versionElements.versions)); + })); + break; + } case 'unGroupedNodeTypes': { this.entityTypes.unGroupedNodeTypes = entityTypeJSON; break; @@ -245,9 +253,9 @@ export class WineryComponent implements OnInit, AfterViewInit { initTopologyTemplate(nodeTemplateArray: Array, relationshipTemplateArray: Array) { // init node templates - this.nodeTemplates = Utils.initNodeTemplates(nodeTemplateArray, this.entityTypes.nodeVisuals, this.topologyDifferences); + this.nodeTemplates = TopologyTemplateUtil.initNodeTemplates(nodeTemplateArray, this.entityTypes.nodeVisuals, this.topologyDifferences); // init relationship templates - this.relationshipTemplates = Utils.initRelationTemplates(relationshipTemplateArray, this.topologyDifferences); + this.relationshipTemplates = TopologyTemplateUtil.initRelationTemplates(relationshipTemplateArray, this.topologyDifferences); } initiateData(): void { @@ -298,6 +306,9 @@ export class WineryComponent implements OnInit, AfterViewInit { // NodeTypes this.initEntityType(JSON[9], 'unGroupedNodeTypes'); + // Version Elements + this.initEntityType(JSON[10], 'versionElements'); + this.triggerLoaded('everything'); }); } diff --git a/org.eclipse.winery.frontends/app/topologymodeler/src/assets/styles/styles.scss b/org.eclipse.winery.frontends/app/topologymodeler/src/assets/styles/styles.scss index 1ebe7f9f53..4d9445ff16 100644 --- a/org.eclipse.winery.frontends/app/topologymodeler/src/assets/styles/styles.scss +++ b/org.eclipse.winery.frontends/app/topologymodeler/src/assets/styles/styles.scss @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2018 Contributors to the Eclipse Foundation + * Copyright (c) 2018-2019 Contributors to the Eclipse Foundation * * See the NOTICE file(s) distributed with this work for additional * information regarding copyright ownership. @@ -190,7 +190,7 @@ table tr { } td { - padding: 0 !important; + padding: 0 ; } .td-key { diff --git a/org.eclipse.winery.frontends/app/topologymodeler/src/index.html b/org.eclipse.winery.frontends/app/topologymodeler/src/index.html index 997a475696..59bb500f47 100644 --- a/org.eclipse.winery.frontends/app/topologymodeler/src/index.html +++ b/org.eclipse.winery.frontends/app/topologymodeler/src/index.html @@ -1,6 +1,6 @@