T3: bugfixes and avoid override of finalize
Change-Id: I7e0ddcec59ae75dae30d083b7d873255ad5991f1
(cherry picked from commit 3577bae12a5b395e2113c6035edca08a6339c1a0)
diff --git a/src/main/java/org/onosproject/t3/impl/Generator.java b/src/main/java/org/onosproject/t3/impl/Generator.java
index 95e4d4e..82ad628 100644
--- a/src/main/java/org/onosproject/t3/impl/Generator.java
+++ b/src/main/java/org/onosproject/t3/impl/Generator.java
@@ -97,6 +97,14 @@
itemAvailableOrHasFinished.await();
} catch (InterruptedException e) {
hasFinished = true;
+ producer.interrupt();
+ try {
+ producer.join();
+ } catch (InterruptedException e1) {
+ // Interrupting the broken thread
+ Thread.currentThread().interrupt();
+ throw new IllegalStateException(e1);
+ }
}
if (exceptionRaisedByProducer != null) {
throw exceptionRaisedByProducer;
@@ -137,11 +145,4 @@
producer.setDaemon(true);
producer.start();
}
-
- @Override
- protected void finalize() throws Throwable {
- producer.interrupt();
- producer.join();
- super.finalize();
- }
}
\ No newline at end of file
diff --git a/src/main/java/org/onosproject/t3/impl/TroubleshootManager.java b/src/main/java/org/onosproject/t3/impl/TroubleshootManager.java
index 74933f6..3564750 100644
--- a/src/main/java/org/onosproject/t3/impl/TroubleshootManager.java
+++ b/src/main/java/org/onosproject/t3/impl/TroubleshootManager.java
@@ -424,8 +424,9 @@
&& ((VlanIdCriterion) trace.getInitialPacket().getCriterion(Criterion.Type.VLAN_VID)).vlanId()
.equals(((VlanIdCriterion) outputPath.getFinalPacket().getCriterion(Criterion.Type.VLAN_VID))
.vlanId())) {
- trace.addResultMessage("Connect point out " + cp + " is same as initial input " +
- trace.getInitialConnectPoint());
+ if (computePath(completePath, trace, outputPath.getOutput())) {
+ trace.addResultMessage("Connect point out " + cp + " is same as initial input " + in);
+ }
break;
}