aboutsummaryrefslogtreecommitdiffstats
path: root/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src/hu/bme/mit/inf/dslreasoner/faulttree/components/naming
diff options
context:
space:
mode:
authorLibravatar Kristóf Marussy <kris7topher@gmail.com>2019-02-05 23:54:03 +0100
committerLibravatar Kristóf Marussy <kris7topher@gmail.com>2019-02-19 19:18:25 +0100
commit7f7f934fe6ad11df96906d009eec68583fd46660 (patch)
tree17828b0e833bc89b2b796fcc7da6cb74d6ec3e9c /Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src/hu/bme/mit/inf/dslreasoner/faulttree/components/naming
parentGenerated files change (diff)
downloadVIATRA-Generator-7f7f934fe6ad11df96906d009eec68583fd46660.tar.gz
VIATRA-Generator-7f7f934fe6ad11df96906d009eec68583fd46660.tar.zst
VIATRA-Generator-7f7f934fe6ad11df96906d009eec68583fd46660.zip
[Stochastic] Fault tree transformation langauge
Diffstat (limited to 'Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src/hu/bme/mit/inf/dslreasoner/faulttree/components/naming')
-rw-r--r--Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src/hu/bme/mit/inf/dslreasoner/faulttree/components/naming/CftLanguageQualifiedNameProvider.xtend27
-rw-r--r--Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src/hu/bme/mit/inf/dslreasoner/faulttree/components/naming/PackageNameProvider.xtend30
2 files changed, 57 insertions, 0 deletions
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 @@
1package hu.bme.mit.inf.dslreasoner.faulttree.components.naming
2
3import com.google.inject.Inject
4import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.ComponentDefinition
5import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.TransformationDefinition
6import org.eclipse.emf.ecore.EObject
7import org.eclipse.xtext.naming.DefaultDeclarativeQualifiedNameProvider
8
9class CftLanguageQualifiedNameProvider extends DefaultDeclarativeQualifiedNameProvider {
10 @Inject PackageNameProvider packageNameProvider
11
12 def qualifiedName(ComponentDefinition componentDefinition) {
13 computePackageQualifiedName(componentDefinition, componentDefinition.name)
14 }
15
16 def qualifiedName(TransformationDefinition transformationDefinition) {
17 computePackageQualifiedName(transformationDefinition, transformationDefinition.name)
18 }
19
20 private def computePackageQualifiedName(EObject eObj, String name) {
21 if (name === null) {
22 return null
23 }
24 val packageQualifier = packageNameProvider.getPackageName(eObj)
25 packageQualifier.append(name)
26 }
27}
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src/hu/bme/mit/inf/dslreasoner/faulttree/components/naming/PackageNameProvider.xtend b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src/hu/bme/mit/inf/dslreasoner/faulttree/components/naming/PackageNameProvider.xtend
new file mode 100644
index 00000000..a05c8138
--- /dev/null
+++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src/hu/bme/mit/inf/dslreasoner/faulttree/components/naming/PackageNameProvider.xtend
@@ -0,0 +1,30 @@
1package hu.bme.mit.inf.dslreasoner.faulttree.components.naming
2
3import com.google.inject.Inject
4import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftModel
5import org.eclipse.emf.ecore.EObject
6import org.eclipse.xtend.lib.annotations.FinalFieldsConstructor
7import org.eclipse.xtext.EcoreUtil2
8import org.eclipse.xtext.naming.IQualifiedNameConverter
9import org.eclipse.xtext.naming.QualifiedName
10
11class PackageNameProvider {
12 val IQualifiedNameConverter qualifiedNameConverter
13
14 @FinalFieldsConstructor
15 @Inject
16 new() {
17 }
18
19 def getPackageName(EObject eObj) {
20 if (eObj === null) {
21 return QualifiedName.EMPTY
22 }
23 val pacakgeName = EcoreUtil2.getContainerOfType(eObj, CftModel)?.packageName
24 if (pacakgeName.isNullOrEmpty) {
25 QualifiedName.EMPTY
26 } else {
27 qualifiedNameConverter.toQualifiedName(pacakgeName)
28 }
29 }
30}