package Ġru . spb stu . ks pt . library migration . models Ċ Ċ import Ġru . spb stu . ks pt . library migration .* Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġart y om Ġon Ġ 1 6 . 0 6 . 1 6 . Ċ Ġ*/ Ċ Ċ fun Ġmake Graph 1 (): ĠLibrary Ġ{ ĊĠĠĠ Ġval Ġnode Ġ= ĠState Machine ( name Ġ= Ġ" Node ") ĊĠĠĠ Ġval Ġnum Ġ= ĠState Machine ( name Ġ= Ġ" Number ") ĊĠĠĠ Ġval Ġparent Ġ= Ġnode . inherit ( name Ġ= Ġ" parent ") ĊĠĠĠ Ġval Ġchild Ġ= Ġnode . inherit ( name Ġ= Ġ" child ") ĊĠĠĠ Ġval ĠgetNode Ġ= ĠCall Edge ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmachine Ġ= Ġnode , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠmethodName Ġ= Ġ" getNode ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparam Ġ= ĠlistOf ( Entity Param ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmachine Ġ= Ġnum ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġval ĠgetNum Ġ= ĠCall Edge ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmachine Ġ= Ġnode , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠmethodName Ġ= Ġ" getNode Num " ĊĠĠĠ Ġ) ĊĊĠĠĠ ĠLinked Edge ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmachine Ġ= Ġnode , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdst Ġ= Ġchild . getDefault State (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġedge Ġ= ĠgetNode ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġval ĠgetParent Ġ= ĠCall Edge ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmachine Ġ= Ġnode , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠmethodName Ġ= Ġ" getParent " ĊĠĠĠ Ġ) ĊĊĠĠĠ ĠLinked Edge ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmachine Ġ= Ġnode , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdst Ġ= Ġparent . getDefault State (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġedge Ġ= ĠgetParent ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġval Ġnode List Ġ= ĠState Machine ( name Ġ= Ġ" NodeList ") ĊĊĠĠĠ ĠMake Array Edge ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmachine Ġ= Ġnode , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdst Ġ= Ġnode List . getDefault State (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Size Ġ= ĠgetNum , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠgetItem Ġ= ĠgetNode ĊĠĠĠ Ġ) Ċ Ċ // ĠĠĠ ĠEdge ( Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġmachine Ġ= Ġnode List , Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġdst Ġ= Ġchild . getDefault State (), Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġaction Ġ= ĠCall Action ( Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠmethodName Ġ= Ġ" get ", Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparam Ġ= ĠEntity Param ( Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġentity Ġ= ĠGraph Entities . num , Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpos Ġ= Ġ 0 Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ċ // ĠĠĠ Ġ) ĊĊĠĠĠ Ġreturn ĠLibrary ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" graph 1 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstate Machines Ġ= ĠlistOf ( node , Ġnode List , Ġparent , Ġchild ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmachine Types Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnode Ġto Ġ" Node 1 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnode List Ġto Ġ" List < Node 1 >", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnum Ġto Ġ" int " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ) Ċ } Ċ Ċ fun Ġmake Graph 2 (): ĠLibrary Ġ{ ĊĠĠĠ Ġval Ġnode List Ġ= ĠState Machine ( name Ġ= Ġ" NodeList ") ĊĠĠĠ Ġval Ġnum Ġ= ĠState Machine ( name Ġ= Ġ" Number ") ĊĊĠĠĠ Ġval Ġlist Get Ġ= ĠCall Edge ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmachine Ġ= Ġnode List , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠmethodName Ġ= Ġ" get ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparam Ġ= ĠlistOf ( Entity Param ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmachine Ġ= Ġnum ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġval Ġnode Ġ= ĠState Machine ( name Ġ= Ġ" Node ") ĊĠĠĠ Ġval Ġparent Ġ= Ġnode . inherit ( name Ġ= Ġ" parent ") ĊĠĠĠ Ġval Ġchild Ġ= Ġnode . inherit ( name Ġ= Ġ" child ") ĊĊĠĠĠ Ġval ĠgetNode Ġ= ĠCall Edge ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmachine Ġ= Ġnode , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠmethodName Ġ= Ġ" getNode List " ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġval ĠgetParent Ġ= ĠCall Edge ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmachine Ġ= Ġnode , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠmethodName Ġ= Ġ" getParent Node " ĊĠĠĠ Ġ) ĊĊĠĠĠ ĠLinked Edge ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmachine Ġ= Ġnode , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdst Ġ= Ġparent . getDefault State (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġedge Ġ= ĠgetParent ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġval Ġlist Node Create Ġ= ĠLinked Edge ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmachine Ġ= Ġnode , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdst Ġ= Ġnode List . getDefault State (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġedge Ġ= ĠgetNode ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġval Ġnode Create Ġ= ĠLinked Edge ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmachine Ġ= Ġnode List , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdst Ġ= Ġchild . getDefault State (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġedge Ġ= Ġlist Get ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġreturn ĠLibrary ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" graph 2 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstate Machines Ġ= ĠlistOf ( node , Ġnode List , Ġparent , Ġchild ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmachine Types Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnode Ġto Ġ" Node 2 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnode List Ġto Ġ" List < Node 2 >", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnum Ġto Ġ" int " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ) Ċ }