Author: kono
Date: 2011-12-08 13:09:48 -0800 (Thu, 08 Dec 2011)
New Revision: 27743

Modified:
   core3/impl/trunk/work-swing-impl/impl/pom.xml
   
core3/impl/trunk/work-swing-impl/impl/src/main/java/org/cytoscape/work/internal/CyActivator.java
   
core3/impl/trunk/work-swing-impl/impl/src/main/java/org/cytoscape/work/internal/task/JDialogTaskManager.java
   
core3/impl/trunk/work-swing-impl/impl/src/main/java/org/cytoscape/work/internal/tunables/URLHandler.java
   
core3/impl/trunk/work-swing-impl/impl/src/main/java/org/cytoscape/work/internal/tunables/URLHandlerFactory.java
   core3/impl/trunk/work-swing-impl/it/pom.xml
   core3/impl/trunk/work-swing-impl/pom.xml
Log:
URL handler now supports DataSource.

Modified: core3/impl/trunk/work-swing-impl/impl/pom.xml
===================================================================
--- core3/impl/trunk/work-swing-impl/impl/pom.xml       2011-12-08 21:08:22 UTC 
(rev 27742)
+++ core3/impl/trunk/work-swing-impl/impl/pom.xml       2011-12-08 21:09:48 UTC 
(rev 27743)
@@ -13,7 +13,6 @@
        </properties>
 
        <modelVersion>4.0.0</modelVersion>
-       <groupId>org.cytoscape</groupId>
        <artifactId>work-swing-impl</artifactId>
 
        <name>${bundle.symbolicName}</name>

Modified: 
core3/impl/trunk/work-swing-impl/impl/src/main/java/org/cytoscape/work/internal/CyActivator.java
===================================================================
--- 
core3/impl/trunk/work-swing-impl/impl/src/main/java/org/cytoscape/work/internal/CyActivator.java
    2011-12-08 21:08:22 UTC (rev 27742)
+++ 
core3/impl/trunk/work-swing-impl/impl/src/main/java/org/cytoscape/work/internal/CyActivator.java
    2011-12-08 21:09:48 UTC (rev 27743)
@@ -4,41 +4,60 @@
 
 package org.cytoscape.work.internal;
 
+import java.util.Properties;
+
+import org.cytoscape.datasource.DataSourceManager;
+import org.cytoscape.io.read.InputStreamTaskFactory;
+import org.cytoscape.io.write.CyWriterFactory;
 import org.cytoscape.property.CyProperty;
+import org.cytoscape.property.bookmark.BookmarksUtil;
+import org.cytoscape.service.util.AbstractCyActivator;
 import org.cytoscape.util.swing.FileUtil;
-import org.cytoscape.property.bookmark.BookmarksUtil;
-
-import org.cytoscape.work.internal.sync.*;
-import org.cytoscape.work.internal.task.*;
-import org.cytoscape.work.internal.tunables.*;
-import org.cytoscape.work.internal.submenu.*;
-import org.cytoscape.work.internal.UndoSupportImpl;
-import org.cytoscape.work.internal.tunables.utils.SupportedFileTypesManager;
-
-import org.cytoscape.work.swing.SimpleGUITunableHandlerFactory;
+import org.cytoscape.work.SynchronousTaskManager;
 import org.cytoscape.work.TaskManager;
-import org.cytoscape.work.SynchronousTaskManager;
-import org.cytoscape.work.undo.UndoSupport;
-import org.cytoscape.work.swing.undo.SwingUndoSupport;
-import org.cytoscape.work.swing.GUITunableHandlerFactory;
 import org.cytoscape.work.TunableHandlerFactory;
-import org.cytoscape.work.util.*;
-import org.cytoscape.work.swing.*;
-
-import org.cytoscape.io.write.CyWriterFactory;
-import org.cytoscape.io.read.InputStreamTaskFactory;
-import org.cytoscape.work.TunableMutator;
 import org.cytoscape.work.TunableRecorder;
