Skip to content

Package: IterateConditionDmrOpenInNewContextStrategyProvider

IterateConditionDmrOpenInNewContextStrategyProvider

nameinstructionbranchcomplexitylinemethod
IterateConditionDmrOpenInNewContextStrategyProvider()
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%
getSelectionValidator()
M: 0 C: 2
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
handles(EObject, EReference)
M: 0 C: 13
100%
M: 0 C: 6
100%
M: 0 C: 4
100%
M: 0 C: 3
100%
M: 0 C: 1
100%
lambda$0(EStructuralFeature)
M: 0 C: 13
100%
M: 0 C: 4
100%
M: 0 C: 3
100%
M: 0 C: 3
100%
M: 0 C: 1
100%
setEMFFormsDatabindingEMF(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%
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%

Coverage

1: /*******************************************************************************
2: * Copyright (c) 2011-2019 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: * Lucas Koehler - initial API and implementation
13: ******************************************************************************/
14: package org.eclipse.emf.ecp.view.internal.editor.handler;
15:
16: import org.eclipse.emf.ecore.EObject;
17: import org.eclipse.emf.ecore.EReference;
18: import org.eclipse.emf.ecp.ui.view.swt.reference.OpenInNewContextStrategy.Provider;
19: import org.eclipse.emf.ecp.view.spi.editor.controls.EStructuralFeatureSelectionValidator;
20: import org.eclipse.emf.ecp.view.spi.rule.model.IterateCondition;
21: import org.eclipse.emf.ecp.view.spi.rule.model.RulePackage;
22: import org.eclipse.emfforms.spi.common.report.ReportService;
23: import org.eclipse.emfforms.spi.core.services.databinding.emf.EMFFormsDatabindingEMF;
24: import org.osgi.service.component.annotations.Component;
25: import org.osgi.service.component.annotations.Reference;
26:
27: /**
28: * Creates segment based item domain model references for {@link IterateCondition IterateConditions}.
29: *
30: * @author Lucas Koehler
31: *
32: */
33: @Component(name = "IterateConditionDmrOpenInNewContextStrategyProvider", property = "service.ranking:Integer=50", service = {
34:         Provider.class })
35: public class IterateConditionDmrOpenInNewContextStrategyProvider
36:         extends RuleConditionDmrOpenInNewContextStrategyProvider {
37:
38:         @Override
39:         @Reference(unbind = "-")
40:         protected void setEMFFormsDatabindingEMF(EMFFormsDatabindingEMF databinding) {
41:                 super.setEMFFormsDatabindingEMF(databinding);
42:         }
43:
44:         @Override
45:         @Reference(unbind = "-")
46:         protected void setReportService(ReportService reportService) {
47:                 super.setReportService(reportService);
48:         }
49:
50:         @Override
51:         protected boolean handles(EObject owner, EReference reference) {
52:•                return isSegmentToolingEnabled()
53:•                        && owner instanceof IterateCondition
54:•                        && reference == RulePackage.Literals.ITERATE_CONDITION__ITEM_REFERENCE;
55:         }
56:
57:         @Override
58:         protected EStructuralFeatureSelectionValidator getSelectionValidator() {
59:•                return feature -> feature instanceof EReference && EReference.class.cast(feature).isMany()
60:                         ? null
61:                         : "An iterate condition's domain model reference must point to a multi reference."; //$NON-NLS-1$
62:         }
63: }