Tag CanonicalValueSupport services 21/71021/1
authorRobert Varga <robert.varga@pantheon.tech>
Tue, 17 Apr 2018 08:06:14 +0000 (10:06 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Tue, 17 Apr 2018 08:07:52 +0000 (10:07 +0200)
This generates ServiceLoader service entries, so that supports can
be loaded at runtime.

Change-Id: Ieed985d9db759f23962db9b4e145700ef08765e8
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
yang/yang-common/pom.xml
yang/yang-common/src/main/java/org/opendaylight/yangtools/yang/common/Decimal64.java
yang/yang-common/src/main/java/org/opendaylight/yangtools/yang/common/Uint16.java
yang/yang-common/src/main/java/org/opendaylight/yangtools/yang/common/Uint32.java
yang/yang-common/src/main/java/org/opendaylight/yangtools/yang/common/Uint64.java
yang/yang-common/src/main/java/org/opendaylight/yangtools/yang/common/Uint8.java

index 2f97e23e935b40192b439de6e6b06052dbf1413e..74024728798e594c542d3f050ca1b291a71cf820 100644 (file)
             <groupId>org.opendaylight.yangtools</groupId>
             <artifactId>concepts</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.kohsuke.metainf-services</groupId>
+            <artifactId>metainf-services</artifactId>
+        </dependency>
 
         <dependency>
             <groupId>junit</groupId>
 
     <build>
         <plugins>
+            <plugin>
+                <groupId>org.apache.felix</groupId>
+                <artifactId>maven-bundle-plugin</artifactId>
+                <extensions>true</extensions>
+                <configuration>
+                    <instructions>
+                        <Include-Resource>{META-INF/services=${project.build.directory}/classes/META-INF/services}</Include-Resource>
+                    </instructions>
+                </configuration>
+            </plugin>
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-checkstyle-plugin</artifactId>
index 2dd8e06df3bf8a9b868557175c7694c3789b9f38..e1039be4cfbe193c46d841ce08bb66f16cfe8fda 100644 (file)
@@ -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<Decimal64> {
-    private static final class Support extends AbstractCanonicalValueSupport<Decimal64> {
-        Support() {
+    @MetaInfServices(value = CanonicalValueSupport.class)
+    public static final class Support extends AbstractCanonicalValueSupport<Decimal64> {
+        public Support() {
             super(Decimal64.class);
         }
 
index 516e9bb8b75ef85d3db4ec175adfb1c2a2b6650d..458543d2017fa419e66ecce374f175921c0fc1e8 100644 (file)
@@ -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<Uint16> {
-    private static final class Support extends AbstractCanonicalValueSupport<Uint16> {
-        Support() {
+    @MetaInfServices(value = CanonicalValueSupport.class)
+    public static final class Support extends AbstractCanonicalValueSupport<Uint16> {
+        public Support() {
             super(Uint16.class);
         }
 
index e70369d933c5d13605b875d954285047b041fb48..4c5561932a6cfe379e53e4d81840efc2c92ba9f8 100644 (file)
@@ -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<Uint32> {
-    private static final class Support extends AbstractCanonicalValueSupport<Uint32> {
-        Support() {
+    @MetaInfServices(value = CanonicalValueSupport.class)
+    public static final class Support extends AbstractCanonicalValueSupport<Uint32> {
+        public Support() {
             super(Uint32.class);
         }
 
index fa9ec535a6aec122296cf239f0328d5777cd2dcb..4c4f6c778a303c97feca98543d625f4f081ed20b 100644 (file)
@@ -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<Uint64> {
-    private static final class Support extends AbstractCanonicalValueSupport<Uint64> {
-        Support() {
+    @MetaInfServices(value = CanonicalValueSupport.class)
+    public static final class Support extends AbstractCanonicalValueSupport<Uint64> {
+        public Support() {
             super(Uint64.class);
         }
 
index 51e2572cfef3903cbfbf37d80c95ddf7007f40d3..6b2f706b4bf2730ca0c469d83f61ffefa29bd4bf 100644 (file)
@@ -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<Uint8> {
-    private static final class Support extends AbstractCanonicalValueSupport<Uint8> {
-        Support() {
+    @MetaInfServices(value = CanonicalValueSupport.class)
+    public static final class Support extends AbstractCanonicalValueSupport<Uint8> {
+        public Support() {
             super(Uint8.class);
         }