Author: Christian Lopes
Date: 2010-12-07 09:52:31 -0800 (Tue, 07 Dec 2010)
New Revision: 23106

Added:
   
core3/session-impl/trunk/src/main/java/org/cytoscape/session/internal/CysessionFactory.java
Modified:
   
core3/session-impl/trunk/src/main/java/org/cytoscape/session/internal/CySessionManagerImpl.java
   
core3/session-impl/trunk/src/main/resources/META-INF/spring/bundle-context-osgi.xml
   
core3/session-impl/trunk/src/main/resources/META-INF/spring/bundle-context.xml
Log:
Initial implementation for session management (needs refactoring/cleanup). 
Ported code that creates Cysession objects from version 2.8.

Modified: 
core3/session-impl/trunk/src/main/java/org/cytoscape/session/internal/CySessionManagerImpl.java
===================================================================
--- 
core3/session-impl/trunk/src/main/java/org/cytoscape/session/internal/CySessionManagerImpl.java
     2010-12-07 17:48:01 UTC (rev 23105)
+++ 
core3/session-impl/trunk/src/main/java/org/cytoscape/session/internal/CySessionManagerImpl.java
     2010-12-07 17:52:31 UTC (rev 23106)
@@ -1,4 +1,3 @@
-
 /*
   Copyright (c) 2010, The Cytoscape Consortium (www.cytoscape.org)
 
@@ -35,41 +34,223 @@
 */
 package org.cytoscape.session.internal;
 
+import java.io.File;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Properties;
+import java.util.Set;
+import java.util.Map.Entry;
+
+import org.cytoscape.event.CyEventHelper;
+import org.cytoscape.model.CyNetworkManager;
+import org.cytoscape.model.CyTable;
+import org.cytoscape.model.CyTableManager;
+import org.cytoscape.property.CyProperty;
+import org.cytoscape.property.bookmark.Bookmarks;
+import org.cytoscape.property.session.Cysession;
 import org.cytoscape.session.CySession;
 import org.cytoscape.session.CySessionManager;
