Bug 577927 - provide a better error message

Change-Id: Ie05d05f24436761adfe48c9a3ce8a7c691c246fa
Signed-off-by: Christoph Läubrich <laeubi@laeubi-soft.de>
Reviewed-on: https://git.eclipse.org/r/c/pde/eclipse.pde.ui/+/189053
Tested-by: PDE Bot <pde-bot@eclipse.org>
Reviewed-by: Lars Vogel <Lars.Vogel@vogella.com>
diff --git a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/target/Messages.properties b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/target/Messages.properties
index 4c96a54..2465fc7 100755
--- a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/target/Messages.properties
+++ b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/target/Messages.properties
@@ -61,7 +61,7 @@
 TargetFeature_FileDoesNotExist=File does not exist: {0}
 TargetPersistence38Helper_NoTargetLocationExtension=Could not find a org.eclipse.pde.core.targetLocations extension for type: {0}
 TargetPlatformService_0=Unable to restore target memento
-TargetPlatformService_1=Unrecognized target memento scheme
+TargetPlatformService_1=Unrecognized target memento scheme '{0}', supported scheme are {1}
 TargetPlatformService_2=Target extension does not exist: {0}
 TargetPlatformService_3=Error reading target extension file: {0}
 TargetPlatformService_4=Target extension file does not exist: {0}
diff --git a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/target/TargetPlatformService.java b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/target/TargetPlatformService.java
index 4e99176..acda7fd 100644
--- a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/target/TargetPlatformService.java
+++ b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/target/TargetPlatformService.java
@@ -32,6 +32,8 @@
 import java.util.Map;
 import java.util.Objects;
 import java.util.Set;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
 import org.eclipse.core.resources.IFile;
 import org.eclipse.core.resources.IResource;
 import org.eclipse.core.resources.IResourceProxy;
@@ -174,7 +176,12 @@
 		} catch (URISyntaxException e) {
 			throw new CoreException(Status.error(Messages.TargetPlatformService_0, e));
 		}
-		throw new CoreException(Status.error(Messages.TargetPlatformService_1, null));
+		throw new CoreException(
+				Status.error(NLS.bind(Messages.TargetPlatformService_1, memento,
+						Stream.of(WorkspaceFileTargetHandle.SCHEME, LocalTargetHandle.SCHEME,
+								ExternalFileTargetHandle.SCHEME, RemoteTargetHandle.SCHEME)
+								.collect(Collectors.joining(", "))), //$NON-NLS-1$
+						null));
 	}
 
 	@Override