From 4236f6735c91e8db3e4eb5641f5625f83024f434 Mon Sep 17 00:00:00 2001 From: OszkarSemerath Date: Sat, 24 Mar 2018 22:16:37 -0400 Subject: Removed unused projects --- .../execution/validation/MetamodelValidator.xtend | 76 ---------------------- .../validation/QueryAndMetamodelValidator.xtend | 53 --------------- 2 files changed, 129 deletions(-) delete mode 100644 Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/validation/MetamodelValidator.xtend delete mode 100644 Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/validation/QueryAndMetamodelValidator.xtend (limited to 'Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/validation') diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/validation/MetamodelValidator.xtend b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/validation/MetamodelValidator.xtend deleted file mode 100644 index aae47c83..00000000 --- a/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/validation/MetamodelValidator.xtend +++ /dev/null @@ -1,76 +0,0 @@ -package hu.bme.mit.inf.dslreasoner.application.execution.validation - -import hu.bme.mit.inf.dslreasoner.ecore2logic.EcoreMetamodelDescriptor -import java.util.LinkedList -import java.util.List -import org.eclipse.emf.ecore.EAttribute -import org.eclipse.emf.ecore.EClass -import org.eclipse.emf.ecore.EDataType -import org.eclipse.emf.ecore.EEnum -import org.eclipse.emf.ecore.EEnumLiteral -import org.eclipse.emf.ecore.EReference -import org.eclipse.emf.ecore.EcorePackage - -class MetamodelValidator { - def validateMetamodel(EcoreMetamodelDescriptor descriptor) { - val errors = new LinkedList - this.allSupertypesAreIncluded(descriptor.classes,errors) - this.allEnumTypesareIncluded(descriptor.enums,descriptor.literals,errors) - this.referenceEndpointsAreIncluded(descriptor.classes,descriptor.references,errors) - this.attributeSourcePontIsIncluded(descriptor.classes,descriptor.attributes,errors) - this.attributeTargetIsSupported(descriptor.attributes,errors) - return errors - } - - - private def supportedEDataType(EDataType dataType) { - val extension l = EcorePackage.eINSTANCE - return #[EInt, EBoolean, EString, EDouble, EFloat].contains(dataType) - } - - def allSupertypesAreIncluded(List classes, List errors) { - for(c : classes) { - for(s : c.ESuperTypes) { - if(!classes.contains(s)) { - errors.add('''Metamodel contains "«c.name»" but not contains its supertype "«s.name»"!''') - } - } - } - } - def allEnumTypesareIncluded(List enums, List literals, List errors) { - for(l: literals) { - if(!enums.contains(l.EEnum)) { - errors.add('''Metamodel contains literal "«l.name»" but does not contains enum "«l.EEnum.name»"!''') - } - } - } - def referenceEndpointsAreIncluded(List classes, List references, List errors) { - for(reference : references) { - val src = reference.EContainingClass - if(!classes.contains(src)) { - errors.add('''Metamodel contains reference "«reference.name»" but does not contains its source type "«src.name»"!''') - } - - val trg = reference.EReferenceType - if(!classes.contains(trg)) { - errors.add('''Metamodel contains reference "«reference.name»" but does not contains its target type "«trg.name»"!''') - } - } - } - def attributeSourcePontIsIncluded(List classes, List attributes, List errors) { - for(attribute : attributes) { - val src = attribute.containerClass - if(!classes.contains(src)) { - errors.add('''Metamodel contains attribute "«attribute.name»" but does not contains its source type "«src.name»"!''') - } - } - } - def attributeTargetIsSupported(List attributes, List errors) { - for(attribute: attributes) { - val trg = attribute.EAttributeType - if(!supportedEDataType(trg)) { - errors.add('''Metamodels contains attribute "«attribute.name»" with unsupported type "«trg.name»"!''') - } - } - } -} \ No newline at end of file diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/validation/QueryAndMetamodelValidator.xtend b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/validation/QueryAndMetamodelValidator.xtend deleted file mode 100644 index e1a20ffd..00000000 --- a/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/validation/QueryAndMetamodelValidator.xtend +++ /dev/null @@ -1,53 +0,0 @@ -package hu.bme.mit.inf.dslreasoner.application.execution.validation - -import hu.bme.mit.inf.dslreasoner.ecore2logic.EcoreMetamodelDescriptor -import hu.bme.mit.inf.dslreasoner.viatra2logic.ViatraQuerySetDescriptor -import java.util.List -import java.util.Set -import org.eclipse.emf.ecore.ENamedElement -import org.eclipse.viatra.query.patternlanguage.patternLanguage.Pattern -import org.eclipse.viatra.query.runtime.api.IQuerySpecification -import java.util.LinkedList - -class QueryAndMetamodelValidator { - - def public validateQueryAndMetamodel( - EcoreMetamodelDescriptor metamodel, - Pair> viatra) - { - val patterns = viatra.value - val elementsInMetamodel = - (metamodel.classes + - metamodel.enums + - metamodel.literals+ - metamodel.attributes + - metamodel.references) - .toSet - val errors = new LinkedList - for(pattern : patterns) { - val elements = getReferredNamedElements(pattern) - for(element : elements) { - if(!elementsInMetamodel.contains(element)) { - errors+='''Pattern "«pattern.name»" refers to an element "«element»" that is not included to the selected metamodel!''' - } - } - } - return errors - } - - def getReferredNamedElements(Pattern pattern) { - val elements = pattern.eAllContents.toList - return elements.map[element| - val references = element.eClass.EAllReferences - return references.map[r | - if(r.isMany) { - return (element.eGet(r) as List).filter(ENamedElement) - } else { - val value = element.eGet(r) - if(value instanceof ENamedElement) return #[value] - else return #[] - } - ].flatten.filter(ENamedElement) - ].flatten - } -} \ No newline at end of file -- cgit v1.2.3-54-g00ecf