This is an automated email from the ASF dual-hosted git repository.

jamesbognar pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/juneau.git


The following commit(s) were added to refs/heads/master by this push:
     new 18595bd  REST refactoring.
18595bd is described below

commit 18595bda345588b8611da5b3bb9ba57dd3a8e01b
Author: JamesBognar <[email protected]>
AuthorDate: Fri Feb 12 18:01:14 2021 -0500

    REST refactoring.
---
 .../org/apache/juneau/rest/annotation/Rest.java    |   3 +-
 .../juneau/rest/annotation/RestAnnotation.java     |  17 ---
 .../org/apache/juneau/rest/annotation/RestOp.java  |   3 +-
 .../juneau/rest/annotation/RestOpAnnotation.java   |  17 ---
 .../rest/annotation/RestOpAnnotation_Test.java     | 148 +++++++++++----------
 5 files changed, 82 insertions(+), 106 deletions(-)

diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/Rest.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/Rest.java
index 765bf04..230d1b0 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/Rest.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/Rest.java
@@ -40,11 +40,10 @@ import org.apache.juneau.rest.vars.*;
  * </ul>
  */
 @Documented
-@Target({TYPE,METHOD})
+@Target(TYPE)
 @Retention(RUNTIME)
 @Inherited
 @ContextPropertiesApply(RestAnnotation.Apply.class)
-@Repeatable(RestAnnotation.Array.class)
 public @interface Rest {
 
        /**
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestAnnotation.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestAnnotation.java
index dca4223..bed2a69 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestAnnotation.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestAnnotation.java
@@ -12,8 +12,6 @@
 // 
***************************************************************************************************************************
 package org.apache.juneau.rest.annotation;
 
-import static java.lang.annotation.ElementType.*;
-import static java.lang.annotation.RetentionPolicy.*;
 import static org.apache.juneau.internal.ArrayUtils.*;
 import static org.apache.juneau.internal.StringUtils.*;
 import static org.apache.juneau.rest.RestContext.*;
@@ -1097,19 +1095,4 @@ public class RestAnnotation {
                        return value;
                }
        }
-
-       /**
-        * A collection of {@link Rest @Rest annotations}.
-        */
-       @Documented
-       @Target({METHOD,TYPE})
-       @Retention(RUNTIME)
-       @Inherited
-       public static @interface Array {
-
-               /**
-                * The child annotations.
-                */
-               Rest[] value();
-       }
 }
\ No newline at end of file
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestOp.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestOp.java
index 0d223ea..f868dd9 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestOp.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestOp.java
@@ -30,11 +30,10 @@ import org.apache.juneau.dto.swagger.*;
  * </ul>
  */
 @Documented
-@Target({METHOD,TYPE})
+@Target(METHOD)
 @Retention(RUNTIME)
 @Inherited
 @ContextPropertiesApply(RestOpAnnotation.Apply.class)
-@Repeatable(RestOpAnnotation.Array.class)
 public @interface RestOp {
 
        /**
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestOpAnnotation.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestOpAnnotation.java
index 031991f..1ba081b 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestOpAnnotation.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestOpAnnotation.java
@@ -12,8 +12,6 @@
 // 
***************************************************************************************************************************
 package org.apache.juneau.rest.annotation;
 
-import static java.lang.annotation.ElementType.*;
-import static java.lang.annotation.RetentionPolicy.*;
 import static org.apache.juneau.internal.ArrayUtils.*;
 import static org.apache.juneau.rest.RestContext.*;
 import static org.apache.juneau.rest.RestOperationContext.*;
@@ -669,19 +667,4 @@ public class RestOpAnnotation {
                        }
                }
        }
-
-       /**
-        * A collection of {@link RestOp @RestOp annotations}.
-        */
-       @Documented
-       @Target({METHOD,TYPE})
-       @Retention(RUNTIME)
-       @Inherited
-       public static @interface Array {
-
-               /**
-                * The child annotations.
-                */
-               RestOp[] value();
-       }
 }
