Bug 496705: Context menu should reflect correct state after command.

Although property testers get re-triggered, the selection data remains
stale leading to incorrect context menu states (eg. start container is
selectable even after the container has already started). Property
testers should query for fresh container data every time.

Change-Id: I25353b534f23374868d83aaf661ad783d8ff71a7
diff --git a/containers/org.eclipse.linuxtools.docker.ui/src/org/eclipse/linuxtools/internal/docker/ui/propertytesters/ContainerPropertyTester.java b/containers/org.eclipse.linuxtools.docker.ui/src/org/eclipse/linuxtools/internal/docker/ui/propertytesters/ContainerPropertyTester.java
index 1f62ea6..3e018c1 100644
--- a/containers/org.eclipse.linuxtools.docker.ui/src/org/eclipse/linuxtools/internal/docker/ui/propertytesters/ContainerPropertyTester.java
+++ b/containers/org.eclipse.linuxtools.docker.ui/src/org/eclipse/linuxtools/internal/docker/ui/propertytesters/ContainerPropertyTester.java
@@ -45,7 +45,16 @@
 	@Override
 	public boolean test(final Object receiver, final String property, final Object[] args, final Object expectedValue) {
 		if (receiver instanceof IDockerContainer) {
-			final IDockerContainer container = (IDockerContainer) receiver;
+			IDockerContainer container = (IDockerContainer) receiver;
+			/*
+			 * The 'receiver' is not updated if the selection remains unchanged
+			 * but a context menu command may have modified container state
+			 * requiring a change in menu items.
+			 */
+			final IDockerContainer newContainer = container.getConnection().getContainer(container.id());
+			if (newContainer != null) {
+				container = newContainer;
+			}
 			switch (property) {
 			case IS_RUNNING:
 				return checkIfStateMatchesExpectation(container, EnumDockerStatus.RUNNING, expectedValue);