Remove old path intents associated with application intents overwritten by application

Change-Id: Ie04bee578043588f628bf9c6f15b433a949cb0a4
diff --git a/src/main/java/net/onrc/onos/intent/runtime/PathCalcRuntime.java b/src/main/java/net/onrc/onos/intent/runtime/PathCalcRuntime.java
index 6ff92db..abd68d1 100644
--- a/src/main/java/net/onrc/onos/intent/runtime/PathCalcRuntime.java
+++ b/src/main/java/net/onrc/onos/intent/runtime/PathCalcRuntime.java
@@ -107,6 +107,19 @@
 					pathIntentOpList.add(Operator.REMOVE, new Intent(oldPathIntentId));
 				}
 
+				// remove old path-intent if exists
+				Intent oldIntent = appIntents.getIntent(spIntent.getId());
+				if (oldIntent != null) {
+					ShortestPathIntent oldSpIntent = (ShortestPathIntent)oldIntent;
+					String pathIntentId = oldSpIntent.getPathIntentId();
+					if (pathIntentId != null) {
+						Intent targetPathIntent = pathIntents.getIntent(pathIntentId);
+						if (targetPathIntent != null) {
+							pathIntentOpList.add(Operator.REMOVE, targetPathIntent);
+						}
+					}
+				}
+
 				// create new path-intent
 				PathIntent pathIntent = new PathIntent(newPathIntentId, path, bandwidth, spIntent);
 				pathIntent.setState(IntentState.INST_REQ);