\ No newline at end of file
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestOpAnnotation_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestOpAnnotation_Test.java
index eba0e11..ec21b0f 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestOpAnnotation_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestOpAnnotation_Test.java
@@ -178,75 +178,87 @@ public class RestOpAnnotation_Test {
        // Comparison with declared annotations.
        
//------------------------------------------------------------------------------------------------------------------
 
-       @RestOp(
-               clientVersion="clientVersion",
-               consumes="consumes",
-               contextClass=RestOperationContext.class,
-               converters=RestConverter.class,
-               debug="debug",
-               defaultAccept="defaultAccept",
-               defaultCharset="defaultCharset",
-               defaultContentType="defaultContentType",
-               defaultFormData="defaultFormData",
-               defaultQuery="defaultQuery",
-               defaultRequestAttributes="defaultRequestAttributes",
-               defaultRequestHeaders="defaultRequestHeaders",
-               defaultResponseHeaders="defaultResponseHeaders",
-               description="description",
-               encoders=Encoder.class,
-               guards=RestGuard.class,
-               matchers=RestMatcher.class,
-               maxInput="maxInput",
-               method="method",
-               on="on",
-               parsers=Parser.class,
-               path="path",
-               priority=1,
-               produces="produces",
-               roleGuard="roleGuard",
-               rolesDeclared="rolesDeclared",
-               serializers=Serializer.class,
-               summary="summary",
-               swagger=@OpSwagger,
-               value="value"
-       )
-       public static class D1 {}
-       RestOp d1 = D1.class.getAnnotationsByType(RestOp.class)[0];
+       public interface D1 {
 
-       @RestOp(
-               clientVersion="clientVersion",
-               consumes="consumes",
-               contextClass=RestOperationContext.class,
-               converters=RestConverter.class,
-               debug="debug",
-               defaultAccept="defaultAccept",
-               defaultCharset="defaultCharset",
-               defaultContentType="defaultContentType",
-               defaultFormData="defaultFormData",
-               defaultQuery="defaultQuery",
-               defaultRequestAttributes="defaultRequestAttributes",
-               defaultRequestHeaders="defaultRequestHeaders",
-               defaultResponseHeaders="defaultResponseHeaders",
-               description="description",
-               encoders=Encoder.class,
-               guards=RestGuard.class,
-               matchers=RestMatcher.class,
-               maxInput="maxInput",
-               method="method",
-               on="on",
-               parsers=Parser.class,
-               path="path",
-               priority=1,
-               produces="produces",
-               roleGuard="roleGuard",
-               rolesDeclared="rolesDeclared",
-               serializers=Serializer.class,
-               summary="summary",
-               swagger=@OpSwagger,
-               value="value"
-       )
-       public static class D2 {}
-       RestOp d2 = D2.class.getAnnotationsByType(RestOp.class)[0];
+               @RestOp(
+                       clientVersion="clientVersion",
+                       consumes="consumes",
+                       contextClass=RestOperationContext.class,
+                       converters=RestConverter.class,
+                       debug="debug",
+                       defaultAccept="defaultAccept",
+                       defaultCharset="defaultCharset",
+                       defaultContentType="defaultContentType",
+                       defaultFormData="defaultFormData",
+                       defaultQuery="defaultQuery",
+                       defaultRequestAttributes="defaultRequestAttributes",
+                       defaultRequestHeaders="defaultRequestHeaders",
+                       defaultResponseHeaders="defaultResponseHeaders",
+                       description="description",
+                       encoders=Encoder.class,
+                       guards=RestGuard.class,
+                       matchers=RestMatcher.class,
+                       maxInput="maxInput",
+                       method="method",
+                       on="on",
+                       parsers=Parser.class,
+                       path="path",
+                       priority=1,
+                       produces="produces",
+                       roleGuard="roleGuard",
+                       rolesDeclared="rolesDeclared",
+                       serializers=Serializer.class,
+                       summary="summary",
+                       swagger=@OpSwagger,
+                       value="value"
+               )
+               void m1();
+
+               @RestOp(
+                       clientVersion="clientVersion",
+                       consumes="consumes",
+                       contextClass=RestOperationContext.class,
+                       converters=RestConverter.class,
+                       debug="debug",
+                       defaultAccept="defaultAccept",
+                       defaultCharset="defaultCharset",
+                       defaultContentType="defaultContentType",
+                       defaultFormData="defaultFormData",
+                       defaultQuery="defaultQuery",
+                       defaultRequestAttributes="defaultRequestAttributes",
+                       defaultRequestHeaders="defaultRequestHeaders",
+                       defaultResponseHeaders="defaultResponseHeaders",
+                       description="description",
+                       encoders=Encoder.class,
+                       guards=RestGuard.class,
+                       matchers=RestMatcher.class,
+                       maxInput="maxInput",
+                       method="method",
+                       on="on",
+                       parsers=Parser.class,
+                       path="path",
+                       priority=1,
+                       produces="produces",
+                       roleGuard="roleGuard",
+                       rolesDeclared="rolesDeclared",
+                       serializers=Serializer.class,
+                       summary="summary",
+                       swagger=@OpSwagger,
+                       value="value"
+               )
+               void m2();
+       }
+
+       RestOp d1, d2;
+       {
+               try {
+                       d1 = 
D1.class.getMethod("m1").getAnnotationsByType(RestOp.class)[0];
+                       d2 = 
D1.class.getMethod("m2").getAnnotationsByType(RestOp.class)[0];
+
+               } catch (Exception e) {
+                       throw new RuntimeException(e);
+               }
+       }
 
        @Test
        public void d01_comparisonWithDeclarativeAnnotations() {

Reply via email to