Merge pull request #493 from pingping-lin/master

improved the performance by replace GremlinGroovy
diff --git a/src/main/java/net/onrc/onos/ofcontroller/core/INetMapTopologyObjects.java b/src/main/java/net/onrc/onos/ofcontroller/core/INetMapTopologyObjects.java
index 29c4377..65750e2 100644
--- a/src/main/java/net/onrc/onos/ofcontroller/core/INetMapTopologyObjects.java
+++ b/src/main/java/net/onrc/onos/ofcontroller/core/INetMapTopologyObjects.java
@@ -213,7 +213,8 @@
 		public void setIpv4Address(int ipv4Address);
 		
 		@JsonIgnore
-		@GremlinGroovy("it.in('hasAddress')")
+		//@GremlinGroovy("it.in('hasAddress')")
+		@Adjacency(label = "hasAddress", direction = Direction.IN)
 		public IDeviceObject getDevice();
 	}
 	
diff --git a/src/main/java/net/onrc/onos/ofcontroller/proxyarp/ProxyArpManager.java b/src/main/java/net/onrc/onos/ofcontroller/proxyarp/ProxyArpManager.java
index 5d09f96..3962efb 100644
--- a/src/main/java/net/onrc/onos/ofcontroller/proxyarp/ProxyArpManager.java
+++ b/src/main/java/net/onrc/onos/ofcontroller/proxyarp/ProxyArpManager.java
@@ -376,14 +376,11 @@
 						log.debug("outPort:{} ", outPort);
 					}   
 
-					Iterable<ISwitchObject>  outSwitches= targetDevice.getSwitch(); 
-
-					for (ISwitchObject outswitch : outSwitches) {
-
-						outSwitch= HexString.toLong(outswitch.getDPID());
-						log.debug("outSwitch.DPID:{}; outPort: {}", outswitch.getDPID(), outPort );
-						sendToOtherNodes( eth, pi, outSwitch, outPort);
-					}
+					ISwitchObject outSwitchObject = portObject.getSwitch();
+					outSwitch= HexString.toLong(outSwitchObject.getDPID());
+					log.debug("outSwitch.DPID:{}; outPort: {}", outSwitchObject.getDPID(), outPort );
+					sendToOtherNodes( eth, pi, outSwitch, outPort);
+					
 				}
 			}