public override List <String> doRule(SQLPackage eaPackage, SQLWrapperClasses.SQLRepository sqlRepository) { List <String> results = new List <string>(); if (eaPackage.Element != null && eaPackage.Element.Stereotype == TGGModelingMain.TggSchemaPackageStereotype) { TGG tggSchema = new TGG(sqlRepository, eaPackage); tggSchema.loadTreeFromTaggedValue(); if (tggSchema.getDomain(DomainType.SOURCE) == null || tggSchema.getDomain(DomainType.TARGET) == null) { results.Add("TGG source/target metamodel definition is invalid"); } SQLPackage sourceMm = sqlRepository.GetPackageByGuid(tggSchema.getDomain(DomainType.SOURCE).MetamodelGuid); SQLPackage targetMm = sqlRepository.GetPackageByGuid(tggSchema.getDomain(DomainType.TARGET).MetamodelGuid); if (sourceMm == null || targetMm == null) { results.Add("TGG source/target metamodel definition is invalid"); } } return(results); }