aboutsummaryrefslogtreecommitdiffstats
path: root/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src/hu/bme/mit/inf/dslreasoner/faulttree/components/naming/PackageNameProvider.xtend
blob: a05c81381347d4cb09cd4b568406cf425bbe6110 (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
28
29
30
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

class PackageNameProvider {
	val IQualifiedNameConverter qualifiedNameConverter

	@FinalFieldsConstructor
	@Inject
	new() {
	}
	
	def getPackageName(EObject eObj) {
		if (eObj === null) {
			return QualifiedName.EMPTY
		}
		val pacakgeName = EcoreUtil2.getContainerOfType(eObj, CftModel)?.packageName
		if (pacakgeName.isNullOrEmpty) {
			QualifiedName.EMPTY
		} else {
			qualifiedNameConverter.toQualifiedName(pacakgeName)
		}
	}
}