Author: kono
Date: 2012-07-20 14:10:35 -0700 (Fri, 20 Jul 2012)
New Revision: 29949

Added:
   
core3/impl/trunk/welcome-impl/src/main/java/org/cytoscape/welcome/internal/task/CreateCustomViewTask.java
   
core3/impl/trunk/welcome-impl/src/main/java/org/cytoscape/welcome/internal/task/GenerateCustomStyleTask.java
   
core3/impl/trunk/welcome-impl/src/main/java/org/cytoscape/welcome/internal/task/GenerateCustomStyleTaskFactory.java
Removed:
   
core3/impl/trunk/welcome-impl/src/main/java/org/cytoscape/welcome/internal/task/AnalyzeAndVisualizeNetworkTask.java
   
core3/impl/trunk/welcome-impl/src/main/java/org/cytoscape/welcome/internal/task/AnalyzeAndVisualizeNetworkTaskFactory.java
Modified:
   
core3/impl/trunk/welcome-impl/src/main/java/org/cytoscape/welcome/internal/CyActivator.java
   
core3/impl/trunk/welcome-impl/src/main/java/org/cytoscape/welcome/internal/panel/CreateNewNetworkPanel.java
Log:
Task Registration mechanism had been updated.  Now it uses metdata to pick up 
specific tasks.

Modified: 
core3/impl/trunk/welcome-impl/src/main/java/org/cytoscape/welcome/internal/CyActivator.java
===================================================================
--- 
core3/impl/trunk/welcome-impl/src/main/java/org/cytoscape/welcome/internal/CyActivator.java
 2012-07-20 18:33:54 UTC (rev 29948)
+++ 
core3/impl/trunk/welcome-impl/src/main/java/org/cytoscape/welcome/internal/CyActivator.java
 2012-07-20 21:10:35 UTC (rev 29949)
@@ -1,8 +1,16 @@
 package org.cytoscape.welcome.internal;
 
+import static org.cytoscape.work.ServiceProperties.IN_TOOL_BAR;
+import static org.cytoscape.work.ServiceProperties.MENU_GRAVITY;
+import static org.cytoscape.work.ServiceProperties.PREFERRED_MENU;
+import static org.cytoscape.work.ServiceProperties.TITLE;
+
+import java.util.HashMap;
+import java.util.Map;
 import java.util.Properties;
 
 import org.cytoscape.application.CyApplicationConfiguration;
+import org.cytoscape.application.CyApplicationManager;
 import org.cytoscape.application.CyVersion;
 import org.cytoscape.application.swing.CySwingApplication;
 import org.cytoscape.io.datasource.DataSourceManager;
@@ -22,6 +30,7 @@
 import org.cytoscape.welcome.internal.panel.HelpPanel;
 import org.cytoscape.welcome.internal.panel.OpenPanel;
 import org.cytoscape.welcome.internal.panel.StatusPanel;
+import org.cytoscape.welcome.internal.task.GenerateCustomStyleTaskFactory;
 import org.cytoscape.work.TaskFactory;
 import org.cytoscape.work.swing.DialogTaskManager;
 import org.osgi.framework.BundleContext;
@@ -33,6 +42,7 @@
 
        public void start(BundleContext bc) {
 
+               CyApplicationManager applicationManager = getService(bc, 
CyApplicationManager.class);
                CyVersion cyVersion = getService(bc, CyVersion.class);
                final ApplyPreferredLayoutTaskFactory 
applyPreferredLayoutTaskFactory = getService(bc,
                                ApplyPreferredLayoutTaskFactory.class);
@@ -61,20 +71,19 @@
                                CyApplicationConfiguration.class);
                DataSourceManager dsManagerServiceRef = getService(bc, 
DataSourceManager.class);
                @SuppressWarnings("unchecked")
-               CyProperty<Properties> cytoscapePropertiesServiceRef = 
getService(bc, CyProperty.class, "(cyPropertyName=cytoscape3.props)");
+               CyProperty<Properties> cytoscapePropertiesServiceRef = 
getService(bc, CyProperty.class,
+                               "(cyPropertyName=cytoscape3.props)");
 
                // Build Child Panels
                final OpenPanel openPanel = new 
