aboutsummaryrefslogtreecommitdiffstats
path: root/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src/hu/bme/mit/inf/dslreasoner/faulttree/components/naming/CftLanguageQualifiedNameProvider.xtend
blob: db89ebf91d900d721537f274551398f28d35f7d3 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
package hu.bme.mit.inf.dslreasoner.faulttree.components.naming

import com.google.inject.Inject
import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.TransformationDefinition
import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.ComponentDefinition
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)
	}
}