Author: clopes
Date: 2012-07-11 12:07:58 -0700 (Wed, 11 Jul 2012)
New Revision: 29839
Modified:
core3/impl/trunk/group-session-restore-shim/
core3/impl/trunk/group-session-restore-shim/src/main/java/org/cytoscape/group/session/restore/shim/internal/SessionEventsListener.java
Log:
Minor changes to support old Cy2 edge Ids (serialized as strings) when
retrieving the external edges from groups metadata (see bug #727).
Property changes on: core3/impl/trunk/group-session-restore-shim
___________________________________________________________________
Modified: svn:ignore
- target
+ target
.settings
.classpath
.project
Modified:
core3/impl/trunk/group-session-restore-shim/src/main/java/org/cytoscape/group/session/restore/shim/internal/SessionEventsListener.java
===================================================================
---
core3/impl/trunk/group-session-restore-shim/src/main/java/org/cytoscape/group/session/restore/shim/internal/SessionEventsListener.java
2012-07-11 18:57:55 UTC (rev 29838)
+++
core3/impl/trunk/group-session-restore-shim/src/main/java/org/cytoscape/group/session/restore/shim/internal/SessionEventsListener.java
2012-07-11 19:07:58 UTC (rev 29839)
@@ -88,14 +88,22 @@
// Create the group
final CyGroup group = groupFactory.createGroup(net, n,
true);
- // Add in the missing external edges if we're collsped
+ // Add in the missing external edges if we're collapsed
// CyRow groupNodeRow = net.getRow(n,
CyNetwork.HIDDEN_ATTRS);
if (rnRow.isSet(EXTERNAL_EDGE_ATTRIBUTE)) {
- List<Long> externalSUIDs =
rnRow.getList(EXTERNAL_EDGE_ATTRIBUTE, Long.class);
+ Class<?> listType =
rnRow.getTable().getColumn(EXTERNAL_EDGE_ATTRIBUTE).getListElementType();
+ List<?> externalIDs =
rnRow.getList(EXTERNAL_EDGE_ATTRIBUTE, listType);
List<CyEdge> externalEdges = new
ArrayList<CyEdge>();
- for (Long oldSUID: externalSUIDs) {
- CyEdge newEdge =
sess.getObject(oldSUID, CyEdge.class);
- externalEdges.add(newEdge);
+ for (Object oldId: externalIDs) {
+ CyEdge newEdge = null;
+
+ if (oldId instanceof Long) // Cy3 old
edge IDs are SUIDs
+ newEdge =
sess.getObject((Long)oldId, CyEdge.class);
+ else // Cy2 uses edge labels as IDs
+ newEdge =
sess.getObject(oldId.toString(), CyEdge.class);
+
+ if (newEdge != null)
+ externalEdges.add(newEdge);
}
group.addEdges(externalEdges);
}
--
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.