From 35728b9bff47e1da2dc7ba854864226f073607f6 Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Tue, 17 Apr 2018 10:06:14 +0200 Subject: [PATCH] Tag CanonicalValueSupport services This generates ServiceLoader service entries, so that supports can be loaded at runtime. Change-Id: Ieed985d9db759f23962db9b4e145700ef08765e8 Signed-off-by: Robert Varga --- yang/yang-common/pom.xml | 14 ++++++++++++++ .../yangtools/yang/common/Decimal64.java | 6 ++++-- .../opendaylight/yangtools/yang/common/Uint16.java | 6 ++++-- .../opendaylight/yangtools/yang/common/Uint32.java | 6 ++++-- .../opendaylight/yangtools/yang/common/Uint64.java | 6 ++++-- .../opendaylight/yangtools/yang/common/Uint8.java | 6 ++++-- 6 files changed, 34 insertions(+), 10 deletions(-) diff --git a/yang/yang-common/pom.xml b/yang/yang-common/pom.xml index 2f97e23e93..7402472879 100644 --- a/yang/yang-common/pom.xml +++ b/yang/yang-common/pom.xml @@ -45,6 +45,10 @@ org.opendaylight.yangtools concepts + + org.kohsuke.metainf-services + metainf-services + junit @@ -55,6 +59,16 @@ + + org.apache.felix + maven-bundle-plugin + true + + + {META-INF/services=${project.build.directory}/classes/META-INF/services} + + + org.apache.maven.plugins maven-checkstyle-plugin diff --git a/yang/yang-common/src/main/java/org/opendaylight/yangtools/yang/common/Decimal64.java b/yang/yang-common/src/main/java/org/opendaylight/yangtools/yang/common/Decimal64.java index 2dd8e06df3..e1039be4cf 100644 --- a/yang/yang-common/src/main/java/org/opendaylight/yangtools/yang/common/Decimal64.java +++ b/yang/yang-common/src/main/java/org/opendaylight/yangtools/yang/common/Decimal64.java @@ -17,6 +17,7 @@ import java.math.BigDecimal; import java.util.Optional; import org.eclipse.jdt.annotation.NonNullByDefault; import org.eclipse.jdt.annotation.Nullable; +import org.kohsuke.MetaInfServices; import org.opendaylight.yangtools.concepts.Variant; /** @@ -28,8 +29,9 @@ import org.opendaylight.yangtools.concepts.Variant; @Beta @NonNullByDefault public class Decimal64 extends Number implements CanonicalValue { - private static final class Support extends AbstractCanonicalValueSupport { - Support() { + @MetaInfServices(value = CanonicalValueSupport.class) + public static final class Support extends AbstractCanonicalValueSupport { + public Support() { super(Decimal64.class); } diff --git a/yang/yang-common/src/main/java/org/opendaylight/yangtools/yang/common/Uint16.java b/yang/yang-common/src/main/java/org/opendaylight/yangtools/yang/common/Uint16.java index 516e9bb8b7..458543d201 100644 --- a/yang/yang-common/src/main/java/org/opendaylight/yangtools/yang/common/Uint16.java +++ b/yang/yang-common/src/main/java/org/opendaylight/yangtools/yang/common/Uint16.java @@ -15,6 +15,7 @@ import com.google.common.cache.CacheLoader; import com.google.common.cache.LoadingCache; import org.eclipse.jdt.annotation.NonNullByDefault; import org.eclipse.jdt.annotation.Nullable; +import org.kohsuke.MetaInfServices; import org.opendaylight.yangtools.concepts.Variant; /** @@ -25,8 +26,9 @@ import org.opendaylight.yangtools.concepts.Variant; @Beta @NonNullByDefault public class Uint16 extends Number implements CanonicalValue { - private static final class Support extends AbstractCanonicalValueSupport { - Support() { + @MetaInfServices(value = CanonicalValueSupport.class) + public static final class Support extends AbstractCanonicalValueSupport { + public Support() { super(Uint16.class); } diff --git a/yang/yang-common/src/main/java/org/opendaylight/yangtools/yang/common/Uint32.java b/yang/yang-common/src/main/java/org/opendaylight/yangtools/yang/common/Uint32.java index e70369d933..4c5561932a 100644 --- a/yang/yang-common/src/main/java/org/opendaylight/yangtools/yang/common/Uint32.java +++ b/yang/yang-common/src/main/java/org/opendaylight/yangtools/yang/common/Uint32.java @@ -16,6 +16,7 @@ import com.google.common.cache.LoadingCache; import com.google.common.primitives.UnsignedInteger; import org.eclipse.jdt.annotation.NonNullByDefault; import org.eclipse.jdt.annotation.Nullable; +import org.kohsuke.MetaInfServices; import org.opendaylight.yangtools.concepts.Variant; /** @@ -26,8 +27,9 @@ import org.opendaylight.yangtools.concepts.Variant; @Beta @NonNullByDefault public class Uint32 extends Number implements CanonicalValue { - private static final class Support extends AbstractCanonicalValueSupport { - Support() { + @MetaInfServices(value = CanonicalValueSupport.class) + public static final class Support extends AbstractCanonicalValueSupport { + public Support() { super(Uint32.class); } diff --git a/yang/yang-common/src/main/java/org/opendaylight/yangtools/yang/common/Uint64.java b/yang/yang-common/src/main/java/org/opendaylight/yangtools/yang/common/Uint64.java index fa9ec535a6..4c4f6c778a 100644 --- a/yang/yang-common/src/main/java/org/opendaylight/yangtools/yang/common/Uint64.java +++ b/yang/yang-common/src/main/java/org/opendaylight/yangtools/yang/common/Uint64.java @@ -17,6 +17,7 @@ import com.google.common.primitives.UnsignedLong; import java.math.BigInteger; import org.eclipse.jdt.annotation.NonNullByDefault; import org.eclipse.jdt.annotation.Nullable; +import org.kohsuke.MetaInfServices; import org.opendaylight.yangtools.concepts.Variant; /** @@ -27,8 +28,9 @@ import org.opendaylight.yangtools.concepts.Variant; @Beta @NonNullByDefault public class Uint64 extends Number implements CanonicalValue { - private static final class Support extends AbstractCanonicalValueSupport { - Support() { + @MetaInfServices(value = CanonicalValueSupport.class) + public static final class Support extends AbstractCanonicalValueSupport { + public Support() { super(Uint64.class); } diff --git a/yang/yang-common/src/main/java/org/opendaylight/yangtools/yang/common/Uint8.java b/yang/yang-common/src/main/java/org/opendaylight/yangtools/yang/common/Uint8.java index 51e2572cfe..6b2f706b4b 100644 --- a/yang/yang-common/src/main/java/org/opendaylight/yangtools/yang/common/Uint8.java +++ b/yang/yang-common/src/main/java/org/opendaylight/yangtools/yang/common/Uint8.java @@ -12,6 +12,7 @@ import static com.google.common.base.Preconditions.checkArgument; import com.google.common.annotations.Beta; import org.eclipse.jdt.annotation.NonNullByDefault; import org.eclipse.jdt.annotation.Nullable; +import org.kohsuke.MetaInfServices; import org.opendaylight.yangtools.concepts.Variant; /** @@ -22,8 +23,9 @@ import org.opendaylight.yangtools.concepts.Variant; @Beta @NonNullByDefault public class Uint8 extends Number implements CanonicalValue { - private static final class Support extends AbstractCanonicalValueSupport { - Support() { + @MetaInfServices(value = CanonicalValueSupport.class) + public static final class Support extends AbstractCanonicalValueSupport { + public Support() { super(Uint8.class); } -- 2.36.6