Author: kono
Date: 2011-07-07 17:02:23 -0700 (Thu, 07 Jul 2011)
New Revision: 26113

Modified:
   
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/creation/AbstractNetworkFromSelectionTask.java
   
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/creation/CreateNetworkViewTask.java
   
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/creation/CreateNetworkViewTaskFactory.java
   
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/layout/ApplyPreferredLayoutTask.java
   
core3/core-task-impl/trunk/src/main/resources/META-INF/spring/bundle-context.xml
Log:
fixes #317 Grid layout will be applied to new network view.

Modified: 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/creation/AbstractNetworkFromSelectionTask.java
===================================================================
--- 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/creation/AbstractNetworkFromSelectionTask.java
 2011-07-07 22:58:19 UTC (rev 26112)
+++ 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/creation/AbstractNetworkFromSelectionTask.java
 2011-07-08 00:02:23 UTC (rev 26113)
@@ -105,7 +105,7 @@
                if (curView == null) {
                        // Create view for the new network.
                        final CreateNetworkViewTask createViewTask = new 
CreateNetworkViewTask(newNet, viewFactory,
-                                       networkViewManager);
+                                       networkViewManager, null);
                        insertTasksAfterCurrentTask(createViewTask);
 
                        appManager.setCurrentNetworkView(newNet.getSUID());

Modified: 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/creation/CreateNetworkViewTask.java
===================================================================
--- 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/creation/CreateNetworkViewTask.java
    2011-07-07 22:58:19 UTC (rev 26112)
+++ 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/creation/CreateNetworkViewTask.java
    2011-07-08 00:02:23 UTC (rev 26113)
@@ -32,6 +32,8 @@
 import org.cytoscape.model.CyNetwork;
 import org.cytoscape.model.CyTableEntry;
 import org.cytoscape.task.AbstractNetworkTask;
+import org.cytoscape.task.internal.layout.ApplyPreferredLayoutTask;
+import org.cytoscape.view.layout.CyLayoutAlgorithmManager;
 import org.cytoscape.view.model.CyNetworkView;
 import org.cytoscape.view.model.CyNetworkViewFactory;
 import org.cytoscape.view.model.CyNetworkViewManager;
@@ -41,12 +43,16 @@
 
        private final CyNetworkViewManager networkViewManager;
        private final CyNetworkViewFactory viewFactory;
+       
+       private final CyLayoutAlgorithmManager layouts;
 
        public CreateNetworkViewTask(final CyNetwork networkModel, final 
CyNetworkViewFactory viewFactory,
-                       final CyNetworkViewManager networkViewManager) {
+                       final CyNetworkViewManager networkViewManager,
+                       final CyLayoutAlgorithmManager layouts) {
                super(networkModel);
                this.viewFactory = viewFactory;
                this.networkViewManager = networkViewManager;
+               this.layouts = layouts;
        }
 
        public void run(TaskMonitor taskMonitor) throws Exception {
@@ -58,11 +64,15 @@
                        // large network.
                        final CyNetworkView view = 
viewFactory.getNetworkView(network, false);
                        networkViewManager.addNetworkView(view);
+                       
+                       // Apply layout only when it is necessary.
+                       if(layouts != null)
+                               this.insertTasksAfterCurrentTask(new 
ApplyPreferredLayoutTask(view, layouts));
                } catch (Exception e) {
                        throw new Exception("Could not create network view for 
network: "
                                        + 
network.getCyRow().get(CyTableEntry.NAME, String.class), e);
                }
-
+               
                taskMonitor.setProgress(1.0);
                taskMonitor.setStatusMessage("Network view successfully create 
for:  "
                                + network.getCyRow().get(CyTableEntry.NAME, 
String.class));

Modified: 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/creation/CreateNetworkViewTaskFactory.java
===================================================================
--- 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/creation/CreateNetworkViewTaskFactory.java
     2011-07-07 22:58:19 UTC (rev 26112)
