Author: jm
Date: 2012-08-24 08:40:24 -0700 (Fri, 24 Aug 2012)
New Revision: 30265

Added:
   
core3/api/trunk/webservice-swing-api/src/main/java/org/cytoscape/io/webservice/swing/WebServiceGUI.java
   
core3/impl/trunk/webservice-impl/src/main/java/org/cytoscape/webservice/internal/ui/WebServiceGUIImpl.java
Modified:
   
core3/api/trunk/webservice-swing-api/src/main/java/org/cytoscape/io/webservice/swing/AbstractWebServiceGUIClient.java
   
core3/api/trunk/webservice-swing-api/src/main/java/org/cytoscape/io/webservice/swing/WebServiceGUIClient.java
   
core3/impl/trunk/webservice-impl/src/main/java/org/cytoscape/webservice/internal/CyActivator.java
Log:
Fixes #1083: Added API for getting the Window of a particular web service 
import dialog

Modified: 
core3/api/trunk/webservice-swing-api/src/main/java/org/cytoscape/io/webservice/swing/AbstractWebServiceGUIClient.java
===================================================================
--- 
core3/api/trunk/webservice-swing-api/src/main/java/org/cytoscape/io/webservice/swing/AbstractWebServiceGUIClient.java
       2012-08-24 01:39:35 UTC (rev 30264)
+++ 
core3/api/trunk/webservice-swing-api/src/main/java/org/cytoscape/io/webservice/swing/AbstractWebServiceGUIClient.java
       2012-08-24 15:40:24 UTC (rev 30265)
@@ -6,6 +6,8 @@
 
 /**
  * Abstract base class for web service clients with Swing GUI.
+ * 
+ * @CyAPI.Abstract.Class
  */
 public abstract class AbstractWebServiceGUIClient extends 