OpenPanel(recentlyOpenedTrackerServiceRef, dialogTaskManagerServiceRef,
                                openSessionTaskFactory);
 
                final CreateNewNetworkPanel createNewNetworkPanel = new 
CreateNewNetworkPanel(bc, dialogTaskManagerServiceRef,
-                               importNetworkFileTF, importNetworkTF, 
cyApplicationConfigurationServiceRef, dsManagerServiceRef,
-                               analyzeNetworkCollectionTaskFactory, vsBuilder, 
vmm,
-                               applyPreferredLayoutTaskFactory);
+                               importNetworkFileTF, importNetworkTF, 
dsManagerServiceRef);
                registerAllServices(bc, createNewNetworkPanel, new 
Properties());
 
                final HelpPanel helpPanel = new 
HelpPanel(openBrowserServiceRef, cytoscapePropertiesServiceRef);
-               
+
                // TODO: implement contents
                final StatusPanel statusPanel = new StatusPanel(cyVersion);
 
@@ -82,8 +91,27 @@
                final WelcomeScreenAction welcomeScreenAction = new 
WelcomeScreenAction(createNewNetworkPanel, openPanel,
                                helpPanel, statusPanel, 
cytoscapePropertiesServiceRef, cytoscapeDesktop);
                registerAllServices(bc, welcomeScreenAction, new Properties());
