Author: slotia
Date: 2009-04-17 03:06:21 -0700 (Fri, 17 Apr 2009)
New Revision: 16605

Added:
   
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/proxysettings/ProxySettingsTask.java
   
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/proxysettings/ProxySettingsTaskFactory.java
Removed:
   
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/proxysettings/ProxySettings.java
Modified:
   
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/proxysettings/TestProxySettings.java
   
core3/core-task-impl/trunk/src/main/resources/META-INF/spring/bundle-context-osgi.xml
   
core3/core-task-impl/trunk/src/main/resources/META-INF/spring/bundle-context.xml
Log:
Added ProxySettingsTaskFactory; updated bundle-content*.xml to include 
ProxySettingsTaskFactory


Deleted: 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/proxysettings/ProxySettings.java
===================================================================
--- 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/proxysettings/ProxySettings.java
       2009-04-17 09:34:41 UTC (rev 16604)
+++ 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/proxysettings/ProxySettings.java
       2009-04-17 10:06:21 UTC (rev 16605)
@@ -1,68 +0,0 @@
-package org.cytoscape.task.internal.proxysettings;
-
-import java.util.Map;
-import java.util.HashMap;
-import java.util.ArrayList;
-import java.util.concurrent.ExecutionException;
-import java.util.concurrent.CancellationException;
-
-import java.net.Proxy;
-
-import org.cytoscape.work.Tunable;
-import org.cytoscape.work.TunableValidator;
-import org.cytoscape.work.Tunable.Param;
-import org.cytoscape.work.util.ListSingleSelection;
-
-import org.cytoscape.work.TaskManager;
-import org.cytoscape.work.ValuedTaskExecutor;
-
-class ProxySettings implements TunableValidator
-{
-       static final Map<String, Proxy.Type> types = new HashMap<String, 
Proxy.Type>(4, 1.0f);
-       static
-       {
-               types.put("direct", Proxy.Type.DIRECT);
-               types.put("http", Proxy.Type.HTTP);
-               types.put("socks", Proxy.Type.SOCKS);
-       }
-
-       @Tunable(description="Type")
-       public ListSingleSelection<String> type = new 
ListSingleSelection<String>(new ArrayList<String>(types.keySet()));
-
-       @Tunable(description="Proxy 
Server",group={""},dependsOn="type!=direct",alignment={Param.horizontal})
-       public String hostname="";
-
-       
@Tunable(description="Port",group={""},dependsOn="type!=direct",alignment={Param.horizontal})
-       public int port = 0;
-
-       @Tunable(description="Check proxy settings now")
-       public boolean checkSettings = false;
-
-       final TaskManager taskManager;
-
-       public ProxySettings(final TaskManager taskManager)
-       {
-               this.taskManager = taskManager;
-       }
-
-       public String validate()
-       {
-               if (!checkSettings) return null;
-               ValuedTaskExecutor<Exception> executor = new 
ValuedTaskExecutor<Exception>(new TestProxySettings(types.get(type), hostname, 
port));
-               taskManager.execute(executor);
-               Exception exception = null;
-               try
-               {
-                       exception = executor.get();
-               }
-               catch (Exception ex)
-               {
-                       return null;
-               }
-
-               if (exception == null)
-                       return null;
-               else
-                       return String.format("Cytoscape was unable to connect 
to the Internet.\nPlease make sure the proxy settings are correct and try 
again.\n\n%s", exception.getMessage());
-       }
-}

Copied: 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/proxysettings/ProxySettingsTask.java
 (from rev 16600, 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/proxysettings/ProxySettings.java)
===================================================================
--- 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/proxysettings/ProxySettings.java
       2009-04-16 16:02:17 UTC (rev 16600)
+++ 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/proxysettings/ProxySettingsTask.java
   2009-04-17 10:06:21 UTC (rev 16605)
@@ -0,0 +1,109 @@
+package org.cytoscape.task.internal.proxysettings;
+
+import java.util.Map;
+import java.util.HashMap;
+import java.util.ArrayList;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.CancellationException;
+
+import java.net.Proxy;
+import java.net.SocketAddress;
+import java.net.InetSocketAddress;
+
+import org.cytoscape.work.Tunable;
+import org.cytoscape.work.TunableValidator;
+import org.cytoscape.work.Tunable.Param;
+import org.cytoscape.work.util.ListSingleSelection;
+
+import org.cytoscape.work.TaskManager;
+import org.cytoscape.work.ValuedTaskExecutor;
+import org.cytoscape.work.Task;
+import org.cytoscape.work.TaskMonitor;
+
+import org.cytoscape.io.util.CyProxyRegistry;
+
+/**
+ * Dialog for assigning proxy settings.
+ * @author Pasteur
+ */
+class ProxySettingsTask implements Task, TunableValidator
+{
+       static final Map<String, Proxy.Type> types = new HashMap<String, 
Proxy.Type>(4, 1.0f);
+       static
+       {
+               types.put("direct",     Proxy.Type.DIRECT);
+               types.put("http",       Proxy.Type.HTTP);
+               types.put("socks",      Proxy.Type.SOCKS);
+       }
+
+       @Tunable(description="Type")
+       public ListSingleSelection<String> type = new 
ListSingleSelection<String>(new ArrayList<String>(types.keySet()));
+
+       @Tunable(description="Proxy 
Server",group={""},dependsOn="type!=direct",alignment={Param.horizontal})
+       public String hostname="";
+
+       
@Tunable(description="Port",group={""},dependsOn="type!=direct",alignment={Param.horizontal})
+       public int port = 0;
+
+       @Tunable(description="Check connectivity now")
+       public boolean checkSettings = false;
+
+       final TaskManager taskManager;
+       final CyProxyRegistry proxyRegistry;
+       Proxy proxy = Proxy.NO_PROXY;
+
+       public ProxySettingsTask(final TaskManager taskManager, final 
CyProxyRegistry proxyRegistry)
+       {
+               this.taskManager = taskManager;
+               this.proxyRegistry = proxyRegistry;
+       }
+
+       public String validate()
+       {
+               Proxy.Type proxytype = types.get(type.getSelectedValue());
+               if (proxytype == Proxy.Type.DIRECT)
+               {
+                       proxy = Proxy.NO_PROXY;
+               }
+               else
+               {
+                       try
+                       {
+                               SocketAddress address = new 
InetSocketAddress(hostname, port);
+                               proxy = new Proxy(proxytype, address);
+                       }
+                       catch (Exception ex)
+                       {
+                               return String.format("The proxy settings 
specified are invalid: %s", ex.getMessage());
+                       }
+               }
+
+               Exception exception = null;
+               try
+               {
+                       ValuedTaskExecutor<Exception> executor = new 
ValuedTaskExecutor<Exception>(new TestProxySettings(proxy));
+                       taskManager.execute(executor);
+                       exception = executor.get();
+               }
+               catch (Exception ex)
+               {
+                       return null;
+               }
+
+               if (exception == null)
+                       return null;
+               else
+                       return String.format("Cytoscape was unable to connect 
to the Internet.\nPlease make sure the proxy settings are correct and try 
again.\n\n%s", exception.getMessage());
+       }
+
+       public void run(TaskMonitor taskMonitor)
+       {
+               taskMonitor.setTitle("Proxy Settings");
+               taskMonitor.setStatusMessage("Registering proxy settings...");
+               proxyRegistry.register("http", proxy);
+       }
+
+       public void cancel()
+       {
+       }
+}

Added: 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/proxysettings/ProxySettingsTaskFactory.java
===================================================================
--- 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/proxysettings/ProxySettingsTaskFactory.java
    2009-04-17 09:34:41 UTC (rev 16604)
+++ 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/proxysettings/ProxySettingsTaskFactory.java
    2009-04-17 10:06:21 UTC (rev 16605)
@@ -0,0 +1,24 @@
+package org.cytoscape.task.internal.proxysettings;
+
+import org.cytoscape.work.Task;
+import org.cytoscape.work.TaskFactory;
+import org.cytoscape.work.TaskManager;
+import org.cytoscape.io.util.CyProxyRegistry;
+
+public class ProxySettingsTaskFactory implements TaskFactory
+{
+       TaskManager taskManager;
+       CyProxyRegistry proxyRegistry;
+
+       public ProxySettingsTaskFactory(TaskManager taskManager, 
CyProxyRegistry proxyRegistry)
+       {
+               System.out.println("ProxySettingsTaskFactory has been 
instantiated");
+               this.taskManager = taskManager;
+               this.proxyRegistry = proxyRegistry;
+       }
+
+       public Task getTask()
+       {
+               return new ProxySettingsTask(taskManager, proxyRegistry);
+       }
+}

Modified: 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/proxysettings/TestProxySettings.java
===================================================================
--- 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/proxysettings/TestProxySettings.java
   2009-04-17 09:34:41 UTC (rev 16604)
+++ 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/proxysettings/TestProxySettings.java
   2009-04-17 10:06:21 UTC (rev 16605)
@@ -14,17 +14,13 @@
        static String TEST_URL = "http://www.google.com";;
        static int CONNECT_TIMEOUT_IN_MILLISECONDS = 5000;
 
-       final Proxy.Type proxytype;
-       final String hostname;
-       final int port;
+       final Proxy proxy;
 
        boolean cancel = false;
 
-       public TestProxySettings(Proxy.Type proxytype, String hostname, int 
port)
+       public TestProxySettings(Proxy proxy)
        {
-               this.proxytype = proxytype;
-               this.hostname = hostname;
-               this.port = port;
+               this.proxy = proxy;
        }
 
        public Exception run(TaskMonitor taskMonitor)
@@ -32,20 +28,6 @@
                taskMonitor.setTitle("Testing Proxy Settings");
                try
                {
-                       taskMonitor.setStatusMessage("Resolving proxy server 
address...");
-
-                       Proxy proxy = null;
-                       if (proxytype == Proxy.Type.DIRECT)
-                       {
-                               proxy = Proxy.NO_PROXY;
-                       }
-                       else
-                       {
-                               SocketAddress address = new 
InetSocketAddress(hostname, port);
-                               proxy = new Proxy(proxytype, address);
-                       }
-
-                       if (cancel) return null;
                        taskMonitor.setStatusMessage("Attempting to open the 
URL connection...");
                        
                        URL url = new URL(TEST_URL);

Modified: 
core3/core-task-impl/trunk/src/main/resources/META-INF/spring/bundle-context-osgi.xml
===================================================================
--- 
core3/core-task-impl/trunk/src/main/resources/META-INF/spring/bundle-context-osgi.xml
       2009-04-17 09:34:41 UTC (rev 16604)
+++ 
core3/core-task-impl/trunk/src/main/resources/META-INF/spring/bundle-context-osgi.xml
       2009-04-17 10:06:21 UTC (rev 16605)
@@ -24,8 +24,14 @@
        <osgi:reference id="visualMappingManagerServiceRef"
                interface="org.cytoscape.view.vizmap.VisualMappingManager" />
 
-       <osgi:reference id="streamUtil"
+       <osgi:reference id="streamUtilRef"
                interface="org.cytoscape.io.util.StreamUtil" />
+
+       <osgi:reference id="taskManagerRef"
+               interface="org.cytoscape.work.TaskManager" />
+
+       <osgi:reference id="cyProxyRegistryRef"
+               interface="org.cytoscape.io.util.CyProxyRegistry" />
        <!--
                <osgi:reference id="cyWriterManagerServiceRef"
                interface="org.cytoscape.io.read.CyWriterManager"/> 
<osgi:reference
@@ -350,6 +356,14 @@
                </osgi:service-properties>
        </osgi:service>
 
+       <osgi:service id="proxySettingsTaskFactoryService" 
ref="proxySettingsTaskFactory"
+               interface="org.cytoscape.work.TaskFactory">
+               <osgi:service-properties>
+                       <entry key="title" value="Proxy Settings..." />
+                       <entry key="preferredMenu" value="Edit.Preferences" />
+               </osgi:service-properties>
+       </osgi:service>
+
        <!--
                <osgi:service id="newSessionTaskFactoryService"
                ref="newSessionTaskFactory"

Modified: 
core3/core-task-impl/trunk/src/main/resources/META-INF/spring/bundle-context.xml
===================================================================
--- 
core3/core-task-impl/trunk/src/main/resources/META-INF/spring/bundle-context.xml
    2009-04-17 09:34:41 UTC (rev 16604)
+++ 
core3/core-task-impl/trunk/src/main/resources/META-INF/spring/bundle-context.xml
    2009-04-17 10:06:21 UTC (rev 16605)
@@ -44,7 +44,7 @@
                <constructor-arg ref="cyNetworkManagerServiceRef" />
                <constructor-arg ref="cyPropertyServiceRef" />
                <constructor-arg ref="cyNetworkNamingServiceRef" />
-               <constructor-arg ref="streamUtil" />
+               <constructor-arg ref="streamUtilRef" />
        </bean>
        
        <bean id="loadInputStreamTaskFactory" 
@@ -236,4 +236,9 @@
        </bean>
        --> 
 
+       <bean id="proxySettingsTaskFactory" 
+             
class="org.cytoscape.task.internal.proxysettings.ProxySettingsTaskFactory">
+               <constructor-arg ref="taskManagerRef" />
+               <constructor-arg ref="cyProxyRegistryRef" />
+       </bean>
 </beans>


--~--~---------~--~----~------------~-------~--~----~
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