Skip to main content
summaryrefslogtreecommitdiffstats
blob: fd0947ffd5612f808ffc3b2c9d7c0c4830e3bf2b (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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
/**
 *                                                                            
 *  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 2.0        
 *  which accompanies this distribution, and is available at                  
 *  https://www.eclipse.org/legal/epl-2.0/                                 
 *                                 
 *  SPDX-License-Identifier: EPL-2.0                                 
 *                                                                            
 *  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.TabSheet.SelectedTabChangeEvent
import com.vaadin.ui.TabSheet.SelectedTabChangeListener
import com.vaadin.ui.UI
import java.io.PrintWriter
import java.io.StringWriter
import java.util.ArrayList
import java.util.Collection
import java.util.Date
import java.util.HashMap
import java.util.Iterator
import java.util.LinkedHashMap
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.ui.di.Focus
import org.eclipse.e4.ui.model.application.MApplication
import org.eclipse.e4.ui.model.application.ui.advanced.MPerspective
import org.eclipse.e4.ui.model.application.ui.basic.MPart
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.event.IDualData
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.perspective.IPerspectiveProvider
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.action.SelectWorkloadActionEnum
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.runtime.common.event.SelectionStore

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,
			PopupButton,
			CellSetFilterTable,
			BeanFilterTable,
			CellSetPagedFilterTable,
			CheckboxSelectionCellSetFilterTable,
			CustomTable,
			CustomTable.ColumnResizeEvent,
			CustomTable.ColumnResizeListener,
			CustomTable.ColumnReorderEvent,
			CustomTable.ColumnReorderListener,
			CustomTable.ColumnCollapseEvent,
			CustomTable.ColumnCollapseListener,
			SelectedTabChangeListener,
			SelectedTabChangeEvent,
			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,
			LinkedHashMap,
//			ReferenceCardinality,
//			ReferencePolicy,
			IDualData,
			MPerspective,
			MPart,
			IPerspectiveProvider,
			SelectionStore
		)
		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)

	}

}

Back to the top