Fix on getText method and implemented resolve artifact for IFile handler
Change-Id: I2adc64156705336b21f134c94bd5569d0b144352
diff --git a/org.eclipse.capra.core/src/org/eclipse/capra/core/handlers/ArtifactHandler.java b/org.eclipse.capra.core/src/org/eclipse/capra/core/handlers/ArtifactHandler.java
index f429025..910c27f 100644
--- a/org.eclipse.capra.core/src/org/eclipse/capra/core/handlers/ArtifactHandler.java
+++ b/org.eclipse.capra.core/src/org/eclipse/capra/core/handlers/ArtifactHandler.java
@@ -57,13 +57,14 @@
Object resolveArtifact(EObject artifact);
/**
+ * Provide the display name to be displayed in the selection view when an
+ * object is dropped. This is a default implementation but gives flexibility
+ * for each handler to decide how its objects should look like when dropped
+ * to the selection view.
*
* @param selection
* The selected object to be added to the selection view
- * @return The name that should be displayed in the selection view. This
- * method has a default implementation but gives flexibility for
- * each handler to decide how its objects should look like when
- * dropped to the selection view.
+ * @return The string that should be displayed in the selection view.
*/
default String getDisplayName(Object selection) {
if (selection instanceof EObject) {
diff --git a/org.eclipse.capra.handler.file/src/org/eclipse/capra/handler/file/IFileHandler.java b/org.eclipse.capra.handler.file/src/org/eclipse/capra/handler/file/IFileHandler.java
index bfd655b..bc32981 100644
--- a/org.eclipse.capra.handler.file/src/org/eclipse/capra/handler/file/IFileHandler.java
+++ b/org.eclipse.capra.handler.file/src/org/eclipse/capra/handler/file/IFileHandler.java
@@ -10,6 +10,8 @@
*******************************************************************************/
package org.eclipse.capra.handler.file;
+import java.io.File;
+
import org.eclipse.capra.core.adapters.ArtifactMetaModelAdapter;
import org.eclipse.capra.core.handlers.ArtifactHandler;
import org.eclipse.capra.core.helpers.ExtensionPointHelper;
@@ -37,10 +39,11 @@
@Override
public Object resolveArtifact(EObject artifact) {
- //TO DO
- return null;
+ ArtifactMetaModelAdapter adapter = ExtensionPointHelper.getArtifactWrapperMetaModelAdapter().get();
+ String uri = adapter.getArtifactUri(artifact);
+ return new File(uri);
}
-
+
@Override
public String getDisplayName(Object selection) {
IFile selectionAsFile = (IFile) selection;
diff --git a/org.eclipse.capra.ui/src/org/eclipse/capra/ui/views/SelectionView.java b/org.eclipse.capra.ui/src/org/eclipse/capra/ui/views/SelectionView.java
index 913a607..08efb39 100644
--- a/org.eclipse.capra.ui/src/org/eclipse/capra/ui/views/SelectionView.java
+++ b/org.eclipse.capra.ui/src/org/eclipse/capra/ui/views/SelectionView.java
@@ -94,10 +94,10 @@
Collection<ArtifactHandler> artifactHandlers = ExtensionPointHelper.getArtifactHandlers();
List<ArtifactHandler> availableHandlers = artifactHandlers.stream()
.filter(handler -> handler.canHandleSelection(element)).collect(Collectors.toList());
- if (availableHandlers.size() == 1) {
+ if (availableHandlers.size() > 1) {
return availableHandlers.get(0).getDisplayName(element);
} else
- return null;
+ return element.toString();
};
@Override