-               
+
+               // Export preset tasks
+               final GenerateCustomStyleTaskFactory 
generateCustomStyleTaskFactory = new GenerateCustomStyleTaskFactory(
+                               analyzeNetworkCollectionTaskFactory, 
applicationManager, vsBuilder, vmm);
+               Properties generateCustomStyleTaskFactoryProps = new 
Properties();
+               generateCustomStyleTaskFactoryProps.setProperty(PREFERRED_MENU, 
"Tools.Workflow");
+               generateCustomStyleTaskFactoryProps.setProperty(MENU_GRAVITY, 
"20.0");
+               generateCustomStyleTaskFactoryProps.setProperty(TITLE,
+                               "Analyze selected networks and create custom 
Visual Styles");
+               generateCustomStyleTaskFactoryProps.setProperty(IN_TOOL_BAR, 
"false");
+               registerAllServices(bc, generateCustomStyleTaskFactory, 
generateCustomStyleTaskFactoryProps);
+
+               // This is a preset task, so register it first.
+               final Map<String, String> propMap = new HashMap<String, 
String>();
+               propMap.put(CreateNewNetworkPanel.WORKFLOW_ID, 
"generateCustomStyleTaskFactory");
+               propMap.put(CreateNewNetworkPanel.WORKFLOW_NAME, "Analyze 
network and create custom Visual Style");
+               propMap.put(CreateNewNetworkPanel.WORKFLOW_DESCRIPTION,
+                               "Analyze current/selected networks and create 
custom Visual Style for each network.");
+               
createNewNetworkPanel.addTaskFactory(generateCustomStyleTaskFactory, propMap);
+
                // Define listener
-               
registerServiceListener(bc,createNewNetworkPanel,"addTaskFactory","removeTaskFactory",TaskFactory.class);
+               registerServiceListener(bc, createNewNetworkPanel, 
"addTaskFactory", "removeTaskFactory", TaskFactory.class);
        }
 }

Modified: 
core3/impl/trunk/welcome-impl/src/main/java/org/cytoscape/welcome/internal/panel/CreateNewNetworkPanel.java
===================================================================
--- 
core3/impl/trunk/welcome-impl/src/main/java/org/cytoscape/welcome/internal/panel/CreateNewNetworkPanel.java
 2012-07-20 18:33:54 UTC (rev 29948)
+++ 
core3/impl/trunk/welcome-impl/src/main/java/org/cytoscape/welcome/internal/panel/CreateNewNetworkPanel.java
 2012-07-20 21:10:35 UTC (rev 29949)
@@ -12,9 +12,7 @@
 import java.net.URL;
 import java.util.Collection;
 import java.util.HashMap;
-import java.util.HashSet;
 import java.util.Map;
-import java.util.Set;
 import java.util.SortedSet;
 import java.util.TreeSet;
 
@@ -23,7 +21,6 @@
 import javax.swing.ButtonGroup;
 import javax.swing.ButtonModel;
 import javax.swing.DefaultComboBoxModel;
-import javax.swing.Icon;
 import javax.swing.JComboBox;
 import javax.swing.JLabel;
 import javax.swing.JPanel;
@@ -33,23 +30,11 @@
 import javax.swing.border.LineBorder;
 import javax.swing.border.TitledBorder;
 
-import org.cytoscape.application.CyApplicationConfiguration;
 import org.cytoscape.application.swing.CyAction;
 import org.cytoscape.io.DataCategory;
 import org.cytoscape.io.datasource.DataSource;
 import org.cytoscape.io.datasource.DataSourceManager;
-import org.cytoscape.model.CyNetwork;
-import org.cytoscape.model.events.NetworkAddedEvent;
-import org.cytoscape.model.events.NetworkAddedListener;
-import org.cytoscape.task.analyze.AnalyzeNetworkCollectionTaskFactory;
 import org.cytoscape.task.read.LoadNetworkURLTaskFactory;
-import org.cytoscape.task.visualize.ApplyPreferredLayoutTaskFactory;
-import org.cytoscape.view.model.CyNetworkView;
-import org.cytoscape.view.model.events.NetworkViewAddedEvent;
-import org.cytoscape.view.model.events.NetworkViewAddedListener;
-import org.cytoscape.view.vizmap.VisualMappingManager;
-import org.cytoscape.welcome.internal.VisualStyleBuilder;
-import org.cytoscape.welcome.internal.task.AnalyzeAndVisualizeNetworkTask;
 import org.cytoscape.work.AbstractTask;
 import org.cytoscape.work.TaskFactory;
 import org.cytoscape.work.TaskIterator;
@@ -61,12 +46,15 @@
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-public class CreateNewNetworkPanel extends AbstractWelcomeScreenChildPanel 
implements NetworkAddedListener,
-               NetworkViewAddedListener {
+public class CreateNewNetworkPanel extends AbstractWelcomeScreenChildPanel {
 
        private static final long serialVersionUID = -8750909701276867389L;
        private static final Logger logger = 
LoggerFactory.getLogger(CreateNewNetworkPanel.class);
 
+       public static final String WORKFLOW_ID = "welcomeScreenWorkflowID";
+       public static final String WORKFLOW_NAME = "welcomeScreenWorkflowName";
+       public static final String WORKFLOW_DESCRIPTION = 
"welcomeScreenWorkflowDescription";
+
        private JLabel loadNetwork;
        private JLabel fromDB;
        private JLabel fromWebService;
@@ -84,34 +72,18 @@
        private final DataSourceManager dsManager;
        private final Map<String, String> dataSourceMap;
 
-       private final AnalyzeNetworkCollectionTaskFactory 
analyzeNetworkCollectionTaskFactory;
-       private final VisualStyleBuilder vsBuilder;
-       private final VisualMappingManager vmm;
+       private final Map<ButtonModel, TaskFactory> button2taskMap = new 
HashMap<ButtonModel, TaskFactory>();
+       private JRadioButton noOptionTaskButton;
 
-       private Set<CyNetwork> networkToBeAnalyzed;
-       private Set<CyNetworkView> networkViews;
-
-       private final ApplyPreferredLayoutTaskFactory 
applyPreferredLayoutTaskFactory;
-
        public CreateNewNetworkPanel(final BundleContext bc, final 
DialogTaskManager guiTaskManager,
                        final TaskFactory importNetworkFileTF, final 
LoadNetworkURLTaskFactory loadTF,
-                       final CyApplicationConfiguration config, final 
DataSourceManager dsManager,
-                       final AnalyzeNetworkCollectionTaskFactory 
analyzeNetworkCollectionTaskFactory,
-                       final VisualStyleBuilder vsBuilder, final 
VisualMappingManager vmm,
-                       final ApplyPreferredLayoutTaskFactory 
applyPreferredLayoutTaskFactory) {
+                       final DataSourceManager dsManager) {
                this.bc = bc;
-               this.analyzeNetworkCollectionTaskFactory = 
analyzeNetworkCollectionTaskFactory;
-               this.vsBuilder = vsBuilder;
-               this.vmm = vmm;
-               this.applyPreferredLayoutTaskFactory = 
applyPreferredLayoutTaskFactory;
 
                this.importNetworkFromURLTF = loadTF;
                this.importNetworkFileTF = importNetworkFileTF;
                this.guiTaskManager = guiTaskManager;
                this.dsManager = dsManager;
-               
-               networkToBeAnalyzed = new HashSet<CyNetwork>();
-               networkViews = new HashSet<CyNetworkView>();
 
                this.dataSourceMap = new HashMap<String, String>();
                this.networkList = new JComboBox();
@@ -252,7 +224,7 @@
 
                optionPane.setViewportView(optionPanel);
                optionPane.setOpaque(false);
-               
optionPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
+               
optionPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
                return optionPane;
        }
 
@@ -284,20 +256,16 @@
 
                final ButtonModel selected = gr.getSelection();
                if (selected != null) {
-                       final TaskIterator optionalTasks = 
button2taskMap.get(selected);
-                       if(optionalTasks != null)
+                       final TaskFactory factory = 
button2taskMap.get(selected);
+
+                       if (factory != null) {
+                               final TaskIterator optionalTasks = 
factory.createTaskIterator();
                                loadTaskIt.append(optionalTasks);
+                       }
                }
-               
+
                loadTaskIt.append(new ResetTask());
 
-//             if (layoutButton.isSelected()) {
-//                     
loadTaskIt.append(applyPreferredLayoutTaskFactory.createTaskIterator(networkViews));
-//             }
-//             if (visualizeButton.isSelected()) {
-//                     
loadTaskIt.append(analyzeNetworkCollectionTaskFactory.createTaskIterator(networkToBeAnalyzed));
-//                     loadTaskIt.append(new 
AnalyzeAndVisualizeNetworkTask(networkViews, vsBuilder, vmm));
-//             }
                guiTaskManager.execute(loadTaskIt);
                closeParentWindow();
        }
@@ -320,35 +288,21 @@
                action.actionPerformed(null);
        }
 
