Author: mes
Date: 2011-06-21 15:35:36 -0700 (Tue, 21 Jun 2011)
New Revision: 25845

Added:
   
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/AboutToRemoveEdgeViewsEvent.java
   
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/AboutToRemoveEdgeViewsListener.java
   
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/AboutToRemoveNodeViewsEvent.java
   
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/AboutToRemoveNodeViewsListener.java
   
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/AddedEdgeViewsEvent.java
   
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/AddedEdgeViewsListener.java
   
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/AddedNodeViewsEvent.java
   
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/AddedNodeViewsListener.java
   
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/EdgeViewsChangedEvent.java
   
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/EdgeViewsChangedListener.java
   
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/NetworkViewChangedEvent.java
   
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/NetworkViewChangedListener.java
   
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/NodeViewsChangedEvent.java
   
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/NodeViewsChangedListener.java
   
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/ViewChangeRecord.java
   
core3/viewmodel-api/trunk/src/test/java/org/cytoscape/view/model/events/AddedEdgeViewsEventTest.java
   
core3/viewmodel-api/trunk/src/test/java/org/cytoscape/view/model/events/AddedNodeViewsEventTest.java
   
core3/viewmodel-api/trunk/src/test/java/org/cytoscape/view/model/events/FitContentEventTest.java
   
core3/viewmodel-api/trunk/src/test/java/org/cytoscape/view/model/events/FitSelectedEventTest.java
   
core3/viewmodel-api/trunk/src/test/java/org/cytoscape/view/model/events/UpdateNetworkPresentationEventTest.java
   
core3/viewmodel-api/trunk/src/test/java/org/cytoscape/view/model/events/ViewChangeRecordTest.java
Removed:
   
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/AboutToRemoveEdgeViewMicroListener.java
   
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/AboutToRemoveNodeViewMicroListener.java
   
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/AddedEdgeViewEvent.java
   
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/AddedEdgeViewListener.java
   
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/AddedNodeViewEvent.java
   
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/AddedNodeViewListener.java
   
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/EdgeViewChangeMicroListener.java
   
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/NetworkViewChangeMicroListener.java
   
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/NodeViewChangeMicroListener.java
   
core3/viewmodel-api/trunk/src/test/java/org/cytoscape/view/model/ViewModelEventsTest.java
Modified:
   
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/AbstractNetworkViewEvent.java
   
core3/viewmodel-api/trunk/src/test/java/org/cytoscape/view/model/events/AbstractNetworkViewEventTest.java
Log:
updated to for event-api changes that rely on payload events instead of 
microlisteners

Deleted: 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/AboutToRemoveEdgeViewMicroListener.java
===================================================================
--- 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/AboutToRemoveEdgeViewMicroListener.java
     2011-06-21 22:35:13 UTC (rev 25844)
+++ 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/AboutToRemoveEdgeViewMicroListener.java
     2011-06-21 22:35:36 UTC (rev 25845)
@@ -1,13 +0,0 @@
-package org.cytoscape.view.model.events;
-
-
-import org.cytoscape.event.CyMicroListener;
-import org.cytoscape.model.CyEdge;
-import org.cytoscape.view.model.CyNetworkView;
-import org.cytoscape.view.model.View;
-
-
-/** Micro Listener for edge view destruction. */
-public interface AboutToRemoveEdgeViewMicroListener extends CyMicroListener {
-       void edgeViewAboutToBeRemoved(final View<CyEdge> edgeView, final 
CyNetworkView networkView);
-}

Added: 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/AboutToRemoveEdgeViewsEvent.java
===================================================================
--- 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/AboutToRemoveEdgeViewsEvent.java
                            (rev 0)
+++ 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/AboutToRemoveEdgeViewsEvent.java
    2011-06-21 22:35:36 UTC (rev 25845)
