Bug 462873 - Change DMR to use segments
https://bugs.eclipse.org/bugs/show_bug.cgi?id=462873
multireference, table, core.swt renderers
Change-Id: I864563202aa2239a7b07d8f088d2b62bccbf95ee
Signed-off-by: Lucas Koehler <l.koehler93@gmail.com>
diff --git a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/util/CellEditorFactory.java b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/util/CellEditorFactory.java
index 9051d89..5c53912 100644
--- a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/util/CellEditorFactory.java
+++ b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/util/CellEditorFactory.java
@@ -80,6 +80,7 @@
}
+ // TODO: use DomainModelReference instead of strucutralFeature and EObject
public CellEditor getCellEditor(EStructuralFeature eStructuralFeature, EObject eObject, Table table,
ViewModelContext viewModelContext) {
int bestPriority = -1;
diff --git a/bundles/org.eclipse.emf.ecp.view.context/src/org/eclipse/emf/ecp/view/internal/context/ViewModelContextImpl.java b/bundles/org.eclipse.emf.ecp.view.context/src/org/eclipse/emf/ecp/view/internal/context/ViewModelContextImpl.java
index d63b076..106b22d 100644
--- a/bundles/org.eclipse.emf.ecp.view.context/src/org/eclipse/emf/ecp/view/internal/context/ViewModelContextImpl.java
+++ b/bundles/org.eclipse.emf.ecp.view.context/src/org/eclipse/emf/ecp/view/internal/context/ViewModelContextImpl.java
@@ -12,7 +12,6 @@
package org.eclipse.emf.ecp.view.internal.context;
import java.util.Comparator;
-import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.LinkedHashSet;
import java.util.List;
@@ -22,6 +21,8 @@
import java.util.TreeSet;
import java.util.concurrent.CopyOnWriteArrayList;
+import org.eclipse.core.databinding.observable.IObserving;
+import org.eclipse.core.databinding.observable.value.IObservableValue;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IConfigurationElement;
import org.eclipse.core.runtime.IExtensionRegistry;
@@ -32,6 +33,7 @@
import org.eclipse.emf.common.util.TreeIterator;
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.ecore.EStructuralFeature.Setting;
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.emf.ecore.resource.ResourceSet;
@@ -54,6 +56,8 @@
import org.eclipse.emf.ecp.view.spi.model.util.ViewModelUtil;
import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedReport;
/**
* The Class ViewModelContextImpl.
@@ -263,8 +267,9 @@
};
controlChangeListener.put(vControl, changeListener);
- vControl.getDomainModelReference().getChangeListener().add(changeListener);
- registerDomainChangeListener(vControl.getDomainModelReference());
+ // TODO: change listener
+ // vControl.getDomainModelReference().getChangeListener().add(changeListener);
+ // registerDomainChangeListener(vControl.getDomainModelReference());
}
}
@@ -274,36 +279,36 @@
settingToControlMap.get(setting).remove(vControl);
}
- final Iterator<Setting> iterator = vControl.getDomainModelReference().getIterator();
- while (iterator.hasNext()) {
- final Setting setting = iterator.next();
- if (setting == null) {
- continue;
- }
- final UniqueSetting uniqueSetting = UniqueSetting.createSetting(setting);
- if (!settingToControlMap.containsKey(uniqueSetting)) {
- settingToControlMap.put(uniqueSetting, new LinkedHashSet<VControl>());
- }
- settingToControlMap.get(uniqueSetting).add(vControl);
- }
-
- // IObservableValue observableValue;
- // try {
- // observableValue = Activator.getInstance().getEMFFormsDatabinding()
- // .getObservableValue(vControl.getDomainModelReference(), getDomainModel());
- // } catch (final DatabindingFailedException ex) {
- // Activator.getInstance().getReportService().report(new DatabindingFailedReport(ex));
- // return;
+ // final Iterator<Setting> iterator = vControl.getDomainModelReference().getIterator();
+ // while (iterator.hasNext()) {
+ // final Setting setting = iterator.next();
+ // if (setting == null) {
+ // continue;
// }
- // final IObserving observing = (IObserving) observableValue;
- // final EObject eObject = (EObject) observing.getObserved();
- // final EStructuralFeature structuralFeature = (EStructuralFeature) observableValue.getValueType();
- // observableValue.dispose();
- // final UniqueSetting uniqueSetting = UniqueSetting.createSetting(eObject, structuralFeature);
+ // final UniqueSetting uniqueSetting = UniqueSetting.createSetting(setting);
// if (!settingToControlMap.containsKey(uniqueSetting)) {
// settingToControlMap.put(uniqueSetting, new LinkedHashSet<VControl>());
// }
// settingToControlMap.get(uniqueSetting).add(vControl);
+ // }
+
+ IObservableValue observableValue;
+ try {
+ observableValue = Activator.getInstance().getEMFFormsDatabinding()
+ .getObservableValue(vControl.getDomainModelReference(), getDomainModel());
+ } catch (final DatabindingFailedException ex) {
+ Activator.getInstance().getReportService().report(new DatabindingFailedReport(ex));
+ return;
+ }
+ final IObserving observing = (IObserving) observableValue;
+ final EObject eObject = (EObject) observing.getObserved();
+ final EStructuralFeature structuralFeature = (EStructuralFeature) observableValue.getValueType();
+ observableValue.dispose();
+ final UniqueSetting uniqueSetting = UniqueSetting.createSetting(eObject, structuralFeature);
+ if (!settingToControlMap.containsKey(uniqueSetting)) {
+ settingToControlMap.put(uniqueSetting, new LinkedHashSet<VControl>());
+ }
+ settingToControlMap.get(uniqueSetting).add(vControl);
}
private void vControlRemoved(VControl vControl) {
@@ -311,41 +316,42 @@
return;
}
- final Iterator<Setting> iterator = vControl.getDomainModelReference().getIterator();
- while (iterator.hasNext()) {
- final Setting next = iterator.next();
- final UniqueSetting uniqueSetting = UniqueSetting.createSetting(next);
- if (settingToControlMap.containsKey(uniqueSetting)) {
- settingToControlMap.get(uniqueSetting).remove(vControl);
- if (settingToControlMap.get(uniqueSetting).size() == 0) {
- settingToControlMap.remove(uniqueSetting);
- }
- }
- }
-
- // IObservableValue observableValue;
- // try {
- // observableValue = Activator.getInstance().getEMFFormsDatabinding()
- // .getObservableValue(vControl.getDomainModelReference(), getDomainModel());
- // } catch (final DatabindingFailedException ex) {
- // Activator.getInstance().getReportService().report(new DatabindingFailedReport(ex));
- // return;
- // }
- // final IObserving observing = (IObserving) observableValue;
- // final EObject eObject = (EObject) observing.getObserved();
- // final EStructuralFeature structuralFeature = (EStructuralFeature) observableValue.getValueType();
- // observableValue.dispose();
- // final UniqueSetting uniqueSetting = UniqueSetting.createSetting(eObject, structuralFeature);
+ // final Iterator<Setting> iterator = vControl.getDomainModelReference().getIterator();
+ // while (iterator.hasNext()) {
+ // final Setting next = iterator.next();
+ // final UniqueSetting uniqueSetting = UniqueSetting.createSetting(next);
// if (settingToControlMap.containsKey(uniqueSetting)) {
// settingToControlMap.get(uniqueSetting).remove(vControl);
// if (settingToControlMap.get(uniqueSetting).size() == 0) {
// settingToControlMap.remove(uniqueSetting);
// }
// }
+ // }
- vControl.getDomainModelReference().getChangeListener().remove(controlChangeListener.get(vControl));
- controlChangeListener.remove(vControl);
- unregisterDomainChangeListener(vControl.getDomainModelReference());
+ IObservableValue observableValue;
+ try {
+ observableValue = Activator.getInstance().getEMFFormsDatabinding()
+ .getObservableValue(vControl.getDomainModelReference(), getDomainModel());
+ } catch (final DatabindingFailedException ex) {
+ Activator.getInstance().getReportService().report(new DatabindingFailedReport(ex));
+ return;
+ }
+ final IObserving observing = (IObserving) observableValue;
+ final EObject eObject = (EObject) observing.getObserved();
+ final EStructuralFeature structuralFeature = (EStructuralFeature) observableValue.getValueType();
+ observableValue.dispose();
+ final UniqueSetting uniqueSetting = UniqueSetting.createSetting(eObject, structuralFeature);
+ if (settingToControlMap.containsKey(uniqueSetting)) {
+ settingToControlMap.get(uniqueSetting).remove(vControl);
+ if (settingToControlMap.get(uniqueSetting).size() == 0) {
+ settingToControlMap.remove(uniqueSetting);
+ }
+ }
+
+ // TODO: change listener
+ // vControl.getDomainModelReference().getChangeListener().remove(controlChangeListener.get(vControl));
+ // controlChangeListener.remove(vControl);
+ // unregisterDomainChangeListener(vControl.getDomainModelReference());
}
private void vControlAdded(VControl vControl) {
@@ -353,36 +359,36 @@
return;
}
- // IObservableValue observableValue;
- // try {
- // observableValue = Activator.getInstance().getEMFFormsDatabinding()
- // .getObservableValue(vControl.getDomainModelReference(), getDomainModel());
- // } catch (final DatabindingFailedException ex) {
- // Activator.getInstance().getReportService().report(new DatabindingFailedReport(ex));
- // return;
+ IObservableValue observableValue;
+ try {
+ observableValue = Activator.getInstance().getEMFFormsDatabinding()
+ .getObservableValue(vControl.getDomainModelReference(), getDomainModel());
+ } catch (final DatabindingFailedException ex) {
+ Activator.getInstance().getReportService().report(new DatabindingFailedReport(ex));
+ return;
+ }
+ final IObserving observing = (IObserving) observableValue;
+ final EObject eObject = (EObject) observing.getObserved();
+ final EStructuralFeature structuralFeature = (EStructuralFeature) observableValue.getValueType();
+ observableValue.dispose();
+ final UniqueSetting uniqueSetting = UniqueSetting.createSetting(eObject, structuralFeature);
+ if (!settingToControlMap.containsKey(uniqueSetting)) {
+ settingToControlMap.put(uniqueSetting, new LinkedHashSet<VControl>());
+ }
+ settingToControlMap.get(uniqueSetting).add(vControl);
+
+ // final Iterator<Setting> iterator = vControl.getDomainModelReference().getIterator();
+ // while (iterator.hasNext()) {
+ // final Setting next = iterator.next();
+ // if (next == null) {
+ // continue;
// }
- // final IObserving observing = (IObserving) observableValue;
- // final EObject eObject = (EObject) observing.getObserved();
- // final EStructuralFeature structuralFeature = (EStructuralFeature) observableValue.getValueType();
- // observableValue.dispose();
- // final UniqueSetting uniqueSetting = UniqueSetting.createSetting(eObject, structuralFeature);
+ // final UniqueSetting uniqueSetting = UniqueSetting.createSetting(next);
// if (!settingToControlMap.containsKey(uniqueSetting)) {
// settingToControlMap.put(uniqueSetting, new LinkedHashSet<VControl>());
// }
// settingToControlMap.get(uniqueSetting).add(vControl);
-
- final Iterator<Setting> iterator = vControl.getDomainModelReference().getIterator();
- while (iterator.hasNext()) {
- final Setting next = iterator.next();
- if (next == null) {
- continue;
- }
- final UniqueSetting uniqueSetting = UniqueSetting.createSetting(next);
- if (!settingToControlMap.containsKey(uniqueSetting)) {
- settingToControlMap.put(uniqueSetting, new LinkedHashSet<VControl>());
- }
- settingToControlMap.get(uniqueSetting).add(vControl);
- }
+ // }
}
// private void eObjectRemoved(EObject eObject) {
@@ -546,10 +552,11 @@
settingToControlMap.clear();
for (final VControl vControl : controlChangeListener.keySet()) {
- if (vControl.getDomainModelReference() != null) {
- vControl.getDomainModelReference().getChangeListener().remove(controlChangeListener.get(vControl));
- }
- unregisterDomainChangeListener(vControl.getDomainModelReference());
+ // TODO: change listener
+ // if (vControl.getDomainModelReference() != null) {
+ // vControl.getDomainModelReference().getChangeListener().remove(controlChangeListener.get(vControl));
+ // }
+ // unregisterDomainChangeListener(vControl.getDomainModelReference());
}
controlChangeListener.clear();
diff --git a/bundles/org.eclipse.emf.ecp.view.table.ui.swt/src/org/eclipse/emf/ecp/view/spi/table/swt/TableControlSWTRenderer.java b/bundles/org.eclipse.emf.ecp.view.table.ui.swt/src/org/eclipse/emf/ecp/view/spi/table/swt/TableControlSWTRenderer.java
index a92a0ac..cf29a84 100644
--- a/bundles/org.eclipse.emf.ecp.view.table.ui.swt/src/org/eclipse/emf/ecp/view/spi/table/swt/TableControlSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.table.ui.swt/src/org/eclipse/emf/ecp/view/spi/table/swt/TableControlSWTRenderer.java
@@ -390,6 +390,7 @@
ColumnViewerToolTipSupport.enableFor(tableViewer);
final ObservableListContentProvider cp = new ObservableListContentProvider();
+ tableViewer.setContentProvider(cp);
InternalEObject tempInstance = null;
if (!clazz.isAbstract() && !clazz.isInterface()) {
tempInstance = getInstanceOf(clazz);
@@ -408,12 +409,6 @@
final VTableDomainModelReference tableDomainModelReference = VTableDomainModelReference.class.cast(
getVElement().getDomainModelReference());
- final IObservableList list = getEMFFormsDatabinding()
- .getObservableList(tableDomainModelReference, getViewModelContext().getDomainModel());
- tableViewer.setInput(list);
-
- final EClass columnRootEClass = ((EReference) list.getElementType()).getEReferenceType();
-
for (final VDomainModelReference dmr : tableDomainModelReference.getColumnDomainModelReferences()) {
if (dmr == null) {
continue;
@@ -421,7 +416,7 @@
IValueProperty valueProperty;
try {
- valueProperty = getEMFFormsDatabinding().getValueProperty(dmr, columnRootEClass);
+ valueProperty = getEMFFormsDatabinding().getValueProperty(dmr, clazz);
} catch (final DatabindingFailedException ex) {
getReportService().report(new RenderingFailedReport(ex));
continue;
@@ -429,8 +424,8 @@
final EStructuralFeature eStructuralFeature = (EStructuralFeature) valueProperty.getValueType();
final EMFFormsLabelProvider labelService = getEMFFormsLabelProvider();
- final String text = labelService.getDisplayName(dmr, columnRootEClass);
- final String tooltipText = labelService.getDescription(dmr, columnRootEClass);
+ final String text = labelService.getDisplayName(dmr, clazz);
+ final String tooltipText = labelService.getDescription(dmr, clazz);
final CellEditor cellEditor = createCellEditor(tempInstance, eStructuralFeature, tableViewer.getTable());
final TableViewerColumn column = TableViewerColumnBuilder
@@ -462,7 +457,9 @@
}
columnNumber++;
}
- tableViewer.setContentProvider(cp);
+ final IObservableList list = getEMFFormsDatabinding()
+ .getObservableList(tableDomainModelReference, getViewModelContext().getDomainModel());
+ tableViewer.setInput(list);
// IMPORTANT:
// - the minimumWidth and (non)resizable settings of the ColumnWeightData are not supported properly
diff --git a/tests/org.eclipse.emf.ecp.view.control.multireference.tests/src/org/eclipse/emf/ecp/view/internal/control/multireference/MultiReferenceRenderer_PTest.java b/tests/org.eclipse.emf.ecp.view.control.multireference.tests/src/org/eclipse/emf/ecp/view/internal/control/multireference/MultiReferenceRenderer_PTest.java
index deadae0..ce20955 100644
--- a/tests/org.eclipse.emf.ecp.view.control.multireference.tests/src/org/eclipse/emf/ecp/view/internal/control/multireference/MultiReferenceRenderer_PTest.java
+++ b/tests/org.eclipse.emf.ecp.view.control.multireference.tests/src/org/eclipse/emf/ecp/view/internal/control/multireference/MultiReferenceRenderer_PTest.java
@@ -24,12 +24,10 @@
import org.eclipse.core.databinding.observable.list.IObservableList;
import org.eclipse.core.databinding.observable.list.WritableList;
import org.eclipse.core.databinding.observable.value.IObservableValue;
-import org.eclipse.emf.common.util.BasicEList;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.ecore.EStructuralFeature.Setting;
import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
-import org.eclipse.emf.ecp.view.spi.model.DomainModelReferenceChangeListener;
import org.eclipse.emf.ecp.view.spi.model.VControl;
import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
import org.eclipse.emf.ecp.view.spi.model.reporting.ReportService;
@@ -118,15 +116,12 @@
when(setting.getEObject()).thenReturn(eObject);
when(setting.getEStructuralFeature()).thenReturn(eStructuralFeature);
- final BasicEList<DomainModelReferenceChangeListener> changeListener = new BasicEList<DomainModelReferenceChangeListener>();
- when(domainModelReference.getChangeListener()).thenReturn(changeListener);
-
final ImageRegistryService imageRegistryService = mock(ImageRegistryService.class);
final VTViewTemplateProvider templateProvider = mock(VTViewTemplateProvider.class);
renderer = new MultiReferenceSWTRenderer(vControl, viewContext, reportService, databindingService,
labelProvider, templateProvider, imageRegistryService);
- renderer.init();
+ // Do not init renderer hear because the databinding service needs to be properly mocked before.
}
/**
@@ -242,6 +237,8 @@
when(databindingService.getObservableValue(any(VDomainModelReference.class), any(EObject.class))).thenReturn(
observableValue);
when(observableValue.getObserved()).thenReturn(mock(EObject.class));
+ renderer.init();
+
final Composite composite = (Composite) renderer.render(new SWTGridCell(0, 0, renderer), shell);
final Composite controlComposite = (Composite) composite.getChildren()[1];
final Table table = (Table) controlComposite.getChildren()[0];
@@ -264,6 +261,7 @@
when(databindingService.getObservableValue(any(VDomainModelReference.class), any(EObject.class))).thenReturn(
observableValue);
when(observableValue.getObserved()).thenReturn(mock(EObject.class));
+ renderer.init();
final Composite composite = (Composite) renderer.render(new SWTGridCell(0, 0, renderer), shell);
final Composite controlComposite = (Composite) composite.getChildren()[1];
diff --git a/tests/org.eclipse.emf.ecp.view.core.swt.tests/AllPluginTests core.swt.launch b/tests/org.eclipse.emf.ecp.view.core.swt.tests/AllPluginTests core.swt.launch
index 640bb0a..cf05908 100644
--- a/tests/org.eclipse.emf.ecp.view.core.swt.tests/AllPluginTests core.swt.launch
+++ b/tests/org.eclipse.emf.ecp.view.core.swt.tests/AllPluginTests core.swt.launch
@@ -33,7 +33,7 @@
<stringAttribute key="product" value="org.eclipse.platform.ide"/>
<booleanAttribute key="run_in_ui_thread" value="true"/>
<stringAttribute key="selected_target_plugins" value="com.ibm.icu@default:default,javax.annotation@default:default,javax.inject@default:default,javax.xml@default:default,org.apache.batik.css*1.7.0.v201011041433@default:default,org.apache.batik.util*1.7.0.v201011041433@default:default,org.apache.batik.util.gui*1.7.0.v200903091627@default:default,org.apache.commons.codec@default:default,org.apache.commons.logging@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.core.databinding@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.runtime@default:true,org.eclipse.e4.core.commands@default:default,org.eclipse.e4.core.contexts@default:default,org.eclipse.e4.core.di.extensions@default:default,org.eclipse.e4.core.di@default:default,org.eclipse.e4.core.services@default:default,org.eclipse.e4.ui.bindings@default:default,org.eclipse.e4.ui.css.core@default:default,org.eclipse.e4.ui.css.swt.theme@default:default,org.eclipse.e4.ui.css.swt@default:default,org.eclipse.e4.ui.di@default:default,org.eclipse.e4.ui.model.workbench@default:default,org.eclipse.e4.ui.services@default:default,org.eclipse.e4.ui.widgets@default:default,org.eclipse.e4.ui.workbench.addons.swt@default:default,org.eclipse.e4.ui.workbench.renderers.swt@default:default,org.eclipse.e4.ui.workbench.swt@default:default,org.eclipse.e4.ui.workbench3@default:default,org.eclipse.e4.ui.workbench@default:default,org.eclipse.emf.common.ui@default:default,org.eclipse.emf.common@default:default,org.eclipse.emf.databinding.edit@default:default,org.eclipse.emf.databinding@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.edit.ui@default:default,org.eclipse.emf.edit@default:default,org.eclipse.emf.emfstore.client@default:default,org.eclipse.emf.emfstore.common.model@default:default,org.eclipse.emf.emfstore.common@default:default,org.eclipse.emf.emfstore.examplemodel.edit@default:default,org.eclipse.emf.emfstore.examplemodel@default:default,org.eclipse.emf.emfstore.migration@default:default,org.eclipse.emf.emfstore.server.model@default:default,org.eclipse.emf.emfstore.server@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.util@default:default,org.eclipse.help@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.jface@default:default,org.eclipse.net4j.util@default:default,org.eclipse.osgi.services@default:default,org.eclipse.osgi.util@default:default,org.eclipse.osgi@-1:true,org.eclipse.swt.win32.win32.x86_64@default:false,org.eclipse.swt@default:default,org.eclipse.ui.forms@default:default,org.eclipse.ui.views@default:default,org.eclipse.ui.workbench@default:default,org.eclipse.ui@default:default,org.hamcrest.core@default:default,org.junit@default:default,org.mockito.mockito-all@default:default,org.w3c.css.sac@default:default,org.w3c.dom.events@default:default,org.w3c.dom.smil@default:default,org.w3c.dom.svg@default:default"/>
-<stringAttribute key="selected_workspace_plugins" value="org.eclipse.emf.ecp.common.ui@default:default,org.eclipse.emf.ecp.common@default:default,org.eclipse.emf.ecp.core@default:default,org.eclipse.emf.ecp.edit.swt@default:default,org.eclipse.emf.ecp.edit@default:default,org.eclipse.emf.ecp.editor.e3@default:default,org.eclipse.emf.ecp.emfstore.core@default:default,org.eclipse.emf.ecp.explorereditorbridge@default:default,org.eclipse.emf.ecp.test.common@default:default,org.eclipse.emf.ecp.ui.view.swt@default:default,org.eclipse.emf.ecp.ui.view.test@default:default,org.eclipse.emf.ecp.ui.view@default:default,org.eclipse.emf.ecp.ui@default:default,org.eclipse.emf.ecp.view.context@default:default,org.eclipse.emf.ecp.view.core.swt.tests@default:false,org.eclipse.emf.ecp.view.core.swt@default:default,org.eclipse.emf.ecp.view.model.common@default:default,org.eclipse.emf.ecp.view.model.provider.generator@default:default,org.eclipse.emf.ecp.view.model.provider.xmi@default:default,org.eclipse.emf.ecp.view.model@default:default,org.eclipse.emf.ecp.view.template.model@default:default,org.eclipse.emf.ecp.view.test.common.swt@default:default,org.eclipse.emf.ecp.view.util.swt@default:default,org.eclipse.emf.ecp.view.vertical.model@default:default,org.eclipse.emf.emfforms.core.services.emfspecificservice@default:default,org.eclipse.emf.emfforms.core.services.labelprovider@default:default,org.eclipse.emf.emfforms.localization@default:default,org.eclipse.emfforms.core.services.databinding.featurepath@default:default,org.eclipse.emfforms.core.services.databinding@default:default,org.eclipse.emfforms.core.services.editsupport@default:default,org.eclipse.emfforms.swt.core@default:default"/>
+<stringAttribute key="selected_workspace_plugins" value="org.eclipse.emf.ecp.common.ui@default:default,org.eclipse.emf.ecp.common@default:default,org.eclipse.emf.ecp.core@default:default,org.eclipse.emf.ecp.edit.swt@default:default,org.eclipse.emf.ecp.edit@default:default,org.eclipse.emf.ecp.editor.e3@default:default,org.eclipse.emf.ecp.emfstore.core@default:default,org.eclipse.emf.ecp.explorereditorbridge@default:default,org.eclipse.emf.ecp.test.common@default:default,org.eclipse.emf.ecp.ui.view.swt@default:default,org.eclipse.emf.ecp.ui.view.test@default:default,org.eclipse.emf.ecp.ui.view@default:default,org.eclipse.emf.ecp.ui@default:default,org.eclipse.emf.ecp.view.context@default:default,org.eclipse.emf.ecp.view.core.swt.tests@default:false,org.eclipse.emf.ecp.view.core.swt@default:default,org.eclipse.emf.ecp.view.model.common@default:default,org.eclipse.emf.ecp.view.model.provider.generator@default:default,org.eclipse.emf.ecp.view.model.provider.xmi@default:default,org.eclipse.emf.ecp.view.model@default:default,org.eclipse.emf.ecp.view.template.model@default:default,org.eclipse.emf.ecp.view.test.common.swt@default:default,org.eclipse.emf.ecp.view.util.swt@default:default,org.eclipse.emf.ecp.view.vertical.model@default:default,org.eclipse.emf.emfforms.core.services.emfspecificservice@default:default,org.eclipse.emf.emfforms.core.services.labelprovider@default:default,org.eclipse.emf.emfforms.localization@default:default,org.eclipse.emfforms.core.services.databinding.segment@default:default,org.eclipse.emfforms.core.services.databinding@default:default,org.eclipse.emfforms.core.services.editsupport@default:default,org.eclipse.emfforms.swt.core@default:default"/>
<booleanAttribute key="show_selected_only" value="false"/>
<booleanAttribute key="tracing" value="false"/>
<booleanAttribute key="useCustomFeatures" value="false"/>
diff --git a/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/AbstractControl_PTest.java b/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/AbstractControl_PTest.java
index e36c8c4..448c735 100644
--- a/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/AbstractControl_PTest.java
+++ b/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/AbstractControl_PTest.java
@@ -19,8 +19,6 @@
import static org.mockito.Mockito.reset;
import static org.mockito.Mockito.when;
-import java.util.Collections;
-import java.util.Iterator;
import java.util.Map;
import org.eclipse.core.databinding.observable.IObserving;
@@ -28,11 +26,10 @@
import org.eclipse.core.databinding.observable.value.IObservableValue;
import org.eclipse.core.databinding.property.value.IValueProperty;
import org.eclipse.emf.common.command.BasicCommandStack;
-import org.eclipse.emf.common.util.BasicEList;
import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.EStructuralFeature.Setting;
import org.eclipse.emf.ecore.EcorePackage;
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.emf.ecore.resource.ResourceSet;
@@ -40,10 +37,11 @@
import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
import org.eclipse.emf.ecp.view.spi.core.swt.AbstractControlSWTRenderer;
-import org.eclipse.emf.ecp.view.spi.model.DomainModelReferenceChangeListener;
import org.eclipse.emf.ecp.view.spi.model.LabelAlignment;
import org.eclipse.emf.ecp.view.spi.model.VControl;
+import org.eclipse.emf.ecp.view.spi.model.VDMRSegment;
import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
+import org.eclipse.emf.ecp.view.spi.model.VViewFactory;
import org.eclipse.emf.ecp.view.spi.renderer.NoPropertyDescriptorFoundExeption;
import org.eclipse.emf.ecp.view.spi.renderer.NoRendererFoundException;
import org.eclipse.emf.ecp.view.spi.swt.layout.GridDescriptionFactory;
@@ -58,12 +56,11 @@
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Shell;
+import org.junit.After;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
import org.mockito.Mockito;
-import org.mockito.invocation.InvocationOnMock;
-import org.mockito.stubbing.Answer;
public abstract class AbstractControl_PTest {
protected static final String CUSTOM_VARIANT = "org.eclipse.rap.rwt.customVariant"; //$NON-NLS-1$
@@ -82,6 +79,15 @@
public static void tearDownAfterClass() {
}
+ /**
+ * Reset services after every test case.
+ */
+ @After()
+ public void after() {
+ reset(databindingService);
+ reset(labelProvider);
+ }
+
private Resource createResource() {
final Resource.Factory.Registry registry = Resource.Factory.Registry.INSTANCE;
final Map<String, Object> extToFactoryMap = registry
@@ -106,25 +112,15 @@
protected void mockControl(EObject eObject,
final EStructuralFeature eStructuralFeature) throws DatabindingFailedException {
- final VDomainModelReference domainModelReference = Mockito
- .mock(VDomainModelReference.class);
- final Setting setting = mock(Setting.class);
+ final VDomainModelReference domainModelReference = VViewFactory.eINSTANCE.createDomainModelReference();
+ final VDMRSegment featureSegment = VViewFactory.eINSTANCE.createDMRSegment();
+ featureSegment.setPropertyName(eStructuralFeature.getName());
+ domainModelReference.getSegments().add(featureSegment);
final Resource resource = createResource();
resource.getContents().add(eObject);
- when(setting.getEObject()).thenReturn(eObject);
- when(setting.getEStructuralFeature()).thenReturn(eStructuralFeature);
- when(domainModelReference.getIterator()).then(new Answer<Iterator<Setting>>() {
- @Override
- public Iterator<Setting> answer(InvocationOnMock invocation) throws Throwable {
- return Collections.singleton(setting).iterator();
- }
- });
-
mockDatabindingIsUnsettable();
- final BasicEList<DomainModelReferenceChangeListener> changeListener = new BasicEList<DomainModelReferenceChangeListener>();
- when(domainModelReference.getChangeListener()).thenReturn(changeListener);
Mockito.when(vControl.getDomainModelReference()).thenReturn(
domainModelReference);
}
@@ -134,7 +130,8 @@
when(structuralFeature.isUnsettable()).thenReturn(false);
final IValueProperty valueProperty = mock(IValueProperty.class);
when(valueProperty.getValueType()).thenReturn(structuralFeature);
- when(databindingService.getValueProperty(any(VDomainModelReference.class))).thenReturn(valueProperty);
+ when(databindingService.getValueProperty(any(VDomainModelReference.class), any(EClass.class)))
+ .thenReturn(valueProperty);
}
protected void setMockLabelAlignment(LabelAlignment labelAlignment) {
@@ -177,20 +174,23 @@
@Test
public void renderValidationIconLabelAlignmentNone()
- throws NoRendererFoundException, NoPropertyDescriptorFoundExeption {
+ throws NoRendererFoundException, NoPropertyDescriptorFoundExeption, DatabindingFailedException {
setMockLabelAlignment(LabelAlignment.NONE);
renderValidationIcon(new SWTGridCell(0, 0, renderer));
}
@Test
public void renderValidationIconLabelAlignmentLeft()
- throws NoRendererFoundException, NoPropertyDescriptorFoundExeption {
+ throws NoRendererFoundException, NoPropertyDescriptorFoundExeption, DatabindingFailedException {
setMockLabelAlignment(LabelAlignment.LEFT);
renderValidationIcon(new SWTGridCell(0, 1, renderer));
}
private void renderValidationIcon(SWTGridCell gridCell)
- throws NoRendererFoundException, NoPropertyDescriptorFoundExeption {
+ throws NoRendererFoundException, NoPropertyDescriptorFoundExeption, DatabindingFailedException {
+ when(databindingService.getObservableValue(any(VDomainModelReference.class), any(EClass.class))).thenReturn(
+ mock(IObservableValue.class));
+ renderer.init();
final Control render = renderer.render(gridCell, shell);
assertTrue(Label.class.isInstance(render));
assertEquals("", Label.class.cast(render).getText());
@@ -209,8 +209,10 @@
*
* @throws NoRendererFoundException
* @throws NoPropertyDescriptorFoundExeption
+ * @throws DatabindingFailedException
*/
- protected void labelServiceUsage() throws NoRendererFoundException, NoPropertyDescriptorFoundExeption {
+ protected void labelServiceUsage() throws NoRendererFoundException, NoPropertyDescriptorFoundExeption,
+ DatabindingFailedException {
reset(labelProvider);
final String testDescription = "test-description";
final String testDisplayName = "test-displayname";
@@ -219,7 +221,12 @@
when(labelProvider.getDisplayName(any(VDomainModelReference.class), any(EObject.class))).thenReturn(
testDisplayName);
+ mockDatabindingIsUnsettable();
+ when(databindingService.getObservableValue(any(VDomainModelReference.class), any(EClass.class))).thenReturn(
+ mock(IObservableValue.class));
+
setMockLabelAlignment(LabelAlignment.LEFT);
+ renderer.init();
final Control renderControl = renderControl(new SWTGridCell(0, 0, renderer));
assertTrue(Label.class.isInstance(renderControl));
diff --git a/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/BooleanControlRenderer_PTest.java b/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/BooleanControlRenderer_PTest.java
index 52e62f4..c00abdb 100644
--- a/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/BooleanControlRenderer_PTest.java
+++ b/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/BooleanControlRenderer_PTest.java
@@ -57,7 +57,6 @@
setup();
renderer = new BooleanControlSWTRenderer(vControl, context, reportService, databindingService, labelProvider,
templateProvider);
- renderer.init();
}
@After
@@ -73,6 +72,7 @@
when(mockedObservableValue.getRealm()).thenReturn(realm);
when(databindingService.getObservableValue(any(VDomainModelReference.class), any(EObject.class))).thenReturn(
mockedObservableValue);
+ renderer.init();
final Control render = renderControl(new SWTGridCell(0, 1, renderer));
assertControl(render);
}
@@ -85,6 +85,7 @@
when(mockedObservableValue.getRealm()).thenReturn(realm);
when(databindingService.getObservableValue(any(VDomainModelReference.class), any(EObject.class))).thenReturn(
mockedObservableValue);
+ renderer.init();
final Control render = renderControl(new SWTGridCell(0, 2, renderer));
assertControl(render);
@@ -159,6 +160,7 @@
when(databindingService.getObservableValue(any(VDomainModelReference.class), any(EObject.class))).thenReturn(
mockedObservable);
+ renderer.init();
final Control renderControl = renderControl(new SWTGridCell(0, 2, renderer));
final Button button = (Button) renderControl;
return button;
@@ -169,9 +171,11 @@
*
* @throws NoRendererFoundException
* @throws NoPropertyDescriptorFoundExeption
+ * @throws DatabindingFailedException
*/
@Test
- public void testLabelServiceUsage() throws NoRendererFoundException, NoPropertyDescriptorFoundExeption {
+ public void testLabelServiceUsage() throws NoRendererFoundException, NoPropertyDescriptorFoundExeption,
+ DatabindingFailedException {
labelServiceUsage();
}
}
diff --git a/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/DateTimeControlRenderer_PTest.java b/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/DateTimeControlRenderer_PTest.java
index 7a081e1..527ad34 100644
--- a/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/DateTimeControlRenderer_PTest.java
+++ b/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/DateTimeControlRenderer_PTest.java
@@ -71,7 +71,6 @@
setup();
renderer = new DateTimeControlSWTRenderer(vControl, context, reportService, databindingService, labelProvider,
templateProvider);
- renderer.init();
}
@After
@@ -88,9 +87,10 @@
final EObject mockedEObject = mock(EObject.class);
when(mockedEObject.eIsSet(any(EStructuralFeature.class))).thenReturn(true);
when(mockedObservableValue.getObserved()).thenReturn(mockedEObject);
-
when(databindingService.getObservableValue(any(VDomainModelReference.class), any(EObject.class))).thenReturn(
mockedObservableValue);
+
+ renderer.init();
final Control render = renderControl(new SWTGridCell(0, 1, renderer));
assertControl(render);
}
@@ -106,6 +106,8 @@
when(mockedObservableValue.getObserved()).thenReturn(mockedEObject);
when(databindingService.getObservableValue(any(VDomainModelReference.class), any(EObject.class))).thenReturn(
mockedObservableValue);
+
+ renderer.init();
final Control render = renderControl(new SWTGridCell(0, 2, renderer));
assertControl(render);
@@ -259,6 +261,7 @@
when(databindingService.getObservableValue(any(VDomainModelReference.class), any(EObject.class))).thenReturn(
mockedObservable);
+ renderer.init();
final Control renderControl = renderControl(new SWTGridCell(0, 2, renderer));
final Composite composite = (Composite) renderControl;
diff --git a/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/EnumComboViewerRenderer_PTest.java b/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/EnumComboViewerRenderer_PTest.java
index 7c97336..217a6f6 100644
--- a/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/EnumComboViewerRenderer_PTest.java
+++ b/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/EnumComboViewerRenderer_PTest.java
@@ -17,6 +17,7 @@
import static org.mockito.Mockito.when;
import org.eclipse.core.databinding.property.Properties;
+import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecp.view.core.swt.test.model.SimpleTestObject;
import org.eclipse.emf.ecp.view.core.swt.test.model.TestEnum;
@@ -66,7 +67,6 @@
setup();
renderer = new EnumComboViewerSWTRenderer(vControl, context, reportService, databindingService, labelProvider,
templateProvider, editSupport);
- renderer.init();
}
@After
@@ -159,9 +159,10 @@
mockDatabindingIsUnsettable();
when(databindingService.getObservableValue(any(VDomainModelReference.class), any(EObject.class))).thenReturn(
mockedObservable);
- when(databindingService.getValueProperty(any(VDomainModelReference.class))).thenReturn(
+ when(databindingService.getValueProperty(any(VDomainModelReference.class), any(EClass.class))).thenReturn(
Properties.selfValue(mockedObservable.getValueType()));
+ renderer.init();
final Control renderControl = renderControl(new SWTGridCell(0, 2, renderer));
final Combo combo = (Combo) renderControl;
diff --git a/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/NumberControlRenderer_PTest.java b/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/NumberControlRenderer_PTest.java
index 3ba5942..0291b7f 100644
--- a/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/NumberControlRenderer_PTest.java
+++ b/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/NumberControlRenderer_PTest.java
@@ -22,6 +22,7 @@
import java.util.Locale;
import org.eclipse.core.databinding.property.Properties;
+import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EClassifier;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EStructuralFeature;
@@ -66,7 +67,6 @@
setup();
renderer = new NumberControlSWTRenderer(vControl, context, reportService, databindingService, labelProvider,
templateProvider, editSupport);
- renderer.init();
}
@After
@@ -92,8 +92,10 @@
when(mockedObservableValue.getValueType()).thenReturn(mockedEStructuralFeature);
when(databindingService.getObservableValue(any(VDomainModelReference.class), any(EObject.class))).thenReturn(
mockedObservableValue);
- when(databindingService.getValueProperty(any(VDomainModelReference.class))).thenReturn(
+ when(databindingService.getValueProperty(any(VDomainModelReference.class), any(EClass.class))).thenReturn(
Properties.selfValue(mockedEStructuralFeature));
+
+ renderer.init();
final Control render = renderControl(new SWTGridCell(0, 1, renderer));
assertControl(render);
}
@@ -116,9 +118,10 @@
when(mockedObservableValue.getValueType()).thenReturn(mockedEStructuralFeature);
when(databindingService.getObservableValue(any(VDomainModelReference.class), any(EObject.class))).thenReturn(
mockedObservableValue);
- when(databindingService.getValueProperty(any(VDomainModelReference.class))).thenReturn(
+ when(databindingService.getValueProperty(any(VDomainModelReference.class), any(EClass.class))).thenReturn(
Properties.selfValue(mockedEStructuralFeature));
+ renderer.init();
final Control render = renderControl(new SWTGridCell(0, 2, renderer));
assertControl(render);
@@ -216,9 +219,10 @@
mockDatabindingIsUnsettable();
when(databindingService.getObservableValue(any(VDomainModelReference.class), any(EObject.class))).thenReturn(
mockedObservable, new ObservingWritableValue(mockedObservable));
- when(databindingService.getValueProperty(any(VDomainModelReference.class))).thenReturn(
+ when(databindingService.getValueProperty(any(VDomainModelReference.class), any(EClass.class))).thenReturn(
Properties.selfValue(mockedObservable.getValueType()));
+ renderer.init();
final Control renderControl = renderControl(new SWTGridCell(0, 2, renderer));
final Text text = (Text) renderControl;
return text;
diff --git a/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/XMLDateControlRenderer_PTest.java b/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/XMLDateControlRenderer_PTest.java
index 5a67483..84576e0 100644
--- a/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/XMLDateControlRenderer_PTest.java
+++ b/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/XMLDateControlRenderer_PTest.java
@@ -28,6 +28,7 @@
import javax.xml.datatype.XMLGregorianCalendar;
import org.eclipse.core.databinding.property.Properties;
+import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.ecp.edit.spi.ViewLocaleService;
@@ -73,7 +74,6 @@
setup();
renderer = new XMLDateControlSWTRenderer(vControl, context, reportService, databindingService, labelProvider,
templateProvider, editSupport);
- renderer.init();
}
@After
@@ -95,6 +95,8 @@
when(mockedObservableValue.getValueType()).thenReturn(mockedEStructuralFeature);
when(databindingService.getObservableValue(any(VDomainModelReference.class), any(EObject.class))).thenReturn(
mockedObservableValue);
+
+ renderer.init();
final Control render = renderControl(new SWTGridCell(0, 1, renderer));
assertControl(render);
}
@@ -113,6 +115,8 @@
when(mockedObservableValue.getValueType()).thenReturn(mockedEStructuralFeature);
when(databindingService.getObservableValue(any(VDomainModelReference.class), any(EObject.class))).thenReturn(
mockedObservableValue);
+
+ renderer.init();
final Control render = renderControl(new SWTGridCell(0, 2, renderer));
assertControl(render);
@@ -212,9 +216,10 @@
mockDatabindingIsUnsettable();
when(databindingService.getObservableValue(any(VDomainModelReference.class), any(EObject.class))).thenReturn(
mockedObservable, new ObservingWritableValue(mockedObservable));
- when(databindingService.getValueProperty(any(VDomainModelReference.class))).thenReturn(
+ when(databindingService.getValueProperty(any(VDomainModelReference.class), any(EClass.class))).thenReturn(
Properties.selfValue(mockedObservable.getValueType()));
+ renderer.init();
final Control renderControl = renderControl(new SWTGridCell(0, 2, renderer));
final Composite composite = (Composite) renderControl;
final Text text = (Text) composite.getChildren()[0];
diff --git a/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/spi/core/swt/renderer/TextControlRenderer_PTest.java b/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/spi/core/swt/renderer/TextControlRenderer_PTest.java
index 0500d02..26d4cd4 100644
--- a/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/spi/core/swt/renderer/TextControlRenderer_PTest.java
+++ b/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/spi/core/swt/renderer/TextControlRenderer_PTest.java
@@ -59,7 +59,7 @@
setup();
renderer = new TextControlSWTRenderer(vControl, context, reportService, databindingService, labelProvider,
templateProvider, editSupport);
- renderer.init();
+ // Don't init renderer here: Databinding service has to be properly mocked before it can be inited
}
@After
@@ -82,6 +82,7 @@
when(mockedObservableValue.getValueType()).thenReturn(mockedEStructuralFeature);
when(databindingService.getObservableValue(any(VDomainModelReference.class), any(EObject.class))).thenReturn(
mockedObservableValue);
+ renderer.init();
final Control render = renderControl(new SWTGridCell(0, 1, renderer));
assertControl(render);
}
@@ -102,6 +103,7 @@
when(mockedObservableValue.getValueType()).thenReturn(mockedEStructuralFeature);
when(databindingService.getObservableValue(any(VDomainModelReference.class), any(EObject.class))).thenReturn(
mockedObservableValue);
+ renderer.init();
final Control render = renderControl(new SWTGridCell(0, 2, renderer));
assertControl(render);
@@ -195,6 +197,7 @@
when(databindingService.getObservableValue(any(VDomainModelReference.class), any(EObject.class))).thenReturn(
mockedObservable, new ObservingWritableValue(mockedObservable));
+ renderer.init();
final Control renderControl = renderControl(new SWTGridCell(0, 2, renderer));
final Text text = (Text) renderControl;
return text;
@@ -227,6 +230,7 @@
when(databindingService.getObservableValue(any(VDomainModelReference.class), any(EObject.class))).thenReturn(
mockedObservableValue);
+ renderer.init();
final Control renderControl = renderControl(new SWTGridCell(0, 2, renderer));
assertTrue(Text.class.isInstance(renderControl));
diff --git a/tests/org.eclipse.emf.ecp.view.table.ui.swt.test/All Tests for view.table.ui.swt.launch b/tests/org.eclipse.emf.ecp.view.table.ui.swt.test/All Tests for view.table.ui.swt.launch
index 3ccdb1a..3e77432 100644
--- a/tests/org.eclipse.emf.ecp.view.table.ui.swt.test/All Tests for view.table.ui.swt.launch
+++ b/tests/org.eclipse.emf.ecp.view.table.ui.swt.test/All Tests for view.table.ui.swt.launch
@@ -33,7 +33,7 @@
<stringAttribute key="product" value="org.eclipse.platform.ide"/>
<booleanAttribute key="run_in_ui_thread" value="true"/>
<stringAttribute key="selected_target_plugins" value="com.ibm.icu@default:default,javax.annotation@default:default,javax.inject@default:default,javax.servlet@default:default,javax.xml@default:default,org.apache.batik.css*1.7.0.v201011041433@default:default,org.apache.batik.util*1.7.0.v201011041433@default:default,org.apache.batik.util.gui*1.7.0.v200903091627@default:default,org.apache.commons.codec@default:default,org.apache.commons.logging@default:default,org.eclipse.ant.core@default:default,org.eclipse.compare.core@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.core.databinding@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.filesystem.win32.x86_64@default:false,org.eclipse.core.filesystem@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.resources.win32.x86_64@default:false,org.eclipse.core.resources@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.core.runtime@default:true,org.eclipse.core.variables@default:default,org.eclipse.e4.core.commands@default:default,org.eclipse.e4.core.contexts@default:default,org.eclipse.e4.core.di.extensions@default:default,org.eclipse.e4.core.di@default:default,org.eclipse.e4.core.services@default:default,org.eclipse.e4.ui.bindings@default:default,org.eclipse.e4.ui.css.core@default:default,org.eclipse.e4.ui.css.swt.theme@default:default,org.eclipse.e4.ui.css.swt@default:default,org.eclipse.e4.ui.di@default:default,org.eclipse.e4.ui.model.workbench@default:default,org.eclipse.e4.ui.services@default:default,org.eclipse.e4.ui.widgets@default:default,org.eclipse.e4.ui.workbench.addons.swt@default:default,org.eclipse.e4.ui.workbench.renderers.swt@default:default,org.eclipse.e4.ui.workbench.swt@default:default,org.eclipse.e4.ui.workbench3@default:default,org.eclipse.e4.ui.workbench@default:default,org.eclipse.emf.cdo.ecore.retrofit@default:false,org.eclipse.emf.common.ui@default:default,org.eclipse.emf.common@default:default,org.eclipse.emf.databinding.edit@default:default,org.eclipse.emf.databinding@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.emf.ecore.edit@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.edit.ui@default:default,org.eclipse.emf.edit@default:default,org.eclipse.emf.emfstore.client@default:default,org.eclipse.emf.emfstore.common.model@default:default,org.eclipse.emf.emfstore.common@default:default,org.eclipse.emf.emfstore.examplemodel.edit@default:default,org.eclipse.emf.emfstore.examplemodel@default:default,org.eclipse.emf.emfstore.migration@default:default,org.eclipse.emf.emfstore.server.model@default:default,org.eclipse.emf.emfstore.server@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.region@default:false,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.transforms.hook@default:false,org.eclipse.equinox.util@default:default,org.eclipse.equinox.weaving.hook@default:false,org.eclipse.help@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.jface@default:default,org.eclipse.net4j.util@default:default,org.eclipse.osgi.compatibility.state@default:false,org.eclipse.osgi.services@default:default,org.eclipse.osgi@-1:true,org.eclipse.swt.win32.win32.x86_64@default:false,org.eclipse.swt@default:default,org.eclipse.team.core@default:default,org.eclipse.ui.forms@default:default,org.eclipse.ui.trace@default:default,org.eclipse.ui.views@default:default,org.eclipse.ui.workbench@default:default,org.eclipse.ui@default:default,org.hamcrest.core@default:default,org.hamcrest.library@default:default,org.junit@default:default,org.mockito.mockito-all@default:default,org.w3c.css.sac@default:default,org.w3c.dom.events@default:default,org.w3c.dom.smil@default:default,org.w3c.dom.svg@default:default"/>
-<stringAttribute key="selected_workspace_plugins" value="org.eclipse.emf.ecp.common.ui@default:default,org.eclipse.emf.ecp.common@default:default,org.eclipse.emf.ecp.core.test@default:false,org.eclipse.emf.ecp.core@default:default,org.eclipse.emf.ecp.edit.swt.test@default:false,org.eclipse.emf.ecp.edit.swt@default:default,org.eclipse.emf.ecp.edit@default:default,org.eclipse.emf.ecp.editor.e3@default:default,org.eclipse.emf.ecp.emfstore.core@default:default,org.eclipse.emf.ecp.explorereditorbridge@default:default,org.eclipse.emf.ecp.ui.rcp@default:false,org.eclipse.emf.ecp.ui.view.swt.test@default:false,org.eclipse.emf.ecp.ui.view.swt@default:default,org.eclipse.emf.ecp.ui.view.test@default:default,org.eclipse.emf.ecp.ui.view@default:default,org.eclipse.emf.ecp.ui@default:default,org.eclipse.emf.ecp.view.context.test@default:false,org.eclipse.emf.ecp.view.context@default:default,org.eclipse.emf.ecp.view.core.swt@default:default,org.eclipse.emf.ecp.view.label.model@default:default,org.eclipse.emf.ecp.view.model.common@default:default,org.eclipse.emf.ecp.view.model.provider.generator@default:default,org.eclipse.emf.ecp.view.model.provider.xmi.test@default:false,org.eclipse.emf.ecp.view.model.provider.xmi@default:default,org.eclipse.emf.ecp.view.model.test@default:false,org.eclipse.emf.ecp.view.model@default:default,org.eclipse.emf.ecp.view.table.columnservice@default:default,org.eclipse.emf.ecp.view.table.model@default:default,org.eclipse.emf.ecp.view.table.ui.swt.test@default:default,org.eclipse.emf.ecp.view.table.ui.swt@default:default,org.eclipse.emf.ecp.view.template.model@default:default,org.eclipse.emf.ecp.view.template.service@default:default,org.eclipse.emf.ecp.view.test.common.swt@default:default,org.eclipse.emf.ecp.view.util.swt@default:default,org.eclipse.emf.ecp.view.vertical.model@default:default,org.eclipse.emf.emfforms.core.services.emfspecificservice@default:default,org.eclipse.emf.emfforms.core.services.labelprovider@default:default,org.eclipse.emf.emfforms.localization@default:default,org.eclipse.emfforms.core.services.databinding.featurepath@default:default,org.eclipse.emfforms.core.services.databinding@default:default,org.eclipse.emfforms.core.services.editsupport@default:default,org.eclipse.emfforms.swt.core@default:default"/>
+<stringAttribute key="selected_workspace_plugins" value="org.eclipse.emf.ecp.common.ui@default:default,org.eclipse.emf.ecp.common@default:default,org.eclipse.emf.ecp.core.test@default:false,org.eclipse.emf.ecp.core@default:default,org.eclipse.emf.ecp.edit.swt.test@default:false,org.eclipse.emf.ecp.edit.swt@default:default,org.eclipse.emf.ecp.edit@default:default,org.eclipse.emf.ecp.editor.e3@default:default,org.eclipse.emf.ecp.emfstore.core@default:default,org.eclipse.emf.ecp.explorereditorbridge@default:default,org.eclipse.emf.ecp.ui.rcp@default:false,org.eclipse.emf.ecp.ui.view.swt.test@default:false,org.eclipse.emf.ecp.ui.view.swt@default:default,org.eclipse.emf.ecp.ui.view.test@default:default,org.eclipse.emf.ecp.ui.view@default:default,org.eclipse.emf.ecp.ui@default:default,org.eclipse.emf.ecp.view.context.test@default:false,org.eclipse.emf.ecp.view.context@default:default,org.eclipse.emf.ecp.view.core.swt@default:default,org.eclipse.emf.ecp.view.label.model@default:default,org.eclipse.emf.ecp.view.model.common@default:default,org.eclipse.emf.ecp.view.model.provider.generator@default:default,org.eclipse.emf.ecp.view.model.provider.xmi.test@default:false,org.eclipse.emf.ecp.view.model.provider.xmi@default:default,org.eclipse.emf.ecp.view.model.test@default:false,org.eclipse.emf.ecp.view.model@default:default,org.eclipse.emf.ecp.view.table.columnservice@default:default,org.eclipse.emf.ecp.view.table.model@default:default,org.eclipse.emf.ecp.view.table.ui.swt.test@default:default,org.eclipse.emf.ecp.view.table.ui.swt@default:default,org.eclipse.emf.ecp.view.template.model@default:default,org.eclipse.emf.ecp.view.template.service@default:default,org.eclipse.emf.ecp.view.test.common.swt@default:default,org.eclipse.emf.ecp.view.util.swt@default:default,org.eclipse.emf.ecp.view.vertical.model@default:default,org.eclipse.emf.emfforms.core.services.emfspecificservice@default:default,org.eclipse.emf.emfforms.core.services.labelprovider@default:default,org.eclipse.emf.emfforms.localization@default:default,org.eclipse.emfforms.core.services.databinding.segment@default:default,org.eclipse.emfforms.core.services.databinding@default:default,org.eclipse.emfforms.core.services.editsupport@default:default,org.eclipse.emfforms.swt.core@default:default"/>
<booleanAttribute key="show_selected_only" value="false"/>
<booleanAttribute key="tracing" value="false"/>
<booleanAttribute key="useCustomFeatures" value="false"/>
diff --git a/tests/org.eclipse.emf.ecp.view.table.ui.swt.test/src/org/eclipse/emf/ecp/view/table/ui/swt/test/SWTTableDatabindingLabel_PTest.java b/tests/org.eclipse.emf.ecp.view.table.ui.swt.test/src/org/eclipse/emf/ecp/view/table/ui/swt/test/SWTTableDatabindingLabel_PTest.java
index c511911..d176bc5 100644
--- a/tests/org.eclipse.emf.ecp.view.table.ui.swt.test/src/org/eclipse/emf/ecp/view/table/ui/swt/test/SWTTableDatabindingLabel_PTest.java
+++ b/tests/org.eclipse.emf.ecp.view.table.ui.swt.test/src/org/eclipse/emf/ecp/view/table/ui/swt/test/SWTTableDatabindingLabel_PTest.java
@@ -253,8 +253,11 @@
private void assertDatabinding(final WritableList mockedObservableList, final Table table) {
assertEquals(mockedObservableList.size(), table.getItemCount());
for (int i = 0; i < mockedObservableList.size(); i++) {
- assertEquals(Boolean.toString(((EClass) mockedObservableList.get(i)).isAbstract()), table.getItem(i)
- .getText(1));
+ assertEquals(
+ "Assert fails for list item with index " + i + ": "
+ + mockedObservableList.get(i) + ": ",
+ Boolean.toString(((EClass) mockedObservableList.get(i)).isAbstract()), table.getItem(i)
+ .getText(1));
}
}
@@ -265,8 +268,10 @@
final List<EClass> initialList = new LinkedList<EClass>();
final EClass class1 = EcoreFactory.eINSTANCE.createEClass();
class1.setAbstract(false);
+ class1.setName("EClass1");
final EClass class2 = EcoreFactory.eINSTANCE.createEClass();
class2.setAbstract(true);
+ class2.setName("EClass2");
initialList.add(class1);
initialList.add(class2);
return initialList;
@@ -285,6 +290,7 @@
mockedObservableList);
final Control renderedControl = renderer.render(new SWTGridCell(0, 0, renderer), shell);
+
assertTrue(Composite.class.isInstance(renderedControl));
final Control tableControl = getTable(renderedControl);
assertTrue(Table.class.isInstance(tableControl));