List of usage examples for org.eclipse.jface.databinding.viewers ObservableListContentProvider ObservableListContentProvider
public ObservableListContentProvider()
From source file:com.netxforge.netxstudio.screens.f2.Vendors.java
License:Open Source License
public EMFDataBindingContext initDataBindings_() { listContentProvider = new ObservableListContentProvider(); tableViewer.setContentProvider(listContentProvider); IObservableMap[] observeMaps = EMFObservables.observeMaps(listContentProvider.getKnownElements(), new EStructuralFeature[] { GenericsPackage.Literals.COMPANY__NAME, GenericsPackage.Literals.COMPANY__SHORT_NAME, GenericsPackage.Literals.COMPANY__WEBSITE }); tableViewer.setLabelProvider(new ToleranceObservableMapLabelProvider(observeMaps)); IEMFListProperty l = EMFEditProperties.resource(editingService.getEditingDomain()); IObservableList toleranceObservableList = l.observe(vendorResource); // obm.addObservable(toleranceObservableList); tableViewer.setInput(toleranceObservableList); EMFDataBindingContext bindingContext = new EMFDataBindingContext(); return bindingContext; }
From source file:com.netxforge.netxstudio.screens.f3.charts.ChartMarkerComponent.java
License:Open Source License
public void initMarkersBindingCollection() { ObservableListContentProvider listContentProvider = new ObservableListContentProvider(); markersTableViewer.setContentProvider(listContentProvider); IObservableMap[] observeMaps = EMFObservables.observeMaps(listContentProvider.getKnownElements(), new EStructuralFeature[] { OperatorsPackage.Literals.MARKER__KIND, OperatorsPackage.Literals.MARKER__DESCRIPTION, OperatorsPackage.Literals.MARKER__VALUE_REF, OperatorsPackage.Literals.TOLERANCE_MARKER__DIRECTION, OperatorsPackage.Literals.TOLERANCE_MARKER__LEVEL }); markersTableViewer.setLabelProvider(new MarkersObervableMapLabelProvider(observeMaps)); ComputedList markersList = new ComputedList() { @SuppressWarnings("rawtypes") @Override/*from w w w .j av a 2 s. co m*/ protected List calculate() { return Collections.EMPTY_LIST; // FIXME Get rid of markers view, or base on aggregate of // resources shown by the // chart. // return chartModel.getMarkers(); } }; markersTableViewer.setInput(markersList); }
From source file:com.netxforge.netxstudio.screens.f3.Countries.java
License:Open Source License
public EMFDataBindingContext initDataBindings_() { listContentProvider = new ObservableListContentProvider(); tableViewer.setContentProvider(listContentProvider); IObservableMap[] observeMaps = EMFObservables.observeMaps(listContentProvider.getKnownElements(), new EStructuralFeature[] { GeoPackage.Literals.LOCATION__NAME, GeoPackage.Literals.COUNTRY__COUNTRY_CODE, }); tableViewer.setLabelProvider(new ObservableMapLabelProvider(observeMaps)); IEMFListProperty resourceProperty = EMFEditProperties.resource(editingService.getEditingDomain()); IObservableList operatorsObservableList = resourceProperty.observe(countryResource); tableViewer.setInput(operatorsObservableList); EMFDataBindingContext bindingContext = new EMFDataBindingContext(); return bindingContext; }
From source file:com.netxforge.netxstudio.screens.f3.Operators.java
License:Open Source License
public EMFDataBindingContext initDataBindings_() { listContentProvider = new ObservableListContentProvider(); tableViewer.setContentProvider(listContentProvider); IObservableMap[] observeMaps = EMFObservables.observeMaps(listContentProvider.getKnownElements(), new EStructuralFeature[] { GenericsPackage.Literals.COMPANY__NAME, GenericsPackage.Literals.COMPANY__SHORT_NAME, GenericsPackage.Literals.COMPANY__WEBSITE }); tableViewer.setLabelProvider(new ToleranceObservableMapLabelProvider(observeMaps)); IEMFListProperty resourceProperty = EMFEditProperties.resource(editingService.getEditingDomain()); IObservableList operatorsObservableList = resourceProperty.observe(operatorResource); tableViewer.setInput(operatorsObservableList); EMFDataBindingContext bindingContext = new EMFDataBindingContext(); return bindingContext; }
From source file:com.netxforge.netxstudio.screens.f3.SitesTable.java
License:Open Source License
public EMFDataBindingContext initDataBindings_() { listContentProvider = new ObservableListContentProvider(); tableViewer.setContentProvider(listContentProvider); IObservableSet set = listContentProvider.getKnownElements(); List<IObservableMap> mapList = Lists.newArrayList(); mapList.add(EMFProperties.value(GeoPackage.Literals.LOCATION__NAME).observeDetail(set)); mapList.add(EMFProperties.value(GeoPackage.Literals.LOCATION__NAME).observeDetail(set)); mapList.add(EMFProperties.value(GeoPackage.Literals.SITE__CITY).observeDetail(set)); mapList.add(EMFProperties.value(GeoPackage.Literals.SITE__SREET).observeDetail(set)); mapList.add(EMFProperties.value(GeoPackage.Literals.SITE__HOUSENUMBER).observeDetail(set)); IObservableMap[] observeMaps = new IObservableMap[mapList.size()]; mapList.toArray(observeMaps);/*from w w w. j a va 2 s. c o m*/ tableViewer.setLabelProvider(new ObservableMapLabelProvider(observeMaps)); IEMFListProperty resourceProperty = EMFEditProperties.list(editingService.getEditingDomain(), GeoPackage.Literals.COUNTRY__SITES); IObservableList operatorsObservableList = resourceProperty.observe(countryResource.getContents()); tableViewer.setInput(operatorsObservableList); EMFDataBindingContext bindingContext = new EMFDataBindingContext(); return bindingContext; }
From source file:com.netxforge.netxstudio.screens.f4.AbstractFileBasedMapping.java
License:Open Source License
protected void initHeaderMappingBinding(EMFDataBindingContext context) { // HEADER MAPPING COLUMN setHeaderMappingEnabledState();/* w ww . j ava 2s . c o m*/ setHeaderMappingStateVisible(); // header row mapping. IObservableValue headerRowObservableValue = SWTObservables.observeText(txtFirstHeaderRow, SWT.Modify); IEMFValueProperty headerRowProperty = EMFEditProperties.value(editingService.getEditingDomain(), MetricsPackage.Literals.MAPPING__HEADER_ROW); context.bindValue(headerRowObservableValue, headerRowProperty.observe(mapping), null, null); // header columns mapping. { ObservableListContentProvider listContentProvider = new ObservableListContentProvider(); this.tblViewerHeaderColumnMapping.setContentProvider(listContentProvider); IObservableSet set = listContentProvider.getKnownElements(); List<IObservableMap> mapList = Lists.newArrayList(); mapList.add( EMFEditProperties .value(editingService.getEditingDomain(), FeaturePath.fromList(MetricsPackage.Literals.MAPPING_COLUMN__DATA_TYPE, MetricsPackage.Literals.VALUE_DATA_KIND__METRIC_REF)) .observeDetail(set)); mapList.add( EMFEditProperties .value(editingService.getEditingDomain(), FeaturePath.fromList(MetricsPackage.Literals.MAPPING_COLUMN__DATA_TYPE, MetricsPackage.Literals.VALUE_DATA_KIND__VALUE_KIND)) .observeDetail(set)); mapList.add(EMFEditProperties.value(editingService.getEditingDomain(), FeaturePath.fromList(MetricsPackage.Literals.MAPPING_COLUMN__DATA_TYPE, MetricsPackage.Literals.VALUE_DATA_KIND__FORMAT)) .observeDetail(set)); mapList.add(EMFEditProperties .value(editingService.getEditingDomain(), FeaturePath.fromList(MetricsPackage.Literals.MAPPING_COLUMN__DATA_TYPE, MetricsPackage.Literals.IDENTIFIER_DATA_KIND__OBJECT_PROPERTY)) .observeDetail(set)); mapList.add(EMFEditProperties .value(editingService.getEditingDomain(), MetricsPackage.Literals.MAPPING_COLUMN__COLUMN) .observeDetail(set)); IObservableMap[] map = new IObservableMap[mapList.size()]; mapList.toArray(map); tblViewerHeaderColumnMapping.setLabelProvider(new ColumnObservableMapLabelProvider(map)); IEMFListProperty l = EMFEditProperties.list(editingService.getEditingDomain(), MetricsPackage.Literals.MAPPING__HEADER_MAPPING_COLUMNS); IObservableList dataColumnMappingObservableList = l.observe(mapping); dataColumnMappingObservableList.addChangeListener(new IChangeListener() { public void handleChange(ChangeEvent event) { // We have a special change listener, to know if the // header mapping visual // can be disabled. setHeaderMappingEnabledState(); setHeaderMappingStateVisible(); } }); // obm.addObservable(dataColumnMappingObservableList); tblViewerHeaderColumnMapping.setInput(dataColumnMappingObservableList); } }
From source file:com.netxforge.netxstudio.screens.f4.AbstractFileBasedMapping.java
License:Open Source License
protected void initDataMappingBinding(EMFDataBindingContext context) { // DATA MAPPING COLUMN // data row mapping IObservableValue firstDataRowObservableValue = SWTObservables.observeText(txtFirstDataRow, SWT.Modify); IEMFValueProperty firstDataRowProperty = EMFEditProperties.value(editingService.getEditingDomain(), MetricsPackage.Literals.MAPPING__FIRST_DATA_ROW); context.bindValue(firstDataRowObservableValue, firstDataRowProperty.observe(mapping), null, null); // data columns mapping. {//from w w w . java 2 s. c om ObservableListContentProvider listContentProvider = new ObservableListContentProvider(); this.tblViewerDataColumnMapping.setContentProvider(listContentProvider); IObservableSet set = listContentProvider.getKnownElements(); List<IObservableMap> mapList = Lists.newArrayList(); mapList.add( EMFEditProperties .value(editingService.getEditingDomain(), FeaturePath.fromList(MetricsPackage.Literals.MAPPING_COLUMN__DATA_TYPE, MetricsPackage.Literals.VALUE_DATA_KIND__METRIC_REF)) .observeDetail(set)); mapList.add( EMFEditProperties .value(editingService.getEditingDomain(), FeaturePath.fromList(MetricsPackage.Literals.MAPPING_COLUMN__DATA_TYPE, MetricsPackage.Literals.VALUE_DATA_KIND__KIND_HINT)) .observeDetail(set)); mapList.add( EMFEditProperties .value(editingService.getEditingDomain(), FeaturePath.fromList(MetricsPackage.Literals.MAPPING_COLUMN__DATA_TYPE, MetricsPackage.Literals.VALUE_DATA_KIND__VALUE_KIND)) .observeDetail(set)); mapList.add(EMFEditProperties.value(editingService.getEditingDomain(), FeaturePath.fromList(MetricsPackage.Literals.MAPPING_COLUMN__DATA_TYPE, MetricsPackage.Literals.VALUE_DATA_KIND__FORMAT)) .observeDetail(set)); mapList.add(EMFEditProperties .value(editingService.getEditingDomain(), FeaturePath.fromList(MetricsPackage.Literals.MAPPING_COLUMN__DATA_TYPE, MetricsPackage.Literals.IDENTIFIER_DATA_KIND__OBJECT_PROPERTY)) .observeDetail(set)); mapList.add(EMFEditProperties .value(editingService.getEditingDomain(), MetricsPackage.Literals.MAPPING_COLUMN__COLUMN) .observeDetail(set)); IObservableMap[] map = new IObservableMap[mapList.size()]; mapList.toArray(map); this.tblViewerDataColumnMapping.setLabelProvider(new ColumnObservableMapLabelProvider(map)); IEMFListProperty l = EMFEditProperties.list(editingService.getEditingDomain(), MetricsPackage.Literals.MAPPING__DATA_MAPPING_COLUMNS); IObservableList dataColumnMappingObservableList = l.observe(mapping); this.tblViewerDataColumnMapping.setInput(dataColumnMappingObservableList); } IViewerObservableValue observeSingleSelection = ViewersObservables .observeSingleSelection(tblViewerDataColumnMapping); ISWTObservableValue observeEnabled = SWTObservables.observeEnabled(dataMappingUpButton); context.bindValue(observeSingleSelection, observeEnabled, new UpdateValueStrategy() { @Override protected IStatus doSet(IObservableValue observableValue, Object value) { if (value instanceof MappingColumn) { // Find the index of our object on the parent @SuppressWarnings("unchecked") List<MappingColumn> dataMappingColumns = (List<MappingColumn>) ((MappingColumn) value) .eContainer().eGet(MetricsPackage.Literals.MAPPING__DATA_MAPPING_COLUMNS); int indexOf = dataMappingColumns.indexOf(value); DataKind dataType = ((MappingColumn) value).getDataType(); if (dataType instanceof IdentifierDataKind && indexOf > 0) { return super.doSet(observableValue, true); } } return super.doSet(observableValue, false); } }, null); ISWTObservableValue observeEnabledDown = SWTObservables.observeEnabled(dataMappingDownButton); context.bindValue(observeSingleSelection, observeEnabledDown, new UpdateValueStrategy() { @Override protected IStatus doSet(IObservableValue observableValue, Object value) { if (value instanceof MappingColumn) { // Find the index of our object on the parent @SuppressWarnings("unchecked") List<MappingColumn> dataMappingColumns = (List<MappingColumn>) ((MappingColumn) value) .eContainer().eGet(MetricsPackage.Literals.MAPPING__DATA_MAPPING_COLUMNS); int indexOf = dataMappingColumns.indexOf(value); DataKind dataType = ((MappingColumn) value).getDataType(); if (dataType instanceof IdentifierDataKind && indexOf < dataMappingColumns.size() - 1) { return super.doSet(observableValue, true); } } return super.doSet(observableValue, false); } }, null); }
From source file:com.netxforge.netxstudio.screens.f4.JobRuns.java
License:Open Source License
public EMFDataBindingContext initDataBindings_() { EMFDataBindingContext bindingContext = new EMFDataBindingContext(); ObservableListContentProvider listContentProvider = new ObservableListContentProvider(); jobRunsTableViewer.setContentProvider(listContentProvider); EAttribute dummyAttribute = EcoreFactory.eINSTANCE.createEAttribute(); IObservableMap[] observeMaps = EMFObservables.observeMaps(listContentProvider.getKnownElements(), new EStructuralFeature[] { dummyAttribute, SchedulingPackage.Literals.WORK_FLOW_RUN__STATE, SchedulingPackage.Literals.WORK_FLOW_RUN__PROGRESS, SchedulingPackage.Literals.WORK_FLOW_RUN__PROGRESS_TASK, SchedulingPackage.Literals.WORK_FLOW_RUN__PROGRESS_MESSAGE, SchedulingPackage.Literals.WORK_FLOW_RUN__STARTED, SchedulingPackage.Literals.WORK_FLOW_RUN__ENDED, SchedulingPackage.Literals.WORK_FLOW_RUN__LOG }); WorkflowRunObservableMapLabelProvider workflowRunObservableMapLabelProvider = new WorkflowRunObservableMapLabelProvider( observeMaps);//ww w. j av a2 s .c o m workflowRunObservableMapLabelProvider.setTableViewer(jobRunsTableViewer); jobRunsTableViewer.setLabelProvider(workflowRunObservableMapLabelProvider); IEMFListProperty l = EMFProperties.list(SchedulingPackage.Literals.JOB_RUN_CONTAINER__WORK_FLOW_RUNS); IObservableList observeWorkFlowRuns = l.observe(jobContainer); jobRunsTableViewer.setInput(observeWorkFlowRuns); return bindingContext; }
From source file:com.netxforge.netxstudio.screens.f4.Jobs.java
License:Open Source License
public EMFDataBindingContext initDataBindings_() { EMFDataBindingContext bindingContext = new EMFDataBindingContext(); // tblViewerClmnState.setEditingSupport(new CheckBoxEditingSupport( // jobsTableViewer, bindingContext)); // TODO, Implement content provider, which also can deal with the type // of a job which is defined // as a job class on it's own. ObservableListContentProvider listContentProvider = new ObservableListContentProvider(); jobsTableViewer.setContentProvider(listContentProvider); EAttribute dummyAttribute = EcoreFactory.eINSTANCE.createEAttribute(); IObservableMap[] observeMaps = EMFObservables.observeMaps(listContentProvider.getKnownElements(), new EStructuralFeature[] { dummyAttribute, SchedulingPackage.Literals.JOB__NAME, SchedulingPackage.Literals.JOB__JOB_STATE, SchedulingPackage.Literals.JOB__START_TIME, SchedulingPackage.Literals.JOB__END_TIME, SchedulingPackage.Literals.JOB__REPEAT, SchedulingPackage.Literals.JOB__INTERVAL }); jobsTableViewer.setLabelProvider(new JobsObervableMapLabelProvider(this, observeMaps)); IEMFListProperty jobsProperties = EMFEditProperties.resource(editingService.getEditingDomain()); IObservableList jobsList = jobsProperties.observe(jobsResource); jobsTableViewer.setInput(jobsList);//from w w w . j a v a 2s. c o m return bindingContext; }
From source file:com.netxforge.netxstudio.screens.f4.MappingStatistics.java
License:Open Source License
public EMFDataBindingContext initDataBindings_() { EMFDataBindingContext bindingContext = new EMFDataBindingContext(); ObservableListTreeContentProvider treeContentProvider = new ObservableListTreeContentProvider( new IObservableFactory() { private IEMFListProperty subStatisticsObservableProperty = EMFEditProperties.list( editingService.getEditingDomain(), MetricsPackage.Literals.MAPPING_STATISTIC__SUB_STATISTICS); public IObservable createObservable(Object target) { IObservable ol = null; if (target instanceof IObservableList) { ol = (IObservable) target; } else if (target instanceof MappingStatistic) { ol = subStatisticsObservableProperty.observe(target); }/* w w w.j a va 2 s. com*/ return ol; } }, new TreeStructureAdvisor() { @Override public Object getParent(Object element) { if (element instanceof EObject) { EObject eo = (EObject) element; if (eo.eContainer() != null) { return eo.eContainer(); } } return null; } @Override public Boolean hasChildren(Object element) { if (element instanceof MappingStatistic) { return ((MappingStatistic) element).getSubStatistics().size() > 0 ? Boolean.TRUE : null; } return super.hasChildren(element); } }); statisticsTreeViewer.setContentProvider(treeContentProvider); IObservableMap[] observeMaps = EMFObservables.observeMaps(treeContentProvider.getKnownElements(), new EStructuralFeature[] { MetricsPackage.Literals.MAPPING_STATISTIC__MESSAGE }); statisticsTreeViewer.setLabelProvider(new StatisticObservableMapLabelProvider(observeMaps)); // Cool, observer the whole resource. IEMFListProperty l = EMFProperties.list(MetricsPackage.Literals.METRIC_SOURCE__STATISTICS); IObservableList metricSourceObservableList = l.observe(metricSource); statisticsTreeViewer.setInput(metricSourceObservableList); /** * Set a comparator to sort our columns, only sort the objects of type * */ statisticsTreeViewer.setComparator(new ViewerComparator() { /* * (non-Javadoc) * * @see * org.eclipse.jface.viewers.ViewerComparator#category(java.lang * .Object) */ @Override public int category(Object element) { // Set categories for our objects, only interrested in Service // flows for now. if (element instanceof MappingStatistic) return 1; return super.category(element); } /* * (non-Javadoc) * * @see * org.eclipse.jface.viewers.ViewerComparator#compare(org.eclipse * .jface.viewers.Viewer, java.lang.Object, java.lang.Object) */ @Override public int compare(Viewer viewer, Object e1, Object e2) { int cat1 = category(e1); int cat2 = category(e2); if (cat1 != cat2) { return cat1 - cat2; } if (e1 instanceof MappingStatistic && e2 instanceof MappingStatistic) { MappingStatistic ms1 = (MappingStatistic) e1; MappingStatistic ms2 = (MappingStatistic) e2; if (ms1.eIsSet(MetricsPackage.Literals.MAPPING_STATISTIC__MAPPING_DURATION) && ms2.eIsSet(MetricsPackage.Literals.MAPPING_STATISTIC__MAPPING_DURATION)) { return ms2.getMappingDuration().getBegin().compare(ms1.getMappingDuration().getBegin()); } } return 0; // Do not compare other types. // return super.compare(viewer, e1, e2); } }); final IObservableValue selectionObservable = ViewerProperties.singleSelection() .observe(statisticsTreeViewer); // Observables for a single selection. IObservableValue messageObservable = SWTObservables.observeText(this.txtMessage, SWT.None); IObservableValue totalRecordsObservable = SWTObservables.observeText(this.txtTotalRecords, SWT.None); IObservableValue startTimeObservable = SWTObservables.observeText(this.txtStartDateTime, SWT.None); IObservableValue endTimeObservable = SWTObservables.observeText(this.txtEndDateTime, SWT.None); IObservableValue metricStartTimeObservable = SWTObservables.observeText(this.txtMetricStartDateTime, SWT.None); IObservableValue metricEndTimeObservable = SWTObservables.observeText(this.txtMetricEndDateTime, SWT.None); IObservableValue totalExpectedValuesObservable = SWTObservables.observeText(this.txtTotalValues, SWT.None); IObservableValue totalFailedValuesObservable = SWTObservables.observeText(this.txtTotalFailedValues, SWT.None); IEMFValueProperty messageProperty = EMFProperties.value(MetricsPackage.Literals.MAPPING_STATISTIC__MESSAGE); final IEMFValueProperty totalRecordsProperty = EMFProperties .value(MetricsPackage.Literals.MAPPING_STATISTIC__TOTAL_RECORDS); IEMFValueProperty startDateTimeProperty = EMFProperties .value(FeaturePath.fromList(MetricsPackage.Literals.MAPPING_STATISTIC__MAPPING_DURATION, GenericsPackage.Literals.DATE_TIME_RANGE__BEGIN)); IEMFValueProperty endDateTimeProperty = EMFProperties .value(FeaturePath.fromList(MetricsPackage.Literals.MAPPING_STATISTIC__MAPPING_DURATION, GenericsPackage.Literals.DATE_TIME_RANGE__END)); IEMFValueProperty metricStartDateTimeProperty = EMFProperties .value(FeaturePath.fromList(MetricsPackage.Literals.MAPPING_STATISTIC__PERIOD_ESTIMATE, GenericsPackage.Literals.DATE_TIME_RANGE__BEGIN)); IEMFValueProperty metricEndDateTimeProperty = EMFProperties .value(FeaturePath.fromList(MetricsPackage.Literals.MAPPING_STATISTIC__PERIOD_ESTIMATE, GenericsPackage.Literals.DATE_TIME_RANGE__END)); ComputedValue computedTotalExpectedValue = new ComputedValue() { @Override protected Object calculate() { Object value = totalRecordsProperty.observeDetail(selectionObservable).getValue(); if (value instanceof Integer) { return new Integer(StudioUtils.metricsInMetricSource(metricSource).size() * (Integer) value) .toString(); } return 0; } }; ComputedValue computedTotalFailedValue = new ComputedValue() { @Override protected Object calculate() { Object selectedObject = selectionObservable.getValue(); // recursively compute for sub-statistics. if (selectedObject instanceof MappingStatistic) { return new Integer(StudioUtils.mappingFailedCount((MappingStatistic) selectedObject)) .toString(); } return 0; } }; EMFUpdateValueStrategy modelToTargetStrategy = new EMFUpdateValueStrategy(); modelToTargetStrategy.setConverter(new ModelDateConverter()); bindingContext.bindValue(messageObservable, messageProperty.observeDetail(selectionObservable)); bindingContext.bindValue(totalRecordsObservable, totalRecordsProperty.observeDetail(selectionObservable)); bindingContext.bindValue(startTimeObservable, startDateTimeProperty.observeDetail(selectionObservable), null, modelToTargetStrategy); bindingContext.bindValue(endTimeObservable, endDateTimeProperty.observeDetail(selectionObservable), null, modelToTargetStrategy); bindingContext.bindValue(metricStartTimeObservable, metricStartDateTimeProperty.observeDetail(selectionObservable), null, modelToTargetStrategy); bindingContext.bindValue(metricEndTimeObservable, metricEndDateTimeProperty.observeDetail(selectionObservable), null, modelToTargetStrategy); bindingContext.bindValue(totalExpectedValuesObservable, computedTotalExpectedValue); bindingContext.bindValue(totalFailedValuesObservable, computedTotalFailedValue); // bindingContext.bindValue(totalExpectedValuesObservable, // computedTotalExpectedValue, new UpdateValueStrategy(false, // UpdateValueStrategy.POLICY_NEVER), null); // // bindingContext.bindValue(totalFailedValuesObservable, // computedTotalFailedValue, new UpdateValueStrategy(false, // UpdateValueStrategy.POLICY_NEVER), null); ObservableListContentProvider recordsContentProvider = new ObservableListContentProvider(); tblViewerRecords.setContentProvider(recordsContentProvider); // IObservableMap[] recordsObserveMaps = EMFObservables.observeMaps( // listContentProvider.getKnownElements(), // new EStructuralFeature[] { // MetricsPackage.Literals.MAPPING_RECORD__ROW, // MetricsPackage.Literals.MAPPING_RECORD__COLUMN, // MetricsPackage.Literals.MAPPING_RECORD__MESSAGE, }); tblViewerRecords.setLabelProvider(new RecordsObservableMapLabelProvider()); IEMFListProperty recordsProperty = EMFProperties .list(MetricsPackage.Literals.MAPPING_STATISTIC__FAILED_RECORDS); tblViewerRecords.setInput(recordsProperty.observeDetail(selectionObservable)); return bindingContext; }