@@ -0,0 +1,26 @@
+package org.cytoscape.view.model.events;
+
+import java.util.Collection;
+
+import org.cytoscape.event.AbstractCyEvent;
+import org.cytoscape.event.AbstractCyPayloadEvent;
+import org.cytoscape.view.model.CyNetworkView;
+import org.cytoscape.view.model.View;
+import org.cytoscape.model.CyEdge;
+
+public class AboutToRemoveEdgeViewsEvent extends 
AbstractCyEvent<CyNetworkView> {
+       
+       private final Collection<View<CyEdge>> payload;
+       
+       public AboutToRemoveEdgeViewsEvent(CyNetworkView source, 
Collection<View<CyEdge>> payload) {
+               super(source,AboutToRemoveEdgeViewsListener.class);
+               if ( payload == null )
+                       throw new NullPointerException("edge view payload is 
null");
+               this.payload = payload;
+       }
+       
+       public Collection<View<CyEdge>> getEdgeViews() {
+               return payload;
+       }
+
+}

Added: 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/AboutToRemoveEdgeViewsListener.java
===================================================================
--- 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/AboutToRemoveEdgeViewsListener.java
                         (rev 0)
+++ 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/AboutToRemoveEdgeViewsListener.java
 2011-06-21 22:35:36 UTC (rev 25845)
@@ -0,0 +1,8 @@
+package org.cytoscape.view.model.events;
+
+import org.cytoscape.event.CyListener;
+
+public interface AboutToRemoveEdgeViewsListener extends CyListener {
+
+       void handleEvent(AboutToRemoveEdgeViewsEvent e);
+}

Deleted: 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/AboutToRemoveNodeViewMicroListener.java
===================================================================
--- 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/AboutToRemoveNodeViewMicroListener.java
     2011-06-21 22:35:13 UTC (rev 25844)
+++ 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/AboutToRemoveNodeViewMicroListener.java
     2011-06-21 22:35:36 UTC (rev 25845)
@@ -1,13 +0,0 @@
-package org.cytoscape.view.model.events;
-
-
-import org.cytoscape.event.CyMicroListener;
-import org.cytoscape.model.CyNode;
-import org.cytoscape.view.model.CyNetworkView;
-import org.cytoscape.view.model.View;
-
-
-/** Micro Listener for node view destruction. */
-public interface AboutToRemoveNodeViewMicroListener extends CyMicroListener {
-       void nodeViewAboutToBeRemoved(final View<CyNode> nodeView, final 
CyNetworkView networkView);
-}

Added: 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/AboutToRemoveNodeViewsEvent.java
===================================================================
--- 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/AboutToRemoveNodeViewsEvent.java
                            (rev 0)
+++ 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/AboutToRemoveNodeViewsEvent.java
    2011-06-21 22:35:36 UTC (rev 25845)
@@ -0,0 +1,22 @@
+package org.cytoscape.view.model.events;
+
+import java.util.Collection;
+
+import org.cytoscape.event.AbstractCyEvent;
+import org.cytoscape.view.model.CyNetworkView;
+import org.cytoscape.view.model.View;
+import org.cytoscape.model.CyNode;
+
+public class AboutToRemoveNodeViewsEvent extends 
AbstractCyEvent<CyNetworkView> {
+
+       private final Collection<View<CyNode>> payload;
+       
+       public AboutToRemoveNodeViewsEvent(CyNetworkView source, 
Collection<View<CyNode>> payload) {
+               super(source,AboutToRemoveNodeViewsListener.class);             
+               this.payload = payload;
+       }
+       
+       public Collection<View<CyNode>> getNodeViews() {
+               return payload;
+       }
+}

Added: 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/AboutToRemoveNodeViewsListener.java
===================================================================
--- 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/AboutToRemoveNodeViewsListener.java
                         (rev 0)
+++ 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/AboutToRemoveNodeViewsListener.java
 2011-06-21 22:35:36 UTC (rev 25845)
@@ -0,0 +1,7 @@
+package org.cytoscape.view.model.events;
+
+import org.cytoscape.event.CyListener;
+
+public interface AboutToRemoveNodeViewsListener extends CyListener{
+       void handleEvent(AboutToRemoveNodeViewsEvent e);
+}

Modified: 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/AbstractNetworkViewEvent.java
===================================================================
--- 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/AbstractNetworkViewEvent.java
       2011-06-21 22:35:13 UTC (rev 25844)
+++ 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/AbstractNetworkViewEvent.java
       2011-06-21 22:35:36 UTC (rev 25845)
@@ -12,7 +12,7 @@
 class AbstractNetworkViewEvent extends AbstractCyEvent<CyNetworkViewManager> {
        private final CyNetworkView view;
 
-       AbstractNetworkViewEvent(final CyNetworkViewManager source, final Class 
listenerClass, final CyNetworkView view) {
+       AbstractNetworkViewEvent(final CyNetworkViewManager source, final 
Class<?> listenerClass, final CyNetworkView view) {
                super(source, listenerClass);
 
                if (view == null)

Deleted: 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/AddedEdgeViewEvent.java
===================================================================
--- 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/AddedEdgeViewEvent.java
     2011-06-21 22:35:13 UTC (rev 25844)
+++ 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/AddedEdgeViewEvent.java
     2011-06-21 22:35:36 UTC (rev 25845)
@@ -1,37 +0,0 @@
-
-package org.cytoscape.view.model.events;
-
-import org.cytoscape.event.AbstractCyEvent;
-import org.cytoscape.view.model.CyNetworkView;
-import org.cytoscape.view.model.View;
-import org.cytoscape.model.CyEdge;
-
-/**
- * When edge {@linkplain View} is added to a {@linkplain CyNetworkView}, this 
event will be fired.
- */
-public final class AddedEdgeViewEvent extends AbstractCyEvent<CyNetworkView> {
-       
-       private View<CyEdge> edgeView;
-       
-       /**
-        * Creates the event for a new edge view.
-        * 
-        * @param source network view which includes the new edge view.
-        * @param edgeView Newly created view object for an edge.
-        * 
-        */
-       public AddedEdgeViewEvent(final CyNetworkView source, final 
View<CyEdge> edgeView) {
-               super(source, AddedEdgeViewListener.class);
-               this.edgeView = edgeView;
-       }
-
-       /**
-        * Returns new edge view added to the source network view object.
-        * 
-        * @return new edge view added to the network view.
-        * 
-        */
-       public View<CyEdge> getEdgeView() {
-               return edgeView;
-       }
-}

Deleted: 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/AddedEdgeViewListener.java
===================================================================
--- 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/AddedEdgeViewListener.java
  2011-06-21 22:35:13 UTC (rev 25844)
+++ 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/AddedEdgeViewListener.java
  2011-06-21 22:35:36 UTC (rev 25845)
@@ -1,19 +0,0 @@
-
-package org.cytoscape.view.model.events;
-
-import org.cytoscape.event.CyListener;
-
-/**
- * Listener for {@linkplain AddedEdgeViewEvent}.
- *
- */
-public interface AddedEdgeViewListener extends CyListener {
-       
-       /**
-        * Process event
-        * 
-        * @param e
-        */
-       public void handleEvent(AddedEdgeViewEvent e);
-
-}

Copied: 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/AddedEdgeViewsEvent.java
 (from rev 25627, 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/AddedEdgeViewEvent.java)
===================================================================
--- 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/AddedEdgeViewsEvent.java
                            (rev 0)
+++ 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/AddedEdgeViewsEvent.java
    2011-06-21 22:35:36 UTC (rev 25845)
@@ -0,0 +1,38 @@
+
+package org.cytoscape.view.model.events;
+
+import java.util.Collection;
+
+import org.cytoscape.event.AbstractCyEvent;
+import org.cytoscape.event.AbstractCyPayloadEvent;
+import org.cytoscape.view.model.CyNetworkView;
+import org.cytoscape.view.model.View;
+import org.cytoscape.model.CyEdge;
+
+/**
+ * When edge {@linkplain View} is added to a {@linkplain CyNetworkView}, this 
event will be fired.
+ */
+public final class AddedEdgeViewsEvent extends 
AbstractCyPayloadEvent<CyNetworkView,View<CyEdge>> {
+       
+       
+       /**
+        * Creates the event for a new edge view.
+        * 
+        * @param source network view which includes the new edge view.
+        * @param edgeView Newly created view object for an edge.
+        * 
+        */
+       public AddedEdgeViewsEvent(final CyNetworkView source, final 
Collection<View<CyEdge>> edgeViews) {
+               super(source, AddedEdgeViewsListener.class, edgeViews);
+       }
+
+       /**
+        * Returns new edge view added to the source network view object.
+        * 
+        * @return new edge view added to the network view.
+        * 
+        */
+       public Collection<View<CyEdge>> getEdgeViews() {
+               return getPayloadCollection();
+       }
+}

Copied: 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/AddedEdgeViewsListener.java
 (from rev 25627, 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/AddedEdgeViewListener.java)
===================================================================
--- 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/AddedEdgeViewsListener.java
                         (rev 0)
+++ 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/AddedEdgeViewsListener.java
 2011-06-21 22:35:36 UTC (rev 25845)
@@ -0,0 +1,19 @@
+
+package org.cytoscape.view.model.events;
+
+import org.cytoscape.event.CyListener;
+
+/**
+ * Listener for {@linkplain AddedEdgeViewsEvent}.
+ *
+ */
+public interface AddedEdgeViewsListener extends CyListener {
+       
+       /**
+        * Process event
+        * 
+        * @param e
+        */
+       public void handleEvent(AddedEdgeViewsEvent e);
+
+}

Deleted: 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/AddedNodeViewEvent.java
===================================================================
--- 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/AddedNodeViewEvent.java
     2011-06-21 22:35:13 UTC (rev 25844)
+++ 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/AddedNodeViewEvent.java
     2011-06-21 22:35:36 UTC (rev 25845)
@@ -1,35 +0,0 @@
-package org.cytoscape.view.model.events;
-
-import org.cytoscape.event.AbstractCyEvent;
-import org.cytoscape.view.model.CyNetworkView;
-import org.cytoscape.view.model.View;
-import org.cytoscape.model.CyNode;
-
-/**
- * When node {@linkplain View} is added to a {@linkplain CyNetworkView}, this 
event will be fired.
- */
-public final class AddedNodeViewEvent extends AbstractCyEvent<CyNetworkView> {
-
-       private final View<CyNode> nodeView;
-
-       /**
-        * Creates the event for a new node view.
-        * 
-        * @param source network view which includes the new node view.
-        * @param nodeView Newly created view object for a node.
-        * 
-        */
-       public AddedNodeViewEvent(final CyNetworkView source, final 
View<CyNode> nodeView) {
-               super(source, AddedNodeViewListener.class);
-               this.nodeView = nodeView;
-       }
-
-       /**
-        * Returns new node view object.
-        * 
-        * @return new node view
-        */
-       public View<CyNode> getNodeView() {
-               return nodeView;
-       }
-}

Deleted: 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/AddedNodeViewListener.java
===================================================================
--- 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/AddedNodeViewListener.java
  2011-06-21 22:35:13 UTC (rev 25844)
+++ 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/AddedNodeViewListener.java
  2011-06-21 22:35:36 UTC (rev 25845)
@@ -1,18 +0,0 @@
-
-package org.cytoscape.view.model.events;
-
-import org.cytoscape.event.CyListener;
-
-/**
- * Listener for {@linkplain AddedNodeViewEvent}.
- *
- */
-public interface AddedNodeViewListener extends CyListener {
-       
-       /**
-        * Process event.
-        * 
-        * @param e
-        */
-       public void handleEvent(AddedNodeViewEvent e);
-}

Copied: 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/AddedNodeViewsEvent.java
 (from rev 25627, 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/AddedNodeViewEvent.java)
===================================================================
--- 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/AddedNodeViewsEvent.java
                            (rev 0)
+++ 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/AddedNodeViewsEvent.java
    2011-06-21 22:35:36 UTC (rev 25845)
@@ -0,0 +1,36 @@
+package org.cytoscape.view.model.events;
+
+import java.util.Collection;
+
+import org.cytoscape.event.AbstractCyEvent;
+import org.cytoscape.event.AbstractCyPayloadEvent;
+import org.cytoscape.view.model.CyNetworkView;
+import org.cytoscape.view.model.View;
+import org.cytoscape.model.CyNode;
+
+/**
+ * When node {@linkplain View} is added to a {@linkplain CyNetworkView}, this 
event will be fired.
+ */
+public final class AddedNodeViewsEvent extends 
AbstractCyPayloadEvent<CyNetworkView,View<CyNode>> {
+
+
+       /**
+        * Creates the event for a new node view.
+        * 
+        * @param source network view which includes the new node view.
+        * @param nodeView Newly created view object for a node.
+        * 
+        */
+       public AddedNodeViewsEvent(final CyNetworkView source, final 
Collection<View<CyNode>> nodeViews) {
+               super(source, AddedNodeViewsListener.class,nodeViews);
+       }
+
+       /**
+        * Returns new node view object.
+        * 
+        * @return new node view
+        */
+       public Collection<View<CyNode>> getNodeViews() {
+               return getPayloadCollection();
+       }
+}

Copied: 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/AddedNodeViewsListener.java
 (from rev 25627, 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/AddedNodeViewListener.java)
===================================================================
--- 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/AddedNodeViewsListener.java
                         (rev 0)
+++ 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/AddedNodeViewsListener.java
 2011-06-21 22:35:36 UTC (rev 25845)
@@ -0,0 +1,18 @@
+
+package org.cytoscape.view.model.events;
+
+import org.cytoscape.event.CyListener;
+
+/**
+ * Listener for {@linkplain AddedNodeViewsEvent}.
+ *
+ */
+public interface AddedNodeViewsListener extends CyListener {
+       
+       /**
+        * Process event.
+        * 
+        * @param e
+        */
+       public void handleEvent(AddedNodeViewsEvent e);
+}

Deleted: 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/EdgeViewChangeMicroListener.java
===================================================================
--- 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/EdgeViewChangeMicroListener.java
    2011-06-21 22:35:13 UTC (rev 25844)
+++ 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/EdgeViewChangeMicroListener.java
    2011-06-21 22:35:36 UTC (rev 25845)
@@ -1,21 +0,0 @@
-package org.cytoscape.view.model.events;
-
-import org.cytoscape.event.CyMicroListener;
-import org.cytoscape.model.CyEdge;
-import org.cytoscape.view.model.View;
-import org.cytoscape.view.model.VisualProperty;
-
-/**
- * Micro Listener for edge views.  Every time Visual Property is set to an 
edge view, this listener catches the micro event.
- * 
- * @author kono
- *
- */
-public interface EdgeViewChangeMicroListener extends CyMicroListener {
-
-       /**
-        * This method will be called when the specified Visual Property value 
is set to the
-        * specified view. 
-        */
-       void  edgeVisualPropertySet(final View<CyEdge> target, final 
VisualProperty<?> vp, final Object value);
-}

Added: 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/EdgeViewsChangedEvent.java
===================================================================
--- 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/EdgeViewsChangedEvent.java
                          (rev 0)
+++ 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/EdgeViewsChangedEvent.java
  2011-06-21 22:35:36 UTC (rev 25845)
@@ -0,0 +1,15 @@
+package org.cytoscape.view.model.events;
+
+import java.util.Collection;
+
+import org.cytoscape.event.AbstractCyPayloadEvent;
+import org.cytoscape.model.CyEdge;
+import org.cytoscape.view.model.CyNetworkView;
+
+public final class EdgeViewsChangedEvent extends 
AbstractCyPayloadEvent<CyNetworkView, ViewChangeRecord<CyEdge>> {
+       
+       public EdgeViewsChangedEvent(CyNetworkView source, 
Collection<ViewChangeRecord<CyEdge>> edgeViewChanges) {
+               super(source, EdgeViewsChangedListener.class, edgeViewChanges);
+       }
+
+}

Added: 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/EdgeViewsChangedListener.java
===================================================================
--- 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/EdgeViewsChangedListener.java
                               (rev 0)
+++ 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/EdgeViewsChangedListener.java
       2011-06-21 22:35:36 UTC (rev 25845)
@@ -0,0 +1,7 @@
+package org.cytoscape.view.model.events;
+
+import org.cytoscape.event.CyListener;
+
+public interface EdgeViewsChangedListener extends CyListener {
+       void handleEvent(EdgeViewsChangedEvent e);
+}

Deleted: 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/NetworkViewChangeMicroListener.java
===================================================================
--- 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/NetworkViewChangeMicroListener.java
 2011-06-21 22:35:13 UTC (rev 25844)
+++ 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/NetworkViewChangeMicroListener.java
 2011-06-21 22:35:36 UTC (rev 25845)
@@ -1,21 +0,0 @@
-package org.cytoscape.view.model.events;
-
-import org.cytoscape.event.CyMicroListener;
-import org.cytoscape.model.CyNetwork;
-import org.cytoscape.view.model.View;
-import org.cytoscape.view.model.VisualProperty;
-
-/**
- * Micro listener for every change in the network {@linkplain View}.
- * 
- * @author kono
- *
- */
-public interface NetworkViewChangeMicroListener extends CyMicroListener {
-
-       /**
-        * The method called when the specified VisualProperty is set to the
-        * specified value in the View being listened to. 
-        */
-       void  networkVisualPropertySet(final View<CyNetwork> target, final 
VisualProperty<?> vp, final Object value);
-}

Added: 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/NetworkViewChangedEvent.java
===================================================================
--- 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/NetworkViewChangedEvent.java
                                (rev 0)
+++ 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/NetworkViewChangedEvent.java
        2011-06-21 22:35:36 UTC (rev 25845)
@@ -0,0 +1,15 @@
+package org.cytoscape.view.model.events;
+
+import java.util.Collection;
+
+import org.cytoscape.event.AbstractCyPayloadEvent;
+import org.cytoscape.model.CyNetwork;
+import org.cytoscape.view.model.CyNetworkView;
+
+public final class NetworkViewChangedEvent extends 
AbstractCyPayloadEvent<CyNetworkView, ViewChangeRecord<CyNetwork>> {
+       
+       public NetworkViewChangedEvent(CyNetworkView source, 
Collection<ViewChangeRecord<CyNetwork>> networkViewChanges) {
+               super(source, NetworkViewChangedListener.class, 
networkViewChanges);
+       }
+
+}

Added: 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/NetworkViewChangedListener.java
===================================================================
--- 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/NetworkViewChangedListener.java
                             (rev 0)
+++ 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/NetworkViewChangedListener.java
     2011-06-21 22:35:36 UTC (rev 25845)
@@ -0,0 +1,7 @@
+package org.cytoscape.view.model.events;
+
+import org.cytoscape.event.CyListener;
+
+public interface NetworkViewChangedListener extends CyListener {
+       void handleEvent(NetworkViewChangedEvent e);
+}

Deleted: 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/NodeViewChangeMicroListener.java
===================================================================
--- 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/NodeViewChangeMicroListener.java
    2011-06-21 22:35:13 UTC (rev 25844)
+++ 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/NodeViewChangeMicroListener.java
    2011-06-21 22:35:36 UTC (rev 25845)
@@ -1,67 +0,0 @@
-/*
- Copyright (c) 2008, 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.view.model.events;
-
-import org.cytoscape.event.CyMicroListener;
-import org.cytoscape.model.CyNode;
-import org.cytoscape.view.model.View;
-import org.cytoscape.view.model.VisualProperty;
-
-/**
- * Micro-event listener for node view-models.
- * 
- * An interface to indicate that a View has changed. The intent is for a
- * Presentation to implement this interface so that the presentation can be
- * updated based on what has changed in the View.
- * 
- * <p>
- * The purpose of this listener is different from
- * {@linkplain UpdateNetworkPresentationEventListener}. This one catches the
- * event to set a {@linkplain VisualProperty} from current value to the new 
one. It does not mean actually re-drawing the
- * presentation.
- * 
- */
-public interface NodeViewChangeMicroListener extends CyMicroListener {
-
-       /**
-        * The method called when the specified VisualProperty is set to the
-        * specified value in the View being listened to.
-        * <p>
-        * Rendering engines should implement this method and update its states.
-        * 
-        */
-       void nodeVisualPropertySet(final View<CyNode> target,
-                       final VisualProperty<?> vp, final Object value);
-}

Added: 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/NodeViewsChangedEvent.java
===================================================================
--- 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/NodeViewsChangedEvent.java
                          (rev 0)
+++ 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/NodeViewsChangedEvent.java
  2011-06-21 22:35:36 UTC (rev 25845)
@@ -0,0 +1,15 @@
+package org.cytoscape.view.model.events;
+
+import java.util.Collection;
+
+import org.cytoscape.event.AbstractCyPayloadEvent;
+import org.cytoscape.model.CyNode;
+import org.cytoscape.view.model.CyNetworkView;
+
+public final class NodeViewsChangedEvent extends 
AbstractCyPayloadEvent<CyNetworkView, ViewChangeRecord<CyNode>> {
+       
+       public NodeViewsChangedEvent(CyNetworkView source, 
Collection<ViewChangeRecord<CyNode>> nodeViewChanges) {
+               super(source, NodeViewsChangedListener.class, nodeViewChanges);
+       }
+}
+

Added: 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/NodeViewsChangedListener.java
===================================================================
--- 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/NodeViewsChangedListener.java
                               (rev 0)
+++ 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/NodeViewsChangedListener.java
       2011-06-21 22:35:36 UTC (rev 25845)
@@ -0,0 +1,7 @@
+package org.cytoscape.view.model.events;
+
+import org.cytoscape.event.CyListener;
+
+public interface NodeViewsChangedListener extends CyListener {
+       void handleEvent(NodeViewsChangedEvent e);
+}

Added: 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/ViewChangeRecord.java
===================================================================
--- 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/ViewChangeRecord.java
                               (rev 0)
+++ 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/ViewChangeRecord.java
       2011-06-21 22:35:36 UTC (rev 25845)
@@ -0,0 +1,30 @@
+package org.cytoscape.view.model.events;
+
+import org.cytoscape.view.model.View;
+import org.cytoscape.view.model.VisualProperty;
+
+public final class ViewChangeRecord<T> {
+       private final View<T> view;
+       private final VisualProperty<?> vp;
+       private final Object value;
+
+       public ViewChangeRecord(View<T> view, VisualProperty<?> vp, Object 
value) {
+               if ( view == null || vp == null )
+                       throw new NullPointerException("View and/or 
VisualProperty may not be null");
+               this.view = view;
+               this.vp = vp;
+               this.value = value;
+       }
+       
+       public View<T> getView() {
+               return view;
+       }
+       
+       public VisualProperty<?> getVisualProperty() {
+               return vp;
+       }
+       
+       public Object getValue() {
+               return value;
+       }
+}

Deleted: 
core3/viewmodel-api/trunk/src/test/java/org/cytoscape/view/model/ViewModelEventsTest.java
===================================================================
--- 
core3/viewmodel-api/trunk/src/test/java/org/cytoscape/view/model/ViewModelEventsTest.java
   2011-06-21 22:35:13 UTC (rev 25844)
+++ 
core3/viewmodel-api/trunk/src/test/java/org/cytoscape/view/model/ViewModelEventsTest.java
   2011-06-21 22:35:36 UTC (rev 25845)
@@ -1,60 +0,0 @@
-package org.cytoscape.view.model;
-
-
-import org.cytoscape.event.CyEventHelper;
-import org.cytoscape.model.CyEdge;
-import org.cytoscape.model.CyNode;
-import org.cytoscape.view.model.events.AddedEdgeViewEvent;
-import org.cytoscape.view.model.events.AddedNodeViewEvent;
-import org.cytoscape.view.model.events.FitContentEvent;
-import org.cytoscape.view.model.events.FitSelectedEvent;
-import org.cytoscape.view.model.events.UpdateNetworkPresentationEvent;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-
-import static org.mockito.Mockito.*;
-import static org.junit.Assert.*;
-
-public class ViewModelEventsTest {
-       
-       CyEventHelper helper;
-
-       @Before
-       public void setUp() throws Exception {
-               
-       }
-
-       @After
-       public void tearDown() throws Exception {
-       }
-       
-       @Test
-       public void testEvents() {
-               final View<CyNode> nodeView = mock(View.class);
-               final CyNetworkView networkView = mock(CyNetworkView.class);
-               AddedNodeViewEvent ev1 = new AddedNodeViewEvent(networkView, 
nodeView);
-               
-               assertEquals(nodeView, ev1.getNodeView());
-               assertEquals(networkView, ev1.getSource());
-               
-               final View<CyEdge> edgeView = mock(View.class);
-               AddedEdgeViewEvent ev2 = new AddedEdgeViewEvent(networkView, 
edgeView);
-               
-               assertEquals(edgeView, ev2.getEdgeView());
-               assertEquals(networkView, ev2.getSource());
-               
-               UpdateNetworkPresentationEvent ev3 = new 
UpdateNetworkPresentationEvent(networkView);
-               assertEquals(networkView, ev3.getSource());
-               
-               FitSelectedEvent ev4 = new FitSelectedEvent(networkView);
-               assertEquals(networkView, ev4.getSource());
-               
-               FitContentEvent ev5 = new FitContentEvent(networkView);
-               assertEquals(networkView, ev5.getSource());
-               
-       }
-       
-       
-
-}

Modified: 
core3/viewmodel-api/trunk/src/test/java/org/cytoscape/view/model/events/AbstractNetworkViewEventTest.java
===================================================================
--- 
core3/viewmodel-api/trunk/src/test/java/org/cytoscape/view/model/events/AbstractNetworkViewEventTest.java
   2011-06-21 22:35:13 UTC (rev 25844)
+++ 
core3/viewmodel-api/trunk/src/test/java/org/cytoscape/view/model/events/AbstractNetworkViewEventTest.java
   2011-06-21 22:35:36 UTC (rev 25845)
@@ -15,22 +15,13 @@
        public final void testGetNetworkView() {
                final CyNetworkViewManager networkViewManager = 
mock(CyNetworkViewManager.class);
                final CyNetworkView networkView = mock(CyNetworkView.class);
-               final AbstractNetworkViewEvent event =
-                       new AbstractNetworkViewEvent(networkViewManager, 
Object.class, networkView);
-               assertEquals("Network returned by getNetworkView() is *not* the 
one passed into the constructor!",
-                            networkView, event.getNetworkView());
+               final AbstractNetworkViewEvent event = new 
AbstractNetworkViewEvent(networkViewManager, Object.class, networkView);
+               assertEquals("Network returned by getNetworkView() is *not* the 
one passed into the constructor!", networkView, event.getNetworkView());
        }
 
-       @Test
+       @Test(expected=NullPointerException.class)
        public final void testNullNetworkConstructorFailure() {
                final CyNetworkViewManager networkViewManager = 
mock(CyNetworkViewManager.class);
-               try {
-                       final AbstractNetworkViewEvent event =
-                               new 
AbstractNetworkViewEvent(networkViewManager, Object.class, null);
-               } catch (final NullPointerException e) {
-                       return;
-               }
-
-               fail("The expected NullPointerException was *not* triggered!");
+               final AbstractNetworkViewEvent event = new 
AbstractNetworkViewEvent(networkViewManager, Object.class, null);
        }
 }
\ No newline at end of file

Added: 
core3/viewmodel-api/trunk/src/test/java/org/cytoscape/view/model/events/AddedEdgeViewsEventTest.java
===================================================================
--- 
core3/viewmodel-api/trunk/src/test/java/org/cytoscape/view/model/events/AddedEdgeViewsEventTest.java
                                (rev 0)
+++ 
core3/viewmodel-api/trunk/src/test/java/org/cytoscape/view/model/events/AddedEdgeViewsEventTest.java
        2011-06-21 22:35:36 UTC (rev 25845)
@@ -0,0 +1,64 @@
+package org.cytoscape.view.model.events;
+
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+
+import org.cytoscape.model.CyEdge;
+import org.cytoscape.view.model.CyNetworkView;
+import org.cytoscape.view.model.View;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+import static org.mockito.Mockito.*;
+import static org.junit.Assert.*;
+
+public class AddedEdgeViewsEventTest {
+       
+       Collection<View<CyEdge>> views;
+       View<CyEdge> nodeView;
+       View<CyEdge> nodeView2;
+       CyNetworkView networkView;
+       
+       @Before
+       public void setUp() throws Exception {
+               views = new ArrayList<View<CyEdge>>();
+               nodeView = mock(View.class);
+               nodeView2 = mock(View.class);
+               views.add(nodeView);
+               views.add(nodeView2);
+               networkView = mock(CyNetworkView.class);
+       }
+
+       @After
+       public void tearDown() throws Exception {
+       }
+       
+       @Test
+       public void testEvents() {
+               AddedEdgeViewsEvent ev1 = new AddedEdgeViewsEvent(networkView, 
views);
+               for ( View<CyEdge> ev : ev1.getEdgeViews())
+                               assertTrue(views.contains(ev));
+               assertEquals(ev1.getSource(),networkView);
+       }
+       
+       @Test(expected=NullPointerException.class)
+       public void testNullPayload() {
+               AddedEdgeViewsEvent ev1 = new AddedEdgeViewsEvent(networkView, 
null);
+       }
+       
+       @Test(expected=NullPointerException.class)
+       public void testNullSource() {
+               AddedEdgeViewsEvent ev1 = new AddedEdgeViewsEvent(null, views);
+       }       
+
+       @Test
+       public void testEmptyPayload() {
+               Collection<View<CyEdge>> vs = new ArrayList<View<CyEdge>>();
+               AddedEdgeViewsEvent ev1 = new AddedEdgeViewsEvent(networkView, 
vs);
+               assertEquals(0, ev1.getEdgeViews().size());
+       }       
+}
+

Added: 
core3/viewmodel-api/trunk/src/test/java/org/cytoscape/view/model/events/AddedNodeViewsEventTest.java
===================================================================
--- 
core3/viewmodel-api/trunk/src/test/java/org/cytoscape/view/model/events/AddedNodeViewsEventTest.java
                                (rev 0)
+++ 
core3/viewmodel-api/trunk/src/test/java/org/cytoscape/view/model/events/AddedNodeViewsEventTest.java
        2011-06-21 22:35:36 UTC (rev 25845)
@@ -0,0 +1,64 @@
+package org.cytoscape.view.model.events;
+
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+
+import org.cytoscape.model.CyEdge;
+import org.cytoscape.model.CyNode;
+import org.cytoscape.view.model.CyNetworkView;
+import org.cytoscape.view.model.View;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+import static org.mockito.Mockito.*;
+import static org.junit.Assert.*;
+
+public class AddedNodeViewsEventTest {
+       
+       Collection<View<CyNode>> views;
+       View<CyNode> nodeView;
+       View<CyNode> nodeView2;
+       CyNetworkView networkView;
+       
+       @Before
+       public void setUp() throws Exception {
+               views = new ArrayList<View<CyNode>>();
+               nodeView = mock(View.class);
+               nodeView2 = mock(View.class);
+               views.add(nodeView);
+               views.add(nodeView2);
+               networkView = mock(CyNetworkView.class);
+       }
+
+       @After
+       public void tearDown() throws Exception {
+       }
+       
+       @Test
+       public void testEvents() {
+               AddedNodeViewsEvent ev1 = new AddedNodeViewsEvent(networkView, 
views);
+               for ( View<CyNode> nv : ev1.getNodeViews())
+                       assertTrue(views.contains(nv));
+               assertEquals(ev1.getSource(),networkView);
+       }
+       
+       @Test(expected=NullPointerException.class)
+       public void testNullPayload() {
+               AddedNodeViewsEvent ev1 = new AddedNodeViewsEvent(networkView, 
null);
+       }
+       
+       @Test(expected=NullPointerException.class)
+       public void testNullSource() {
+               AddedNodeViewsEvent ev1 = new AddedNodeViewsEvent(null, views);
+       }       
+
+       @Test
+       public void testEmptyPayload() {
+               Collection<View<CyNode>> vs = new ArrayList<View<CyNode>>();
+               AddedNodeViewsEvent ev1 = new AddedNodeViewsEvent(networkView, 
vs);
+               assertEquals(0,ev1.getNodeViews().size());
+       }       
+}

Added: 
core3/viewmodel-api/trunk/src/test/java/org/cytoscape/view/model/events/FitContentEventTest.java
===================================================================
--- 
core3/viewmodel-api/trunk/src/test/java/org/cytoscape/view/model/events/FitContentEventTest.java
                            (rev 0)
+++ 
core3/viewmodel-api/trunk/src/test/java/org/cytoscape/view/model/events/FitContentEventTest.java
    2011-06-21 22:35:36 UTC (rev 25845)
@@ -0,0 +1,24 @@
+package org.cytoscape.view.model.events;
+
+import static org.junit.Assert.assertEquals;
+
+import org.cytoscape.view.model.CyNetworkView;
+import org.junit.Test;
+import static org.mockito.Mockito.*;
+import static org.junit.Assert.*;
+
+public class FitContentEventTest {
+       
+       @Test
+       public void testEvents() {
+               CyNetworkView networkView = mock(CyNetworkView.class);
+               FitContentEvent ev3 = new FitContentEvent(networkView);
+               assertEquals(networkView, ev3.getSource());
+       }
+       
+       @Test(expected=NullPointerException.class)
+       public void testNullSource() {
+               FitContentEvent ev3 = new FitContentEvent(null);        
+       }
+}
+

Added: 
core3/viewmodel-api/trunk/src/test/java/org/cytoscape/view/model/events/FitSelectedEventTest.java
===================================================================
--- 
core3/viewmodel-api/trunk/src/test/java/org/cytoscape/view/model/events/FitSelectedEventTest.java
                           (rev 0)
+++ 
core3/viewmodel-api/trunk/src/test/java/org/cytoscape/view/model/events/FitSelectedEventTest.java
   2011-06-21 22:35:36 UTC (rev 25845)
@@ -0,0 +1,23 @@
+package org.cytoscape.view.model.events;
+
+import static org.junit.Assert.assertEquals;
+
+import org.cytoscape.view.model.CyNetworkView;
+import org.junit.Test;
+import static org.mockito.Mockito.*;
+import static org.junit.Assert.*;
+
+public class FitSelectedEventTest {
+       
+       @Test
+       public void testEvents() {
+               CyNetworkView networkView = mock(CyNetworkView.class);
+               FitSelectedEvent ev3 = new FitSelectedEvent(networkView);
+               assertEquals(networkView, ev3.getSource());
+       }
+       
+       @Test(expected=NullPointerException.class)
+       public void testNullSource() {
+               FitSelectedEvent ev3 = new FitSelectedEvent(null);      
+       }
+}

Added: 
core3/viewmodel-api/trunk/src/test/java/org/cytoscape/view/model/events/UpdateNetworkPresentationEventTest.java
===================================================================
--- 
core3/viewmodel-api/trunk/src/test/java/org/cytoscape/view/model/events/UpdateNetworkPresentationEventTest.java
                             (rev 0)
+++ 
core3/viewmodel-api/trunk/src/test/java/org/cytoscape/view/model/events/UpdateNetworkPresentationEventTest.java
     2011-06-21 22:35:36 UTC (rev 25845)
@@ -0,0 +1,23 @@
+package org.cytoscape.view.model.events;
+
+import static org.junit.Assert.assertEquals;
+
+import org.cytoscape.view.model.CyNetworkView;
+import org.junit.Test;
+import static org.mockito.Mockito.*;
+import static org.junit.Assert.*;
+
+public class UpdateNetworkPresentationEventTest {
+       
+       @Test
+       public void testEvents() {
+               CyNetworkView networkView = mock(CyNetworkView.class);
+               UpdateNetworkPresentationEvent ev3 = new 
UpdateNetworkPresentationEvent(networkView);
+               assertEquals(networkView, ev3.getSource());
+       }
+       
+       @Test(expected=NullPointerException.class)
+       public void testNullSource() {
+               UpdateNetworkPresentationEvent ev3 = new 
UpdateNetworkPresentationEvent(null);  
+       }
+}

Added: 
core3/viewmodel-api/trunk/src/test/java/org/cytoscape/view/model/events/ViewChangeRecordTest.java
===================================================================
--- 
core3/viewmodel-api/trunk/src/test/java/org/cytoscape/view/model/events/ViewChangeRecordTest.java
                           (rev 0)
+++ 
core3/viewmodel-api/trunk/src/test/java/org/cytoscape/view/model/events/ViewChangeRecordTest.java
   2011-06-21 22:35:36 UTC (rev 25845)
@@ -0,0 +1,48 @@
+package org.cytoscape.view.model.events;
+
+import org.cytoscape.view.model.View;
+import org.cytoscape.view.model.VisualProperty;
+import org.cytoscape.view.model.events.ViewChangeRecord;
+
+import org.junit.Before;
+import org.junit.Test;
+
+import static org.mockito.Mockito.*;
+import static org.junit.Assert.*;
+
+public class ViewChangeRecordTest {
+       View<String> view;
+       VisualProperty<?> vp;
+       
+       @Before
+       public void setup() {
+               view = mock(View.class);
+               vp = mock(VisualProperty.class);
+       }
+       
+       @Test
+       public void testGoodRecord() {
+               ViewChangeRecord<String> record = new ViewChangeRecord(view, 
vp, "hello" );
+               assertEquals(record.getValue(), "hello");
+               assertEquals(record.getView(), view);
+               assertEquals(record.getVisualProperty(), vp);
+       }
+       
+       @Test(expected=NullPointerException.class)
+       public void testNullView() {
+               ViewChangeRecord<String> record = new ViewChangeRecord(null, 
vp, "hello" );
+       }
+       
+       @Test(expected=NullPointerException.class)
+       public void testNullVisualProperty() {
+               ViewChangeRecord<String> record = new ViewChangeRecord(view, 
null, "hello" );
+       }
+       
+       @Test
+       public void testNullValue() {
+               ViewChangeRecord<String> record = new ViewChangeRecord(view, 
vp, null );
+               assertNull(record.getValue());
+               assertEquals(record.getView(), view);
+               assertEquals(record.getVisualProperty(), vp);
+       }
+}

-- 
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.

Reply via email to