Remove hand-written ServiceLoader services
[bgpcep.git] / pcep / ietf-p2mp-te-lsp / src / main / java / org / opendaylight / protocol / pcep / p2mp / te / lsp / P2MPTeLspCapability.java
index 17b5e993474b5052fdf93dd99b9aaeb072b846c0..b7eb60c38593f1dd0e683a8c247f30dc2ffe3247 100644 (file)
@@ -7,25 +7,35 @@
  */
 package org.opendaylight.protocol.pcep.p2mp.te.lsp;
 
+import com.google.common.base.MoreObjects;
 import java.net.InetSocketAddress;
+import org.kohsuke.MetaInfServices;
 import org.opendaylight.protocol.pcep.PCEPCapability;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.p2mp.te.lsp.rev181109.TlvsP2mpCapabilityAug;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.p2mp.te.lsp.rev181109.TlvsP2mpCapabilityAugBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.p2mp.te.lsp.rev181109.p2mp.pce.capability.tlv.P2mpPceCapabilityBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.open.object.open.TlvsBuilder;
 
+@MetaInfServices
 public final class P2MPTeLspCapability implements PCEPCapability {
     private static final TlvsP2mpCapabilityAug PATH_COMPUTATION_CAP_AUG = new TlvsP2mpCapabilityAugBuilder()
-        .setP2mpPceCapability(new P2mpPceCapabilityBuilder().build()).build();
+        .setP2mpPceCapability(new P2mpPceCapabilityBuilder().build())
+        .build();
+
     private final boolean supportsPathComputation;
 
+    public P2MPTeLspCapability() {
+        this(true);
+    }
+
+    // FIXME: this should return distinct implementations
     public P2MPTeLspCapability(final boolean supportsP2MPTeLspPathComputation) {
         this.supportsPathComputation = supportsP2MPTeLspPathComputation;
     }
 
     @Override
     public void setCapabilityProposal(final InetSocketAddress address, final TlvsBuilder builder) {
-        if (this.supportsPathComputation) {
+        if (supportsPathComputation) {
             builder.addAugmentation(PATH_COMPUTATION_CAP_AUG);
         }
     }
@@ -34,4 +44,9 @@ public final class P2MPTeLspCapability implements PCEPCapability {
     public boolean isStateful() {
         return false;
     }
+
+    @Override
+    public String toString() {
+        return MoreObjects.toStringHelper(this).add("pathComputation", supportsPathComputation).toString();
+    }
 }