Author: kono Date: 2010-08-12 14:47:24 -0700 (Thu, 12 Aug 2010) New Revision: 21355
Added: core3/session-impl/trunk/src/main/java/org/cytoscape/session/internal/CyNetworkManagerImpl.java Removed: core3/session-impl/trunk/src/main/java/org/cytoscape/session/internal/NetworkManager.java Modified: core3/core-task-impl/trunk/pom.xml core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/creation/NewEmptyNetworkTask.java core3/session-api/trunk/src/main/java/org/cytoscape/session/CyNetworkManager.java core3/vizmap-gui-impl/trunk/src/main/java/org/cytoscape/view/vizmap/gui/internal/DefaultViewEditorImpl.java core3/vizmap-gui-impl/trunk/src/main/java/org/cytoscape/view/vizmap/gui/internal/VizMapPropertySheetBuilder.java cytoscape3/trunk/application/src/main/java/cytoscape/internal/actions/PrintAction.java cytoscape3/trunk/application/src/main/java/cytoscape/internal/view/NetworkViewManager.java Log: Session API method name had been changed for consistency. Modified: core3/core-task-impl/trunk/pom.xml =================================================================== --- core3/core-task-impl/trunk/pom.xml 2010-08-12 21:07:36 UTC (rev 21354) +++ core3/core-task-impl/trunk/pom.xml 2010-08-12 21:47:24 UTC (rev 21355) @@ -1,144 +1,125 @@ <?xml version="1.0" encoding="UTF-8"?> -<project xmlns="http://maven.apache.org/POM/4.0.0" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> +<project xmlns="http://maven.apache.org/POM/4.0.0" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> - <parent> - <artifactId>parent</artifactId> - <groupId>org.cytoscape</groupId> - <version>1.0-SNAPSHOT</version> - </parent> + <parent> + <artifactId>parent</artifactId> + <groupId>org.cytoscape</groupId> + <version>1.0-SNAPSHOT</version> + </parent> - <properties> - <bundle.symbolicName>org.cytoscape.core-task-impl</bundle.symbolicName> - <bundle.namespace>org.cytoscape.task</bundle.namespace> - </properties> + <properties> + <bundle.symbolicName>org.cytoscape.core-task-impl</bundle.symbolicName> + <bundle.namespace>org.cytoscape.task</bundle.namespace> + </properties> - <modelVersion>4.0.0</modelVersion> - <groupId>org.cytoscape</groupId> - <artifactId>core-task-impl</artifactId> - <version>1.0-SNAPSHOT</version> + <modelVersion>4.0.0</modelVersion> + <groupId>org.cytoscape</groupId> + <artifactId>core-task-impl</artifactId> + <version>1.0-SNAPSHOT</version> - <name>${bundle.symbolicName}</name> + <name>${bundle.symbolicName}</name> - <packaging>bundle</packaging> + <packaging>bundle</packaging> - <repositories> - <!-- bootstrap for cytoscape dependencies, namely the parent POM snapshots --> - <repository> - <id>cytoscape_snapshots</id> - <snapshots> - <enabled>true</enabled> - </snapshots> - <releases> - <enabled>false</enabled> - </releases> - <name>Cytoscape Snapshots</name> - <url>http://cytoscape.wodaklab.org/nexus/content/repositories/snapshots/</url> - </repository> - <!-- bootstrap for cytoscape dependencies, namely the parent POM releases --> - <repository> - <id>cytoscape_releases</id> - <snapshots> - <enabled>false</enabled> - </snapshots> - <releases> - <enabled>true</enabled> - </releases> - <name>Cytoscape Releases</name> - <url>http://cytoscape.wodaklab.org/nexus/content/repositories/releases/</url> - </repository> - </repositories> + <repositories> + <!-- bootstrap for cytoscape dependencies, namely the parent POM snapshots --> + <repository> + <id>cytoscape_snapshots</id> + <snapshots> + <enabled>true</enabled> + </snapshots> + <releases> + <enabled>false</enabled> + </releases> + <name>Cytoscape Snapshots</name> + <url>http://cytoscape.wodaklab.org/nexus/content/repositories/snapshots/</url> + </repository> + <!-- bootstrap for cytoscape dependencies, namely the parent POM releases --> + <repository> + <id>cytoscape_releases</id> + <snapshots> + <enabled>false</enabled> + </snapshots> + <releases> + <enabled>true</enabled> + </releases> + <name>Cytoscape Releases</name> + <url>http://cytoscape.wodaklab.org/nexus/content/repositories/releases/</url> + </repository> + </repositories> - <build> - <resources> - <resource> - <directory>src/main/resources</directory> - </resource> - <resource> - <directory>.</directory> - <includes> - <include>plugin.xml</include> - <include>plugin.properties</include> - <include>icons/**</include> - </includes> - </resource> - </resources> - <plugins> - <plugin> - <groupId>org.ops4j</groupId> - <artifactId>maven-pax-plugin</artifactId> - <version>1.4</version> - <!-- - | enable improved OSGi compilation support for the bundle life-cycle. - | to switch back to the standard bundle life-cycle, move this setting - | down to the maven-bundle-plugin section - --> - <extensions>true</extensions> - </plugin> - <plugin> - <groupId>org.apache.felix</groupId> - <artifactId>maven-bundle-plugin</artifactId> - <version>1.4.3</version> - <configuration> - <instructions> - <Bundle-SymbolicName>${bundle.symbolicName}</Bundle-SymbolicName> - <Bundle-Version>${pom.version}</Bundle-Version> - <_include>-osgi.bnd</_include> - </instructions> - </configuration> - </plugin> - </plugins> - </build> + <build> + <resources> + <resource> + <directory>src/main/resources</directory> + </resource> + <resource> + <directory>.</directory> + <includes> + <include>plugin.xml</include> + <include>plugin.properties</include> + <include>icons/**</include> + </includes> + </resource> + </resources> + <plugins> + <plugin> + <groupId>org.ops4j</groupId> + <artifactId>maven-pax-plugin</artifactId> + <version>1.4</version> + <!-- | enable improved OSGi compilation support for the bundle life-cycle. + | to switch back to the standard bundle life-cycle, move this setting | down + to the maven-bundle-plugin section --> + <extensions>true</extensions> + </plugin> + <plugin> + <groupId>org.apache.felix</groupId> + <artifactId>maven-bundle-plugin</artifactId> + <version>${maven-bundle-plugin.version}</version> + <configuration> + <instructions> + <Bundle-SymbolicName>${bundle.symbolicName}</Bundle-SymbolicName> + <Bundle-Version>${pom.version}</Bundle-Version> + <_include>-osgi.bnd</_include> + </instructions> + </configuration> + </plugin> + </plugins> + </build> + <dependencies> + <dependency> + <groupId>org.cytoscape</groupId> + <artifactId>session-api</artifactId> + <version>1.0-SNAPSHOT</version> + </dependency> + <dependency> + <groupId>org.cytoscape</groupId> + <artifactId>io-api</artifactId> + <version>1.0-SNAPSHOT</version> + </dependency> + <dependency> + <groupId>org.cytoscape</groupId> + <artifactId>property</artifactId> + <version>1.0-SNAPSHOT</version> + </dependency> + <dependency> + <groupId>org.cytoscape</groupId> + <artifactId>layout-api</artifactId> + <version>1.0-SNAPSHOT</version> + </dependency> + <dependency> + <groupId>org.cytoscape</groupId> + <artifactId>vizmap-api</artifactId> + <version>1.0-SNAPSHOT</version> + </dependency> + <dependency> + <groupId>org.cytoscape</groupId> + <artifactId>core-task-api</artifactId> + <version>1.0-SNAPSHOT</version> + </dependency> + </dependencies> - - - <dependencies> - <dependency> - <groupId>org.cytoscape</groupId> - <artifactId>work-api</artifactId> - <version>1.0-SNAPSHOT</version> - </dependency> - <dependency> - <groupId>org.cytoscape</groupId> - <artifactId>model-api</artifactId> - <version>1.0-SNAPSHOT</version> - </dependency> - <dependency> - <groupId>org.cytoscape</groupId> - <artifactId>session-api</artifactId> - <version>1.0-SNAPSHOT</version> - </dependency> - <dependency> - <groupId>org.cytoscape</groupId> - <artifactId>io-api</artifactId> - <version>1.0-SNAPSHOT</version> - </dependency> - <dependency> - <groupId>org.cytoscape</groupId> - <artifactId>property</artifactId> - <version>1.0-SNAPSHOT</version> - </dependency> - <dependency> - <groupId>org.cytoscape</groupId> - <artifactId>layout-api</artifactId> - <version>1.0-SNAPSHOT</version> - </dependency> - <dependency> - <groupId>org.cytoscape</groupId> - <artifactId>viewmodel-api</artifactId> - <version>1.0-SNAPSHOT</version> - </dependency> - <dependency> - <groupId>org.cytoscape</groupId> - <artifactId>vizmap-api</artifactId> - <version>1.0-SNAPSHOT</version> - </dependency> - <dependency> - <groupId>org.cytoscape</groupId> - <artifactId>core-task-api</artifactId> - <version>1.0-SNAPSHOT</version> - </dependency> - - </dependencies> - </project> Modified: core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/creation/NewEmptyNetworkTask.java =================================================================== --- core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/creation/NewEmptyNetworkTask.java 2010-08-12 21:07:36 UTC (rev 21354) +++ core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/creation/NewEmptyNetworkTask.java 2010-08-12 21:47:24 UTC (rev 21355) @@ -38,19 +38,22 @@ package org.cytoscape.task.internal.creation; -import org.cytoscape.session.CyNetworkManager; import org.cytoscape.model.CyNetwork; import org.cytoscape.model.CyNetworkFactory; +import org.cytoscape.session.CyNetworkManager; +import org.cytoscape.view.model.CyNetworkView; import org.cytoscape.view.model.CyNetworkViewFactory; -import org.cytoscape.view.model.CyNetworkView; -import org.cytoscape.work.Task; import org.cytoscape.work.TaskMonitor; +/** + * Create an empty network with view. + * + */ public class NewEmptyNetworkTask extends AbstractCreationTask { - private CyNetworkFactory cnf; - private CyNetworkViewFactory cnvf; + private final CyNetworkFactory cnf; + private final CyNetworkViewFactory cnvf; public NewEmptyNetworkTask(CyNetworkFactory cnf, CyNetworkViewFactory cnvf, CyNetworkManager netmgr) { super(netmgr); @@ -58,13 +61,20 @@ this.cnvf = cnvf; } + public void run(TaskMonitor tm) { - CyNetwork newNet = cnf.getInstance(); + System.out.println("========= Creating empty network/view: stage 1 ========="); + final CyNetwork newNet = cnf.getInstance(); newNet.attrs().set("name","Network"); - CyNetworkView view = cnvf.getNetworkView(newNet); + + System.out.println("========= Creating empty network/view: stage 2 ========="); + final CyNetworkView view = cnvf.getNetworkView(newNet); + System.out.println("========= Creating empty network/view: stage 3 ========="); + netmgr.addNetwork(newNet); + System.out.println("========= Creating empty network/view: stage 4 ========="); netmgr.addNetworkView(view); - System.out.println("New empty network has been created"); + System.out.println("========= New empty network/view has been created ========="); } } Modified: core3/session-api/trunk/src/main/java/org/cytoscape/session/CyNetworkManager.java =================================================================== --- core3/session-api/trunk/src/main/java/org/cytoscape/session/CyNetworkManager.java 2010-08-12 21:07:36 UTC (rev 21354) +++ core3/session-api/trunk/src/main/java/org/cytoscape/session/CyNetworkManager.java 2010-08-12 21:47:24 UTC (rev 21355) @@ -43,21 +43,21 @@ import org.cytoscape.view.model.CyNetworkView; import org.cytoscape.view.presentation.RenderingEngine; - /** * Basic access to networks and view in an instance of Cytoscape. */ public interface CyNetworkManager { + /** * DOCUMENT ME! - * + * * @return DOCUMENT ME! */ public CyNetwork getCurrentNetwork(); /** * DOCUMENT ME! - * + * * @param network_id * DOCUMENT ME! */ @@ -65,14 +65,14 @@ /** * DOCUMENT ME! - * + * * @return DOCUMENT ME! */ public CyNetworkView getCurrentNetworkView(); /** * DOCUMENT ME! - * + * * @param view_id * DOCUMENT ME! */ @@ -80,75 +80,75 @@ /** * DOCUMENT ME! - * + * * @return DOCUMENT ME! */ public Set<CyNetwork> getNetworkSet(); /** * DOCUMENT ME! - * + * * @return DOCUMENT ME! */ public Set<CyNetworkView> getNetworkViewSet(); /** * DOCUMENT ME! - * + * * @param id * DOCUMENT ME! - * + * * @return DOCUMENT ME! */ public CyNetwork getNetwork(long id); /** * DOCUMENT ME! - * + * * @param network_id * DOCUMENT ME! - * + * * @return DOCUMENT ME! */ public CyNetworkView getNetworkView(long network_id); /** * DOCUMENT ME! - * + * * @param network_id * DOCUMENT ME! - * + * * @return DOCUMENT ME! */ public boolean networkExists(long network_id); /** * DOCUMENT ME! - * + * * @param network_id * DOCUMENT ME! - * + * * @return DOCUMENT ME! */ public boolean viewExists(long network_id); /** * DOCUMENT ME! - * + * * @return DOCUMENT ME! */ public List<CyNetwork> getSelectedNetworks(); /** * DOCUMENT ME! - * + * * @return DOCUMENT ME! */ public List<CyNetworkView> getSelectedNetworkViews(); /** * DOCUMENT ME! - * + * * @param viewIDs * DOCUMENT ME! */ @@ -156,7 +156,7 @@ /** * DOCUMENT ME! - * + * * @param ids * DOCUMENT ME! */ @@ -164,7 +164,7 @@ /** * DOCUMENT ME! - * + * * @param network * DOCUMENT ME! */ @@ -172,7 +172,7 @@ /** * DOCUMENT ME! - * + * * @param view * DOCUMENT ME! */ @@ -180,20 +180,22 @@ /** * DOCUMENT ME! - * + * * @param network * DOCUMENT ME! */ - public void addNetwork(CyNetwork network); + public void addNetwork(final CyNetwork network); /** * DOCUMENT ME! - * + * * @param view * DOCUMENT ME! */ public void addNetworkView(CyNetworkView view); - public RenderingEngine getCurrentPresentation(); - public void setCurrentPresentation(RenderingEngine engine); + + public RenderingEngine<CyNetwork> getCurrentRenderingEngine(); + + public void setCurrentRenderingEngine(final RenderingEngine<CyNetwork> engine); } Copied: core3/session-impl/trunk/src/main/java/org/cytoscape/session/internal/CyNetworkManagerImpl.java (from rev 21345, core3/session-impl/trunk/src/main/java/org/cytoscape/session/internal/NetworkManager.java) =================================================================== --- core3/session-impl/trunk/src/main/java/org/cytoscape/session/internal/CyNetworkManagerImpl.java (rev 0) +++ core3/session-impl/trunk/src/main/java/org/cytoscape/session/internal/CyNetworkManagerImpl.java 2010-08-12 21:47:24 UTC (rev 21355) @@ -0,0 +1,344 @@ +/* + File: NetworkManager.java + + Copyright (c) 2006, 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.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import org.cytoscape.event.CyEventHelper; +import org.cytoscape.model.CyEdge; +import org.cytoscape.model.CyNetwork; +import org.cytoscape.model.CyNode; +import org.cytoscape.session.CyNetworkManager; +import org.cytoscape.session.events.NetworkAboutToBeDestroyedEvent; +import org.cytoscape.session.events.NetworkAddedEvent; +import org.cytoscape.session.events.NetworkDestroyedEvent; +import org.cytoscape.session.events.NetworkViewAboutToBeDestroyedEvent; +import org.cytoscape.session.events.NetworkViewAddedEvent; +import org.cytoscape.session.events.NetworkViewDestroyedEvent; +import org.cytoscape.session.events.SetCurrentNetworkEvent; +import org.cytoscape.session.events.SetCurrentNetworkViewEvent; +import org.cytoscape.session.events.SetSelectedNetworkViewsEvent; +import org.cytoscape.session.events.SetSelectedNetworksEvent; +import org.cytoscape.view.model.CyNetworkView; +import org.cytoscape.view.presentation.RenderingEngine; + +public class CyNetworkManagerImpl implements CyNetworkManager { + + private final Map<Long, CyNetworkView> networkViewMap; + private final Map<Long, CyNetwork> networkMap; + + private final List<CyNetworkView> selectedNetworkViews; + private final List<CyNetwork> selectedNetworks; + + private final CyEventHelper eh; + + private CyNetwork currentNetwork; + private CyNetworkView currentNetworkView; + + private RenderingEngine<CyNetwork> currentPresentation; + + public CyNetworkManagerImpl(final CyEventHelper eh) { + networkMap = new HashMap<Long, CyNetwork>(); + networkViewMap = new HashMap<Long, CyNetworkView>(); + selectedNetworkViews = new LinkedList<CyNetworkView>(); + selectedNetworks = new LinkedList<CyNetwork>(); + currentNetwork = null; + currentNetworkView = null; + this.currentPresentation = null; + this.eh = eh; + } + + public synchronized CyNetwork getCurrentNetwork() { + return currentNetwork; + } + + public void setCurrentNetwork(final long networkId) { + synchronized (this) { + if (!networkMap.containsKey(networkId)) + throw new IllegalArgumentException( + "network is not recognized by this NetworkManager"); + + System.out.println("setting current network: " + networkId); + currentNetwork = networkMap.get(networkId); + + // reset selected networks + selectedNetworks.clear(); + selectedNetworks.add(currentNetwork); + } + + eh.fireSynchronousEvent(new SetCurrentNetworkEvent(CyNetworkManagerImpl.this,currentNetwork)); + } + + public synchronized Set<CyNetwork> getNetworkSet() { + return new HashSet<CyNetwork>(networkMap.values()); + } + + public synchronized Set<CyNetworkView> getNetworkViewSet() { + return new HashSet<CyNetworkView>(networkViewMap.values()); + } + + public synchronized CyNetwork getNetwork(long id) { + return networkMap.get(id); + } + + public synchronized CyNetworkView getNetworkView(long network_id) { + return networkViewMap.get(network_id); + } + + public synchronized boolean networkExists(long network_id) { + return networkMap.containsKey(network_id); + } + + public synchronized boolean viewExists(long network_id) { + return networkViewMap.containsKey(network_id); + } + + public synchronized CyNetworkView getCurrentNetworkView() { + return currentNetworkView; + } + + public void setCurrentNetworkView(final long viewId) { + synchronized (this) { + if (!networkMap.containsKey(viewId) + || !networkViewMap.containsKey(viewId)) + throw new IllegalArgumentException( + "network view is not recognized by this NetworkManager"); + + System.out.println("setting current network view: " + + networkViewMap.get(viewId)); + + setCurrentNetwork(viewId); + + currentNetworkView = networkViewMap.get(viewId); + + // reset selected network views + selectedNetworkViews.clear(); + selectedNetworkViews.add(currentNetworkView); + } + + eh.fireSynchronousEvent(new SetCurrentNetworkViewEvent(CyNetworkManagerImpl.this,currentNetworkView)); + } + + public synchronized List<CyNetworkView> getSelectedNetworkViews() { + return new ArrayList<CyNetworkView>(selectedNetworkViews); + } + + public void setSelectedNetworkViews(final List<Long> viewIDs) { + + if (viewIDs == null) + return; + + synchronized (this) { + + selectedNetworkViews.clear(); + + for (Long id : viewIDs) { + CyNetworkView nview = networkViewMap.get(id); + + if (nview != null) + selectedNetworkViews.add(nview); + } + + CyNetworkView cv = getCurrentNetworkView(); + + if (!selectedNetworkViews.contains(cv)) { + selectedNetworkViews.add(cv); + } + } + + eh.fireSynchronousEvent(new SetSelectedNetworkViewsEvent(CyNetworkManagerImpl.this, new ArrayList<CyNetworkView>(selectedNetworkViews))); + } + + public synchronized List<CyNetwork> getSelectedNetworks() { + return new ArrayList<CyNetwork>(selectedNetworks); + } + + public void setSelectedNetworks(final List<Long> ids) { + + if (ids == null) + return; + + synchronized (this) { + selectedNetworks.clear(); + + for (Long id : ids) { + CyNetwork n = networkMap.get(id); + + if (n != null) + selectedNetworks.add(n); + } + + CyNetwork cn = currentNetwork; + + if (!selectedNetworks.contains(cn)) + selectedNetworks.add(cn); + } + + eh.fireSynchronousEvent(new SetSelectedNetworksEvent(CyNetworkManagerImpl.this, new ArrayList<CyNetwork>(selectedNetworks))); + } + + // TODO + // Does this need to distinguish between root networks and subnetworks? + public void destroyNetwork(CyNetwork network) { + if (network == null) + throw new NullPointerException("network is null"); + + final Long networkId = network.getSUID(); + + synchronized (this) { + if (!networkMap.containsKey(networkId)) + throw new IllegalArgumentException( + "network is not recognized by this NetworkManager"); + + // TODO firing an event from within a lock!!!! + final CyNetwork toDestroy = network; + eh.fireSynchronousEvent(new NetworkAboutToBeDestroyedEvent(CyNetworkManagerImpl.this, toDestroy)); + selectedNetworks.remove(network); + + for (CyNode n : network.getNodeList()) + n.attrs().set("selected", false); + for (CyEdge e : network.getEdgeList()) + e.attrs().set("selected", false); + + networkMap.remove(networkId); + + if (network == currentNetwork) { + if (networkMap.size() <= 0) { + currentNetwork = null; + } else { + // randomly pick a network to become the current network + for (CyNetwork net : networkMap.values()) { + currentNetwork = net; + break; + } + } + } + + if (viewExists(networkId)) + destroyNetworkView(networkViewMap.get(networkId)); + + network = null; + } + + // lets everyone know that *A* network is gone + eh.fireSynchronousEvent(new NetworkDestroyedEvent( CyNetworkManagerImpl.this )); + } + + public void destroyNetworkView(CyNetworkView view) { + + if (view == null) + throw new NullPointerException("view is null"); + + final Long viewID = view.getModel().getSUID(); + + synchronized (this) { + if (!networkViewMap.containsKey(viewID)) + throw new IllegalArgumentException( + "network view is not recognized by this NetworkManager"); + + // TODO firing an event from within a lock!!!! + final CyNetworkView toDestroy = view; + eh.fireSynchronousEvent(new NetworkViewAboutToBeDestroyedEvent(CyNetworkManagerImpl.this, toDestroy)); + + selectedNetworkViews.remove(view); + + if (view.equals(currentNetworkView)) { + if (networkViewMap.size() <= 0 || currentNetwork == null) + currentNetworkView = null; + else { + // depending on which randomly chosen currentNetwork we get, + // we may or may not have a view for it. + CyNetworkView newCurr = networkViewMap.get(currentNetwork + .getSUID()); + + if (newCurr != null) + currentNetworkView = newCurr; + else + currentNetworkView = null; + } + } + + networkViewMap.remove(viewID); + view = null; + } + + eh.fireSynchronousEvent(new NetworkViewDestroyedEvent( CyNetworkManagerImpl.this )); + } + + public void addNetwork(final CyNetwork network) { + if (network == null) + throw new NullPointerException("network is null"); + + synchronized (this) { + networkMap.put(network.getSUID(), network); + } + + eh.fireSynchronousEvent(new NetworkAddedEvent(CyNetworkManagerImpl.this, network)); + } + + public void addNetworkView(final CyNetworkView view) { + if (view == null) + throw new NullPointerException("view is null"); + + CyNetwork network = view.getModel(); + long networkId = network.getSUID(); + + synchronized (this) { + if (!networkExists(networkId)) + addNetwork(network); + + networkViewMap.put(networkId, view); + } + + eh.fireSynchronousEvent(new NetworkViewAddedEvent( CyNetworkManagerImpl.this, view)); + } + + public RenderingEngine getCurrentRenderingEngine() { + return currentPresentation; + } + + public void setCurrentRenderingEngine(RenderingEngine engine) { + this.currentPresentation = engine; + } +} Deleted: core3/session-impl/trunk/src/main/java/org/cytoscape/session/internal/NetworkManager.java =================================================================== --- core3/session-impl/trunk/src/main/java/org/cytoscape/session/internal/NetworkManager.java 2010-08-12 21:07:36 UTC (rev 21354) +++ core3/session-impl/trunk/src/main/java/org/cytoscape/session/internal/NetworkManager.java 2010-08-12 21:47:24 UTC (rev 21355) @@ -1,355 +0,0 @@ -/* - File: NetworkManager.java - - Copyright (c) 2006, 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.ArrayList; -import java.util.HashMap; -import java.util.HashSet; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; -import java.util.Set; - -import javax.swing.Renderer; - -import org.cytoscape.event.CyEventHelper; -import org.cytoscape.model.CyEdge; -import org.cytoscape.model.CyNetwork; -import org.cytoscape.model.CyNode; -import org.cytoscape.session.CyNetworkManager; -import org.cytoscape.session.events.NetworkAboutToBeDestroyedEvent; -import org.cytoscape.session.events.NetworkAboutToBeDestroyedListener; -import org.cytoscape.session.events.NetworkAddedEvent; -import org.cytoscape.session.events.NetworkAddedListener; -import org.cytoscape.session.events.NetworkDestroyedEvent; -import org.cytoscape.session.events.NetworkDestroyedListener; -import org.cytoscape.session.events.NetworkViewAboutToBeDestroyedEvent; -import org.cytoscape.session.events.NetworkViewAboutToBeDestroyedListener; -import org.cytoscape.session.events.NetworkViewAddedEvent; -import org.cytoscape.session.events.NetworkViewAddedListener; -import org.cytoscape.session.events.NetworkViewDestroyedEvent; -import org.cytoscape.session.events.NetworkViewDestroyedListener; -import org.cytoscape.session.events.SetCurrentNetworkEvent; -import org.cytoscape.session.events.SetCurrentNetworkListener; -import org.cytoscape.session.events.SetCurrentNetworkViewEvent; -import org.cytoscape.session.events.SetCurrentNetworkViewListener; -import org.cytoscape.session.events.SetSelectedNetworkViewsEvent; -import org.cytoscape.session.events.SetSelectedNetworkViewsListener; -import org.cytoscape.session.events.SetSelectedNetworksEvent; -import org.cytoscape.session.events.SetSelectedNetworksListener; -import org.cytoscape.view.model.CyNetworkView; -import org.cytoscape.view.presentation.RenderingEngine; - -public class NetworkManager implements CyNetworkManager { - - private final Map<Long, CyNetworkView> networkViewMap; - private final Map<Long, CyNetwork> networkMap; - - private final List<CyNetworkView> selectedNetworkViews; - private final List<CyNetwork> selectedNetworks; - - private final CyEventHelper eh; - - private CyNetwork currentNetwork; - private CyNetworkView currentNetworkView; - private RenderingEngine currentPresentation; - - public NetworkManager(final CyEventHelper eh) { - networkMap = new HashMap<Long, CyNetwork>(); - networkViewMap = new HashMap<Long, CyNetworkView>(); - selectedNetworkViews = new LinkedList<CyNetworkView>(); - selectedNetworks = new LinkedList<CyNetwork>(); - currentNetwork = null; - currentNetworkView = null; - this.currentPresentation = null; - this.eh = eh; - } - - public synchronized CyNetwork getCurrentNetwork() { - return currentNetwork; - } - - public void setCurrentNetwork(final long networkId) { - synchronized (this) { - if (!networkMap.containsKey(networkId)) - throw new IllegalArgumentException( - "network is not recognized by this NetworkManager"); - - System.out.println("setting current network: " + networkId); - currentNetwork = networkMap.get(networkId); - - // reset selected networks - selectedNetworks.clear(); - selectedNetworks.add(currentNetwork); - } - - eh.fireSynchronousEvent(new SetCurrentNetworkEvent(NetworkManager.this,currentNetwork)); - } - - public synchronized Set<CyNetwork> getNetworkSet() { - return new HashSet<CyNetwork>(networkMap.values()); - } - - public synchronized Set<CyNetworkView> getNetworkViewSet() { - return new HashSet<CyNetworkView>(networkViewMap.values()); - } - - public synchronized CyNetwork getNetwork(long id) { - return networkMap.get(id); - } - - public synchronized CyNetworkView getNetworkView(long network_id) { - return networkViewMap.get(network_id); - } - - public synchronized boolean networkExists(long network_id) { - return networkMap.containsKey(network_id); - } - - public synchronized boolean viewExists(long network_id) { - return networkViewMap.containsKey(network_id); - } - - public synchronized CyNetworkView getCurrentNetworkView() { - return currentNetworkView; - } - - public void setCurrentNetworkView(final long viewId) { - synchronized (this) { - if (!networkMap.containsKey(viewId) - || !networkViewMap.containsKey(viewId)) - throw new IllegalArgumentException( - "network view is not recognized by this NetworkManager"); - - System.out.println("setting current network view: " - + networkViewMap.get(viewId)); - - setCurrentNetwork(viewId); - - currentNetworkView = networkViewMap.get(viewId); - - // reset selected network views - selectedNetworkViews.clear(); - selectedNetworkViews.add(currentNetworkView); - } - - eh.fireSynchronousEvent(new SetCurrentNetworkViewEvent(NetworkManager.this,currentNetworkView)); - } - - public synchronized List<CyNetworkView> getSelectedNetworkViews() { - return new ArrayList<CyNetworkView>(selectedNetworkViews); - } - - public void setSelectedNetworkViews(final List<Long> viewIDs) { - - if (viewIDs == null) - return; - - synchronized (this) { - - selectedNetworkViews.clear(); - - for (Long id : viewIDs) { - CyNetworkView nview = networkViewMap.get(id); - - if (nview != null) - selectedNetworkViews.add(nview); - } - - CyNetworkView cv = getCurrentNetworkView(); - - if (!selectedNetworkViews.contains(cv)) { - selectedNetworkViews.add(cv); - } - } - - eh.fireSynchronousEvent(new SetSelectedNetworkViewsEvent(NetworkManager.this, new ArrayList<CyNetworkView>(selectedNetworkViews))); - } - - public synchronized List<CyNetwork> getSelectedNetworks() { - return new ArrayList<CyNetwork>(selectedNetworks); - } - - public void setSelectedNetworks(final List<Long> ids) { - - if (ids == null) - return; - - synchronized (this) { - selectedNetworks.clear(); - - for (Long id : ids) { - CyNetwork n = networkMap.get(id); - - if (n != null) - selectedNetworks.add(n); - } - - CyNetwork cn = currentNetwork; - - if (!selectedNetworks.contains(cn)) - selectedNetworks.add(cn); - } - - eh.fireSynchronousEvent(new SetSelectedNetworksEvent(NetworkManager.this, new ArrayList<CyNetwork>(selectedNetworks))); - } - - // TODO - // Does this need to distinguish between root networks and subnetworks? - public void destroyNetwork(CyNetwork network) { - if (network == null) - throw new NullPointerException("network is null"); - - final Long networkId = network.getSUID(); - - synchronized (this) { - if (!networkMap.containsKey(networkId)) - throw new IllegalArgumentException( - "network is not recognized by this NetworkManager"); - - // TODO firing an event from within a lock!!!! - final CyNetwork toDestroy = network; - eh.fireSynchronousEvent(new NetworkAboutToBeDestroyedEvent(NetworkManager.this, toDestroy)); - selectedNetworks.remove(network); - - for (CyNode n : network.getNodeList()) - n.attrs().set("selected", false); - for (CyEdge e : network.getEdgeList()) - e.attrs().set("selected", false); - - networkMap.remove(networkId); - - if (network == currentNetwork) { - if (networkMap.size() <= 0) { - currentNetwork = null; - } else { - // randomly pick a network to become the current network - for (CyNetwork net : networkMap.values()) { - currentNetwork = net; - break; - } - } - } - - if (viewExists(networkId)) - destroyNetworkView(networkViewMap.get(networkId)); - - network = null; - } - - // lets everyone know that *A* network is gone - eh.fireSynchronousEvent(new NetworkDestroyedEvent( NetworkManager.this )); - } - - public void destroyNetworkView(CyNetworkView view) { - - if (view == null) - throw new NullPointerException("view is null"); - - final Long viewID = view.getModel().getSUID(); - - synchronized (this) { - if (!networkViewMap.containsKey(viewID)) - throw new IllegalArgumentException( - "network view is not recognized by this NetworkManager"); - - // TODO firing an event from within a lock!!!! - final CyNetworkView toDestroy = view; - eh.fireSynchronousEvent(new NetworkViewAboutToBeDestroyedEvent(NetworkManager.this, toDestroy)); - - selectedNetworkViews.remove(view); - - if (view.equals(currentNetworkView)) { - if (networkViewMap.size() <= 0 || currentNetwork == null) - currentNetworkView = null; - else { - // depending on which randomly chosen currentNetwork we get, - // we may or may not have a view for it. - CyNetworkView newCurr = networkViewMap.get(currentNetwork - .getSUID()); - - if (newCurr != null) - currentNetworkView = newCurr; - else - currentNetworkView = null; - } - } - - networkViewMap.remove(viewID); - view = null; - } - - eh.fireSynchronousEvent(new NetworkViewDestroyedEvent( NetworkManager.this )); - } - - public void addNetwork(final CyNetwork network) { - if (network == null) - throw new NullPointerException("network is null"); - - synchronized (this) { - networkMap.put(network.getSUID(), network); - } - - eh.fireSynchronousEvent(new NetworkAddedEvent(NetworkManager.this, network)); - } - - public void addNetworkView(final CyNetworkView view) { - if (view == null) - throw new NullPointerException("view is null"); - - CyNetwork network = view.getModel(); - long networkId = network.getSUID(); - - synchronized (this) { - if (!networkExists(networkId)) - addNetwork(network); - - networkViewMap.put(networkId, view); - } - - eh.fireSynchronousEvent(new NetworkViewAddedEvent( NetworkManager.this, view)); - } - - public RenderingEngine getCurrentPresentation() { - return currentPresentation; - } - - public void setCurrentPresentation(RenderingEngine engine) { - this.currentPresentation = engine; - } -} Modified: core3/vizmap-gui-impl/trunk/src/main/java/org/cytoscape/view/vizmap/gui/internal/DefaultViewEditorImpl.java =================================================================== --- core3/vizmap-gui-impl/trunk/src/main/java/org/cytoscape/view/vizmap/gui/internal/DefaultViewEditorImpl.java 2010-08-12 21:07:36 UTC (rev 21354) +++ core3/vizmap-gui-impl/trunk/src/main/java/org/cytoscape/view/vizmap/gui/internal/DefaultViewEditorImpl.java 2010-08-12 21:47:24 UTC (rev 21355) @@ -608,7 +608,7 @@ vp = (VisualProperty<?>) value; RenderingEngine presentation = cyNetworkManager - .getCurrentPresentation(); + .getCurrentRenderingEngine(); icon = presentation.createIcon(vp); } setText(vp.getDisplayName() + " = " Modified: core3/vizmap-gui-impl/trunk/src/main/java/org/cytoscape/view/vizmap/gui/internal/VizMapPropertySheetBuilder.java =================================================================== --- core3/vizmap-gui-impl/trunk/src/main/java/org/cytoscape/view/vizmap/gui/internal/VizMapPropertySheetBuilder.java 2010-08-12 21:07:36 UTC (rev 21354) +++ core3/vizmap-gui-impl/trunk/src/main/java/org/cytoscape/view/vizmap/gui/internal/VizMapPropertySheetBuilder.java 2010-08-12 21:47:24 UTC (rev 21355) @@ -100,7 +100,7 @@ public void setPropertyTable() { System.out.println("!!!!!!!!!!!! Current Style = " + selectedStyle); - if(selectedStyle == null || cyNetworkManager.getCurrentPresentation() == null) + if(selectedStyle == null || cyNetworkManager.getCurrentRenderingEngine() == null) return; setPropertySheetAppearence(); @@ -307,7 +307,7 @@ VisualMappingFunction<?, ?> mapping = null; - VisualLexicon lex = this.cyNetworkManager.getCurrentPresentation().getVisualLexicon(); + VisualLexicon lex = this.cyNetworkManager.getCurrentRenderingEngine().getVisualLexicon(); for (VisualProperty<?> type : lex.getAllVisualProperties()) { mapping = selectedStyle.getVisualMappingFunction(type); Modified: cytoscape3/trunk/application/src/main/java/cytoscape/internal/actions/PrintAction.java =================================================================== --- cytoscape3/trunk/application/src/main/java/cytoscape/internal/actions/PrintAction.java 2010-08-12 21:07:36 UTC (rev 21354) +++ cytoscape3/trunk/application/src/main/java/cytoscape/internal/actions/PrintAction.java 2010-08-12 21:47:24 UTC (rev 21355) @@ -85,7 +85,7 @@ * DOCUMENT ME! */ public void actionPerformed(ActionEvent e) { - RenderingEngine engine = cyNetworkMgr.getCurrentPresentation(); + RenderingEngine engine = cyNetworkMgr.getCurrentRenderingEngine(); PrinterJob printJob = PrinterJob.getPrinterJob(); Modified: cytoscape3/trunk/application/src/main/java/cytoscape/internal/view/NetworkViewManager.java =================================================================== --- cytoscape3/trunk/application/src/main/java/cytoscape/internal/view/NetworkViewManager.java 2010-08-12 21:07:36 UTC (rev 21354) +++ cytoscape3/trunk/application/src/main/java/cytoscape/internal/view/NetworkViewManager.java 2010-08-12 21:47:24 UTC (rev 21355) @@ -427,7 +427,7 @@ Long sourceNetwork = view.getModel().getSUID(); netmgr.setCurrentNetworkView(sourceNetwork); - netmgr.setCurrentPresentation(presentationMap.get(sourceNetwork)); + netmgr.setCurrentRenderingEngine(presentationMap.get(sourceNetwork)); updateNetworkTitle( view.getModel() ); -- 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.