+import org.cytoscape.session.events.SessionAboutToBeSavedEvent;
+import org.cytoscape.session.events.SessionLoadedEvent;
+import org.cytoscape.view.model.CyNetworkView;
+import org.cytoscape.view.model.CyNetworkViewManager;
+import org.cytoscape.view.vizmap.VisualMappingManager;
+import org.cytoscape.view.vizmap.VisualStyle;
+import org.cytoscape.view.vizmap.VisualStyleSerializer;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
-// TODO this is still pretty much just a placeholder class
+/**
+ * Default implementation of {...@link org.cytoscape.session.CySessionManager}.
+ * @author Christian Lopes
+ */
 public class CySessionManagerImpl implements CySessionManager {
 
        private String currentFileName;
        private CySession currentSession;
 
-//     private final CyNetworkManager netMgr;
+       private final CyEventHelper cyEventHelper;
+       private final CyNetworkManager netMgr;
+       private final CyTableManager tblMgr;
+       private final VisualMappingManager vmMgr;
+       private final VisualStyleSerializer vsSer;
+       private final CyNetworkViewManager nvMgr;
+       private final CyProperty<Properties> props;
+       private final CyProperty<Bookmarks> bookmarks;
+       
+       private static final Logger logger = 
LoggerFactory.getLogger(CySessionManagerImpl.class);
 
-//     CySessionManagerImpl(CyNetworkManager netMgr) {
-//             this.netMgr = netMgr;           
-//
-//     }
-
-    public CySession getCurrentSession() {
-       //      SessionPluginFileRequestEvent ev = new 
SessionPluginFileRequestEvent();
-       //      eventHelper.fireSynchronousEvent(ev);
+       public CySessionManagerImpl(CyEventHelper cyEventHelper,
+                                           CyNetworkManager netMgr,
+                                           CyTableManager tblMgr,
+                                           VisualMappingManager vmMgr,
+                                           VisualStyleSerializer vsSer,
+                                           CyNetworkViewManager nvMgr,
+                                           CyProperty<Properties> props,
+                                           CyProperty<Bookmarks> bookmarks) 
{logger.debug(">> CySessionManagerImpl <<");
+               this.cyEventHelper = cyEventHelper;
+               this.netMgr = netMgr;
+               this.tblMgr = tblMgr;
+               this.vmMgr = vmMgr;
+               this.vsSer = vsSer;
+               this.nvMgr = nvMgr;
+               this.props = props;
+               this.bookmarks = bookmarks;
                
-               return new CySession.Builder().build();
+               logger.debug("PROPS:\n\t"+props.getProperties());
+               logger.debug("BKMARKS:\n\t"+bookmarks.getProperties());
+       }
+       
+    public CySession getCurrentSession() {logger.debug(">> 
CySessionManagerImpl.getCurrentSession...");
+       // Plugins who want to save anything to a session will have to listen 
for this event
+       // and will then be responsible for adding files through 
SessionAboutToBeSavedEvent.addPluginFiles(..)
+       SessionAboutToBeSavedEvent savingEvent = new 
SessionAboutToBeSavedEvent(this);
+       cyEventHelper.fireSynchronousEvent(savingEvent);
+    
+       CysessionFactory cysessFactory = new CysessionFactory();
+       Cysession cysess = 
cysessFactory.createCysession(savingEvent.getDesktop(), 
savingEvent.getCytopanels(), null);
+       
+       Map<String,List<File>> pluginMap = savingEvent.getPluginFileListMap();
+       
+       Properties cyProps = props.getProperties();
+       Bookmarks bkmarks = bookmarks.getProperties();
+       Set<CyTable> tables = tblMgr.getAllTables(true);
+       Set<CyNetworkView> netViews = nvMgr.getNetworkViewSet();
+       
+       Set<VisualStyle> allStyles = vmMgr.getAllVisualStyles();
+       Properties vmProps = vsSer.createProperties(allStyles);
+       
+       Map<CyNetworkView,String> stylesMap = new HashMap<CyNetworkView, 
String>();
+       
+       if (netViews != null) {
+               for (CyNetworkView nv : netViews) {
+                       VisualStyle style = vmMgr.getVisualStyle(nv);
+                       
+                       if (style != null) {
+                               logger.debug("    NetView=" + nv + " :: Style=" 
+ style.getTitle());
+                               stylesMap.put(nv, style.getTitle());
+                       }
+               }
+       }
+       
+       logger.debug("*** PROPS:\n\t"+cyProps);
+               logger.debug("*** CATEG:\n\t"+bkmarks.getCategory());
+       
+       CySession sess = new CySession.Builder()
+               .cytoscapeProperties(cyProps)
+               .bookmarks(bkmarks)
+               .cysession(cysess)
+               .pluginFileListMap(pluginMap)
+               .tables(tables)
+               .networkViews(netViews)
+               .vizmapProperties(vmProps)
+               .viewVisualStyleMap(stylesMap)
+               .build();
+       
+               return sess;
     }
     
-    public void setCurrentSession(CySession sess, String fileName) {
-               if ( sess == null )
-                       // TODO throw exception?
-                       return;
-
+    public void setCurrentSession(CySession sess, String fileName) 
{logger.debug(">> CySessionManagerImpl.setCurrentSession...");
+       // Always remove the current session first
+               disposeCurrentSession();
+               logger.debug("Current session :: " + currentSession);
+               
+               if (sess == null) {
+                       logger.debug("Creating empty session...");
+                       Set<VisualStyle> allStyles = vmMgr.getAllVisualStyles();
+               Properties vmProps = vsSer.createProperties(allStyles);
+                       Cysession cysess = new 
CysessionFactory().createDefaultCysession();
+               
+                       sess = new CySession.Builder()
+                               .cytoscapeProperties(props.getProperties())
+                               .bookmarks(bookmarks.getProperties())
+                               .cysession(cysess)
+                               .vizmapProperties(vmProps)
+                               .build();
+               } else {
+                       logger.debug("Restoring the session...");
+                       
+                       // Restore tables
+                       // 
------------------------------------------------------------------------------
+                       // TODO: add tables that are not associated with 
networks
+//                     logger.debug("Restoring unattached tables...");
+//                     Set<CyTable> tables = sess.getTables();
+//                     
+//                     for (CyTable tbl : tables) {
+//                             CyTableFactory.createTable();
+//                     }
+                       
+                       // Restore visual styles
+                       // 
------------------------------------------------------------------------------
+                       logger.debug("Restoring visual styles...");
+                       Properties stylesProps = sess.getVizmapProperties();
+                       Collection<VisualStyle> allStyles = 
vsSer.createVisualStyles(stylesProps);
+                       Map<String,VisualStyle> stylesMap = new HashMap<String, 
VisualStyle>();
+                       
+                       if (allStyles != null) {
+                               for (VisualStyle vs : allStyles) {
+                                       vmMgr.addVisualStyle(vs);
+                                       stylesMap.put(vs.getTitle(), vs);
+                                       // TODO: what if the style already 
exits?
+                               }
+                       }
+                       
+                       // TODO: default visual style--set by the plugin 
instead?
+                       
+                       // Restore networks
+                       // 
------------------------------------------------------------------------------
+                       logger.debug("Restoring networks...");
+                       Set<CyNetworkView> netViews = sess.getNetworkViews();
+                       
+                       for (CyNetworkView nv : netViews) {
+                               netMgr.addNetwork(nv.getModel());
+                               nvMgr.addNetworkView(nv);
+                       }
+                       
+                       // Set visual styles to network views
+                       Map<CyNetworkView,String> netStyleMap = 
sess.getViewVisualStyleMap();
+                       
+                       for (Entry<CyNetworkView, String> entry : 
netStyleMap.entrySet()) {
+                               CyNetworkView netView = entry.getKey();
+                               String stName = entry.getValue();
+                               VisualStyle vs = stylesMap.get(stName);
+                               
+                               if (vs != null) vmMgr.setVisualStyle(vs, 
netView);
+                       }
+                       
+                       // TODO: Restore other session properties?
+                       // 
------------------------------------------------------------------------------
+//                     Properties cyProps = sess.getCytoscapeProperties();
+//                     Bookmarks bkmarks = sess.getBookmarks();
+//                     Cysession cysess = sess.getCysession();
+               }
+               
                currentSession = sess;
                currentFileName = fileName;
-               // do stuff
+               
+               cyEventHelper.fireSynchronousEvent(new SessionLoadedEvent(this, 
currentSession, getCurrentSessionFileName()));
     }
 
        public String getCurrentSessionFileName() {
                return currentFileName;
        }
+       
+       private void disposeCurrentSession() {
+               logger.debug("Disposing current session...");
+               
+               // Destroy network views and models
+               Set<CyNetworkView> netViews = nvMgr.getNetworkViewSet();
+               
+               for (CyNetworkView nv : netViews) {
+                       nvMgr.destroyNetworkView(nv);
+                       netMgr.destroyNetwork(nv.getModel());
+               }
+               
+               // TODO: destroy styles?
+               // TODO: destroy unattached tables--how?
+               // TODO: reset session properties?
+       }
 }
 

Added: 
core3/session-impl/trunk/src/main/java/org/cytoscape/session/internal/CysessionFactory.java
===================================================================
--- 
core3/session-impl/trunk/src/main/java/org/cytoscape/session/internal/CysessionFactory.java
                         (rev 0)
+++ 
core3/session-impl/trunk/src/main/java/org/cytoscape/session/internal/CysessionFactory.java
 2010-12-07 17:52:31 UTC (rev 23106)
@@ -0,0 +1,198 @@
+/*
+  Copyright (c) 2010, The Cytoscape Consortium (www.cytoscape.org)
+
+  The Cytoscape Consortium is:
+  - Institute for Systems Biology
+  - University of California San Diego
+  - Memorial Sloan-Kettering Cancer Center
+  - Institut Pasteur
+  - Agilent Technologies
+
+  This library is free software; you can redistribute it and/or modify it
+  under the terms of the GNU Lesser General Public License as published
+  by the Free Software Foundation; either version 2.1 of the License, or
+  any later version.
+
+  This library is distributed in the hope that it will be useful, but
+  WITHOUT ANY WARRANTY, WITHOUT EVEN THE IMPLIED WARRANTY OF
+  MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.  The software and
+  documentation provided hereunder is on an "as is" basis, and the
+  Institute for Systems Biology and the Whitehead Institute
+  have no obligations to provide maintenance, support,
+  updates, enhancements or modifications.  In no event shall the
+  Institute for Systems Biology and the Whitehead Institute
+  be liable to any party for direct, indirect, special,
+  incidental or consequential damages, including lost profits, arising
+  out of the use of this software and its documentation, even if the
+  Institute for Systems Biology and the Whitehead Institute
+  have been advised of the possibility of such damage.  See
+  the GNU Lesser General Public License for more details.
+
+  You should have received a copy of the GNU Lesser General Public License
+  along with this library; if not, write to the Free Software Foundation,
+  Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+*/
+package org.cytoscape.session.internal;
+
+import java.util.List;
+
+import org.cytoscape.property.session.Cysession;
+import org.cytoscape.property.session.Cytopanel;
+import org.cytoscape.property.session.Cytopanels;
+import org.cytoscape.property.session.Desktop;
+import org.cytoscape.property.session.Network;
+import org.cytoscape.property.session.NetworkTree;
+import org.cytoscape.property.session.ObjectFactory;
+import org.cytoscape.property.session.OntologyServer;
+import org.cytoscape.property.session.Server;
+import org.cytoscape.property.session.SessionState;
+
+
+public class CysessionFactory {
+       
+       private static final String DEFAULT_SESSION_NOTE = "You can add note 
for this session here.";
+       
+       private final ObjectFactory factory;
+       
+       public CysessionFactory() {
+               this.factory = new ObjectFactory();
+       }
+       
+       public Cysession createDefaultCysession() {
+               return createCysession(null, null, null);
+       }
+
+       /**
+        * Create a Cysession object from the current Cytoscape session 
attributes.
+        */
+       public Cysession createCysession(Desktop desktop, List<Cytopanel> 
cytopanels, String note) {
+               Cysession session = null;
+               
+               // Initialize objects for the marshaller:
+               session = factory.createCysession();
+               
+               if (note == null) note = DEFAULT_SESSION_NOTE;
+               session.setSessionNote(note);
+
+               NetworkTree tree = factory.createNetworkTree();
+               
+               SessionState sState = factory.createSessionState();
+               
+               if (desktop == null) desktop = factory.createDesktop();
+               sState.setDesktop(desktop);
+               
+               session.setSessionState(sState);
+               Cytopanels cps = getCytoPanelStates(cytopanels);
+               
+               // TODO?
+               List<Network> netList = tree.getNetwork();
+               
+               sState.setCytopanels(cps);
+               sState.setServer(getServerState());
+               
+               return session;
+       }
+       
+       /**
+        * Check loaded ontologies and save those states in cysession.xml.
+        * @return Server object
+        */
+       private Server getServerState() {
+               Server server = factory.createServer();
+               OntologyServer os = factory.createOntologyServer();
+
+               // We've omitted the concept of Ontology from the core api in 
3.0,
+               // so that code will exist in the future as a plugin (although 
with a public API)
+//             Set<String> ontoNames = 
Cytoscape.getOntologyServer().getOntologyNames();
+//             Map<String, URL> sources = 
Cytoscape.getOntologyServer().getOntologySources();
+//
+//             for (String name : ontoNames) {
+//                     Ontology onto = factory.createOntology();
+//                     onto.setName(name);
+//                     onto.setHref(sources.get(name).toString());
+//                     os.getOntology().add(onto);
+//             }
+
+               server.setOntologyServer(os);
+
+               return server;
+       }
+       
+       /**
+        * Extract states of the 3 Cytopanels.
+        *
+        * @return
+        * Note: We will store the states of plugins near future. The location 
of
+        * those states will be stored here.
+        */
+       private Cytopanels getCytoPanelStates(List<Cytopanel> cytopanels) {
+               Cytopanels cps = factory.createCytopanels();
+               List<Cytopanel> cytoPanelList = cps.getCytopanel();
+               
+               if (cytopanels != null) {
+                       for (Cytopanel panel : cytopanels) 
cytoPanelList.add(panel);
+               }
+// TODO: cleanup. This should be done by the swing related plugin
+//             String[] cytopanelStates = new String[CYTOPANEL_COUNT + 1];
+//             int[] selectedPanels = new int[CYTOPANEL_COUNT + 1];
+//
+//             // Extract states of 3 panels.
+//             cytopanelStates[1] = 
application.getCytoPanel(CytoPanelName.WEST).getState().toString();
+//             selectedPanels[1] = 
application.getCytoPanel(CytoPanelName.WEST).getSelectedIndex();
+//             cytopanelStates[2] = 
application.getCytoPanel(CytoPanelName.SOUTH).getState().toString();
+//             selectedPanels[2] = 
application.getCytoPanel(CytoPanelName.SOUTH).getSelectedIndex();
+//             cytopanelStates[3] = 
application.getCytoPanel(CytoPanelName.EAST).getState().toString();
+//             selectedPanels[3] = 
application.getCytoPanel(CytoPanelName.EAST).getSelectedIndex();
+//
+//             // Number of Cytopanels. Currently, we have 3 panels.
+//             final int CYTOPANEL_COUNT = 3;
+               
+//             for (int i = 1; i < (CYTOPANEL_COUNT + 1); i++) {
+//                     Panels internalPanels = factory.createPanels();
+//                     List<Panel> iPanelList = internalPanels.getPanel();
+//                     Panel iPanel = factory.createPanel();
+//                     iPanel.setId("test");
+//
+//                     iPanelList.add(iPanel);
+//
+//                     Cytopanel curCp = factory.createCytopanel();
+//                     curCp.setId("CytoPanel" + i);
+//                     curCp.setPanelState(cytopanelStates[i]);
+//                     
curCp.setSelectedPanel(Integer.toString(selectedPanels[i]));
+//                     curCp.setPanels(internalPanels);
+//                     cytoPanelList.add(curCp);
+//             }
+
+               return cps;
+       }
+
+// TODO: cleanup. This should be done by the swing related plugin
+//     private void setDesktopStates(SessionState sState) {
+//             DesktopSize dSize = factory.createDesktopSize();
+//             NetworkFrames frames = factory.createNetworkFrames();
+//
+//             // TODO
+//             Component[] networkFrames = 
Cytoscape.getDesktop().getNetworkViewManager().getDesktopPane().getComponents();
+//
+//             for (int i = 0; i < networkFrames.length; i++) {
+//                     if(networkFrames[i] instanceof JInternalFrame) {
+//                             JInternalFrame networkFrame = (JInternalFrame) 
networkFrames[i];
+//                             NetworkFrame frame = 
factory.createNetworkFrame();
+//                             frame.setFrameID(networkFrame.getTitle());
+//                             
frame.setWidth(BigInteger.valueOf(networkFrame.getWidth()));
+//                             
frame.setHeight(BigInteger.valueOf(networkFrame.getHeight()));
+//                             
frame.setX(BigInteger.valueOf(networkFrame.getX()));
+//                             
frame.setY(BigInteger.valueOf(networkFrame.getY()));
+//                             frames.getNetworkFrame().add(frame);
+//                     }
+//             }
+//
+//             
dSize.setHeight(BigInteger.valueOf(application.getJFrame().getSize().height));
+//             
dSize.setWidth(BigInteger.valueOf(application.getJFrame().getSize().width));
+//
+//             Desktop desktop = factory.createDesktop();
+//             desktop.setDesktopSize(dSize);
+//             desktop.setNetworkFrames(frames);
+//             sState.setDesktop(desktop);
+//     }
+}

Modified: 
core3/session-impl/trunk/src/main/resources/META-INF/spring/bundle-context-osgi.xml
===================================================================
--- 
core3/session-impl/trunk/src/main/resources/META-INF/spring/bundle-context-osgi.xml
 2010-12-07 17:48:01 UTC (rev 23105)
+++ 
core3/session-impl/trunk/src/main/resources/META-INF/spring/bundle-context-osgi.xml
 2010-12-07 17:52:31 UTC (rev 23106)
@@ -1,30 +1,38 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <beans xmlns="http://www.springframework.org/schema/beans";
-       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xmlns:osgi="http://www.springframework.org/schema/osgi";
-       xsi:schemaLocation="http://www.springframework.org/schema/beans 
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xmlns:osgi="http://www.springframework.org/schema/osgi";
+    xsi:schemaLocation="http://www.springframework.org/schema/beans 
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
                       http://www.springframework.org/schema/osgi 
http://www.springframework.org/schema/osgi/spring-osgi-1.0.xsd";
-       default-lazy-init="false">
+    default-lazy-init="false">
 
-       <!-- Export Services -->
-       <osgi:service id="cyApplicationManagerService" 
ref="cyApplicationManager"
-               interface="org.cytoscape.session.CyApplicationManager">
-       </osgi:service>
+    <!-- Export Services -->
+    <osgi:service id="cyApplicationManagerService" ref="cyApplicationManager"
+        interface="org.cytoscape.session.CyApplicationManager">
+    </osgi:service>
 
-       <osgi:service id="cyNetworkNamingService" ref="cyNetworkNaming"
-               interface="org.cytoscape.session.CyNetworkNaming">
-       </osgi:service>
+    <osgi:service id="cyNetworkNamingService" ref="cyNetworkNaming"
+        interface="org.cytoscape.session.CyNetworkNaming">
+    </osgi:service>
 
-       <osgi:service id="cySessionManagerService" ref="cySessionManager"
-               interface="org.cytoscape.session.CySessionManager">
-       </osgi:service>
+    <osgi:service id="cySessionManagerService" ref="cySessionManager"
+        interface="org.cytoscape.session.CySessionManager">
+    </osgi:service>
 
-       <!-- Import Services -->
-       <osgi:reference id="cyEventHelperServiceRef" 
-               interface="org.cytoscape.event.CyEventHelper" />
+    <!-- Import Services -->
+    <osgi:reference id="cyEventHelperServiceRef" 
interface="org.cytoscape.event.CyEventHelper" />
 
-       <osgi:reference id="cyNetworkManagerServiceRef" 
-               interface="org.cytoscape.model.CyNetworkManager" />
+    <osgi:reference id="cyNetworkManagerServiceRef" 
interface="org.cytoscape.model.CyNetworkManager" />
 
-       <osgi:reference id="cyNetworkViewManagerServiceRef" 
-       interface="org.cytoscape.view.model.CyNetworkViewManager" />
+    <osgi:reference id="cyNetworkViewManagerServiceRef" 
interface="org.cytoscape.view.model.CyNetworkViewManager" />
+
+    <osgi:reference id="cyTableManagerServiceRef" 
interface="org.cytoscape.model.CyTableManager" />
+    
+    <osgi:reference id="visualMappingManagerServiceRef" 
interface="org.cytoscape.view.vizmap.VisualMappingManager" />
+    
+    <osgi:reference id="visualStyleSerializerServiceRef" 
interface="org.cytoscape.view.vizmap.VisualStyleSerializer" />
+    
+    <osgi:reference id="cyPropertyServiceRef" 
interface="org.cytoscape.property.CyProperty" 
filter="(cyPropertyName=coreSettings)" />
+    
+    <osgi:reference id="bookmarkServiceRef" 
interface="org.cytoscape.property.CyProperty" 
filter="(cyPropertyName=bookmarks)" />
+    
 </beans>

Modified: 
core3/session-impl/trunk/src/main/resources/META-INF/spring/bundle-context.xml
===================================================================
--- 
core3/session-impl/trunk/src/main/resources/META-INF/spring/bundle-context.xml  
    2010-12-07 17:48:01 UTC (rev 23105)
+++ 
core3/session-impl/trunk/src/main/resources/META-INF/spring/bundle-context.xml  
    2010-12-07 17:52:31 UTC (rev 23106)
@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <beans xmlns="http://www.springframework.org/schema/beans";
-       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xmlns:aop="http://www.springframework.org/schema/aop";
-       xmlns:context="http://www.springframework.org/schema/context";
-       xmlns:lang="http://www.springframework.org/schema/lang"; 
xmlns:osgi="http://www.springframework.org/schema/osgi";
-       xsi:schemaLocation="
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xmlns:aop="http://www.springframework.org/schema/aop";
+    xmlns:context="http://www.springframework.org/schema/context";
+    xmlns:lang="http://www.springframework.org/schema/lang"; 
xmlns:osgi="http://www.springframework.org/schema/osgi";
+    xsi:schemaLocation="
            http://www.springframework.org/schema/beans
            http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
            http://www.springframework.org/schema/aop
@@ -12,20 +12,28 @@
            http://www.springframework.org/schema/context/spring-context-2.5.xsd
            http://www.springframework.org/schema/lang 
http://www.springframework.org/schema/lang/spring-lang-2.5.xsd
            http://www.springframework.org/schema/osgi 
http://www.springframework.org/schema/osgi/spring-osgi-1.0.xsd";
-       default-lazy-init="false">
+    default-lazy-init="false">
 
-       <context:annotation-config />
+    <context:annotation-config />
 
-       <bean id="cyApplicationManager" 
class="org.cytoscape.session.internal.CyApplicationManagerImpl">
-               <constructor-arg ref="cyEventHelperServiceRef" />
-               <constructor-arg ref="cyNetworkManagerServiceRef" />
-               <constructor-arg ref="cyNetworkViewManagerServiceRef" />
-       </bean>
+    <bean id="cyApplicationManager" 
class="org.cytoscape.session.internal.CyApplicationManagerImpl">
+        <constructor-arg ref="cyEventHelperServiceRef" />
+        <constructor-arg ref="cyNetworkManagerServiceRef" />
+        <constructor-arg ref="cyNetworkViewManagerServiceRef" />
+    </bean>
 
-       <bean id="cyNetworkNaming" 
class="org.cytoscape.session.internal.CyNetworkNamingImpl">
-               <constructor-arg ref="cyNetworkManagerServiceRef" />
-       </bean>
+    <bean id="cyNetworkNaming" 
class="org.cytoscape.session.internal.CyNetworkNamingImpl">
+        <constructor-arg ref="cyNetworkManagerServiceRef" />
+    </bean>
 
-       <bean id="cySessionManager" 
class="org.cytoscape.session.internal.CySessionManagerImpl">
-       </bean>
+    <bean id="cySessionManager" 
class="org.cytoscape.session.internal.CySessionManagerImpl">
+       <constructor-arg ref="cyEventHelperServiceRef" />
+       <constructor-arg ref="cyNetworkManagerServiceRef" />
+       <constructor-arg ref="cyTableManagerServiceRef" />
+       <constructor-arg ref="visualMappingManagerServiceRef" />
+       <constructor-arg ref="visualStyleSerializerServiceRef" />
+       <constructor-arg ref="cyNetworkViewManagerServiceRef" />
+       <constructor-arg ref="cyPropertyServiceRef" />
+       <constructor-arg ref="bookmarkServiceRef" />
+    </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