Bug 546589: Revert custom target platforms changes
diff --git a/launching/org.eclipse.rcptt.launching.ext/src/org/eclipse/rcptt/internal/launching/ext/Q7TargetPlatformManager.java b/launching/org.eclipse.rcptt.launching.ext/src/org/eclipse/rcptt/internal/launching/ext/Q7TargetPlatformManager.java
index f62ebf8..7137df0 100644
--- a/launching/org.eclipse.rcptt.launching.ext/src/org/eclipse/rcptt/internal/launching/ext/Q7TargetPlatformManager.java
+++ b/launching/org.eclipse.rcptt.launching.ext/src/org/eclipse/rcptt/internal/launching/ext/Q7TargetPlatformManager.java
@@ -22,6 +22,7 @@
 import org.eclipse.debug.core.DebugPlugin;
 import org.eclipse.debug.core.ILaunchConfiguration;
 import org.eclipse.debug.core.ILaunchConfigurationListener;
+import org.eclipse.rcptt.internal.core.RcpttPlugin;
 import org.eclipse.rcptt.launching.IQ7Launch;
 import org.eclipse.rcptt.launching.target.ITargetPlatformHelper;
 import org.eclipse.rcptt.launching.target.TargetPlatformManager;
@@ -148,7 +149,15 @@
 	 * @throws CoreException
 	 */
 	public static String getTargetPlatformName(ILaunchConfiguration config) {
-		return getTargetPlatformName(config.getName());
+		String defValue = getTargetPlatformName(config.getName());
+		if (!config.exists())
+			return defValue;
+		try {
+			return config.getAttribute(IQ7Launch.TARGET_PLATFORM, defValue);
+		} catch (CoreException e) {
+			RcpttPlugin.log(e);
+			return defValue;
+		}
 	}
 
 	public static String getTargetPlatformName(String name) {
@@ -163,14 +172,9 @@
 						new ILaunchConfigurationListener() {
 							public void launchConfigurationRemoved(
 									ILaunchConfiguration configuration) {
-								if (configuration.exists()) {
-									String target = getTargetPlatformName(configuration);
-									if (target != null) {
-										TargetPlatformManager
-												.deleteTargetPlatform(target);
-									}
-									cachedHelpers.remove(target);
-								}
+								String target = getTargetPlatformName(configuration);
+								TargetPlatformManager.deleteTargetPlatform(target);
+								cachedHelpers.remove(target);
 							}
 
 							public void launchConfigurationChanged(
diff --git a/launching/org.eclipse.rcptt.launching.ext/src/org/eclipse/rcptt/launching/ext/Q7LaunchingUtil.java b/launching/org.eclipse.rcptt.launching.ext/src/org/eclipse/rcptt/launching/ext/Q7LaunchingUtil.java
index 2517ba4..fdb4e7f 100644
--- a/launching/org.eclipse.rcptt.launching.ext/src/org/eclipse/rcptt/launching/ext/Q7LaunchingUtil.java
+++ b/launching/org.eclipse.rcptt.launching.ext/src/org/eclipse/rcptt/launching/ext/Q7LaunchingUtil.java
@@ -110,6 +110,8 @@
 			Q7TargetPlatformManager.delete(target.getName());
 			Q7TargetPlatformManager.setHelper(target.getName(), target);
 
+			config.setAttribute(IQ7Launch.TARGET_PLATFORM, target.getName());
+
 			String product = target.getDefaultProduct();
 			if (product != null) {
 				config.setAttribute("useProduct", true);
diff --git a/launching/org.eclipse.rcptt.launching/src/org/eclipse/rcptt/launching/IQ7Launch.java b/launching/org.eclipse.rcptt.launching/src/org/eclipse/rcptt/launching/IQ7Launch.java
index e83edd2..d9f2aff 100644
--- a/launching/org.eclipse.rcptt.launching/src/org/eclipse/rcptt/launching/IQ7Launch.java
+++ b/launching/org.eclipse.rcptt.launching/src/org/eclipse/rcptt/launching/IQ7Launch.java
@@ -184,6 +184,12 @@
 	String AUT_LOCATION = "aut-location"; //$NON-NLS-1$
 
 	/**
+	 * Launch configuration attribute key. The value is a string specifying
+	 * associated platform.
+	 */
+	String TARGET_PLATFORM = "aut-target-platform"; //$NON-NLS-1$
+
+	/**
 	 * Do not try to create target one more time
 	 */
 	String UPDATE_TARGET_SUPPORTED = "aut-target-updatable";//$NON-NLS-1$
diff --git a/modules/rap/bundles/launching/org.eclipse.rcptt.launching.rap.ui/src/org/eclipse/rcptt/internal/launching/rap/ui/AUTLocationBlock.java b/modules/rap/bundles/launching/org.eclipse.rcptt.launching.rap.ui/src/org/eclipse/rcptt/internal/launching/rap/ui/AUTLocationBlock.java
index 35bd81f..9a6ca74 100644
--- a/modules/rap/bundles/launching/org.eclipse.rcptt.launching.rap.ui/src/org/eclipse/rcptt/internal/launching/rap/ui/AUTLocationBlock.java
+++ b/modules/rap/bundles/launching/org.eclipse.rcptt.launching.rap.ui/src/org/eclipse/rcptt/internal/launching/rap/ui/AUTLocationBlock.java
@@ -189,6 +189,7 @@
 			info.setTargetName(Q7TargetPlatformManager
 					.getTargetPlatformName(config));
 			info.save();
+			config.setAttribute(IQ7Launch.TARGET_PLATFORM, info.getName());
 			Q7TargetPlatformManager.setHelper(info.getName(), info);
 		}
 		config.setAttribute(IQ7Launch.UPDATE_TARGET_SUPPORTED, true);
diff --git a/rcp/org.eclipse.rcptt.launching.ext.ui/src/org/eclipse/rcptt/internal/launching/ext/ui/AUTLocationBlock.java b/rcp/org.eclipse.rcptt.launching.ext.ui/src/org/eclipse/rcptt/internal/launching/ext/ui/AUTLocationBlock.java
index 6497d85..b70371f 100644
--- a/rcp/org.eclipse.rcptt.launching.ext.ui/src/org/eclipse/rcptt/internal/launching/ext/ui/AUTLocationBlock.java
+++ b/rcp/org.eclipse.rcptt.launching.ext.ui/src/org/eclipse/rcptt/internal/launching/ext/ui/AUTLocationBlock.java
@@ -188,6 +188,7 @@
 			info.setTargetName(Q7TargetPlatformManager
 					.getTargetPlatformName(config));
 			info.save();
+			config.setAttribute(IQ7Launch.TARGET_PLATFORM, info.getName());
 			Q7TargetPlatformManager.setHelper(info.getName(), info);
 		}
 		config.setAttribute(IQ7Launch.UPDATE_TARGET_SUPPORTED, true);