-       @Override
-       public void handleEvent(NetworkAddedEvent e) {
-               final CyNetwork network = e.getNetwork();
-               networkToBeAnalyzed.add(network);
-       }
-
-       @Override
-       public void handleEvent(NetworkViewAddedEvent e) {
-               CyNetworkView networkView = e.getNetworkView();
-               if (networkView != null)
-                       networkViews.add(e.getNetworkView());
-       }
-
-       private final Map<ButtonModel, TaskIterator> button2taskMap = new 
HashMap<ButtonModel, TaskIterator>();
-       private JRadioButton noOptionTaskButton;
-       private JRadioButton visualizeButton;
-
        public void addTaskFactory(final TaskFactory factory, 
@SuppressWarnings("rawtypes") Map properties) {
-               Object workflowID = properties.get("welcomeScreenWorkflowID");
+               final Object workflowID = properties.get(WORKFLOW_ID);
                if (workflowID == null)
                        return;
 
-               final Object description = 
properties.get("welcomeScreenWorkflowDescription");
-               final JRadioButton taskButton = new 
JRadioButton(workflowID.toString());
+               Object workflowName = properties.get(WORKFLOW_NAME);
+               if (workflowName == null)
+                       workflowName = workflowID;
+               final Object description = properties.get(WORKFLOW_DESCRIPTION);
+               final JRadioButton taskButton = new 
JRadioButton(workflowName.toString());
                taskButton.setFont(REGULAR_FONT);
                taskButton.setForeground(REGULAR_FONT_COLOR);
                gr.add(taskButton);
                optionPanel.add(taskButton);
-               button2taskMap.put(taskButton.getModel(), 
factory.createTaskIterator());
+               button2taskMap.put(taskButton.getModel(), factory);
 
                if (description != null)
                        taskButton.setToolTipText(description.toString());
@@ -364,33 +318,17 @@
                noOptionTaskButton.setForeground(REGULAR_FONT_COLOR);
                gr.add(noOptionTaskButton);
                optionPanel.add(noOptionTaskButton);
-               
-               visualizeButton = new JRadioButton("Analyze and apply custom 
Visual Style");
-               visualizeButton.setFont(REGULAR_FONT);
-               visualizeButton.setForeground(REGULAR_FONT_COLOR);
-               gr.add(visualizeButton);
-               optionPanel.add(visualizeButton);
-               TaskIterator itr = 
analyzeNetworkCollectionTaskFactory.createTaskIterator(networkToBeAnalyzed);
-               itr.append(new AnalyzeAndVisualizeNetworkTask(networkViews, 
vsBuilder, vmm));
-               button2taskMap.put(visualizeButton.getModel(), itr);
-               
+
                gr.setSelected(noOptionTaskButton.getModel(), true);
        }
-       
+
        private final class ResetTask extends AbstractTask {
 
                @Override
                public void run(TaskMonitor taskMonitor) throws Exception {
-                       networkToBeAnalyzed.clear();
-                       networkViews.clear();
-                       
-                       TaskIterator itr = 
analyzeNetworkCollectionTaskFactory.createTaskIterator(networkToBeAnalyzed);
-                       itr.append(new 
AnalyzeAndVisualizeNetworkTask(networkViews, vsBuilder, vmm));
-                       button2taskMap.put(visualizeButton.getModel(), itr);
-                       
+
                        gr.setSelected(noOptionTaskButton.getModel(), true);
                        networkList.setSelectedIndex(0);
                }
-               
        }
 }