+++ 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/creation/CreateNetworkViewTaskFactory.java
     2011-07-08 00:02:23 UTC (rev 26113)
@@ -29,24 +29,28 @@
  */
 package org.cytoscape.task.internal.creation;
 
+import org.cytoscape.task.AbstractNetworkTaskFactory;
+import org.cytoscape.view.layout.CyLayoutAlgorithmManager;
 import org.cytoscape.view.model.CyNetworkViewFactory;
+import org.cytoscape.view.model.CyNetworkViewManager;
 import org.cytoscape.work.TaskIterator;
-import org.cytoscape.task.AbstractNetworkTaskFactory;
 
-import org.cytoscape.view.model.CyNetworkViewManager;
-
 public class CreateNetworkViewTaskFactory extends AbstractNetworkTaskFactory {
 
        private final CyNetworkViewManager networkViewManager;
        private final CyNetworkViewFactory viewFactory;
 
-       CreateNetworkViewTaskFactory(final CyNetworkViewFactory viewFactory, 
final CyNetworkViewManager networkViewManager) {
+       private final CyLayoutAlgorithmManager layouts;
+
+       CreateNetworkViewTaskFactory(final CyNetworkViewFactory viewFactory, 
final CyNetworkViewManager networkViewManager,
+                       final CyLayoutAlgorithmManager layouts) {
                super();
                this.viewFactory = viewFactory;
                this.networkViewManager = networkViewManager;
+               this.layouts = layouts;
        }
 
        public TaskIterator getTaskIterator() {
-               return new TaskIterator(new CreateNetworkViewTask(network, 
viewFactory, networkViewManager));
+               return new TaskIterator(new CreateNetworkViewTask(network, 
viewFactory, networkViewManager, layouts));
        }
 }

Modified: 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/layout/ApplyPreferredLayoutTask.java
===================================================================
--- 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/layout/ApplyPreferredLayoutTask.java
   2011-07-07 22:58:19 UTC (rev 26112)
+++ 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/layout/ApplyPreferredLayoutTask.java
   2011-07-08 00:02:23 UTC (rev 26113)
@@ -39,7 +39,7 @@
 
        private static final String DEF_LAYOUT = "force-directed";
 
-       private final Properties props;
+       private Properties props;
        private final CyLayoutAlgorithmManager layouts;
 
        public ApplyPreferredLayoutTask(CyNetworkView v, 
CyLayoutAlgorithmManager layouts, Properties props) {
@@ -47,9 +47,18 @@
                this.layouts = layouts;
                this.props = props;
        }
+       
+       public ApplyPreferredLayoutTask(final CyNetworkView v, final 
CyLayoutAlgorithmManager layouts) {
+               super(v);
+               this.layouts = layouts;
+       }
 
        public void run(TaskMonitor tm) {
-               final String pref = 
props.getProperty("preferredLayoutAlgorithm", DEF_LAYOUT);
+               
+               String pref = CyLayoutAlgorithmManager.DEFAULT_LAYOUT_NAME;
+               if(props != null) 
+                       pref = props.getProperty("preferredLayoutAlgorithm", 
DEF_LAYOUT);
+
                final CyLayoutAlgorithm layout = layouts.getLayout(pref);
 
                if (layout != null) {

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
    2011-07-07 22:58:19 UTC (rev 26112)
+++ 
core3/core-task-impl/trunk/src/main/resources/META-INF/spring/bundle-context.xml
    2011-07-08 00:02:23 UTC (rev 26113)
@@ -299,6 +299,7 @@
                
class="org.cytoscape.task.internal.creation.CreateNetworkViewTaskFactory">
                <constructor-arg ref="cyNetworkViewFactoryServiceRef" />
                <constructor-arg ref="cyNetworkViewManagerServiceRef" />
+               <constructor-arg ref="cyLayoutsServiceRef" />
        </bean>
 
        <bean id="exportNetworkImageTaskFactory"

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