diff --git a/src/main/scala/org/rosi_project/model_sync/generator/sync/InstanceCombiGenerator.scala b/src/main/scala/org/rosi_project/model_sync/generator/sync/InstanceCombiGenerator.scala index 4cefc3eb377e2768ca6402374e5478874d24a706..a631992ff2dfbd6a162cf3b8dec870b1d8b45b8b 100644 --- a/src/main/scala/org/rosi_project/model_sync/generator/sync/InstanceCombiGenerator.scala +++ b/src/main/scala/org/rosi_project/model_sync/generator/sync/InstanceCombiGenerator.scala @@ -48,7 +48,7 @@ class InstanceCombiGenerator(val clsins: ClassAndInstance) extends SModelVisitor val realRc = rc.asInstanceOf[SRelationalCompartmentClass] //println(" AN: " + att.getName + " l1: " + l.usedType.getName + " l2: " + lnow.usedType.getName + " RC: " + realRc.connectedRef.getName + " SN: " + realRc.sClass.getName + " TN: " + realRc.tClass.getName) if (realRc.connectedRef.getName == att.getName && l.usedType.proofHierarchicalEquality(realRc.sClass) && lnow.usedType.proofHierarchicalEquality(realRc.tClass)) { - val s = s"new ${realRc.getName}(${l.getName()}, ${lnow.getName()})" + val s = s"(new ${realRc.getName}(${l.getName()}, ${lnow.getName()})).initialize()" generationLines = generationLines :+ new InstanceLine(0, null, realRc, s) } }) @@ -64,7 +64,7 @@ class InstanceCombiGenerator(val clsins: ClassAndInstance) extends SModelVisitor val realRc = rc.asInstanceOf[SRelationalCompartmentClass] //println(" AN: " + att.getName + " l1: " + l.usedType.getName + " l2: " + lnow.usedType.getName + " RC: " + realRc.connectedRef.getName + " SN: " + realRc.sClass.getName + " TN: " + realRc.tClass.getName) if (realRc.connectedRef.getName == att.getName && l.usedType.proofHierarchicalEquality(realRc.sClass) && lnow.usedType.proofHierarchicalEquality(realRc.tClass)) { - val s = s"new ${realRc.getName}(${l.getName()}, ${lnow.getName()})" + val s = s"(new ${realRc.getName}(${l.getName()}, ${lnow.getName()})).initialize()" generationLines = generationLines :+ new InstanceLine(0, null, realRc, s) } }) diff --git a/src/main/scala/org/rosi_project/model_sync/generator/sync/RelationCompartmentGeneratingVisitor.scala b/src/main/scala/org/rosi_project/model_sync/generator/sync/RelationCompartmentGeneratingVisitor.scala index 7349415bbd690039b56fe267cedc36486eaa3e5e..c4bdc7d4590851a32e7f408a02ef3a19264692db 100644 --- a/src/main/scala/org/rosi_project/model_sync/generator/sync/RelationCompartmentGeneratingVisitor.scala +++ b/src/main/scala/org/rosi_project/model_sync/generator/sync/RelationCompartmentGeneratingVisitor.scala @@ -111,13 +111,27 @@ class RelationCompartmentGeneratingVisitor extends SModelVisitor { result = PredefTypes.Unit, params = Seq.empty, implementation = impl, - true)) + overrides = true)) newClass.addMethod(new SMethod( name = "toString", result = PredefTypes.String, params = Seq.empty, implementation = Seq(SMethodStatement(s""" "[$className " + source + ", " + target + "]" """)), overrides = true)) + + newClass.addMethod(new SMethod ( + name = "getSourceIns", + result = cls, + params = Seq.empty, + implementation = Seq(SMethodStatement(s"return sInstance")), + overrides = false)) + + newClass.addMethod(new SMethod ( + name = "getTargetIns", + result = attType, + params = Seq.empty, + implementation = Seq(SMethodStatement(s"return tInstance")), + overrides = false)) newClasses = newClasses :+ newClass }