From 7f7f934fe6ad11df96906d009eec68583fd46660 Mon Sep 17 00:00:00 2001 From: Kristóf Marussy Date: Tue, 5 Feb 2019 23:54:03 +0100 Subject: [Stochastic] Fault tree transformation langauge --- .../naming/CftLanguageQualifiedNameProvider.xtend | 27 ++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src/hu/bme/mit/inf/dslreasoner/faulttree/components/naming/CftLanguageQualifiedNameProvider.xtend (limited to 'Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src/hu/bme/mit/inf/dslreasoner/faulttree/components/naming/CftLanguageQualifiedNameProvider.xtend') diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src/hu/bme/mit/inf/dslreasoner/faulttree/components/naming/CftLanguageQualifiedNameProvider.xtend b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src/hu/bme/mit/inf/dslreasoner/faulttree/components/naming/CftLanguageQualifiedNameProvider.xtend new file mode 100644 index 00000000..eb96901c --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src/hu/bme/mit/inf/dslreasoner/faulttree/components/naming/CftLanguageQualifiedNameProvider.xtend @@ -0,0 +1,27 @@ +package hu.bme.mit.inf.dslreasoner.faulttree.components.naming + +import com.google.inject.Inject +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.ComponentDefinition +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.TransformationDefinition +import org.eclipse.emf.ecore.EObject +import org.eclipse.xtext.naming.DefaultDeclarativeQualifiedNameProvider + +class CftLanguageQualifiedNameProvider extends DefaultDeclarativeQualifiedNameProvider { + @Inject PackageNameProvider packageNameProvider + + def qualifiedName(ComponentDefinition componentDefinition) { + computePackageQualifiedName(componentDefinition, componentDefinition.name) + } + + def qualifiedName(TransformationDefinition transformationDefinition) { + computePackageQualifiedName(transformationDefinition, transformationDefinition.name) + } + + private def computePackageQualifiedName(EObject eObj, String name) { + if (name === null) { + return null + } + val packageQualifier = packageNameProvider.getPackageName(eObj) + packageQualifier.append(name) + } +} -- cgit v1.2.3-70-g09d2