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() {