Author: clopes
Date: 2012-07-17 15:59:15 -0700 (Tue, 17 Jul 2012)
New Revision: 29915
Modified:
core3/impl/trunk/vizmap-impl/impl/src/main/java/org/cytoscape/view/vizmap/internal/ApplyToNetworkHandler.java
Log:
Fixed a NullPointerException that could happen while applying a visual style.
Modified:
core3/impl/trunk/vizmap-impl/impl/src/main/java/org/cytoscape/view/vizmap/internal/ApplyToNetworkHandler.java
===================================================================
---
core3/impl/trunk/vizmap-impl/impl/src/main/java/org/cytoscape/view/vizmap/internal/ApplyToNetworkHandler.java
2012-07-17 22:46:11 UTC (rev 29914)
+++
core3/impl/trunk/vizmap-impl/impl/src/main/java/org/cytoscape/view/vizmap/internal/ApplyToNetworkHandler.java
2012-07-17 22:59:15 UTC (rev 29915)
@@ -27,7 +27,6 @@
private static final Logger logger =
LoggerFactory.getLogger(ApplyToNetworkHandler.class);
- private Map<VisualProperty<?>, VisualPropertyDependency<?>>
dependencyMap;
ApplyToNetworkHandler(VisualStyle style, VisualLexiconManager
lexManager) {
super(style, lexManager);
@@ -37,9 +36,7 @@
public void apply(final CyRow row, final View<CyNetwork> view) {
final long start = System.currentTimeMillis();
- dependencyMap = new HashMap<VisualProperty<?>,
VisualPropertyDependency<?>>();
-
- CyNetworkView netView = (CyNetworkView) view;
+ final CyNetworkView netView = (CyNetworkView) view;
final Collection<View<CyNode>> nodeViews =
netView.getNodeViews();
final Collection<View<CyEdge>> edgeViews =
netView.getEdgeViews();
final Collection<View<CyNetwork>> networkViewSet = new
HashSet<View<CyNetwork>>();
@@ -49,14 +46,12 @@
applyViewDefaults(netView,
lexManager.getEdgeVisualProperties());
applyViewDefaults(netView,
lexManager.getNetworkVisualProperties());
- applyDependencies(netView);
+ final Map<VisualProperty<?>, VisualPropertyDependency<?>>
dependencyMap = applyDependencies(netView);
- applyMappings(netView, nodeViews,
lexManager.getNodeVisualProperties());
- applyMappings(netView, edgeViews,
lexManager.getEdgeVisualProperties());
- applyMappings(netView, networkViewSet,
lexManager.getNetworkVisualProperties());
+ applyMappings(netView, nodeViews,
lexManager.getNodeVisualProperties(), dependencyMap);
+ applyMappings(netView, edgeViews,
lexManager.getEdgeVisualProperties(), dependencyMap);
+ applyMappings(netView, networkViewSet,
lexManager.getNetworkVisualProperties(), dependencyMap);
- dependencyMap = null;
-
logger.info("Visual Style applied in " +
(System.currentTimeMillis() - start) + " msec.");
}
@@ -82,8 +77,9 @@
}
private void applyMappings(final CyNetworkView netView,
- final Collection<? extends View<? extends
CyIdentifiable>> views,
- final Collection<VisualProperty<?>> visualProperties) {
+ final Collection<?
extends View<? extends CyIdentifiable>> views,
+ final
Collection<VisualProperty<?>> visualProperties,
+ final
Map<VisualProperty<?>, VisualPropertyDependency<?>> dependencyMap) {
for (VisualProperty<?> vp : visualProperties) {
final VisualPropertyDependency<?> dep =
dependencyMap.get(vp);
@@ -105,12 +101,14 @@
}
}
- private void applyDependencies(final CyNetworkView netView) {
+ private Map<VisualProperty<?>, VisualPropertyDependency<?>>
applyDependencies(final CyNetworkView netView) {
+ final Map<VisualProperty<?>, VisualPropertyDependency<?>>
dependencyMap =
+ new HashMap<VisualProperty<?>,
VisualPropertyDependency<?>>();
final Set<VisualPropertyDependency<?>> dependencies =
style.getAllVisualPropertyDependencies();
for (final VisualPropertyDependency<?> dep : dependencies) {
final VisualProperty<?> parentVP =
dep.getParentVisualProperty();
- dependencyMap.put(parentVP, dep);
+ dependencyMap.put(parentVP, dep); // Index the
dependencies by their visual properties
if (dep.isDependencyEnabled()) {
final Set<VisualProperty<?>> vpSet = new
HashSet<VisualProperty<?>>(dep.getVisualProperties());
@@ -150,5 +148,7 @@
}
}
}
+
+ return dependencyMap;
}
}
--
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.