+import org.cytoscape.work.internal.submenu.SubmenuTaskManagerImpl;
+import org.cytoscape.work.internal.submenu.SubmenuTunableHandlerImpl;
+import org.cytoscape.work.internal.submenu.SubmenuTunableMutator;
+import org.cytoscape.work.internal.sync.SyncTaskManager;
+import org.cytoscape.work.internal.sync.SyncTunableHandlerFactory;
+import org.cytoscape.work.internal.sync.SyncTunableMutator;
+import org.cytoscape.work.internal.task.JDialogTaskManager;
+import org.cytoscape.work.internal.task.JPanelTaskManager;
+import org.cytoscape.work.internal.tunables.BooleanHandler;
+import org.cytoscape.work.internal.tunables.BoundedHandler;
+import org.cytoscape.work.internal.tunables.DoubleHandler;
+import org.cytoscape.work.internal.tunables.FileHandlerFactory;
+import org.cytoscape.work.internal.tunables.FloatHandler;
+import org.cytoscape.work.internal.tunables.IntegerHandler;
+import org.cytoscape.work.internal.tunables.JDialogTunableMutator;
+import org.cytoscape.work.internal.tunables.JPanelTunableMutator;
+import org.cytoscape.work.internal.tunables.ListMultipleHandler;
+import org.cytoscape.work.internal.tunables.ListSingleHandler;
+import org.cytoscape.work.internal.tunables.LongHandler;
+import org.cytoscape.work.internal.tunables.StringHandler;
+import org.cytoscape.work.internal.tunables.URLHandlerFactory;
+import org.cytoscape.work.internal.tunables.utils.SupportedFileTypesManager;
+import org.cytoscape.work.swing.DialogTaskManager;
 import org.cytoscape.work.swing.GUITunableHandlerFactory;
-
+import org.cytoscape.work.swing.PanelTaskManager;
+import org.cytoscape.work.swing.SimpleGUITunableHandlerFactory;
+import org.cytoscape.work.swing.SimpleSubmenuTunableHandlerFactory;
+import org.cytoscape.work.swing.SubmenuTaskManager;
+import org.cytoscape.work.swing.SubmenuTunableHandlerFactory;
+import org.cytoscape.work.swing.undo.SwingUndoSupport;
+import org.cytoscape.work.undo.UndoSupport;
+import org.cytoscape.work.util.BoundedDouble;
+import org.cytoscape.work.util.BoundedFloat;
+import org.cytoscape.work.util.BoundedInteger;
+import org.cytoscape.work.util.BoundedLong;
+import org.cytoscape.work.util.ListMultipleSelection;
+import org.cytoscape.work.util.ListSingleSelection;
 import org.osgi.framework.BundleContext;
 
-import org.cytoscape.service.util.AbstractCyActivator;
 
-import java.util.Properties;
 