AbstractWebServiceClient implements WebServiceGUIClient {
 

Added: 
core3/api/trunk/webservice-swing-api/src/main/java/org/cytoscape/io/webservice/swing/WebServiceGUI.java
===================================================================
--- 
core3/api/trunk/webservice-swing-api/src/main/java/org/cytoscape/io/webservice/swing/WebServiceGUI.java
                             (rev 0)
+++ 
core3/api/trunk/webservice-swing-api/src/main/java/org/cytoscape/io/webservice/swing/WebServiceGUI.java
     2012-08-24 15:40:24 UTC (rev 30265)
@@ -0,0 +1,19 @@
+package org.cytoscape.io.webservice.swing;
+
+import java.awt.Window;
+
+/**
+ * Cytoscape's unified UI for accessing web services.  This interface provides
+ * access to the Swing components used to display the UI.
+ * 
+ * @CyAPI.Api.Interface
+ */
+public interface WebServiceGUI {
+       /**
+        * Returns the Window that contains the unified web service UI.
+        * @param webServiceClientType either NetworkImportWebServiceClient or
+        *        TableImportWebServiceClient. 
+        * @return the Window that contains the unified web service UI. 
+        */
+       Window getWindow(Class<?> webServiceClientType);
+}

Modified: 
core3/api/trunk/webservice-swing-api/src/main/java/org/cytoscape/io/webservice/swing/WebServiceGUIClient.java
===================================================================
--- 
core3/api/trunk/webservice-swing-api/src/main/java/org/cytoscape/io/webservice/swing/WebServiceGUIClient.java
       2012-08-24 01:39:35 UTC (rev 30264)
+++ 
core3/api/trunk/webservice-swing-api/src/main/java/org/cytoscape/io/webservice/swing/WebServiceGUIClient.java
       2012-08-24 15:40:24 UTC (rev 30265)
@@ -5,6 +5,8 @@
 /** 
  * An interface that allows web service clients to provide
  * their own GUI component.
+ * 
+ * @CyAPI.Spi.Interface
  */
 public interface WebServiceGUIClient {
 

Modified: 
core3/impl/trunk/webservice-impl/src/main/java/org/cytoscape/webservice/internal/CyActivator.java
===================================================================
--- 
core3/impl/trunk/webservice-impl/src/main/java/org/cytoscape/webservice/internal/CyActivator.java
   2012-08-24 01:39:35 UTC (rev 30264)
+++ 
core3/impl/trunk/webservice-impl/src/main/java/org/cytoscape/webservice/internal/CyActivator.java
   2012-08-24 15:40:24 UTC (rev 30265)
@@ -11,9 +11,11 @@
 import org.cytoscape.io.webservice.NetworkImportWebServiceClient;
 import org.cytoscape.io.webservice.TableImportWebServiceClient;
 import org.cytoscape.io.webservice.WebServiceClient;
+import org.cytoscape.io.webservice.swing.WebServiceGUI;
 import org.cytoscape.service.util.AbstractCyActivator;
 import org.cytoscape.util.swing.OpenBrowser;
 import org.cytoscape.webservice.internal.task.ShowImportDialogAction;
+import org.cytoscape.webservice.internal.ui.WebServiceGUIImpl;
 import org.cytoscape.webservice.internal.ui.WebServiceImportDialog;
 import org.cytoscape.work.swing.DialogTaskManager;
 import org.osgi.framework.BundleContext;
@@ -38,6 +40,10 @@
                WebServiceImportDialog<TableImportWebServiceClient> 
unifiedTableImportDialog = new 
WebServiceImportDialog<TableImportWebServiceClient>(
                                TableImportWebServiceClient.class, "Import Data 
Table from Web Service", taskManagerServiceRef, openBrowser);
 
+               WebServiceGUIImpl webServiceGui = new WebServiceGUIImpl();
+               webServiceGui.addClient(NetworkImportWebServiceClient.class, 
unifiedNetworkImportDialog);
+               webServiceGui.addClient(TableImportWebServiceClient.class, 
unifiedTableImportDialog);
+               
                // ALT (for Mac, it's Option)
                final KeyStroke networkImportShortcut = 
KeyStroke.getKeyStroke(KeyEvent.VK_L, InputEvent.ALT_DOWN_MASK);
                final KeyStroke tableImportShortcut = 
KeyStroke.getKeyStroke(KeyEvent.VK_T, InputEvent.ALT_DOWN_MASK);
@@ -54,6 +60,7 @@
                                
showImportNetworkFromWebServiceDialogActionProps);
                registerService(bc, showImportTableFromWebServiceDialogAction, 
CyAction.class,
                                new Properties());
+               registerService(bc, webServiceGui, WebServiceGUI.class, new 
Properties());
 
                registerServiceListener(bc, unifiedNetworkImportDialog, 
"addClient", "removeClient",
                                WebServiceClient.class);

Added: 
core3/impl/trunk/webservice-impl/src/main/java/org/cytoscape/webservice/internal/ui/WebServiceGUIImpl.java
===================================================================
--- 
core3/impl/trunk/webservice-impl/src/main/java/org/cytoscape/webservice/internal/ui/WebServiceGUIImpl.java
                          (rev 0)
+++ 
core3/impl/trunk/webservice-impl/src/main/java/org/cytoscape/webservice/internal/ui/WebServiceGUIImpl.java
  2012-08-24 15:40:24 UTC (rev 30265)
@@ -0,0 +1,24 @@
+package org.cytoscape.webservice.internal.ui;
+
+import java.awt.Window;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.cytoscape.io.webservice.swing.WebServiceGUI;
+
+public class WebServiceGUIImpl implements WebServiceGUI {
+       Map<Class<?>, Window> clientWindowsByType;
+       
+       public WebServiceGUIImpl() {
+               clientWindowsByType = new HashMap<Class<?>, Window>();
+       }
+       
+       public void addClient(Class<?> webServiceClientType, Window window) {
+               clientWindowsByType.put(webServiceClientType, window);
+       }
+       
+       @Override
+       public Window getWindow(Class<?> webServiceClientType) {
+               return clientWindowsByType.get(webServiceClientType);
+       }
+}

-- 
You received this message because you are subscribed to the Google Groups 
"cytoscape-cvs" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/cytoscape-cvs?hl=en.

Reply via email to