JAL-3954 Create fallback for handling unknown actions
[jalview.git] / src / jalview / ws2 / gui / WebServicesMenuManager.java
index d6cf5b7..8f48690 100644 (file)
@@ -24,6 +24,7 @@ import javax.swing.JMenuItem;
 import javax.swing.ToolTipManager;
 import javax.swing.border.EmptyBorder;
 
+import jalview.bin.Console;
 import jalview.gui.AlignFrame;
 import jalview.gui.Desktop;
 import jalview.gui.JvSwingUtils;
@@ -36,6 +37,7 @@ import jalview.ws.params.WsParamSetI;
 import jalview.ws2.actions.alignment.AlignmentAction;
 import jalview.ws2.actions.annotation.AnnotationAction;
 import jalview.ws2.actions.api.ActionI;
+import jalview.ws2.actions.api.TaskEventListener;
 import jalview.ws2.actions.api.TaskI;
 import jalview.ws2.api.Credentials;
 import jalview.ws2.api.WebService;
@@ -468,8 +470,11 @@ public class WebServicesMenuManager
       var handler = new AnnotationServiceGuiHandler(_action, frame);
       return _action.perform(viewport, args, credentials, handler);
     }
-    throw new IllegalArgumentException(
-        String.format("Illegal action type %s", action.getClass().getName()));
+    Console.warn(String.format(
+            "No known handler for action type %s. All output will be discarded.",
+            action.getClass().getName()));
+    return action.perform(viewport, args, credentials,
+            TaskEventListener.nullListener());
   }
 
   private static CompletionStage<List<ArgumentI>> openEditParamsDialog(