Skip to content

Commit 6be3b7d

Browse files
committed
Support Spring Data Sort and @SortDefault fixes springdoc#1702, springdoc#1668
1 parent c6c4446 commit 6be3b7d

File tree

5 files changed

+418
-0
lines changed

5 files changed

+418
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
package org.springdoc.core.converters;/**
2+
* @author bnasslahsen
3+
*/public class SortOpenAPIConverter {
4+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
package org.springdoc.core.converters.models;/**
2+
* @author bnasslahsen
3+
*/public class Sort {
4+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
package org.springdoc.core.delelegates;
2+
3+
4+
import java.lang.annotation.Annotation;
5+
6+
import io.swagger.v3.oas.annotations.extensions.Extension;
7+
import io.swagger.v3.oas.annotations.media.ArraySchema;
8+
import io.swagger.v3.oas.annotations.media.Schema;
9+
10+
/**
11+
* Utility class to delegate to another @ArraySchema annotation.
12+
* @author daniel-shuy
13+
*/
14+
public class ArraySchemaDelegate implements ArraySchema {
15+
private final ArraySchema arraySchema;
16+
17+
/**
18+
* Create a delegate to the given ArraySchema.
19+
* @param arraySchema The ArraySchema annotation to delegate to.
20+
*/
21+
public ArraySchemaDelegate(ArraySchema arraySchema) {
22+
this.arraySchema = arraySchema;
23+
}
24+
25+
@Override
26+
public Class<? extends Annotation> annotationType() {
27+
return arraySchema.annotationType();
28+
}
29+
30+
@Override
31+
public Schema schema() {
32+
return arraySchema.schema();
33+
}
34+
35+
@Override
36+
public Schema arraySchema() {
37+
return arraySchema.arraySchema();
38+
}
39+
40+
@Override
41+
public int maxItems() {
42+
return arraySchema.maxItems();
43+
}
44+
45+
@Override
46+
public int minItems() {
47+
return arraySchema.minItems();
48+
}
49+
50+
@Override
51+
public boolean uniqueItems() {
52+
return arraySchema.uniqueItems();
53+
}
54+
55+
@Override
56+
public Extension[] extensions() {
57+
return arraySchema.extensions();
58+
}
59+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,123 @@
1+
package org.springdoc.core.delelegates;
2+
3+
/**
4+
* @author bnasslahsen
5+
*/
6+
7+
import java.lang.annotation.Annotation;
8+
9+
import io.swagger.v3.oas.annotations.Parameter;
10+
import io.swagger.v3.oas.annotations.enums.Explode;
11+
import io.swagger.v3.oas.annotations.enums.ParameterIn;
12+
import io.swagger.v3.oas.annotations.enums.ParameterStyle;
13+
import io.swagger.v3.oas.annotations.extensions.Extension;
14+
import io.swagger.v3.oas.annotations.media.ArraySchema;
15+
import io.swagger.v3.oas.annotations.media.Content;
16+
import io.swagger.v3.oas.annotations.media.ExampleObject;
17+
import io.swagger.v3.oas.annotations.media.Schema;
18+
19+
/**
20+
* Utility class to delegate to another @Parameter annotation.
21+
* @author daniel-shuy
22+
*/
23+
public class ParameterDelegate implements Parameter {
24+
private final Parameter parameter;
25+
26+
/**
27+
* Create a delegate to the given Parameter.
28+
* @param parameter The Parameter annotation to delegate to.
29+
*/
30+
public ParameterDelegate(Parameter parameter) {
31+
this.parameter = parameter;
32+
}
33+
34+
@Override
35+
public Class<? extends Annotation> annotationType() {
36+
return parameter.annotationType();
37+
}
38+
39+
@Override
40+
public String name() {
41+
return parameter.name();
42+
}
43+
44+
@Override
45+
public ParameterIn in() {
46+
return parameter.in();
47+
}
48+
49+
@Override
50+
public String description() {
51+
return parameter.description();
52+
}
53+
54+
@Override
55+
public boolean required() {
56+
return parameter.required();
57+
}
58+
59+
@Override
60+
public boolean deprecated() {
61+
return parameter.deprecated();
62+
}
63+
64+
@Override
65+
public boolean allowEmptyValue() {
66+
return parameter.allowEmptyValue();
67+
}
68+
69+
@Override
70+
public ParameterStyle style() {
71+
return parameter.style();
72+
}
73+
74+
@Override
75+
public Explode explode() {
76+
return parameter.explode();
77+
}
78+
79+
@Override
80+
public boolean allowReserved() {
81+
return parameter.allowReserved();
82+
}
83+
84+
@Override
85+
public Schema schema() {
86+
return parameter.schema();
87+
}
88+
89+
@Override
90+
public ArraySchema array() {
91+
return parameter.array();
92+
}
93+
94+
@Override
95+
public Content[] content() {
96+
return parameter.content();
97+
}
98+
99+
@Override
100+
public boolean hidden() {
101+
return parameter.hidden();
102+
}
103+
104+
@Override
105+
public ExampleObject[] examples() {
106+
return parameter.examples();
107+
}
108+
109+
@Override
110+
public String example() {
111+
return parameter.example();
112+
}
113+
114+
@Override
115+
public Extension[] extensions() {
116+
return parameter.extensions();
117+
}
118+
119+
@Override
120+
public String ref() {
121+
return parameter.ref();
122+
}
123+
}

0 commit comments

Comments
 (0)