Source:
protected void onSelectButton(Label control) { LeafCondition condition; try { condition = (LeafCondition) getObservedEObject(); } catch (final DatabindingFailedException ex) { getReportService().report(new DatabindingFailedReport(ex)); return; } if (condition.getDomainModelReference() == null) { showError(control.getShell(), "No Domain Model Reference found", "A Domain Model Reference needs to be added to the condition first."); return; } EStructuralFeature structuralFeature; try { final IEMFValueProperty valueProperty = getEMFFormsDatabinding() .getValueProperty(condition.getDomainModelReference(), Helper.getRootEClass(condition)); structuralFeature = valueProperty.getStructuralFeature(); } catch (final DatabindingFailedException ex) { getReportService().report(new DatabindingFailedReport(ex)); return; } if (!EAttribute.class.isInstance(structuralFeature)) { showError(control.getShell(), "No EAttribute selected", "The condition's domain model reference must point to an EAttribute."); return; } if (condition.getValueDomainModelReference() != null) { showWarning(control.getShell(), "Legacy Value DMR will be removed", "The LeafCondition's Value DMR is deprecated with the usage of segments. This LeafCondition's value DMR is removed now. If you want to iterate over a multi reference, please use the Iterate Condition."); condition.setValueDomainModelReference(null); } final Object object = getSelectedObject((EAttribute) structuralFeature); final EditingDomain editingDomain = AdapterFactoryEditingDomain.getEditingDomainFor(condition); editingDomain.getCommandStack().execute( SetCommand.create(editingDomain, condition, RulePackage.Literals.LEAF_CONDITION__EXPECTED_VALUE, object)); if (object != null) { control.setText(object.toString()); } else { control.setText("null"); } }

Target:
protected void onSelectButton(Label control) { LeafCondition condition; try { condition = (LeafCondition) getObservedEObject(); } catch (final DatabindingFailedException ex) { getReportService().report(new DatabindingFailedReport(ex)); return; } if (condition.getDomainModelReference() == null) { showError(control.getShell(), "No Domain Model Reference found", "A Domain Model Reference needs to be added to the condition first."); return; } EStructuralFeature structuralFeature; try { final IEMFValueProperty valueProperty = getEMFFormsDatabinding() .getValueProperty(condition.getDomainModelReference(), Helper.getRootEClass(condition)); structuralFeature = valueProperty.getStructuralFeature(); } catch (final DatabindingFailedException ex) { getReportService().report(new DatabindingFailedReport(ex)); return; } if (!EAttribute.class.isInstance(structuralFeature)) { showError(control.getShell(), "No EAttribute selected", "The condition's domain model reference must point to an EAttribute."); return; } if (condition.getValueDomainModelReference() != null) { showInfo(control.getShell(), "Legacy Value DMR will be removed", "The LeafCondition's Value DMR is deprecated with the usage of segments. This LeafCondition's value DMR is removed now. If you want to iterate over a multi reference, please use the Iterate Condition."); condition.setValueDomainModelReference(null); } final Object object = getSelectedObject((EAttribute) structuralFeature); final EditingDomain editingDomain = AdapterFactoryEditingDomain.getEditingDomainFor(condition); editingDomain.getCommandStack().execute( SetCommand.create(editingDomain, condition, RulePackage.Literals.LEAF_CONDITION__EXPECTED_VALUE, object)); if (object != null) { control.setText(object.toString()); } else { control.setText("null"); } }