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