Deleted: 
core3/impl/trunk/welcome-impl/src/main/java/org/cytoscape/welcome/internal/task/AnalyzeAndVisualizeNetworkTask.java
===================================================================
--- 
core3/impl/trunk/welcome-impl/src/main/java/org/cytoscape/welcome/internal/task/AnalyzeAndVisualizeNetworkTask.java
 2012-07-20 18:33:54 UTC (rev 29948)
+++ 
core3/impl/trunk/welcome-impl/src/main/java/org/cytoscape/welcome/internal/task/AnalyzeAndVisualizeNetworkTask.java
 2012-07-20 21:10:35 UTC (rev 29949)
@@ -1,47 +0,0 @@
-package org.cytoscape.welcome.internal.task;
-
-import java.util.Collection;
-
-import org.cytoscape.model.CyNetwork;
-import org.cytoscape.task.AbstractNetworkViewCollectionTask;
-import org.cytoscape.view.model.CyNetworkView;
-import org.cytoscape.view.vizmap.VisualMappingManager;
-import org.cytoscape.view.vizmap.VisualStyle;
-import org.cytoscape.welcome.internal.VisualStyleBuilder;
-import org.cytoscape.work.TaskMonitor;
-
-public class AnalyzeAndVisualizeNetworkTask extends 
AbstractNetworkViewCollectionTask {
-
-       private final VisualStyleBuilder builder;
-       private final VisualMappingManager vmm;
-
-       public AnalyzeAndVisualizeNetworkTask(final Collection<CyNetworkView> 
networkViews,
-                       final VisualStyleBuilder builder, final 
VisualMappingManager vmm) {
-               super(networkViews);
-               this.builder = builder;
-               this.vmm = vmm;
-       }
-
-       @Override
-       public void run(TaskMonitor taskMonitor) throws Exception {
-               taskMonitor.setTitle("Visualizing Network");
-
-               double progress = 0.0d;
-               taskMonitor.setProgress(progress);
-               final double increment = 1.0d / networkViews.size();
-
-               for (final CyNetworkView networkView : networkViews) {
-                       final CyNetwork network = networkView.getModel();
-                       taskMonitor.setStatusMessage("Visualizing " + 
network.getRow(network).get(CyNetwork.NAME, String.class));
-
-                       final VisualStyle newStyle = 
builder.buildVisualStyle(networkView);
-                       vmm.addVisualStyle(newStyle);
-                       vmm.setCurrentVisualStyle(newStyle);
-                       newStyle.apply(networkView);
-                       networkView.updateView();
-
-                       progress += increment;
-               }
-
-       }
-}

Deleted: 
core3/impl/trunk/welcome-impl/src/main/java/org/cytoscape/welcome/internal/task/AnalyzeAndVisualizeNetworkTaskFactory.java
===================================================================
--- 
core3/impl/trunk/welcome-impl/src/main/java/org/cytoscape/welcome/internal/task/AnalyzeAndVisualizeNetworkTaskFactory.java
  2012-07-20 18:33:54 UTC (rev 29948)
+++ 
core3/impl/trunk/welcome-impl/src/main/java/org/cytoscape/welcome/internal/task/AnalyzeAndVisualizeNetworkTaskFactory.java
  2012-07-20 21:10:35 UTC (rev 29949)
