Author: jm
Date: 2011-06-30 10:51:40 -0700 (Thu, 30 Jun 2011)
New Revision: 25983
Modified:
cytoscape/trunk/coreplugins/PSI-MI/src/main/java/org/cytoscape/coreplugin/psi_mi/cyto_mapper/MapFromCytoscape.java
Log:
Fix for ticket id 0002550: Fixed bug with attribute transfer code so it can
properly handle MultiHashMaps
Modified:
cytoscape/trunk/coreplugins/PSI-MI/src/main/java/org/cytoscape/coreplugin/psi_mi/cyto_mapper/MapFromCytoscape.java
===================================================================
---
cytoscape/trunk/coreplugins/PSI-MI/src/main/java/org/cytoscape/coreplugin/psi_mi/cyto_mapper/MapFromCytoscape.java
2011-06-30 15:53:23 UTC (rev 25982)
+++
cytoscape/trunk/coreplugins/PSI-MI/src/main/java/org/cytoscape/coreplugin/psi_mi/cyto_mapper/MapFromCytoscape.java
2011-06-30 17:51:40 UTC (rev 25983)
@@ -39,7 +39,12 @@
import cytoscape.CyNode;
import cytoscape.Cytoscape;
+import cytoscape.data.AttributeValueVisitor;
import cytoscape.data.CyAttributes;
+import cytoscape.data.CyAttributesUtils;
+import cytoscape.data.attr.CountedIterator;
+import cytoscape.data.attr.MultiHashMap;
+import cytoscape.data.attr.MultiHashMapDefinition;
import org.cytoscape.coreplugin.psi_mi.data_mapper.Mapper;
import org.cytoscape.coreplugin.psi_mi.model.AttributeBag;
@@ -148,7 +153,7 @@
* Transfers all Node / Edge Attributes.
*/
private void transferAllAttributes(String[] attributeNames,
CyAttributes attributes,
- String nodeName, AttributeBag bag) {
+ String nodeName, final AttributeBag
bag) {
List dbNames = null;
List dbIds = null;
@@ -160,8 +165,12 @@
} else if
(attributeName.equals(CommonVocab.XREF_DB_ID)) {
dbIds = attributes.getListAttribute(nodeName,
attributeName);
} else {
- String value =
attributes.getStringAttribute(nodeName, attributeName);
- bag.addAttribute(attributeName, value);
+
CyAttributesUtils.traverseAttributeValues(nodeName, attributeName, attributes,
new AttributeValueVisitor() {
+ @Override
+ public void
visitingAttributeValue(String objTraverseID, String attrName, CyAttributes
attrs, Object[] keySpace, Object visitedValue) {
+ bag.addAttribute(attrName,
visitedValue);
+ }
+ });
}
}
--
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.