Author: clopes
Date: 2012-05-16 14:26:43 -0700 (Wed, 16 May 2012)
New Revision: 29275
Modified:
core3/impl/trunk/application-impl/src/main/java/org/cytoscape/application/internal/CyApplicationManagerImpl.java
core3/impl/trunk/application-impl/src/test/java/org/cytoscape/application/internal/CyApplicationManagerImplTest.java
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/DGraphView.java
core3/impl/trunk/webservice-biomart-client-impl/src/main/java/org/cytoscape/io/webservice/biomart/ui/AttributeImportPanel.java
Log:
Fixes #986 : "Destroy View" option enabled for networks that have no view.
Biomart import panel: Column names combo box cleared when there is no network.
Overwrites DGraphView.toString().
Modified:
core3/impl/trunk/application-impl/src/main/java/org/cytoscape/application/internal/CyApplicationManagerImpl.java
===================================================================
---
core3/impl/trunk/application-impl/src/main/java/org/cytoscape/application/internal/CyApplicationManagerImpl.java
2012-05-16 20:12:19 UTC (rev 29274)
+++
core3/impl/trunk/application-impl/src/main/java/org/cytoscape/application/internal/CyApplicationManagerImpl.java
2012-05-16 21:26:43 UTC (rev 29275)
@@ -112,82 +112,27 @@
@Override
public void handleEvent(final NetworkAboutToBeDestroyedEvent event) {
final CyNetwork toBeDestroyed = event.getNetwork();
- boolean changed = false;
synchronized (this) {
- if (toBeDestroyed == currentNetwork) {
- changed = true;
- currentNetwork = null;
- currentNetworkView = null;
-
- final Set<CyNetworkView> networkViews =
networkViewManager.getNetworkViewSet();
-
- for (final CyNetworkView view : networkViews) {
- if (view.getModel() != toBeDestroyed) {
- currentNetworkView = view;
- currentNetwork =
view.getModel();
-
- break;
- }
- }
-
- if (currentNetwork == null) {
- final Set<CyNetwork> networks =
networkManager.getNetworkSet();
-
- for (final CyNetwork network :
networks) {
- if (network != toBeDestroyed) {
- currentNetwork =
network;
-
- break;
- }
- }
- }
+ logger.debug("NetworkAboutToBeDestroyedEvent: " +
toBeDestroyed + ". Current: " + currentNetwork);
+
+ if (toBeDestroyed.equals(currentNetwork)) {
+ setCurrentNetwork(null);
}
}
-
- if (changed) {
- cyEventHelper.fireEvent(new
SetCurrentNetworkViewEvent(this, currentNetworkView));
- }
}
@Override
public void handleEvent(final NetworkViewAboutToBeDestroyedEvent event)
{
final CyNetworkView toBeDestroyed = event.getNetworkView();
- boolean changed = false;
synchronized (this) {
- if (toBeDestroyed == currentNetworkView) {
- changed = true;
- currentNetworkView = null;
-
- final Set<CyNetworkView> networkViews =
networkViewManager.getNetworkViewSet();
-
- for (final CyNetworkView view : networkViews) {
- if (view != toBeDestroyed) {
- currentNetworkView = view;
- currentNetwork =
view.getModel();
-
- break;
- }
- }
-
- if (currentNetwork == null) {
- final Set<CyNetwork> networks =
networkManager.getNetworkSet();
-
- for (final CyNetwork network :
networks) {
- if (network !=
toBeDestroyed.getModel()) {
- currentNetwork =
network;
-
- break;
- }
- }
- }
+ logger.debug("NetworkViewAboutToBeDestroyedEvent: " +
toBeDestroyed + ". Current: " + currentNetworkView);
+
+ if (toBeDestroyed.equals(currentNetworkView)) {
+ setCurrentNetworkView(null);
}
}
-
- if (changed) {
- cyEventHelper.fireEvent(new
SetCurrentNetworkViewEvent(this, currentNetworkView));
- }
}
@Override
@@ -197,29 +142,29 @@
@Override
public void setCurrentNetwork(final CyNetwork network) {
- final long networkId = network.getSUID();
boolean changed = false;
synchronized (this) {
- if (!networkManager.networkExists(networkId))
- throw new IllegalArgumentException("Network is
not registered in this ApplicationManager: ID = "
- + networkId);
+ if (network != null &&
!networkManager.networkExists(network.getSUID()))
+ throw new IllegalArgumentException("Network is
not registered in this ApplicationManager: " + network);
- changed = !network.equals(currentNetwork);
+ logger.info("Set current network called: " + network);
+ changed = (network == null && currentNetwork != null)
|| (network != null && !network.equals(currentNetwork));
- logger.info("Set current network called. Current
network ID = " + networkId);
currentNetwork = network;
- final Collection<CyNetworkView> views =
networkViewManager.getNetworkViews(network);
- if (views.size() != 0)
- currentNetworkView = views.iterator().next();
-
- // reset selected networks
- selectNetworks(Arrays.asList(new CyNetwork[]{
currentNetwork }));
+ if (network != null) {
+ final Collection<CyNetworkView> views =
networkViewManager.getNetworkViews(network);
+ currentNetworkView = views.isEmpty() ? null :
views.iterator().next();
+ // reset selected networks
+ selectNetworks(Arrays.asList(new CyNetwork[]{
network }));
+ } else {
+ currentNetworkView = null;
+ }
}
if (changed) {
- logger.debug("Current network is set. Firing
SetCurrentNetworkEvent: Network ID = " + networkId);
+ logger.debug("Current network is set. Firing
SetCurrentNetworkEvent: " + network);
cyEventHelper.fireEvent(new
SetCurrentNetworkEvent(this, currentNetwork));
}
}
@@ -231,31 +176,28 @@
@Override
public void setCurrentNetworkView(final CyNetworkView view) {
- if (view == null) {
- logger.warn("View was null - not setting current
network view.");
- return;
- }
-
boolean changed = false;
synchronized (this) {
- if
(!networkManager.networkExists(view.getModel().getSUID()))
+ if (view != null &&
!networkManager.networkExists(view.getModel().getSUID()))
throw new IllegalArgumentException("network is
not recognized by this ApplicationManager");
- logger.debug("Set current network view called: View ID
= " + view.getSUID());
+ logger.debug("Set current network view called: " +
view);
- changed = !view.equals(currentNetworkView);
-
+ changed = (view == null && currentNetworkView != null)
|| (view != null && !view.equals(currentNetworkView));
currentNetworkView = view;
- setCurrentNetwork(view.getModel());
// reset selected network views
selectedNetworkViews.clear();
- selectedNetworkViews.add(currentNetworkView);
+
+ if (view != null) {
+ selectedNetworkViews.add(currentNetworkView);
+ setCurrentNetwork(view.getModel());
+ }
}
if (changed) {
- logger.debug("Current network view is set. Firing
SetCurrentNetworkViewEvent: View ID = " + view.getSUID());
+ logger.debug("Current network view is set. Firing
SetCurrentNetworkViewEvent: " + view);
cyEventHelper.fireEvent(new
SetCurrentNetworkViewEvent(this, currentNetworkView));
}
}
Modified:
core3/impl/trunk/application-impl/src/test/java/org/cytoscape/application/internal/CyApplicationManagerImplTest.java
===================================================================
---
core3/impl/trunk/application-impl/src/test/java/org/cytoscape/application/internal/CyApplicationManagerImplTest.java
2012-05-16 20:12:19 UTC (rev 29274)
+++
core3/impl/trunk/application-impl/src/test/java/org/cytoscape/application/internal/CyApplicationManagerImplTest.java
2012-05-16 21:26:43 UTC (rev 29275)
@@ -69,19 +69,20 @@
@Test
public void testSetNullCurrentNetwork() {
- try {
- appMgr.setCurrentNetwork(null);
- fail("Should hgave thrown NullPointerException");
- } catch (NullPointerException e) { }
+ appMgr.setCurrentNetwork(newNetwork());
+ appMgr.setCurrentNetworkView(newNetworkView());
+ appMgr.setCurrentNetwork(null);
+ assertNull(appMgr.getCurrentNetwork());
+ assertNull(appMgr.getCurrentNetworkView());
}
@Test
public void testSetNullCurrentNetworkView() {
final CyNetworkView view = newNetworkView();
appMgr.setCurrentNetworkView(view);
- assertNotNull(appMgr.getCurrentNetworkView());
appMgr.setCurrentNetworkView(null);
- assertEquals(view, appMgr.getCurrentNetworkView());
+ assertNull(appMgr.getCurrentNetworkView());
+ assertEquals(view.getModel(), appMgr.getCurrentNetwork());
}
@Test
Modified:
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/DGraphView.java
===================================================================
---
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/DGraphView.java
2012-05-16 20:12:19 UTC (rev 29274)
+++
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/DGraphView.java
2012-05-16 21:26:43 UTC (rev 29275)
@@ -2692,4 +2692,9 @@
public CyAnnotator getCyAnnotator() {
return cyAnnotator;
}
+
+ @Override
+ public String toString() {
+ return "DGraphView: suid=" + suid + ", model=" + model;
+ }
}
Modified:
core3/impl/trunk/webservice-biomart-client-impl/src/main/java/org/cytoscape/io/webservice/biomart/ui/AttributeImportPanel.java
===================================================================
---
core3/impl/trunk/webservice-biomart-client-impl/src/main/java/org/cytoscape/io/webservice/biomart/ui/AttributeImportPanel.java
2012-05-16 20:12:19 UTC (rev 29274)
+++
core3/impl/trunk/webservice-biomart-client-impl/src/main/java/org/cytoscape/io/webservice/biomart/ui/AttributeImportPanel.java
2012-05-16 21:26:43 UTC (rev 29275)
@@ -406,17 +406,20 @@
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
-
updateColumnList(e.getNetwork().getDefaultNodeTable());
+ updateColumnList(e.getNetwork() != null ?
e.getNetwork().getDefaultNodeTable() : null);
}
});
}
private void updateColumnList(final CyTable currentNodeTable) {
final SortedSet<String> attrNameSet = new TreeSet<String>();
- final Collection<CyColumn> columns =
currentNodeTable.getColumns();
- for(CyColumn col: columns)
- attrNameSet.add(col.getName());
+ if (currentNodeTable != null) {
+ final Collection<CyColumn> columns =
currentNodeTable.getColumns();
+
+ for (CyColumn col: columns)
+ attrNameSet.add(col.getName());
+ }
columnNameComboBox.removeAllItems();
--
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.