@@ -1,5 +0,0 @@
-package org.cytoscape.welcome.internal.task;
-
-public class AnalyzeAndVisualizeNetworkTaskFactory {
-
-}

Copied: 
core3/impl/trunk/welcome-impl/src/main/java/org/cytoscape/welcome/internal/task/CreateCustomViewTask.java
 (from rev 29946, 
core3/impl/trunk/welcome-impl/src/main/java/org/cytoscape/welcome/internal/task/AnalyzeAndVisualizeNetworkTask.java)
===================================================================
--- 
core3/impl/trunk/welcome-impl/src/main/java/org/cytoscape/welcome/internal/task/CreateCustomViewTask.java
                           (rev 0)
+++ 
core3/impl/trunk/welcome-impl/src/main/java/org/cytoscape/welcome/internal/task/CreateCustomViewTask.java
   2012-07-20 21:10:35 UTC (rev 29949)
@@ -0,0 +1,47 @@
+package org.cytoscape.welcome.internal.task;
+
+import java.util.Collection;
+
+import org.cytoscape.model.CyNetwork;
+import org.cytoscape.task.AbstractNetworkViewCollectionTask;
+import org.cytoscape.view.model.CyNetworkView;
+import org.cytoscape.view.vizmap.VisualMappingManager;
+import org.cytoscape.view.vizmap.VisualStyle;
+import org.cytoscape.welcome.internal.VisualStyleBuilder;
+import org.cytoscape.work.TaskMonitor;
+
+public class CreateCustomViewTask extends AbstractNetworkViewCollectionTask {
+
+       private final VisualStyleBuilder builder;
+       private final VisualMappingManager vmm;
+
+       public CreateCustomViewTask(final Collection<CyNetworkView> 
networkViews,
+                       final VisualStyleBuilder builder, final 
VisualMappingManager vmm) {
+               super(networkViews);
+               this.builder = builder;
+               this.vmm = vmm;
+       }
+
+       @Override
+       public void run(TaskMonitor taskMonitor) throws Exception {
+               taskMonitor.setTitle("Visualizing Network");
+
+               double progress = 0.0d;
+               taskMonitor.setProgress(progress);
+               final double increment = 1.0d / networkViews.size();
+
+               for (final CyNetworkView networkView : networkViews) {
+                       final CyNetwork network = networkView.getModel();
+                       taskMonitor.setStatusMessage("Visualizing " + 
network.getRow(network).get(CyNetwork.NAME, String.class));
+
+                       final VisualStyle newStyle = 
builder.buildVisualStyle(networkView);
+                       vmm.addVisualStyle(newStyle);
+                       vmm.setCurrentVisualStyle(newStyle);
+                       newStyle.apply(networkView);
+                       networkView.updateView();
+
+                       progress += increment;
+               }
+
+       }
+}

Added: 
core3/impl/trunk/welcome-impl/src/main/java/org/cytoscape/welcome/internal/task/GenerateCustomStyleTask.java
===================================================================
--- 
core3/impl/trunk/welcome-impl/src/main/java/org/cytoscape/welcome/internal/task/GenerateCustomStyleTask.java
                                (rev 0)
+++ 
core3/impl/trunk/welcome-impl/src/main/java/org/cytoscape/welcome/internal/task/GenerateCustomStyleTask.java
        2012-07-20 21:10:35 UTC (rev 29949)