-
-
 public class CyActivator extends AbstractCyActivator {
        public CyActivator() {
                super();
@@ -46,6 +65,8 @@
 
 
        public void start(BundleContext bc) {
+               
+               DataSourceManager dsManager = getService(bc, 
DataSourceManager.class);
 
                FileUtil fileUtilRef = getService(bc,FileUtil.class);
                CyProperty bookmarkServiceRef = 
getService(bc,CyProperty.class,"(cyPropertyName=bookmarks)");
@@ -76,7 +97,9 @@
                SimpleGUITunableHandlerFactory boundedLongHandlerFactory = new 
SimpleGUITunableHandlerFactory(BoundedHandler.class,BoundedLong.class);
                SimpleGUITunableHandlerFactory 
listSingleSelectionHandlerFactory = new 
SimpleGUITunableHandlerFactory(ListSingleHandler.class,ListSingleSelection.class);
                SimpleGUITunableHandlerFactory 
listMultipleSelectionHandlerFactory = new 
SimpleGUITunableHandlerFactory(ListMultipleHandler.class,ListMultipleSelection.class);
-               URLHandlerFactory urlHandlerFactory = new 
URLHandlerFactory(bookmarkServiceRef,bookmarksUtilServiceRef);
+               
+               URLHandlerFactory urlHandlerFactory = new 
URLHandlerFactory(dsManager);
+               
                FileHandlerFactory fileHandlerFactory = new 
FileHandlerFactory(fileUtilRef,supportedFileTypesManager);
 
                SyncTunableMutator syncTunableMutator = new 
SyncTunableMutator();

Modified: 
core3/impl/trunk/work-swing-impl/impl/src/main/java/org/cytoscape/work/internal/task/JDialogTaskManager.java
===================================================================
--- 
core3/impl/trunk/work-swing-impl/impl/src/main/java/org/cytoscape/work/internal/task/JDialogTaskManager.java
        2011-12-08 21:08:22 UTC (rev 27742)
+++ 
core3/impl/trunk/work-swing-impl/impl/src/main/java/org/cytoscape/work/internal/task/JDialogTaskManager.java
        2011-12-08 21:09:48 UTC (rev 27743)
@@ -8,23 +8,19 @@
 import java.util.concurrent.ScheduledExecutorService;
 import java.util.concurrent.ThreadFactory;
 import java.util.concurrent.TimeUnit;
-import java.util.List;
-import java.util.ArrayList;
-import java.util.Map;
-import javax.swing.JPanel;
+
 import javax.swing.JDialog;
-import org.cytoscape.work.swing.DialogTaskManager;
+
 import org.cytoscape.work.AbstractTaskManager;
 import org.cytoscape.work.Task;
 import org.cytoscape.work.TaskFactory;
 import org.cytoscape.work.TaskIterator;
-import org.cytoscape.work.TunableMutator;
 import org.cytoscape.work.TunableRecorder;
+import org.cytoscape.work.internal.tunables.JDialogTunableMutator;
+import org.cytoscape.work.swing.DialogTaskManager;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import org.cytoscape.work.internal.tunables.JDialogTunableMutator;
-
 /**
  * Uses Swing components to create a user interface for the <code>Task</code>.
  *

Modified: 
core3/impl/trunk/work-swing-impl/impl/src/main/java/org/cytoscape/work/internal/tunables/URLHandler.java
===================================================================
--- 
core3/impl/trunk/work-swing-impl/impl/src/main/java/org/cytoscape/work/internal/tunables/URLHandler.java
    2011-12-08 21:08:22 UTC (rev 27742)
+++ 
core3/impl/trunk/work-swing-impl/impl/src/main/java/org/cytoscape/work/internal/tunables/URLHandler.java
    2011-12-08 21:09:48 UTC (rev 27743)
@@ -1,247 +1,157 @@
 package org.cytoscape.work.internal.tunables;
 
-
-import java.awt.Component;
-import java.awt.event.ActionListener;
-import java.awt.event.KeyListener;
 import java.lang.reflect.Field;
 import java.lang.reflect.Method;
 import java.net.URL;
-import java.util.List;
-import java.util.Properties;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.SortedSet;
+import java.util.TreeSet;
 
-import javax.swing.ComboBoxEditor;
-import javax.swing.DefaultComboBoxModel;
 import javax.swing.GroupLayout;
 import javax.swing.JComboBox;
 import javax.swing.JLabel;
-import javax.swing.JList;
 import javax.swing.JSeparator;
-import javax.swing.JTextField;
 import javax.swing.LayoutStyle;
-import javax.swing.ListCellRenderer;
 import javax.swing.ToolTipManager;
 
-import org.cytoscape.property.bookmark.Bookmarks;
-import org.cytoscape.property.bookmark.BookmarksUtil;
-import org.cytoscape.property.bookmark.Category;
-import org.cytoscape.property.bookmark.DataSource;
+import org.cytoscape.datasource.DataSource;
+import org.cytoscape.datasource.DataSourceManager;
+import org.cytoscape.io.DataCategory;
 import org.cytoscape.work.Tunable;
 import org.cytoscape.work.swing.AbstractGUITunableHandler;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
-
 /**
  * Handler for the type <i>URL</i> of <code>Tunable</code>
- *
- * @author pasteur
  */
 public class URLHandler extends AbstractGUITunableHandler {
-       
-       private BookmarksUtil bkUtil;
-       private Bookmarks theBookmarks;
-       private final String bookmarkCategory;
-       private BookmarkComboBoxEditor bookmarkEditor;
+
+       private static final Logger logger = 
LoggerFactory.getLogger(URLHandler.class);
+
        private JComboBox networkFileComboBox;
        private JLabel titleLabel;
-       private JSeparator titleSeparator;
-       private String pleaseMessage = "Please provide URL or select from list";
-       private GroupLayout layout;
 
+       private final Map<String, String> dataSourceMap;
+
        /**
         * Constructs the <code>GUIHandler</code> for the <code>URL</code> type
-        *
-        * It creates the GUI which displays a field to enter a URL, and a 
combobox which contains different registered URL with their description
-        *
-        * @param f field that has been annotated
-        * @param o object contained in <code>f</code>
-        * @param t tunable associated to <code>f</code>
+        * 
+        * It creates the GUI which displays a field to enter a URL, and a 
combobox
+        * which contains different registered URL with their description
+        * 
+        * @param f
+        *            field that has been annotated
+        * @param o
+        *            object contained in <code>f</code>
+        * @param t
+        *            tunable associated to <code>f</code>
         */
-       public URLHandler(Field f, Object o, Tunable t, Bookmarks bookmarks, 
BookmarksUtil bkUtil) {
+       public URLHandler(Field f, Object o, Tunable t, final DataSourceManager 
manager) {
                super(f, o, t);
-               final Properties props = getParams();
-               bookmarkCategory = props.getProperty("fileCategory");
-               init(bookmarks, bkUtil);
+               dataSourceMap = new HashMap<String, String>();
+               init(manager);
        }
 
-
        public URLHandler(final Method getter, final Method setter, final 
Object instance, final Tunable tunable,
-                       final Bookmarks bookmarks, final BookmarksUtil bkUtil) {
+                       final DataSourceManager manager) {
                super(getter, setter, instance, tunable);
-               final Properties props = getParams();
-               bookmarkCategory = props.getProperty("fileCategory");
-               init(bookmarks, bkUtil);
+               dataSourceMap = new HashMap<String, String>();
+               init(manager);
        }
 
-       private void init(final Bookmarks bookmarks, final BookmarksUtil 
bkUtil) {
-               this.bkUtil = bkUtil;
-               this.theBookmarks = bookmarks;
+       private void init(final DataSourceManager dsManager) {
 
-               //creation of the GUI and layout
-               setGUI();
-               setLayout();
-               panel.setLayout(layout);
+               // creation of the GUI and layout
+               initGUI();
 
-               Category theCategory = 
bkUtil.getCategory(bookmarkCategory,bookmarks.getCategory());
-               if (theCategory == null) {
-                       theCategory = new Category();
-                       theCategory.setName(bookmarkCategory);
-
-                       List<Category> theCategoryList = 
bookmarks.getCategory();
-                       theCategoryList.add(theCategory);
+               final Collection<DataSource> dataSources = 
dsManager.getDataSources(DataCategory.NETWORK);
+               final SortedSet<String> labelSet = new TreeSet<String>();
+               if (dataSources != null) {
+                       for (DataSource ds : dataSources) {
+                               String link = null;
+                               link = ds.getLocation().toString();
+                               final String sourceName = ds.getName();
+                               final String provider = ds.getProvider();
+                               final String sourceLabel = provider + ":" + 
sourceName;
+                               dataSourceMap.put(sourceLabel, link);
+                               labelSet.add(sourceLabel);
+                       }
                }
 
-               loadBookmarkCMBox();
+               for (final String label : labelSet)
+                       networkFileComboBox.addItem(label);
        }
 
        /**
-        * Set the url typed in the field, or choosen from the combobox to the 
object <code>URL</code> <code>o</code>
+        * Set the url typed in the field, or choosen from the combobox to the
+        * object <code>URL</code> <code>o</code>
         */
+       @Override
        public void handle() {
-               final String urlString = bookmarkEditor.getURLstr();
-               try {
-                       if (urlString != null) {
-                               try {
-                                       setValue(new URL(urlString));
-                               } catch (final Exception e) {
-                                       e.printStackTrace();
-                               }
+               final Object selected = networkFileComboBox.getSelectedItem();
+               if (selected == null)
+                       return;
+
+               final String selectedString = selected.toString();
+
+               final String urlString;
+               if (selectedString.startsWith("http:") == false)
+                       urlString = dataSourceMap.get(selectedString);
+               else
+                       urlString = selectedString;
+
+               if (urlString != null) {
+                       try {
+                               setValue(new URL(urlString));
+                       } catch (final Exception e) {
+                               logger.error("Could not create URL: " + 
urlString, e);
                        }
-               } catch (final Exception e){
-                       e.printStackTrace();
                }
+
        }
 
-       //Creation of the GUI :
-       //      -field that displays the URL or the bookmark
-       //      -combobox to choose a bookmark previously registered
-
        // Tooltips to inform the user are also provided on the combobox
-       private void setGUI(){
-               //adding tooltips to panel components
+       private void initGUI() {
+               // adding tooltips to panel components
                final ToolTipManager tipManager = 
ToolTipManager.sharedInstance();
                tipManager.setInitialDelay(1);
                tipManager.setDismissDelay(7500);
 
-               bookmarkEditor = new BookmarkComboBoxEditor();
-               bookmarkEditor.setStr(pleaseMessage);
-               titleSeparator = new JSeparator();
-               titleLabel = new JLabel("Import URL file");
+               titleLabel = new JLabel("Import data from URL: ");
 
                networkFileComboBox = new JComboBox();
-               networkFileComboBox.setRenderer(new MyCellRenderer());
-               networkFileComboBox.setEditor(bookmarkEditor);
                networkFileComboBox.setEditable(true);
                networkFileComboBox.setName("networkFileComboBox");
-               networkFileComboBox.setToolTipText("<html><body>You can specify 
URL by the following:<ul><li>Type URL</li><li>Select from pull down 
menu</li><li>Drag & Drop URL from Web Browser</li></ul></body><html>");
-       }
+               networkFileComboBox
+                               .setToolTipText("<html><body>You can specify 
URL by the following:<ul><li>Type URL</li><li>Select from pull down 
menu</li><li>Drag & Drop URL from Web Browser</li></ul></body><html>");
 
-       //diplays the panel's component in a good view
-       private void setLayout(){
-               layout = new GroupLayout(panel);
-
-               
layout.setHorizontalGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING)
-                                         .addGroup(
-                                                   
layout.createSequentialGroup()
-                                                   .addContainerGap()
-                                                   
.addGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING)
-                                                             
.addComponent(networkFileComboBox,0, 350,Short.MAX_VALUE)
-                                                             
.addComponent(titleLabel,GroupLayout.PREFERRED_SIZE,350,GroupLayout.PREFERRED_SIZE)
-                                                             
.addComponent(titleSeparator,GroupLayout.DEFAULT_SIZE,350,Short.MAX_VALUE)
-                                                             )
-                                                   .addContainerGap()));
-
-               
layout.setVerticalGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING)
-                                       .addGroup(
-                                                 layout.createSequentialGroup()
-                                                 .addContainerGap()
-                                                 .addComponent(titleLabel)
-                                                 .addGap(8, 8, 8)
-                                                 
.addComponent(titleSeparator,GroupLayout.PREFERRED_SIZE,GroupLayout.DEFAULT_SIZE,GroupLayout.PREFERRED_SIZE)
-                                                 .addGap(7, 7, 7)
-                                                 
.addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
-                                                 
.addComponent(networkFileComboBox,GroupLayout.PREFERRED_SIZE,GroupLayout.DEFAULT_SIZE,GroupLayout.PREFERRED_SIZE)
-                                                 
.addPreferredGap(LayoutStyle.ComponentPlacement.RELATED,3, Short.MAX_VALUE)
-                                                 .addContainerGap()));
-
+               this.panel.setLayout(getLayout());
        }
 
-       //add the URL entries (with their bookmarks) from an external file to 
the combobox
-       private void loadBookmarkCMBox() {
-               networkFileComboBox.removeAllItems();
-               DefaultComboBoxModel theModel = new DefaultComboBoxModel();
+       // diplays the panel's component in a good view
+       private GroupLayout getLayout() {
+               final GroupLayout layout = new GroupLayout(panel);
 
-               DataSource firstDataSource = new DataSource();
-               firstDataSource.setName("");
-               firstDataSource.setHref(null);
+               
layout.setHorizontalGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING).addGroup(
+                               layout.createSequentialGroup()
+                                               .addContainerGap()
+                                               .addGroup(
+                                                               
layout.createParallelGroup(GroupLayout.Alignment.LEADING)
+                                                                               
.addComponent(networkFileComboBox, 0, 450, Short.MAX_VALUE)
+                                                                               
.addComponent(titleLabel, GroupLayout.PREFERRED_SIZE, 350,
+                                                                               
                GroupLayout.PREFERRED_SIZE)).addContainerGap()));
 
-               theModel.addElement(firstDataSource);
+               
layout.setVerticalGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING).addGroup(
+                               layout.createSequentialGroup()
+                                               .addContainerGap()
+                                               .addComponent(titleLabel)
+                                               
.addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
+                                               
.addComponent(networkFileComboBox, GroupLayout.PREFERRED_SIZE, 
GroupLayout.DEFAULT_SIZE,
+                                                               
GroupLayout.PREFERRED_SIZE)));
 
-               // Extract the URL entries
-               List<DataSource> theDataSourceList = 
bkUtil.getDataSourceList(bookmarkCategory,theBookmarks.getCategory());
-               if (theDataSourceList != null) {
-                       for (int i = 0; i < theDataSourceList.size(); i++)
-                               theModel.addElement(theDataSourceList.get(i));
-               }
-               networkFileComboBox.setModel(theModel);
+               return layout;
        }
-
-       private class BookmarkComboBoxEditor implements ComboBoxEditor {
-               DataSource theDataSource = new DataSource();
-               JTextField tfInput = new JTextField(pleaseMessage);
-
-               public String getURLstr() {
-                       return tfInput.getText();
-               }
-
-               public void setStr(String txt){
-                       tfInput.setText(txt);
-               }
-
-               public void addActionListener(ActionListener l) {
-                       tfInput.addActionListener(l);
-               }
-
-               public void addKeyListener(KeyListener l) {
-                       tfInput.addKeyListener(l);
-               }
-
-               public Component getEditorComponent() {
-                       return tfInput;
-               }
-
-               public Object getItem() {
-                       return theDataSource;
-               }
-
-               public void removeActionListener(ActionListener l) {
-               }
-
-               public void selectAll() {
-               }
-
-               public void setItem(Object anObject) {
-                       if (anObject instanceof DataSource) {
-                               theDataSource = (DataSource) anObject;
-                               tfInput.setText(theDataSource.getHref());
-                       }
-               }
-       }
-
-       private class MyCellRenderer extends JLabel implements ListCellRenderer 
{
-               private final static long serialVersionUID = 1202339872997986L;
-               public MyCellRenderer() {
-                       setOpaque(true);
-               }
-
-               public Component getListCellRendererComponent(JList list, 
Object value, int index, boolean isSelected, boolean cellHasFocus) {
-                       DataSource dataSource = (DataSource) value;
-                       setText(dataSource.getName());
-                       if (isSelected) {
-                               if (0 < index) {
-                                       
list.setToolTipText(dataSource.getHref());
-                               }
-                       }
-                       return this;
-               }
-       }
 }

Modified: 
core3/impl/trunk/work-swing-impl/impl/src/main/java/org/cytoscape/work/internal/tunables/URLHandlerFactory.java
===================================================================
--- 
core3/impl/trunk/work-swing-impl/impl/src/main/java/org/cytoscape/work/internal/tunables/URLHandlerFactory.java
     2011-12-08 21:08:22 UTC (rev 27742)
+++ 
core3/impl/trunk/work-swing-impl/impl/src/main/java/org/cytoscape/work/internal/tunables/URLHandlerFactory.java
     2011-12-08 21:09:48 UTC (rev 27743)
@@ -4,36 +4,30 @@
 import java.lang.reflect.Method;
 import java.net.URL;
 
-import org.cytoscape.property.CyProperty;
-import org.cytoscape.property.bookmark.Bookmarks;
-import org.cytoscape.property.bookmark.BookmarksUtil;
+import org.cytoscape.datasource.DataSourceManager;
 import org.cytoscape.work.Tunable;
 import org.cytoscape.work.swing.GUITunableHandlerFactory;
-import org.cytoscape.work.swing.GUITunableHandler;
 
-public class URLHandlerFactory implements GUITunableHandlerFactory {
+public class URLHandlerFactory implements GUITunableHandlerFactory<URLHandler> 
{
        
-       private final Bookmarks bookmarks;
-       private final BookmarksUtil bookmarksUtil;
+       private final DataSourceManager manager;
 
-       public URLHandlerFactory(CyProperty<Bookmarks> book, BookmarksUtil 
bookmarksUtil) {
-               this.bookmarks = (Bookmarks)book.getProperties();
-               this.bookmarksUtil = bookmarksUtil;
-               
+       public URLHandlerFactory(final DataSourceManager manager) {
+               this.manager = manager;
        }
 
-       public GUITunableHandler createTunableHandler(Field field, Object 
instance, Tunable tunable) {
+       public URLHandler createTunableHandler(Field field, Object instance, 
Tunable tunable) {
                if ( field.getType() != URL.class)
                        return null;
                
-               return new URLHandler(field, instance, tunable, bookmarks, 
bookmarksUtil);
+               return new URLHandler(field, instance, tunable, manager);
        }
 
-       public GUITunableHandler createTunableHandler(Method getter, Method 
setter, Object instance, Tunable tunable) {
+       public URLHandler createTunableHandler(Method getter, Method setter, 
Object instance, Tunable tunable) {
                if ( getter.getReturnType() != URL.class)
                        return null;
                
-               return new URLHandler(getter, setter, instance, tunable, 
bookmarks, bookmarksUtil);
+               return new URLHandler(getter, setter, instance, tunable, 
manager);
        }
 
 }

Modified: core3/impl/trunk/work-swing-impl/it/pom.xml
===================================================================
--- core3/impl/trunk/work-swing-impl/it/pom.xml 2011-12-08 21:08:22 UTC (rev 
27742)
+++ core3/impl/trunk/work-swing-impl/it/pom.xml 2011-12-08 21:09:48 UTC (rev 
27743)
@@ -13,7 +13,6 @@
        </properties>
 
        <modelVersion>4.0.0</modelVersion>
-       <groupId>org.cytoscape</groupId>
        <artifactId>work-swing-impl-it</artifactId>
 
        <name>${bundle.symbolicName}</name>

Modified: core3/impl/trunk/work-swing-impl/pom.xml
===================================================================
--- core3/impl/trunk/work-swing-impl/pom.xml    2011-12-08 21:08:22 UTC (rev 
27742)
+++ core3/impl/trunk/work-swing-impl/pom.xml    2011-12-08 21:09:48 UTC (rev 
27743)
@@ -122,6 +122,12 @@
                        <scope>provided</scope>
                </dependency>
                <dependency>
+                       <groupId>org.cytoscape</groupId>
+                       <artifactId>datasource-api</artifactId>
+                       <scope>provided</scope>
+               </dependency>
+               
+               <dependency>
                        <groupId>junit</groupId>
                        <artifactId>junit</artifactId>
                        <scope>test</scope>

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