summaryrefslogtreecommitdiffstats
path: root/rba.tool.editor.endpoint/src/rba/tool/editor/endpoint/RBAModelWebSetup.xtend
blob: f90e262bb96b8d3319a7e1f568b24cfe2b608284 (plain)
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
/*
 * generated by Xtext 2.13.0
 */
package rba.tool.editor.endpoint

import com.google.inject.Guice
import com.google.inject.Injector
import org.eclipse.emf.ecore.EPackage
import org.eclipse.xtend.lib.annotations.FinalFieldsConstructor
import org.eclipse.xtext.util.Modules2
import org.eclipse.xtext.web.server.persistence.IResourceBaseProvider
import rba.core.RBACorePackage
import rba.sound.RBASoundPackage
import rba.tool.editor.RBAModelRuntimeModule
import rba.tool.editor.RBAModelStandaloneSetup
import rba.tool.editor.ide.RBAModelIdeModule
import rba.view.RBAViewPackage

/**
 * Initialization support for running Xtext languages in web applications.
 */
@FinalFieldsConstructor
class RBAModelWebSetup extends RBAModelStandaloneSetup {

	val IResourceBaseProvider resourceBaseProvider

	override Injector createInjector() {
		val runtimeModule = new RBAModelRuntimeModule()
		val ideModule = new RBAModelIdeModule()
		val webModule = new RBAModelWebModule(resourceBaseProvider)
		return Guice.createInjector(Modules2.mixin(runtimeModule, ideModule, webModule))
	}

	override register(Injector injector) {

		if (!EPackage.Registry.INSTANCE.containsKey("http://www.denso.com/ict/rba/core")) {
			EPackage.Registry.INSTANCE.put("http://www.denso.com/ict/rba/core", RBACorePackage.eINSTANCE);
		}
		if (!EPackage.Registry.INSTANCE.containsKey("http://www.denso.com/ict/rba/view")) {
			EPackage.Registry.INSTANCE.put("http://www.denso.com/ict/rba/view", RBAViewPackage.eINSTANCE);
		}
		if (!EPackage.Registry.INSTANCE.containsKey("http://www.denso.com/ict/rba/sound")) {
			EPackage.Registry.INSTANCE.put("http://www.denso.com/ict/rba/sound", RBASoundPackage.eINSTANCE);
		}
		super.register(injector)
	}

}