[518980] set the business object from the default dialog composite listener to update on tab changes

Change-Id: I48d2b98c5727e2cf4dfccf0b6279db69214e200c
diff --git a/plugins/org.eclipse.bpmn2.modeler.core/META-INF/MANIFEST.MF b/plugins/org.eclipse.bpmn2.modeler.core/META-INF/MANIFEST.MF
index 9e029c1..204737f 100644
--- a/plugins/org.eclipse.bpmn2.modeler.core/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.bpmn2.modeler.core/META-INF/MANIFEST.MF
@@ -8,7 +8,6 @@
 Bundle-Vendor: %providerName
 Require-Bundle: org.eclipse.emf.transaction,
  org.eclipse.emf.edit.ui,
- org.eclipse.emf.validation.ocl,
  org.eclipse.osgi,
  org.eclipse.graphiti;bundle-version="[0.14.0,0.15.0)",
  org.eclipse.graphiti.ui;bundle-version="[0.14.0,0.15.0)",
diff --git a/plugins/org.eclipse.bpmn2.modeler.core/src/org/eclipse/bpmn2/modeler/core/merrimac/clad/AbstractDetailComposite.java b/plugins/org.eclipse.bpmn2.modeler.core/src/org/eclipse/bpmn2/modeler/core/merrimac/clad/AbstractDetailComposite.java
index b949c27..78ef8c9 100644
--- a/plugins/org.eclipse.bpmn2.modeler.core/src/org/eclipse/bpmn2/modeler/core/merrimac/clad/AbstractDetailComposite.java
+++ b/plugins/org.eclipse.bpmn2.modeler.core/src/org/eclipse/bpmn2/modeler/core/merrimac/clad/AbstractDetailComposite.java
@@ -645,8 +645,8 @@
 	}
 
 	public void refresh() {
-//		Display.getDefault().asyncExec( new Runnable() {
-//			public void run() {
+		Display.getDefault().asyncExec( new Runnable() {
+			public void run() {
 				List<Control>kids = new ArrayList<Control>();
 				Composite parent = AbstractDetailComposite.this;
 				if (!parent.isDisposed()) {
@@ -673,8 +673,8 @@
 					catch (Exception e) {
 					}
 				}
-//			}
-//		});
+			}
+		});
 	}
 	
 	public void setPropertiesProvider(AbstractPropertiesProvider provider) {
diff --git a/plugins/org.eclipse.bpmn2.modeler.core/src/org/eclipse/bpmn2/modeler/core/merrimac/clad/DefaultDialogComposite.java b/plugins/org.eclipse.bpmn2.modeler.core/src/org/eclipse/bpmn2/modeler/core/merrimac/clad/DefaultDialogComposite.java
index c6e3a33..ea9fad4 100644
--- a/plugins/org.eclipse.bpmn2.modeler.core/src/org/eclipse/bpmn2/modeler/core/merrimac/clad/DefaultDialogComposite.java
+++ b/plugins/org.eclipse.bpmn2.modeler.core/src/org/eclipse/bpmn2/modeler/core/merrimac/clad/DefaultDialogComposite.java
@@ -233,11 +233,17 @@
 			int i = preferenceStore.getInt("dialog."+eclass.getName()+".tab"); //$NON-NLS-1$ //$NON-NLS-2$
 			if (i>=0 && i<folder.getItemCount())
 				folder.setSelection(i);
+
 			folder.addSelectionListener( new SelectionAdapter() {
 				@Override
 				public void widgetSelected(SelectionEvent e) {
 					int i = folder.getSelectionIndex();
 					preferenceStore.setValue("dialog."+eclass.getName()+".tab", i); //$NON-NLS-1$ //$NON-NLS-2$
+					AbstractDetailComposite selectedDetail = details.get(i);
+
+					// This will trigger an update to the selected tab.
+					if (selectedDetail != null)
+						selectedDetail.setBusinessObject(businessObject);
 				}
 			});