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.