Skip to content
Snippets Groups Projects
Commit 2f58e066 authored by Chrissi's avatar Chrissi
Browse files

refactoring

- remove isInterface and isAbstract as parameter in sclass
parent 3c02f11e
No related branches found
No related tags found
No related merge requests found
Showing
with 82 additions and 101 deletions
...@@ -48,7 +48,7 @@ class Generator(config: GeneratorConfig) { ...@@ -48,7 +48,7 @@ class Generator(config: GeneratorConfig) {
}) })
//create the new classes for rsum and rsync //create the new classes for rsum and rsync
if (config.getCreate == Creation.rolesync) { if (config.create == Creation.rolesync) {
sModels.foreach(sm => { sModels.foreach(sm => {
//instance generation for rsync //instance generation for rsync
if (sm._2.obj != null) { if (sm._2.obj != null) {
...@@ -59,7 +59,7 @@ class Generator(config: GeneratorConfig) { ...@@ -59,7 +59,7 @@ class Generator(config: GeneratorConfig) {
new SModelSyncUiPreparationService prepareModel (sm._1, config.getModelConfigFromEcore(sm._1.getSourceName)) new SModelSyncUiPreparationService prepareModel (sm._1, config.getModelConfigFromEcore(sm._1.getSourceName))
}) })
} }
if (config.getCreate == Creation.rolesum) { if (config.create == Creation.rolesum) {
sModels.foreach(sm => { sModels.foreach(sm => {
//create core stuff //create core stuff
new SModelSUMCorePreparationService prepareModel (sm._1) new SModelSUMCorePreparationService prepareModel (sm._1)
...@@ -69,7 +69,7 @@ class Generator(config: GeneratorConfig) { ...@@ -69,7 +69,7 @@ class Generator(config: GeneratorConfig) {
new SModelSUMPreparationService prepareModel (sm._1) new SModelSUMPreparationService prepareModel (sm._1)
}) })
} }
if (config.getCreate == Creation.rolecomb) { if (config.create == Creation.rolecomb) {
sModels.foreach(sm => { sModels.foreach(sm => {
//create core stuff //create core stuff
new SModelSUMCorePreparationService prepareModel (sm._1) new SModelSUMCorePreparationService prepareModel (sm._1)
...@@ -106,7 +106,7 @@ class Generator(config: GeneratorConfig) { ...@@ -106,7 +106,7 @@ class Generator(config: GeneratorConfig) {
} }
}) })
if (config.getCreate != Creation.rolesync) { if (config.create != Creation.rolesync) {
//create join stuff //create join stuff
val modelJoinFile = config.getModelJoinFile val modelJoinFile = config.getModelJoinFile
if (modelJoinFile != null && modelJoinFile.exists()) { if (modelJoinFile != null && modelJoinFile.exists()) {
......
...@@ -13,15 +13,8 @@ case class GeneratorConfig(sources: Seq[String] = Seq(), ...@@ -13,15 +13,8 @@ case class GeneratorConfig(sources: Seq[String] = Seq(),
outDir: File = new File(System.getProperty("user.dir")), outDir: File = new File(System.getProperty("user.dir")),
workDir: File = null, workDir: File = null,
modelJoin: String = null, //can be more than one modelJoin: String = null, //can be more than one
syncLanguage: String = null) { //can be more than one syncLanguage: String = null, //can be more than one
create: Creation.Value = Creation.rolesync) {
private var create = Creation.rolesync
def setCreate(d: Creation.Value): Unit = {
create = d
}
def getCreate: Creation.Value = create;
def hasWorkDir: Boolean = workDir != null def hasWorkDir: Boolean = workDir != null
......
...@@ -14,7 +14,6 @@ class ComplexSModel(name: String, sourceName: String, nsUri: String) extends SMo ...@@ -14,7 +14,6 @@ class ComplexSModel(name: String, sourceName: String, nsUri: String) extends SMo
private var relationalCompartments: Set[SClass] = Set.empty private var relationalCompartments: Set[SClass] = Set.empty
private var viewCompartments: Set[SClass] = Set.empty private var viewCompartments: Set[SClass] = Set.empty
private var joinClasses: Set[SClass] = Set.empty private var joinClasses: Set[SClass] = Set.empty
private var joinObjects: Set[SClass] = Set.empty
private var sEnums: Set[SEnum] = Set.empty private var sEnums: Set[SEnum] = Set.empty
/** Provides all model classes in `this` model. */ /** Provides all model classes in `this` model. */
...@@ -32,9 +31,6 @@ class ComplexSModel(name: String, sourceName: String, nsUri: String) extends SMo ...@@ -32,9 +31,6 @@ class ComplexSModel(name: String, sourceName: String, nsUri: String) extends SMo
/** Provides all the classes in `this` model. */ /** Provides all the classes in `this` model. */
override def getAllClasses: Set[SClass] = modelClasses ++ providerClasses ++ relationalCompartments ++ viewCompartments override def getAllClasses: Set[SClass] = modelClasses ++ providerClasses ++ relationalCompartments ++ viewCompartments
/** Provides all join objects in `this` model. */
override def getJoinObjects: Set[SClass] = joinObjects
/** Provides all join classes in `this` model. */ /** Provides all join classes in `this` model. */
override def getJoinClasses: Set[SClass] = joinClasses override def getJoinClasses: Set[SClass] = joinClasses
...@@ -91,16 +87,6 @@ class ComplexSModel(name: String, sourceName: String, nsUri: String) extends SMo ...@@ -91,16 +87,6 @@ class ComplexSModel(name: String, sourceName: String, nsUri: String) extends SMo
joinClasses += mClass joinClasses += mClass
} }
/**
* Extends the model by a new join object.
*
* @param mClass the class to add. May never `null`.
*/
override def addJoinObject(mClass: SClass): Unit = {
Assert.notNull(mClass, "Class may not be null")
joinObjects += mClass
}
/** /**
* Extends the model by a new enum. * Extends the model by a new enum.
* *
...@@ -126,7 +112,6 @@ class ComplexSModel(name: String, sourceName: String, nsUri: String) extends SMo ...@@ -126,7 +112,6 @@ class ComplexSModel(name: String, sourceName: String, nsUri: String) extends SMo
relationalCompartments == that.relationalCompartments && relationalCompartments == that.relationalCompartments &&
viewCompartments == that.viewCompartments && viewCompartments == that.viewCompartments &&
joinClasses == that.joinClasses && joinClasses == that.joinClasses &&
joinObjects == that.joinObjects &&
sEnums == that.sEnums sEnums == that.sEnums
case _ => false case _ => false
} }
...@@ -137,7 +122,6 @@ class ComplexSModel(name: String, sourceName: String, nsUri: String) extends SMo ...@@ -137,7 +122,6 @@ class ComplexSModel(name: String, sourceName: String, nsUri: String) extends SMo
relationalCompartments = relationalCompartments ++ model.getRelationalCompartments relationalCompartments = relationalCompartments ++ model.getRelationalCompartments
viewCompartments = viewCompartments ++ model.getViewCompartments viewCompartments = viewCompartments ++ model.getViewCompartments
joinClasses = joinClasses ++ model.getJoinClasses joinClasses = joinClasses ++ model.getJoinClasses
joinObjects = joinObjects ++ model.getJoinObjects
sEnums = sEnums ++ model.getModelEnums sEnums = sEnums ++ model.getModelEnums
return this return this
} }
......
...@@ -15,8 +15,7 @@ import org.rosi_project.model_sync.generator.sync.ToStringMethods ...@@ -15,8 +15,7 @@ import org.rosi_project.model_sync.generator.sync.ToStringMethods
*/ */
class SClass(_name: String, class SClass(_name: String,
_sPackage: String = "", _sPackage: String = "",
val isAbstract: Boolean = false, _sClassType: SClassType.Value = SClassType.normalClass) extends STypedElement(_name, _sPackage, _sClassType) {
_isInterface: Boolean = false) extends STypedElement(_name, _sPackage, _isInterface) {
protected var parentClass: STypedElement = null protected var parentClass: STypedElement = null
protected var parentInterfaces: Seq[STypedElement] = Seq.empty protected var parentInterfaces: Seq[STypedElement] = Seq.empty
......
package org.rosi_project.model_sync.generator.acr_model
object SClassType extends Enumeration {
val normalClass, caseClass, abstactClass, normalTrait, normalObject = Value
}
\ No newline at end of file
package org.rosi_project.model_sync.generator.acr_model package org.rosi_project.model_sync.generator.acr_model
class SEnum (_name: String, _sPackage: String, val enums: Set[String]) extends STypedElement(_name, _sPackage, false) { class SEnum (_name: String, _sPackage: String, val enums: Set[String]) extends STypedElement(_name, _sPackage, SClassType.normalClass) {
override def getDeepName: String = _name + ".Value" override def getDeepName: String = _name + ".Value"
......
...@@ -4,9 +4,8 @@ import java.util.Objects ...@@ -4,9 +4,8 @@ import java.util.Objects
class SInnerClass(_name: String, class SInnerClass(_name: String,
_sPackage: String = "", _sPackage: String = "",
_isAbstract: Boolean = false, _sClassType: SClassType.Value = SClassType.normalClass,
_isInterface: Boolean = false, val externalClass: SClass) extends SClass(_name, _sPackage, _sClassType) {
val externalClass: SClass) extends SClass(_name, _sPackage, _isAbstract, _isInterface) {
Objects.requireNonNull(externalClass, "External class may not be null") Objects.requireNonNull(externalClass, "External class may not be null")
......
...@@ -4,10 +4,9 @@ import java.util.Objects ...@@ -4,10 +4,9 @@ import java.util.Objects
class SInnerViewNaturalClass(_name: String, class SInnerViewNaturalClass(_name: String,
_sPackage: String = "", _sPackage: String = "",
_isAbstract: Boolean = false, _sClassType: SClassType.Value = SClassType.normalClass,
_isInterface: Boolean = false,
_externalClass: SClass, _externalClass: SClass,
val sumSource: SClass) extends SInnerClass(_name, _sPackage, _isAbstract, _isInterface, _externalClass) { val sumSource: SClass) extends SInnerClass(_name, _sPackage, _sClassType, _externalClass) {
Objects.requireNonNull(sumSource, "SUM Source class may not be null") Objects.requireNonNull(sumSource, "SUM Source class may not be null")
......
...@@ -4,12 +4,11 @@ import java.util.Objects ...@@ -4,12 +4,11 @@ import java.util.Objects
class SInnerViewRelationalClass(_name: String, class SInnerViewRelationalClass(_name: String,
_sPackage: String = "", _sPackage: String = "",
_isAbstract: Boolean = false, _sClassType: SClassType.Value = SClassType.normalClass,
_isInterface: Boolean = false,
_externalClass: SClass, _externalClass: SClass,
val sumSource: SRelationalCompartmentClass, val sumSource: SRelationalCompartmentClass,
val viewSource: SInnerViewNaturalClass, val viewSource: SInnerViewNaturalClass,
val viewTarget: SInnerViewNaturalClass) extends SInnerClass(_name, _sPackage, _isAbstract, _isInterface, _externalClass) { val viewTarget: SInnerViewNaturalClass) extends SInnerClass(_name, _sPackage, _sClassType, _externalClass) {
Objects.requireNonNull(sumSource, "SUM Source class may not be null") Objects.requireNonNull(sumSource, "SUM Source class may not be null")
Objects.requireNonNull(viewSource, "View Source class may not be null") Objects.requireNonNull(viewSource, "View Source class may not be null")
......
...@@ -22,6 +22,9 @@ abstract class SModel(private val name: String, private val sourceName: String, ...@@ -22,6 +22,9 @@ abstract class SModel(private val name: String, private val sourceName: String,
/** Provides all model classes in `this` model. */ /** Provides all model classes in `this` model. */
def getModelClasses: Set[SClass] def getModelClasses: Set[SClass]
/** Provides all model enums in `this` model. */
def getModelEnums: Set[SEnum]
/** Provides all provider classes in `this` model. */ /** Provides all provider classes in `this` model. */
def getProviderClasses: Set[SClass] def getProviderClasses: Set[SClass]
...@@ -31,14 +34,10 @@ abstract class SModel(private val name: String, private val sourceName: String, ...@@ -31,14 +34,10 @@ abstract class SModel(private val name: String, private val sourceName: String,
/** Provides all view compartments in `this` model. */ /** Provides all view compartments in `this` model. */
def getViewCompartments: Set[SClass] def getViewCompartments: Set[SClass]
/** Provides all join objects in `this` model. */
def getJoinObjects: Set[SClass]
/** Provides all join classes in `this` model. */ /** Provides all join classes in `this` model. */
def getJoinClasses: Set[SClass] def getJoinClasses: Set[SClass]
/** Provides all model enums in `this` model. */
def getModelEnums: Set[SEnum]
/** Extends the model by a new provder class. /** Extends the model by a new provder class.
* *
...@@ -70,12 +69,6 @@ abstract class SModel(private val name: String, private val sourceName: String, ...@@ -70,12 +69,6 @@ abstract class SModel(private val name: String, private val sourceName: String,
*/ */
def addJoinClass(mClass: SClass): Unit def addJoinClass(mClass: SClass): Unit
/** Extends the model by a new join object.
*
* @param mClass the class to add. May never `null`.
*/
def addJoinObject(mClass: SClass): Unit
/** Extends the model by a new enum. /** Extends the model by a new enum.
* *
* @param mEnum the enum to add. May never `null`. * @param mEnum the enum to add. May never `null`.
......
...@@ -4,11 +4,10 @@ import java.util.Objects ...@@ -4,11 +4,10 @@ import java.util.Objects
class SRelationalCompartmentClass(_name: String, class SRelationalCompartmentClass(_name: String,
_sPackage: String = "", _sPackage: String = "",
_isAbstract: Boolean = false, _sClassType: SClassType.Value = SClassType.normalClass,
_isInterface: Boolean = false,
val connectedRef: SReference, val connectedRef: SReference,
val sClass: STypedElement, val sClass: STypedElement,
val tClass: STypedElement) extends SClass(_name, _sPackage, _isAbstract, _isInterface) { val tClass: STypedElement) extends SClass(_name, _sPackage, _sClassType) {
Objects.requireNonNull(connectedRef, "Connected Reference may not be null") Objects.requireNonNull(connectedRef, "Connected Reference may not be null")
} }
\ No newline at end of file
...@@ -11,7 +11,7 @@ package org.rosi_project.model_sync.generator.acr_model ...@@ -11,7 +11,7 @@ package org.rosi_project.model_sync.generator.acr_model
* @see [[SClass]] * @see [[SClass]]
* @author Rico Bergmann * @author Rico Bergmann
*/ */
case class SType(_name: String, _sPackage: String = "", _isInterface: Boolean = true) extends STypedElement (_name, _sPackage, _isInterface) { case class SType(_name: String, _sPackage: String = "", _sClassType: SClassType.Value = SClassType.normalTrait) extends STypedElement (_name, _sPackage, _sClassType) {
override def accept(visitor: SModelVisitor): Unit = visitor.visit(this) override def accept(visitor: SModelVisitor): Unit = visitor.visit(this)
......
...@@ -12,7 +12,7 @@ package org.rosi_project.model_sync.generator.acr_model ...@@ -12,7 +12,7 @@ package org.rosi_project.model_sync.generator.acr_model
*/ */
abstract class STypedElement (_name: String, abstract class STypedElement (_name: String,
val sPackage: String, val sPackage: String,
val isInterface: Boolean) extends SNamedModelElement(_name) { val sClassType: SClassType.Value) extends SNamedModelElement(_name) {
/** Checks, whether `this` is part of the default package */ /** Checks, whether `this` is part of the default package */
def isDefaultPackage: Boolean = sPackage == "" def isDefaultPackage: Boolean = sPackage == ""
...@@ -44,6 +44,16 @@ abstract class STypedElement (_name: String, ...@@ -44,6 +44,16 @@ abstract class STypedElement (_name: String,
*/ */
def getNecessaryImports: Set[SImport] = Set.empty def getNecessaryImports: Set[SImport] = Set.empty
def isInterface: Boolean = sClassType == SClassType.normalTrait
def isAbstract: Boolean = sClassType == SClassType.abstactClass
def isObject: Boolean = sClassType == SClassType.normalObject
def isCaseClass: Boolean = sClassType == SClassType.caseClass
def isNormalClass: Boolean = sClassType == SClassType.normalClass
override def toString: String = s"STE: $getName($sPackage, $isInterface)" override def toString: String = s"STE: $getName($sPackage, $isInterface)"
} }
...@@ -26,9 +26,6 @@ class SimpleSModel(name: String, sourceName: String, nsUri: String) extends SMod ...@@ -26,9 +26,6 @@ class SimpleSModel(name: String, sourceName: String, nsUri: String) extends SMod
/** Provides all view compartments in `this` model. */ /** Provides all view compartments in `this` model. */
override def getViewCompartments: Set[SClass] = sClasses override def getViewCompartments: Set[SClass] = sClasses
/** Provides all join objects in `this` model. */
override def getJoinObjects: Set[SClass] = Set.empty
/** Provides all join classes in `this` model. */ /** Provides all join classes in `this` model. */
override def getJoinClasses: Set[SClass] = Set.empty override def getJoinClasses: Set[SClass] = Set.empty
...@@ -57,7 +54,7 @@ class SimpleSModel(name: String, sourceName: String, nsUri: String) extends SMod ...@@ -57,7 +54,7 @@ class SimpleSModel(name: String, sourceName: String, nsUri: String) extends SMod
* *
* @param mEnum the enum to add. May never `null`. * @param mEnum the enum to add. May never `null`.
*/ */
def addModelEnums(mEnum: SEnum): Unit = { override def addModelEnums(mEnum: SEnum): Unit = {
Assert.notNull(mEnum, "Enum may not be null") Assert.notNull(mEnum, "Enum may not be null")
sEnums += mEnum sEnums += mEnum
} }
...@@ -84,13 +81,7 @@ class SimpleSModel(name: String, sourceName: String, nsUri: String) extends SMod ...@@ -84,13 +81,7 @@ class SimpleSModel(name: String, sourceName: String, nsUri: String) extends SMod
* *
* @param mClass the class to add. May never `null`. * @param mClass the class to add. May never `null`.
*/ */
def addJoinClass(mClass: SClass): Unit = {/*pass*/} override def addJoinClass(mClass: SClass): Unit = {/*pass*/}
/** Extends the model by a new join object.
*
* @param mClass the class to add. May never `null`.
*/
def addJoinObject(mClass: SClass): Unit = {/*pass*/}
override def accept(visitor: SModelVisitor): Unit = { override def accept(visitor: SModelVisitor): Unit = {
sClasses.foreach(_.accept(visitor)) sClasses.foreach(_.accept(visitor))
......
...@@ -135,7 +135,14 @@ class SClassConverter extends Converter[EClass, SClass] { ...@@ -135,7 +135,14 @@ class SClassConverter extends Converter[EClass, SClass] {
case sType => case sType =>
sys.error(s"sType should have been a class: $sType") sys.error(s"sType should have been a class: $sType")
}.getOrElse { }.getOrElse {
val createdClass: SClass = new SClass(source.getName, PackageNames.sourcePkgPrefix + source.getEPackage.getNsPrefix, source.isAbstract, source.isInterface) var sClassType = SClassType.normalClass
if (source.isAbstract) {
sClassType = SClassType.abstactClass
}
if (source.isInterface) {
sClassType = SClassType.normalTrait
}
val createdClass: SClass = new SClass(source.getName, PackageNames.sourcePkgPrefix + source.getEPackage.getNsPrefix, sClassType)
createdClass.setAttributes(attrs) createdClass.setAttributes(attrs)
createdClass.setReferences(refs) createdClass.setReferences(refs)
pars.foreach(p => { pars.foreach(p => {
......
...@@ -7,8 +7,10 @@ import scala.collection.JavaConverters._ ...@@ -7,8 +7,10 @@ import scala.collection.JavaConverters._
import org.rosi_project.model_sync.generator.acr_model.SClass import org.rosi_project.model_sync.generator.acr_model.SClass
import org.eclipse.emf.ecore.EEnum import org.eclipse.emf.ecore.EEnum
import org.rosi_project.model_sync.generator.PackageNames import org.rosi_project.model_sync.generator.PackageNames
import org.rosi_project.model_sync.generator.acr_model.SClassType
/** Converter to generate an [[SModel]] from ecore. /**
* Converter to generate an [[SModel]] from ecore.
* *
* @author Rico Bergmann * @author Rico Bergmann
*/ */
...@@ -19,16 +21,18 @@ class SModelGenerator extends Converter[EPackage, SModel] { ...@@ -19,16 +21,18 @@ class SModelGenerator extends Converter[EPackage, SModel] {
var contents = source.eAllContents().asScala var contents = source.eAllContents().asScala
val model = new ComplexSModel(source.getName, sourceName, source.getNsURI) val model = new ComplexSModel(source.getName, sourceName, source.getNsURI)
println("... Converting ecore model") println("... Converting ecore model")
println("First run creates all classes, important for abstract and interface relations") println("First run creates all classes, important for abstract and interface relations")
contents.foreach { contents.foreach {
case ec: EClass => case ec: EClass =>
if (PackageNames.multiInhertitanceWithTraits) { var sClassType = SClassType.normalClass
STypeRegistry.addType(new SClass(ec.getName, PackageNames.sourcePkgPrefix + ec.getEPackage.getNsPrefix, ec.isInterface, ec.isAbstract), ec) if (ec.isAbstract) {
} else { sClassType = SClassType.abstactClass
STypeRegistry.addType(new SClass(ec.getName, PackageNames.sourcePkgPrefix + ec.getEPackage.getNsPrefix, ec.isAbstract, ec.isInterface), ec) }
if (ec.isInterface || PackageNames.multiInhertitanceWithTraits) {
sClassType = SClassType.normalTrait
} }
STypeRegistry.addType(new SClass(ec.getName, PackageNames.sourcePkgPrefix + ec.getEPackage.getNsPrefix, sClassType), ec)
case ee: EEnum => case ee: EEnum =>
model.addModelEnums(new SEnumConverter convert (ee, sourceName)) model.addModelEnums(new SEnumConverter convert (ee, sourceName))
case _ => case _ =>
......
...@@ -12,7 +12,7 @@ import org.rosi_project.model_sync.generator.PackageNames ...@@ -12,7 +12,7 @@ import org.rosi_project.model_sync.generator.PackageNames
* *
* @author Rico Bergmann * @author Rico Bergmann
*/ */
class SClassWriter(val modelClass: SClass, val isObject: Boolean) { class SClassWriter(val modelClass: SClass) {
private val isView: Boolean = modelClass.isInstanceOf[SViewClass] private val isView: Boolean = modelClass.isInstanceOf[SViewClass]
private val pckg: String = if (modelClass.isDefaultPackage) "" else s"package ${modelClass.sPackage}" private val pckg: String = if (modelClass.isDefaultPackage) "" else s"package ${modelClass.sPackage}"
...@@ -126,7 +126,7 @@ class SClassWriter(val modelClass: SClass, val isObject: Boolean) { ...@@ -126,7 +126,7 @@ class SClassWriter(val modelClass: SClass, val isObject: Boolean) {
protected def generateInternalClazzFixture: String = { protected def generateInternalClazzFixture: String = {
var result = ""; var result = "";
modelClass.getInternalClasses.foreach(intCls => { modelClass.getInternalClasses.foreach(intCls => {
var sw: SClassWriter = new SClassWriter(intCls, false) var sw: SClassWriter = new SClassWriter(intCls)
var s = sw.internalStringify; var s = sw.internalStringify;
result = result + s + "\n"; result = result + s + "\n";
}) })
...@@ -191,7 +191,7 @@ class SClassWriter(val modelClass: SClass, val isObject: Boolean) { ...@@ -191,7 +191,7 @@ class SClassWriter(val modelClass: SClass, val isObject: Boolean) {
if (modelClass.isInterface) { if (modelClass.isInterface) {
baseFixture = s"trait ${modelClass.getName}" baseFixture = s"trait ${modelClass.getName}"
} else if (isObject) { } else if (modelClass.isObject) {
baseFixture = s"object ${modelClass.getName}" baseFixture = s"object ${modelClass.getName}"
} else { } else {
baseFixture = s"class ${modelClass.getName}" baseFixture = s"class ${modelClass.getName}"
......
...@@ -59,12 +59,11 @@ class SModelFSWriter( ...@@ -59,12 +59,11 @@ class SModelFSWriter(
override def visit(sModel: SModel): Unit = { override def visit(sModel: SModel): Unit = {
sModel.getModelEnums.foreach(writeEnum(_)) sModel.getModelEnums.foreach(writeEnum(_))
sModel.getModelClasses.foreach(writeClass(_, false)) sModel.getModelClasses.foreach(writeClass(_))
sModel.getJoinClasses.foreach(writeClass(_, false)) sModel.getJoinClasses.foreach(writeClass(_))
sModel.getJoinObjects.foreach(writeClass(_, true)) //TODO sModel.getRelationalCompartments.foreach(writeClass(_))
sModel.getRelationalCompartments.foreach(writeClass(_, false)) sModel.getViewCompartments.foreach(writeClass(_))
sModel.getViewCompartments.foreach(writeClass(_, false)) sModel.getProviderClasses.foreach(writeClass(_))
sModel.getProviderClasses.foreach(writeClass(_, false))
//println(s"... Wrote files (sources) $sFilesToCompile") //println(s"... Wrote files (sources) $sFilesToCompile")
println("... Starting compilation") println("... Starting compilation")
...@@ -102,11 +101,11 @@ class SModelFSWriter( ...@@ -102,11 +101,11 @@ class SModelFSWriter(
} }
} }
private def writeClass(sClass: SClass, isObject: Boolean): Unit = { private def writeClass(sClass: SClass): Unit = {
try { try {
println(s"Writing class $sClass") println(s"Writing class $sClass")
val classNameWithPath = workingDir.toAbsolute.toString() + File.separator + pckg2Path(sClass.getPackage) + File.separator + s"${sClass.getName}.scala" val classNameWithPath = workingDir.toAbsolute.toString() + File.separator + pckg2Path(sClass.getPackage) + File.separator + s"${sClass.getName}.scala"
val writer = new SClassWriter(sClass, isObject) val writer = new SClassWriter(sClass)
val classFile = File(classNameWithPath) val classFile = File(classNameWithPath)
......
...@@ -16,7 +16,7 @@ class InstanceCombiGenerator(val clsins: ClassAndInstance) extends SModelVisitor ...@@ -16,7 +16,7 @@ class InstanceCombiGenerator(val clsins: ClassAndInstance) extends SModelVisitor
override def visit(sModel: SModel): Unit = { override def visit(sModel: SModel): Unit = {
//println("++++++++++++++++++++++++++++++++++++++++++++++") //println("++++++++++++++++++++++++++++++++++++++++++++++")
val example = new SClass("ExampleCombiCase", PackageNames.examplePkgName) val example = new SClass("ExampleCombiCase", PackageNames.examplePkgName, SClassType.normalObject)
val contents = clsins.obj.eAllContents().asScala val contents = clsins.obj.eAllContents().asScala
var counter = 0 var counter = 0
var lines: Seq[InstanceLine] = Seq.empty var lines: Seq[InstanceLine] = Seq.empty
...@@ -97,7 +97,7 @@ class InstanceCombiGenerator(val clsins: ClassAndInstance) extends SModelVisitor ...@@ -97,7 +97,7 @@ class InstanceCombiGenerator(val clsins: ClassAndInstance) extends SModelVisitor
example.addParent(PredefTypes.App) example.addParent(PredefTypes.App)
sModel.addJoinObject(example) sModel.addProviderClass(example)
//println("++++++++++++++++++++++++++++++++++++++++++++++") //println("++++++++++++++++++++++++++++++++++++++++++++++")
// pass // pass
......
...@@ -21,7 +21,7 @@ class InstanceGenerator(val clsins: ClassAndInstance) extends SModelVisitor { ...@@ -21,7 +21,7 @@ class InstanceGenerator(val clsins: ClassAndInstance) extends SModelVisitor {
override def visit(sModel: SModel): Unit = { override def visit(sModel: SModel): Unit = {
//println("++++++++++++++++++++++++++++++++++++++++++++++") //println("++++++++++++++++++++++++++++++++++++++++++++++")
val example = new SClass("ExampleCase", PackageNames.examplePkgName) val example = new SClass("ExampleCase", PackageNames.examplePkgName, SClassType.normalObject)
val contents = clsins.obj.eAllContents().asScala val contents = clsins.obj.eAllContents().asScala
var counter = 0 var counter = 0
var lines: Seq[InstanceLine] = Seq.empty var lines: Seq[InstanceLine] = Seq.empty
...@@ -70,7 +70,7 @@ class InstanceGenerator(val clsins: ClassAndInstance) extends SModelVisitor { ...@@ -70,7 +70,7 @@ class InstanceGenerator(val clsins: ClassAndInstance) extends SModelVisitor {
}) })
}) })
example.addParent(PredefTypes.App) example.addParent(PredefTypes.App)
sModel.addJoinObject(example) sModel.addProviderClass(example)
//println("++++++++++++++++++++++++++++++++++++++++++++++") //println("++++++++++++++++++++++++++++++++++++++++++++++")
// pass // pass
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment