Skip to content

Package: EMFFormsSpreadsheetTableControlRendererService

EMFFormsSpreadsheetTableControlRendererService

nameinstructionbranchcomplexitylinemethod
EMFFormsSpreadsheetTableControlRendererService()
M: 0 C: 3
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
activate(BundleContext)
M: 0 C: 4
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 2
100%
M: 0 C: 1
100%
deactivate(BundleContext)
M: 0 C: 6
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 2
100%
M: 0 C: 1
100%
getFactory()
M: 0 C: 20
100%
M: 0 C: 2
100%
M: 0 C: 2
100%
M: 0 C: 6
100%
M: 0 C: 1
100%
getRendererInstance(VTableControl, ViewModelContext)
M: 0 C: 22
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 3
100%
M: 0 C: 1
100%
isApplicable(VElement, ViewModelContext)
M: 0 C: 8
100%
M: 0 C: 2
100%
M: 0 C: 2
100%
M: 0 C: 3
100%
M: 0 C: 1
100%
setConverterRegistry(EMFFormsSpreadsheetValueConverterRegistry)
M: 0 C: 4
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 2
100%
M: 0 C: 1
100%
setEMFFormsDomainExpander(EMFFormsDomainExpander)
M: 0 C: 4
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 2
100%
M: 0 C: 1
100%
setEmfFormsIdProvider(EMFFormsIdProvider)
M: 0 C: 4
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 2
100%
M: 0 C: 1
100%
setEmfformsDatabinding(EMFFormsDatabindingEMF)
M: 0 C: 4
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 2
100%
M: 0 C: 1
100%
setEmfformsLabelProvider(EMFFormsLabelProvider)
M: 0 C: 4
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 2
100%
M: 0 C: 1
100%
setFormatDescriptionProvider(EMFFormsSpreadsheetFormatDescriptionProvider)
M: 0 C: 4
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 2
100%
M: 0 C: 1
100%
setReportService(ReportService)
M: 0 C: 4
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 2
100%
M: 0 C: 1
100%
setVTViewTemplateProvider(VTViewTemplateProvider)
M: 0 C: 4
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 2
100%
M: 0 C: 1
100%

Coverage

1: /*******************************************************************************
2: * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
3: *
4: * All rights reserved. This program and the accompanying materials
5: * are made available under the terms of the Eclipse Public License 2.0
6: * which accompanies this distribution, and is available at
7: * https://www.eclipse.org/legal/epl-2.0/
8: *
9: * SPDX-License-Identifier: EPL-2.0
10: *
11: * Contributors:
12: * Eugen Neufeld - initial API and implementation
13: ******************************************************************************/
14: package org.eclipse.emfforms.internal.spreadsheet.core.renderer.table;
15:
16: import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
17: import org.eclipse.emf.ecp.view.spi.model.VElement;
18: import org.eclipse.emf.ecp.view.spi.table.model.VTableControl;
19: import org.eclipse.emf.ecp.view.template.model.VTViewTemplateProvider;
20: import org.eclipse.emfforms.spi.common.report.ReportService;
21: import org.eclipse.emfforms.spi.core.services.databinding.emf.EMFFormsDatabindingEMF;
22: import org.eclipse.emfforms.spi.core.services.domainexpander.EMFFormsDomainExpander;
23: import org.eclipse.emfforms.spi.core.services.label.EMFFormsLabelProvider;
24: import org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsAbstractSpreadsheetRenderer;
25: import org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsIdProvider;
26: import org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsSpreadsheetFormatDescriptionProvider;
27: import org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsSpreadsheetRendererFactory;
28: import org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsSpreadsheetRendererService;
29: import org.eclipse.emfforms.spi.spreadsheet.core.converter.EMFFormsSpreadsheetValueConverterRegistry;
30: import org.osgi.framework.BundleContext;
31: import org.osgi.framework.ServiceReference;
32: import org.osgi.service.component.annotations.Activate;
33: import org.osgi.service.component.annotations.Component;
34: import org.osgi.service.component.annotations.Deactivate;
35: import org.osgi.service.component.annotations.Reference;
36:
37: /**
38: * The {@link EMFFormsSpreadsheetRendererService} for {@link VTableControl}.
39: *
40: * @author Eugen Neufeld
41: */
42: @Component
43: public class EMFFormsSpreadsheetTableControlRendererService implements
44:         EMFFormsSpreadsheetRendererService<VTableControl> {
45:
46:         private EMFFormsDatabindingEMF emfformsDatabinding;
47:         private EMFFormsLabelProvider emfformsLabelProvider;
48:         private ReportService reportService;
49:         private EMFFormsSpreadsheetRendererFactory emfformsSpreadsheetRendererFactory;
50:         private VTViewTemplateProvider vtViewTemplateProvider;
51:         private EMFFormsIdProvider emfFormsIdProvider;
52:         private EMFFormsSpreadsheetValueConverterRegistry converterRegistry;
53:         private EMFFormsSpreadsheetFormatDescriptionProvider formatDescriptionProvider;
54:         private EMFFormsDomainExpander domainExpander;
55:
56:         /**
57:          * The VTViewTemplateProvider to use.
58:          *
59:          * @param vtViewTemplateProvider the VTViewTemplateProvider to set
60:          */
61:         @Reference(unbind = "-")
62:         protected void setVTViewTemplateProvider(VTViewTemplateProvider vtViewTemplateProvider) {
63:                 this.vtViewTemplateProvider = vtViewTemplateProvider;
64:         }
65:
66:         /**
67:          * The ReportService to use.
68:          *
69:          * @param reportService the reportService to set
70:          */
71:         @Reference(unbind = "-")
72:         protected void setReportService(ReportService reportService) {
73:                 this.reportService = reportService;
74:         }
75:
76:         /**
77:          * Set the EMFFormsDatabindingEMF to use.
78:          *
79:          * @param emfformsDatabinding The EMFFormsDatabindingEMF to use
80:          */
81:         @Reference(unbind = "-")
82:         protected void setEmfformsDatabinding(EMFFormsDatabindingEMF emfformsDatabinding) {
83:                 this.emfformsDatabinding = emfformsDatabinding;
84:         }
85:
86:         /**
87:          * Set the EMFFormsLabelProvider to use.
88:          *
89:          * @param emfformsLabelProvider The EMFFormsLabelProvider to use
90:          */
91:         @Reference(unbind = "-")
92:         protected void setEmfformsLabelProvider(EMFFormsLabelProvider emfformsLabelProvider) {
93:                 this.emfformsLabelProvider = emfformsLabelProvider;
94:         }
95:
96:         /**
97:          * The EMFFormsIdProvider to use.
98:          *
99:          * @param emfFormsIdProvider the EMFFormsIdProvider to set
100:          */
101:         @Reference(unbind = "-")
102:         protected void setEmfFormsIdProvider(EMFFormsIdProvider emfFormsIdProvider) {
103:                 this.emfFormsIdProvider = emfFormsIdProvider;
104:         }
105:
106:         /**
107:          * The EMFFormsSpreadsheetValueConverterRegistry to use.
108:          *
109:          * @param converterRegistry the converter registry
110:          */
111:         @Reference(unbind = "-")
112:         public void setConverterRegistry(EMFFormsSpreadsheetValueConverterRegistry converterRegistry) {
113:                 this.converterRegistry = converterRegistry;
114:         }
115:
116:         /**
117:          * The EMFFormsSpreadsheetFormatDescriptionProvider to use.
118:          *
119:          * @param formatDescriptionProvider the formatDescriptionProvider
120:          */
121:         @Reference(unbind = "-")
122:         public void setFormatDescriptionProvider(EMFFormsSpreadsheetFormatDescriptionProvider formatDescriptionProvider) {
123:                 this.formatDescriptionProvider = formatDescriptionProvider;
124:         }
125:
126:         /**
127:          * The EMFFormsDomainExpander to use.
128:          *
129:          * @param domainExpander the EMFFormsDomainExpander
130:          */
131:         @Reference(unbind = "-")
132:         public void setEMFFormsDomainExpander(EMFFormsDomainExpander domainExpander) {
133:                 this.domainExpander = domainExpander;
134:         }
135:
136:         private ServiceReference<EMFFormsSpreadsheetRendererFactory> serviceReference;
137:         private BundleContext bundleContext;
138:
139:         /**
140:          * The activate method.
141:          *
142:          * @param bundleContext The BundleContext
143:          */
144:         @Activate
145:         public void activate(BundleContext bundleContext) {
146:                 this.bundleContext = bundleContext;
147:         }
148:
149:         /**
150:          * The deactivate method.
151:          *
152:          * @param bundleContext The BundleContext
153:          */
154:         @Deactivate
155:         public void deactivate(BundleContext bundleContext) {
156:                 bundleContext.ungetService(serviceReference);
157:         }
158:
159:         /**
160:          * {@inheritDoc}
161:          *
162:          * @see org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsSpreadsheetRendererService#isApplicable(org.eclipse.emf.ecp.view.spi.model.VElement,
163:          * org.eclipse.emf.ecp.view.spi.context.ViewModelContext)
164:          */
165:         @Override
166:         public double isApplicable(VElement vElement,
167:                 ViewModelContext viewModelContext) {
168:•                if (VTableControl.class.isInstance(vElement)) {
169:                         return 2;
170:                 }
171:                 return NOT_APPLICABLE;
172:         }
173:
174:         private EMFFormsSpreadsheetRendererFactory getFactory() {
175:•                if (emfformsSpreadsheetRendererFactory == null) {
176:                         serviceReference = bundleContext
177:                                 .getServiceReference(EMFFormsSpreadsheetRendererFactory.class);
178:                         emfformsSpreadsheetRendererFactory = bundleContext
179:                                 .getService(serviceReference);
180:                 }
181:                 return emfformsSpreadsheetRendererFactory;
182:         }
183:
184:         /**
185:          * {@inheritDoc}
186:          *
187:          * @see org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsSpreadsheetRendererService#getRendererInstance(org.eclipse.emf.ecp.view.spi.model.VElement,
188:          * org.eclipse.emf.ecp.view.spi.context.ViewModelContext)
189:          */
190:         @Override
191:         public EMFFormsAbstractSpreadsheetRenderer<VTableControl> getRendererInstance(
192:                 VTableControl vElement, ViewModelContext viewModelContext) {
193:                 return new EMFFormsSpreadsheetTableControlRenderer(emfformsDatabinding, emfformsLabelProvider, reportService,
194:                         getFactory(), vtViewTemplateProvider, emfFormsIdProvider, converterRegistry,
195:                         formatDescriptionProvider, domainExpander);
196:         }
197:
198: }