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 --- .../.CftLanguageQualifiedNameProvider.xtendbin | Bin 0 -> 3678 bytes .../naming/.PackageNameProvider.xtendbin | Bin 0 -> 3283 bytes .../faulttree/components/naming/.gitignore | 2 + .../naming/CftLanguageQualifiedNameProvider.java | 35 ++++++++++++++++ .../components/naming/PackageNameProvider.java | 46 +++++++++++++++++++++ 5 files changed, 83 insertions(+) create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/naming/.CftLanguageQualifiedNameProvider.xtendbin create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/naming/.PackageNameProvider.xtendbin create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/naming/.gitignore create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/naming/CftLanguageQualifiedNameProvider.java create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/naming/PackageNameProvider.java (limited to 'Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/naming') diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/naming/.CftLanguageQualifiedNameProvider.xtendbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/naming/.CftLanguageQualifiedNameProvider.xtendbin new file mode 100644 index 00000000..73ada4f1 Binary files /dev/null and b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/naming/.CftLanguageQualifiedNameProvider.xtendbin differ diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/naming/.PackageNameProvider.xtendbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/naming/.PackageNameProvider.xtendbin new file mode 100644 index 00000000..6f4eaae7 Binary files /dev/null and b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/naming/.PackageNameProvider.xtendbin differ diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/naming/.gitignore b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/naming/.gitignore new file mode 100644 index 00000000..b982f16c --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/naming/.gitignore @@ -0,0 +1,2 @@ +/.CftLanguageQualifiedNameProvider.java._trace +/.PackageNameProvider.java._trace diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/naming/CftLanguageQualifiedNameProvider.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/naming/CftLanguageQualifiedNameProvider.java new file mode 100644 index 00000000..4e0607dd --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/naming/CftLanguageQualifiedNameProvider.java @@ -0,0 +1,35 @@ +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 hu.bme.mit.inf.dslreasoner.faulttree.components.naming.PackageNameProvider; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.xtext.naming.DefaultDeclarativeQualifiedNameProvider; +import org.eclipse.xtext.naming.QualifiedName; + +@SuppressWarnings("all") +public class CftLanguageQualifiedNameProvider extends DefaultDeclarativeQualifiedNameProvider { + @Inject + private PackageNameProvider packageNameProvider; + + public QualifiedName qualifiedName(final ComponentDefinition componentDefinition) { + return this.computePackageQualifiedName(componentDefinition, componentDefinition.getName()); + } + + public QualifiedName qualifiedName(final TransformationDefinition transformationDefinition) { + return this.computePackageQualifiedName(transformationDefinition, transformationDefinition.getName()); + } + + private QualifiedName computePackageQualifiedName(final EObject eObj, final String name) { + QualifiedName _xblockexpression = null; + { + if ((name == null)) { + return null; + } + final QualifiedName packageQualifier = this.packageNameProvider.getPackageName(eObj); + _xblockexpression = packageQualifier.append(name); + } + return _xblockexpression; + } +} diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/naming/PackageNameProvider.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/naming/PackageNameProvider.java new file mode 100644 index 00000000..5841dc75 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/naming/PackageNameProvider.java @@ -0,0 +1,46 @@ +package hu.bme.mit.inf.dslreasoner.faulttree.components.naming; + +import com.google.inject.Inject; +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftModel; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.xtend.lib.annotations.FinalFieldsConstructor; +import org.eclipse.xtext.EcoreUtil2; +import org.eclipse.xtext.naming.IQualifiedNameConverter; +import org.eclipse.xtext.naming.QualifiedName; +import org.eclipse.xtext.xbase.lib.StringExtensions; + +@SuppressWarnings("all") +public class PackageNameProvider { + private final IQualifiedNameConverter qualifiedNameConverter; + + @FinalFieldsConstructor + @Inject + public PackageNameProvider(final IQualifiedNameConverter qualifiedNameConverter) { + super(); + this.qualifiedNameConverter = qualifiedNameConverter; + } + + public QualifiedName getPackageName(final EObject eObj) { + QualifiedName _xblockexpression = null; + { + if ((eObj == null)) { + return QualifiedName.EMPTY; + } + CftModel _containerOfType = EcoreUtil2.getContainerOfType(eObj, CftModel.class); + String _packageName = null; + if (_containerOfType!=null) { + _packageName=_containerOfType.getPackageName(); + } + final String pacakgeName = _packageName; + QualifiedName _xifexpression = null; + boolean _isNullOrEmpty = StringExtensions.isNullOrEmpty(pacakgeName); + if (_isNullOrEmpty) { + _xifexpression = QualifiedName.EMPTY; + } else { + _xifexpression = this.qualifiedNameConverter.toQualifiedName(pacakgeName); + } + _xblockexpression = _xifexpression; + } + return _xblockexpression; + } +} -- cgit v1.2.3-54-g00ecf