@@ -0,0 +1,57 @@
+package org.cytoscape.welcome.internal.task;
+
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+import org.cytoscape.application.CyApplicationManager;
+import org.cytoscape.model.CyNetwork;
+import org.cytoscape.task.analyze.AnalyzeNetworkCollectionTaskFactory;
+import org.cytoscape.view.model.CyNetworkView;
+import org.cytoscape.view.vizmap.VisualMappingManager;
+import org.cytoscape.welcome.internal.VisualStyleBuilder;
+import org.cytoscape.work.AbstractTask;
+import org.cytoscape.work.TaskIterator;
+import org.cytoscape.work.TaskMonitor;
+
+public class GenerateCustomStyleTask extends AbstractTask {
+
+       private final AnalyzeNetworkCollectionTaskFactory 
analyzeNetworkCollectionTaskFactory;
+       private final CyApplicationManager applicationManager;
+
+       private final VisualStyleBuilder builder;
+       private final VisualMappingManager vmm;
+
+       GenerateCustomStyleTask(final AnalyzeNetworkCollectionTaskFactory 
analyzeNetworkCollectionTaskFactory,
+                       final CyApplicationManager applicationManager, final 
VisualStyleBuilder builder,
+                       final VisualMappingManager vmm) {
+               this.analyzeNetworkCollectionTaskFactory = 
analyzeNetworkCollectionTaskFactory;
+               this.applicationManager = applicationManager;
+               this.builder = builder;
+               this.vmm = vmm;
+
+       }
+
+       @Override
+       public void run(TaskMonitor taskMonitor) throws Exception {
+
+               final List<CyNetworkView> selectedViews = 
applicationManager.getSelectedNetworkViews();
+               final CyNetworkView currentView = 
applicationManager.getCurrentNetworkView();
+
+               final Set<CyNetworkView> networkViews = new 
HashSet<CyNetworkView>(selectedViews);
+               networkViews.add(currentView);
+
+               final Set<CyNetwork> networks = new HashSet<CyNetwork>();
+               networks.add(currentView.getModel());
+               for (final CyNetworkView view : selectedViews)
+                       networks.add(view.getModel());
+
+               final TaskIterator analyzeItr = 
analyzeNetworkCollectionTaskFactory.createTaskIterator(networks);
+               final CreateCustomViewTask createCustomViewTask = new 
CreateCustomViewTask(
+                               networkViews, builder, vmm);
+               
+               insertTasksAfterCurrentTask(createCustomViewTask);
+               insertTasksAfterCurrentTask(analyzeItr);
+       }
+
+}


Property changes on: 
core3/impl/trunk/welcome-impl/src/main/java/org/cytoscape/welcome/internal/task/GenerateCustomStyleTask.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Added: 
core3/impl/trunk/welcome-impl/src/main/java/org/cytoscape/welcome/internal/task/GenerateCustomStyleTaskFactory.java
===================================================================
--- 
core3/impl/trunk/welcome-impl/src/main/java/org/cytoscape/welcome/internal/task/GenerateCustomStyleTaskFactory.java
                         (rev 0)
+++ 
core3/impl/trunk/welcome-impl/src/main/java/org/cytoscape/welcome/internal/task/GenerateCustomStyleTaskFactory.java
 2012-07-20 21:10:35 UTC (rev 29949)
@@ -0,0 +1,34 @@
+package org.cytoscape.welcome.internal.task;
+
+import org.cytoscape.application.CyApplicationManager;
+import org.cytoscape.task.analyze.AnalyzeNetworkCollectionTaskFactory;
+import org.cytoscape.view.vizmap.VisualMappingManager;
+import org.cytoscape.welcome.internal.VisualStyleBuilder;
+import org.cytoscape.work.AbstractTaskFactory;
+import org.cytoscape.work.TaskIterator;
+
+public class GenerateCustomStyleTaskFactory extends AbstractTaskFactory {
+
+       private final AnalyzeNetworkCollectionTaskFactory 
analyzeNetworkCollectionTaskFactory;
+       private final CyApplicationManager applicationManager;
+
+       private final VisualStyleBuilder builder;
+       private final VisualMappingManager vmm;
+
+       public GenerateCustomStyleTaskFactory(
+                       final AnalyzeNetworkCollectionTaskFactory 
analyzeNetworkCollectionTaskFactory,
+                       final CyApplicationManager applicationManager, final 
VisualStyleBuilder builder,
+                       final VisualMappingManager vmm) {
+               this.analyzeNetworkCollectionTaskFactory = 
analyzeNetworkCollectionTaskFactory;
+               this.applicationManager = applicationManager;
+               this.builder = builder;
+               this.vmm = vmm;
+       }
+
+       @Override
+       public TaskIterator createTaskIterator() {
+               return new TaskIterator(new 
GenerateCustomStyleTask(analyzeNetworkCollectionTaskFactory, applicationManager,
+                               builder, vmm));
+       }
+
+}


Property changes on: 
core3/impl/trunk/welcome-impl/src/main/java/org/cytoscape/welcome/internal/task/GenerateCustomStyleTaskFactory.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

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