blob: cdaae8b029b8097861e3a13bfd17c17a37595b14 [file] [log] [blame]
/**
*
* Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
*
*
* This copyright notice shows up in the generated Java code
*
*/
package org.eclipse.osbp.xtext.blip.jvmmodel
import java.util.ArrayList
import java.util.Arrays
import java.util.Collection
import java.util.HashMap
import java.util.List
import javax.inject.Inject
import org.drools.KnowledgeBase
import org.drools.builder.KnowledgeBuilder
import org.drools.builder.ResourceType
import org.drools.io.Resource
import org.drools.io.ResourceFactoryService
import org.eclipse.e4.core.contexts.ContextInjectionFactory
import org.eclipse.e4.ui.model.application.MApplication
import org.eclipse.emf.ecore.EObject
import org.eclipse.osbp.bpm.api.AbstractBPMServiceTask
import org.eclipse.osbp.bpm.api.AbstractBlipBPMFunctionProvider
import org.eclipse.osbp.bpm.api.AbstractBlipBPMItem
import org.eclipse.osbp.bpm.api.AbstractBlipBPMUserTask
import org.eclipse.osbp.bpm.api.BPMCallActivity
import org.eclipse.osbp.bpm.api.BPMEndEvent
import org.eclipse.osbp.bpm.api.BPMScriptTask
import org.eclipse.osbp.bpm.api.BPMSplitGateway
import org.eclipse.osbp.bpm.api.BPMSplitGateway.GatewayMode
import org.eclipse.osbp.bpm.api.BlipBPMOutgoing
import org.eclipse.osbp.bpm.api.IBPMEngine
import org.eclipse.osbp.bpm.api.IBPMTaskClient
import org.eclipse.osbp.bpm.api.IBlipBPMWorkloadModifiableItem
import org.eclipse.osbp.dsl.common.datatypes.IDto
import org.eclipse.osbp.ui.api.useraccess.IBlipProcessPermissions
import org.eclipse.osbp.xtext.basic.generator.BasicDslGeneratorUtils
import org.eclipse.osbp.xtext.blip.BlipPackage
import org.eclipse.osbp.xtext.blip.common.BlipBPMStartInfo
import org.eclipse.osbp.xtext.i18n.I18NModelGenerator
import org.eclipse.xtext.generator.IFileSystemAccess
import org.eclipse.xtext.xbase.compiler.GeneratorConfig
import org.eclipse.xtext.xbase.compiler.ImportManager
import org.eclipse.xtext.xbase.jvmmodel.IJvmDeclaredTypeAcceptor
import org.eclipse.xtext.xbase.jvmmodel.JvmTypesBuilder
import org.osgi.framework.FrameworkUtil
import org.slf4j.Logger
import org.slf4j.LoggerFactory
import org.eclipse.osbp.bpm.api.ServiceExecutionMode
import org.eclipse.osbp.bpm.api.ServiceImplementation
class BlipModelGenerator extends I18NModelGenerator {
@Inject extension JvmTypesBuilder
@Inject extension BasicDslGeneratorUtils
var public static String pckgName = null
def void generatePckgName(BlipPackage pckg, IJvmDeclaredTypeAcceptor acceptor) {
pckgName = pckg.getName
}
override doGenerate(org.eclipse.emf.ecore.resource.Resource input, IFileSystemAccess fsa) {
super.doGenerate(input, fsa)
}
override createAppendable(EObject context, ImportManager importManager, GeneratorConfig config) {
// required to initialize the needed builder to avoid deprecated methods
builder = context.eResource
// ---------
addImportFor(importManager, _typeReferenceBuilder
, Arrays
, HashMap
, BlipBPMStartInfo
, AbstractBlipBPMItem
, AbstractBlipBPMUserTask
, AbstractBPMServiceTask
, ServiceExecutionMode
, ServiceImplementation
, BPMEndEvent
, BPMScriptTask
, BPMSplitGateway
, BPMCallActivity
, GatewayMode
, BlipBPMOutgoing
, IBlipBPMWorkloadModifiableItem
, IDto
, AbstractBlipBPMFunctionProvider
, MApplication
, ContextInjectionFactory
, IBlipProcessPermissions
, IBPMEngine
, IBPMTaskClient
, "org.drools.io.ClassPathEnhancedResource"
, "org.eclipse.osbp.vaaclipse.addons.softwarefactory.bpmImpl.BPMProcessEnhancer"
, Resource
, ResourceFactoryService
, KnowledgeBuilder
, ResourceType
, KnowledgeBase
, Collection
, List
, ArrayList
, Logger
, LoggerFactory
, FrameworkUtil)
super.createAppendable(context, importManager, config)
}
}