Improvements to flows list command.
* Added -s option which gives more succinct output.
* Display each flow on one line for easy grepping.
* Added ability to filter output by table ID.
* Flows are now sorted by descending priority within a table.
* Removed the use of toStringHelper in instructions and criterion to produce
less verbose output.
Change-Id: I1c874c776491386488ea5a4d23627b20f1e5728b
diff --git a/core/api/src/main/java/org/onosproject/net/flow/instructions/Instructions.java b/core/api/src/main/java/org/onosproject/net/flow/instructions/Instructions.java
index 8ed882c8..cb6e200 100644
--- a/core/api/src/main/java/org/onosproject/net/flow/instructions/Instructions.java
+++ b/core/api/src/main/java/org/onosproject/net/flow/instructions/Instructions.java
@@ -54,6 +54,8 @@
*/
public final class Instructions {
+ private static final String SEPARATOR = ":";
+
// Ban construction
private Instructions() {}
@@ -547,7 +549,7 @@
@Override
public String toString() {
- return toStringHelper(type().toString()).toString();
+ return type().toString();
}
@Override
@@ -581,7 +583,7 @@
@Override
public String toString() {
- return toStringHelper(type().toString()).toString();
+ return type().toString();
}
@Override
@@ -619,10 +621,10 @@
public Type type() {
return Type.OUTPUT;
}
+
@Override
public String toString() {
- return toStringHelper(type().toString())
- .add("port", port).toString();
+ return type().toString() + SEPARATOR + port.toString();
}
@Override
@@ -665,9 +667,7 @@
@Override
public String toString() {
- return toStringHelper(type().toString())
- .addValue("group ID=0x" + Integer.toHexString(groupId.id()))
- .toString();
+ return type().toString() + SEPARATOR + Integer.toHexString(groupId.id());
}
@Override
@@ -770,8 +770,7 @@
@Override
public String toString() {
- return toStringHelper(type().toString())
- .add("meter ID", meterId.id()).toString();
+ return type().toString() + SEPARATOR + meterId.id();
}
@Override
@@ -814,8 +813,7 @@
@Override
public String toString() {
- return toStringHelper(type().toString())
- .add("tableId", this.tableId).toString();
+ return type().toString() + SEPARATOR + this.tableId;
}
@Override
@@ -864,10 +862,9 @@
@Override
public String toString() {
- return toStringHelper(type().toString())
- .add("metadata", Long.toHexString(this.metadata))
- .add("metadata mask", Long.toHexString(this.metadataMask))
- .toString();
+ return type().toString() + SEPARATOR +
+ Long.toHexString(this.metadata) + "/" +
+ Long.toHexString(this.metadataMask);
}
@Override
@@ -917,10 +914,7 @@
@Override
public String toString() {
- return toStringHelper(type().toString())
- .add("extension", extensionTreatment)
- .add("deviceId", deviceId)
- .toString();
+ return type().toString() + SEPARATOR + deviceId + "/" + extensionTreatment;
}
@Override
diff --git a/core/api/src/main/java/org/onosproject/net/flow/instructions/L0ModificationInstruction.java b/core/api/src/main/java/org/onosproject/net/flow/instructions/L0ModificationInstruction.java
index 4af3d16..e0088c1 100644
--- a/core/api/src/main/java/org/onosproject/net/flow/instructions/L0ModificationInstruction.java
+++ b/core/api/src/main/java/org/onosproject/net/flow/instructions/L0ModificationInstruction.java
@@ -15,15 +15,14 @@
*/
package org.onosproject.net.flow.instructions;
-import com.google.common.base.MoreObjects;
import org.onosproject.net.OchSignal;
-import static com.google.common.base.MoreObjects.toStringHelper;
-
import java.util.Objects;
public abstract class L0ModificationInstruction implements Instruction {
+ public static final String SEPARATOR = ":";
+
/**
* Represents the type of traffic treatment.
*/
@@ -69,8 +68,7 @@
@Override
public String toString() {
- return toStringHelper(subtype().toString())
- .add("lambda", lambda).toString();
+ return subtype().toString() + SEPARATOR + lambda;
}
@Override
@@ -131,9 +129,7 @@
@Override
public String toString() {
- return MoreObjects.toStringHelper(this)
- .add("lambda", lambda)
- .toString();
+ return subtype().toString() + SEPARATOR + lambda;
}
}
}
diff --git a/core/api/src/main/java/org/onosproject/net/flow/instructions/L1ModificationInstruction.java b/core/api/src/main/java/org/onosproject/net/flow/instructions/L1ModificationInstruction.java
index b72dd7b..9a76520 100644
--- a/core/api/src/main/java/org/onosproject/net/flow/instructions/L1ModificationInstruction.java
+++ b/core/api/src/main/java/org/onosproject/net/flow/instructions/L1ModificationInstruction.java
@@ -17,12 +17,12 @@
import org.onosproject.net.OduSignalId;
-import static com.google.common.base.MoreObjects.toStringHelper;
-
import java.util.Objects;
public abstract class L1ModificationInstruction implements Instruction {
+ public static final String SEPARATOR = ":";
+
/**
* Represents the type of traffic treatment.
*/
@@ -79,9 +79,7 @@
@Override
public String toString() {
- return toStringHelper(this)
- .add("oduSignalId", oduSignalId)
- .toString();
+ return subtype().toString() + SEPARATOR + oduSignalId;
}
}
diff --git a/core/api/src/main/java/org/onosproject/net/flow/instructions/L2ModificationInstruction.java b/core/api/src/main/java/org/onosproject/net/flow/instructions/L2ModificationInstruction.java
index 0dbbb451..29b6f99 100644
--- a/core/api/src/main/java/org/onosproject/net/flow/instructions/L2ModificationInstruction.java
+++ b/core/api/src/main/java/org/onosproject/net/flow/instructions/L2ModificationInstruction.java
@@ -22,13 +22,13 @@
import java.util.Objects;
-import static com.google.common.base.MoreObjects.toStringHelper;
-
/**
* Abstraction of a single traffic treatment step.
*/
public abstract class L2ModificationInstruction implements Instruction {
+ private static final String SEPARATOR = ":";
+
/**
* Represents the type of traffic treatment.
*/
@@ -94,9 +94,6 @@
MPLS_BOS
}
- // TODO: Create factory class 'Instructions' that will have various factory
- // to create specific instructions.
-
public abstract L2SubType subtype();
@Override
@@ -129,8 +126,7 @@
@Override
public String toString() {
- return toStringHelper(subtype().toString())
- .add("mac", mac).toString();
+ return subtype().toString() + SEPARATOR + mac;
}
@Override
@@ -176,9 +172,7 @@
@Override
public String toString() {
- return toStringHelper(subtype().toString())
- .add("ethernetType", ethernetType())
- .toString();
+ return subtype().toString() + SEPARATOR + ethernetType;
}
@Override
@@ -224,8 +218,7 @@
@Override
public String toString() {
- return toStringHelper(subtype().toString())
- .add("id", vlanId).toString();
+ return subtype().toString() + SEPARATOR + vlanId;
}
@Override
@@ -269,8 +262,7 @@
@Override
public String toString() {
- return toStringHelper(subtype().toString())
- .add("pcp", Long.toHexString(vlanPcp)).toString();
+ return subtype().toString() + SEPARATOR + Long.toHexString(vlanPcp);
}
@Override
@@ -308,8 +300,7 @@
@Override
public String toString() {
- return toStringHelper(subtype().toString())
- .toString();
+ return subtype().toString();
}
@Override
@@ -365,8 +356,7 @@
@Override
public String toString() {
- return toStringHelper(subtype().toString())
- .add("mpls", mplsLabel).toString();
+ return subtype().toString() + SEPARATOR + mplsLabel;
}
@Override
@@ -410,8 +400,7 @@
@Override
public String toString() {
- return toStringHelper(subtype().toString()).add("bos", mplsBos)
- .toString();
+ return subtype().toString() + SEPARATOR + mplsBos;
}
@Override
@@ -448,8 +437,7 @@
@Override
public String toString() {
- return toStringHelper(subtype().toString())
- .toString();
+ return subtype().toString();
}
@Override
@@ -492,9 +480,7 @@
@Override
public String toString() {
- return toStringHelper(subtype().toString())
- .add("id", Long.toHexString(tunnelId))
- .toString();
+ return subtype().toString() + SEPARATOR + Long.toHexString(tunnelId);
}
@Override
diff --git a/core/api/src/main/java/org/onosproject/net/flow/instructions/L3ModificationInstruction.java b/core/api/src/main/java/org/onosproject/net/flow/instructions/L3ModificationInstruction.java
index 0efe9a7..fec4338 100644
--- a/core/api/src/main/java/org/onosproject/net/flow/instructions/L3ModificationInstruction.java
+++ b/core/api/src/main/java/org/onosproject/net/flow/instructions/L3ModificationInstruction.java
@@ -15,18 +15,18 @@
*/
package org.onosproject.net.flow.instructions;
-import static com.google.common.base.MoreObjects.toStringHelper;
-
-import java.util.Objects;
-
import org.onlab.packet.IpAddress;
import org.onlab.packet.MacAddress;
+import java.util.Objects;
+
/**
* Abstraction of a single traffic treatment step.
*/
public abstract class L3ModificationInstruction implements Instruction {
+ private static final String SEPARATOR = ":";
+
/**
* Represents the type of traffic treatment.
*/
@@ -85,8 +85,6 @@
* Arp operation modification.
*/
ARP_OP
-
- //TODO: remaining types
}
/**
@@ -125,8 +123,7 @@
@Override
public String toString() {
- return toStringHelper(subtype().toString())
- .add("ip", ip).toString();
+ return subtype().toString() + SEPARATOR + ip;
}
@Override
@@ -173,8 +170,7 @@
@Override
public String toString() {
- return toStringHelper(subtype().toString())
- .add("ip", ip).toString();
+ return subtype().toString() + SEPARATOR + ip;
}
@Override
@@ -221,8 +217,7 @@
@Override
public String toString() {
- return toStringHelper(subtype().toString())
- .add("mac", mac).toString();
+ return subtype().toString() + SEPARATOR + mac;
}
@Override
@@ -269,8 +264,7 @@
@Override
public String toString() {
- return toStringHelper(subtype().toString())
- .add("op", op).toString();
+ return subtype().toString() + SEPARATOR + op;
}
@Override
@@ -326,8 +320,7 @@
@Override
public String toString() {
- return toStringHelper(subtype().toString())
- .add("flowLabel", Long.toHexString(flowLabel)).toString();
+ return subtype().toString() + SEPARATOR + Long.toHexString(flowLabel);
}
@Override
@@ -367,8 +360,7 @@
@Override
public String toString() {
- return toStringHelper(subtype().toString())
- .toString();
+ return subtype().toString();
}
@Override