From 7e50434905cbb7f5d03636033b698e17a9075e9d Mon Sep 17 00:00:00 2001 From: OszkarSemerath Date: Sat, 13 Jan 2018 19:33:26 +0100 Subject: Initial commit of the configuration language and application --- .../ApplicationConfigurationRuntimeModule.xtend | 43 ++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/ApplicationConfigurationRuntimeModule.xtend (limited to 'Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/ApplicationConfigurationRuntimeModule.xtend') diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/ApplicationConfigurationRuntimeModule.xtend b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/ApplicationConfigurationRuntimeModule.xtend new file mode 100644 index 00000000..919dd297 --- /dev/null +++ b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/ApplicationConfigurationRuntimeModule.xtend @@ -0,0 +1,43 @@ +/* + * generated by Xtext 2.10.0 + */ +package hu.bme.mit.inf.dslreasoner.application + +import hu.bme.mit.inf.dslreasoner.application.linking.ApplicationConfigurationLinkingService +import com.google.inject.Binder +import com.google.inject.multibindings.Multibinder +import org.eclipse.viatra.query.patternlanguage.emf.scoping.IMetamodelProviderInstance +import org.apache.log4j.Logger +import org.eclipse.viatra.query.patternlanguage.emf.scoping.IMetamodelProvider +import org.eclipse.viatra.query.patternlanguage.emf.scoping.CompoundMetamodelProviderService +import org.eclipse.viatra.query.patternlanguage.emf.scoping.MetamodelProviderService +import org.eclipse.viatra.query.patternlanguage.emf.scoping.ResourceSetMetamodelProviderService +import org.eclipse.viatra.query.patternlanguage.emf.IGenmodelMappingLoader +import org.eclipse.viatra.query.patternlanguage.emf.GenmodelExtensionLoader + +/** + * Use this class to register components to be used at runtime / without the Equinox extension registry. + */ +class ApplicationConfigurationRuntimeModule extends AbstractApplicationConfigurationRuntimeModule { + override bindILinkingService() { + ApplicationConfigurationLinkingService + } + + def configureLoggerImplementation(Binder binder) { + binder.bind(Logger).toInstance(Logger.getLogger(ApplicationConfigurationRuntimeModule)) + } + + def Class bindIMetamodelProvider() { + CompoundMetamodelProviderService + } + + def configureMetamodelProviderInstance(Binder binder) { + val metamodelProviderBinder = Multibinder.newSetBinder(binder, IMetamodelProviderInstance) + metamodelProviderBinder.addBinding.to(MetamodelProviderService) + metamodelProviderBinder.addBinding.to(ResourceSetMetamodelProviderService) + } + + def Class bindIGenmodelMappingLoader() { + GenmodelExtensionLoader + } +} -- cgit v1.2.3-70-g09d2