blob: e64d449d988992c297163f62ae7e93280a1e9854 [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.table.jvmmodel
import com.vaadin.data.Container
import com.vaadin.data.Property.ValueChangeListener
import com.vaadin.server.Page
import com.vaadin.server.Page.Styles
import com.vaadin.shared.ui.label.ContentMode
import com.vaadin.ui.Button
import com.vaadin.ui.Button.ClickEvent
import com.vaadin.ui.CustomTable
import com.vaadin.ui.CustomTable.Align
import com.vaadin.ui.CustomTable.RowHeaderMode
import com.vaadin.ui.HorizontalLayout
import com.vaadin.ui.Label
import com.vaadin.ui.Notification
import com.vaadin.ui.Notification.Type
import com.vaadin.ui.TabSheet
import com.vaadin.ui.UI
import java.util.ArrayList
import java.util.Collection
import java.util.Date
import java.util.HashMap
import java.util.Iterator
import java.util.List
import java.util.Locale
import java.util.Map
import java.util.Set
import java.util.TreeSet
import java.util.UUID
import java.util.concurrent.Executors
import java.util.concurrent.TimeUnit
import java.util.stream.Collectors
import javax.inject.Inject
import org.eclipse.bpmn2.Task
import org.eclipse.e4.core.contexts.ContextInjectionFactory
import org.eclipse.e4.core.di.extensions.EventUtils
import org.eclipse.e4.core.services.events.IEventBroker
import org.eclipse.e4.ui.di.Focus
import org.eclipse.e4.ui.model.application.MApplication
import org.eclipse.emf.ecore.EObject
import org.eclipse.emf.ecore.resource.Resource
import org.eclipse.osbp.bpm.api.BPMOperation
import org.eclipse.osbp.bpm.api.BPMTaskEventType
import org.eclipse.osbp.bpm.api.BPMTaskSummary
import org.eclipse.osbp.bpm.api.BPMTaskUserEvent
import org.eclipse.osbp.bpm.api.IBlipBPMConstants
import org.eclipse.osbp.bpm.api.IBlipBPMFunctionProvider
import org.eclipse.osbp.bpm.api.IBlipBPMStartInfo
import org.eclipse.osbp.bpm.api.IBlipBPMWorkloadModifiableItem
import org.eclipse.osbp.dsl.common.datatypes.IDto
import org.eclipse.osbp.dsl.dto.lib.impl.DtoServiceAccess
import org.eclipse.osbp.eventbroker.EventBrokerMsg
import org.eclipse.osbp.preferences.ProductConfiguration
import org.eclipse.osbp.runtime.common.event.EventDispatcherEvent
import org.eclipse.osbp.runtime.common.filter.IDTOServiceWithMutablePersistence
import org.eclipse.osbp.runtime.web.vaadin.common.data.IBeanSearchServiceFactory
import org.eclipse.osbp.ui.api.contextfunction.IViewEmbeddedProvider
import org.eclipse.osbp.ui.api.customfields.IBlobService
import org.eclipse.osbp.ui.api.datamart.DatamartFilter
import org.eclipse.osbp.ui.api.datamart.DatamartPrimary
import org.eclipse.osbp.ui.api.datamart.IDatamartFilterGenerator
import org.eclipse.osbp.ui.api.e4.IE4Table
import org.eclipse.osbp.ui.api.themes.IThemeResourceService
import org.eclipse.osbp.ui.api.themes.IThemeResourceService.ThemeResourceType
import org.eclipse.osbp.utils.constants.ExtendedDate
import org.eclipse.osbp.utils.vaadin.SelectUserWindow
import org.eclipse.osbp.utils.vaadin.ViewLayoutManager
import org.eclipse.osbp.vaaclipse.common.ecview.api.IECViewSessionHelper
import org.eclipse.osbp.xtext.basic.generator.BasicDslGeneratorUtils
import org.eclipse.osbp.xtext.blip.BlipItem
import org.eclipse.osbp.xtext.datamart.common.AEntityDatamart
import org.eclipse.osbp.xtext.datamart.common.DatamartFilterGenerator
import org.eclipse.osbp.xtext.datamart.common.olap.DerivedAxis
import org.eclipse.osbp.xtext.datamart.common.olap.DerivedHierarchy
import org.eclipse.osbp.xtext.datamart.common.olap.DerivedLevel
import org.eclipse.osbp.xtext.datamart.common.olap.DerivedMember
import org.eclipse.osbp.xtext.datamart.common.olap.DerivedPosition
import org.eclipse.osbp.xtext.datamart.common.sql.OperativeDtoContainer
import org.eclipse.osbp.xtext.i18n.I18NModelGenerator
import org.eclipse.osbp.xtext.table.common.BeanFilterTable
import org.eclipse.osbp.xtext.table.common.CellSetFilterTable
import org.eclipse.osbp.xtext.table.common.CellSetIndexedContainer
import org.eclipse.osbp.xtext.table.common.CellSetPagedFilterTable
import org.eclipse.osbp.xtext.table.common.CheckboxSelectionCellSetFilterTable
import org.eclipse.osbp.xtext.table.common.TableFilterDecorator
import org.eclipse.osbp.xtext.table.common.TableFilterGenerator
import org.eclipse.osbp.xtext.table.generator.TableGridSourceGenerator
import org.eclipse.xtext.generator.IFileSystemAccess
import org.eclipse.xtext.xbase.compiler.GeneratorConfig
import org.eclipse.xtext.xbase.compiler.ImportManager
import org.osgi.service.event.Event
import org.osgi.service.event.EventHandler
import org.vaadin.hene.popupbutton.PopupButton
import org.eclipse.osbp.xtext.action.SelectWorkloadActionEnum
import java.io.StringWriter
import java.io.PrintWriter
class TableModelGenerator extends I18NModelGenerator {
@Inject TableGridSourceGenerator delegate
@Inject extension BasicDslGeneratorUtils
override createAppendable(EObject context, ImportManager importManager, GeneratorConfig config) {
// required to initialize the needed builder to avoid deprecated methods
builder = context.eResource
// ---------
addImportFor(
importManager,
_typeReferenceBuilder,
HashMap,
Map,
Collection,
ValueChangeListener,
Label,
List,
Set,
TreeSet,
Iterator,
ArrayList,
Page,
Styles,
DerivedAxis,
DerivedPosition,
DerivedMember,
HorizontalLayout,
TabSheet,
Notification,
ClickEvent,
Button,
Type,
Align,
OperativeDtoContainer,
DerivedHierarchy,
DerivedLevel,
IEventBroker,
PopupButton,
CellSetFilterTable,
BeanFilterTable,
CellSetPagedFilterTable,
CheckboxSelectionCellSetFilterTable,
CustomTable,
RowHeaderMode,
Container,
CellSetIndexedContainer,
TableFilterDecorator,
TableFilterGenerator,
Date,
ExtendedDate,
TimeUnit,
EventHandler,
Event,
EventUtils,
ContentMode,
EventBrokerMsg,
Executors,
SelectUserWindow,
UUID,
ProductConfiguration,
AEntityDatamart,
IViewEmbeddedProvider,
MApplication,
ContextInjectionFactory,
UI,
Locale,
IThemeResourceService,
ThemeResourceType,
IBlipBPMFunctionProvider,
IBlipBPMConstants,
IBlipBPMStartInfo,
IBlipBPMWorkloadModifiableItem,
IDto,
Task,
BlipItem,
IDTOServiceWithMutablePersistence,
DtoServiceAccess,
DatamartFilterGenerator,
ViewLayoutManager,
IDatamartFilterGenerator.FilterChangeListener,
EventDispatcherEvent,
EventDispatcherEvent.EventDispatcherDataTag,
EventDispatcherEvent.EventDispatcherCommand,
DatamartFilter,
DatamartPrimary,
IE4Table,
Focus,
Collectors,
IBeanSearchServiceFactory,
IECViewSessionHelper,
IBlobService,
BPMTaskSummary,
BPMOperation,
BPMTaskEventType,
BPMTaskUserEvent,
SelectWorkloadActionEnum,
StringWriter,
PrintWriter
)
super.createAppendable(context, importManager, config)
}
override doGenerate(Resource resource, IFileSystemAccess fsa) {
// i18n
addTranslatables(
"save,cancel,securityMessage,Page,Items per page,showAll,endDate,startDate,setFilter,clearFilter,lesser_than,greater_than,equal_to,ok,reset,[x]")
super.doGenerate(resource, fsa)
delegate.doGenerate(resource, fsa)
}
}