Skip to content
This repository was archived by the owner on Dec 25, 2024. It is now read-only.

Commit 9fe2b5d

Browse files
authored
Changes BigDecimal returns to Number returns (#281)
1 parent 5d1b814 commit 9fe2b5d

File tree

16 files changed

+84
-108
lines changed

16 files changed

+84
-108
lines changed

samples/client/petstore/java/src/main/java/org/openapijsonschematools/schemas/DoubleSchema.java

+2-3
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,12 @@
33
import org.openapijsonschematools.configurations.SchemaConfiguration;
44

55
import java.util.LinkedHashSet;
6-
import java.math.BigDecimal;
76

87
public record DoubleSchema(LinkedHashSet<Class<?>> type, String format) implements Schema {
98
public static DoubleSchema withDefaults() {
109
LinkedHashSet<Class<?>> type = new LinkedHashSet<>();
11-
type.add(BigDecimal.class);
12-
String format = "float";
10+
type.add(Double.class);
11+
String format = "double";
1312
return new DoubleSchema(type, format);
1413
}
1514

samples/client/petstore/java/src/main/java/org/openapijsonschematools/schemas/FloatSchema.java

+1-2
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,11 @@
33
import org.openapijsonschematools.configurations.SchemaConfiguration;
44

55
import java.util.LinkedHashSet;
6-
import java.math.BigDecimal;
76

87
public record FloatSchema(LinkedHashSet<Class<?>> type, String format) implements Schema {
98
public static FloatSchema withDefaults() {
109
LinkedHashSet<Class<?>> type = new LinkedHashSet<>();
11-
type.add(BigDecimal.class);
10+
type.add(Float.class);
1211
String format = "float";
1312
return new FloatSchema(type, format);
1413
}

samples/client/petstore/java/src/main/java/org/openapijsonschematools/schemas/Int32Schema.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,12 @@
33
import org.openapijsonschematools.configurations.SchemaConfiguration;
44

55
import java.util.LinkedHashSet;
6-
import java.math.BigDecimal;
76

87
public record Int32Schema(LinkedHashSet<Class<?>> type, String format) implements Schema {
98
public static Int32Schema withDefaults() {
109
LinkedHashSet<Class<?>> type = new LinkedHashSet<>();
11-
type.add(BigDecimal.class);
10+
type.add(Integer.class);
11+
type.add(Float.class);
1212
String format = "int32";
1313
return new Int32Schema(type, format);
1414
}

samples/client/petstore/java/src/main/java/org/openapijsonschematools/schemas/Int64Schema.java

+4-2
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,14 @@
33
import org.openapijsonschematools.configurations.SchemaConfiguration;
44

55
import java.util.LinkedHashSet;
6-
import java.math.BigDecimal;
76

87
public record Int64Schema(LinkedHashSet<Class<?>> type, String format) implements Schema {
98
public static Int64Schema withDefaults() {
109
LinkedHashSet<Class<?>> type = new LinkedHashSet<>();
11-
type.add(BigDecimal.class);
10+
type.add(Integer.class);
11+
type.add(Long.class);
12+
type.add(Float.class);
13+
type.add(Double.class);
1214
String format = "int64";
1315
return new Int64Schema(type, format);
1416
}

samples/client/petstore/java/src/main/java/org/openapijsonschematools/schemas/IntSchema.java

+1-2
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,11 @@
33
import org.openapijsonschematools.configurations.SchemaConfiguration;
44

55
import java.util.LinkedHashSet;
6-
import java.math.BigDecimal;
76

87
public record IntSchema(LinkedHashSet<Class<?>> type, String format) implements Schema {
98
public static IntSchema withDefaults() {
109
LinkedHashSet<Class<?>> type = new LinkedHashSet<>();
11-
type.add(BigDecimal.class);
10+
type.add(Number.class);
1211
String format = "int";
1312
return new IntSchema(type, format);
1413
}

samples/client/petstore/java/src/main/java/org/openapijsonschematools/schemas/NumberSchema.java

+12-10
Original file line numberDiff line numberDiff line change
@@ -3,28 +3,30 @@
33
import org.openapijsonschematools.configurations.SchemaConfiguration;
44

55
import java.util.LinkedHashSet;
6-
import java.math.BigDecimal;
76

87
public record NumberSchema(LinkedHashSet<Class<?>> type) implements Schema {
98
public static NumberSchema withDefaults() {
109
LinkedHashSet<Class<?>> type = new LinkedHashSet<>();
11-
type.add(BigDecimal.class);
10+
type.add(Integer.class);
11+
type.add(Long.class);
12+
type.add(Float.class);
13+
type.add(Double.class);
1214
return new NumberSchema(type);
1315
}
1416

15-
public static BigDecimal validate(Integer arg, SchemaConfiguration configuration) {
16-
return Schema.validate(NumberSchema.class, BigDecimal.valueOf(arg), configuration);
17+
public static Number validate(Integer arg, SchemaConfiguration configuration) {
18+
return Schema.validate(NumberSchema.class, arg, configuration);
1719
}
1820

19-
public static BigDecimal validate(Long arg, SchemaConfiguration configuration) {
20-
return Schema.validate(NumberSchema.class, BigDecimal.valueOf(arg), configuration);
21+
public static Number validate(Long arg, SchemaConfiguration configuration) {
22+
return Schema.validate(NumberSchema.class, arg, configuration);
2123
}
2224

23-
public static BigDecimal validate(Float arg, SchemaConfiguration configuration) {
24-
return Schema.validate(NumberSchema.class, BigDecimal.valueOf(arg), configuration);
25+
public static Number validate(Float arg, SchemaConfiguration configuration) {
26+
return Schema.validate(NumberSchema.class, arg, configuration);
2527
}
2628

27-
public static BigDecimal validate(Double arg, SchemaConfiguration configuration) {
28-
return Schema.validate(NumberSchema.class, BigDecimal.valueOf(arg), configuration);
29+
public static Number validate(Double arg, SchemaConfiguration configuration) {
30+
return Schema.validate(NumberSchema.class, arg, configuration);
2931
}
3032
}

samples/client/petstore/java/src/main/java/org/openapijsonschematools/schemas/Schema.java

+12-25
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,9 @@
55

66
import java.lang.reflect.InvocationTargetException;
77
import java.lang.reflect.Method;
8-
import java.math.BigDecimal;
98
import java.time.LocalDate;
109
import java.time.ZonedDateTime;
1110
import java.util.ArrayList;
12-
import java.util.Collections;
1311
import java.util.HashSet;
1412
import java.util.LinkedHashMap;
1513
import java.util.LinkedHashSet;
@@ -41,21 +39,18 @@ private static Object castToAllowedTypes(Object arg, List<Object> pathToItem, Pa
4139
} else if (arg instanceof Boolean) {
4240
pathToType.put(pathToItem, Boolean.class);
4341
return arg;
44-
} else if (arg instanceof BigDecimal) {
45-
pathToType.put(pathToItem, BigDecimal.class);
46-
return arg;
4742
} else if (arg instanceof Integer) {
48-
pathToType.put(pathToItem, BigDecimal.class);
49-
return BigDecimal.valueOf((Integer) arg);
43+
pathToType.put(pathToItem, Integer.class);
44+
return arg;
5045
} else if (arg instanceof Long) {
51-
pathToType.put(pathToItem, BigDecimal.class);
52-
return BigDecimal.valueOf((Long) arg);
46+
pathToType.put(pathToItem, Long.class);
47+
return arg;
5348
} else if (arg instanceof Float) {
54-
pathToType.put(pathToItem, BigDecimal.class);
55-
return BigDecimal.valueOf((Float) arg);
49+
pathToType.put(pathToItem, Float.class);
50+
return arg;
5651
} else if (arg instanceof Double) {
57-
pathToType.put(pathToItem, BigDecimal.class);
58-
return BigDecimal.valueOf((Double) arg);
52+
pathToType.put(pathToItem, Double.class);
53+
return arg;
5954
} else if (arg instanceof List) {
6055
pathToType.put(pathToItem, List.class);
6156
List<Object> argFixed = new ArrayList<>();
@@ -174,28 +169,20 @@ static Boolean validate(Class<?> cls, Boolean arg, SchemaConfiguration configura
174169
return (Boolean) validateObject(cls, arg, configuration);
175170
}
176171

177-
static BigDecimal validate(Class<?> cls, BigDecimal arg, SchemaConfiguration configuration) {
178-
return (BigDecimal) validateObject(cls, arg, configuration);
179-
}
180-
181172
static Integer validate(Class<?> cls, Integer arg, SchemaConfiguration configuration) {
182-
BigDecimal val = (BigDecimal) validateObject(cls, arg, configuration);
183-
return val.intValue();
173+
return (Integer) validateObject(cls, arg, configuration);
184174
}
185175

186176
static Long validate(Class<?> cls, Long arg, SchemaConfiguration configuration) {
187-
BigDecimal val = (BigDecimal) validateObject(cls, arg, configuration);
188-
return val.longValue();
177+
return (Long) validateObject(cls, arg, configuration);
189178
}
190179

191180
static Float validate(Class<?> cls, Float arg, SchemaConfiguration configuration) {
192-
BigDecimal val = (BigDecimal) validateObject(cls, arg, configuration);
193-
return val.floatValue();
181+
return (Float) validateObject(cls, arg, configuration);
194182
}
195183

196184
static Double validate(Class<?> cls, Double arg, SchemaConfiguration configuration) {
197-
BigDecimal val = (BigDecimal) validateObject(cls, arg, configuration);
198-
return val.doubleValue();
185+
return (Double) validateObject(cls, arg, configuration);
199186
}
200187

201188
static String validate(Class<?> cls, String arg, SchemaConfiguration configuration) {

samples/client/petstore/java/src/test/java/org/openapijsonschematools/schemas/NumberSchemaTest.java

+8-8
Original file line numberDiff line numberDiff line change
@@ -12,26 +12,26 @@ public class NumberSchemaTest {
1212

1313
@Test
1414
public void testValidateInteger() {
15-
BigDecimal validatedValue = NumberSchema.validate(1, configuration);
16-
Assert.assertEquals(validatedValue, BigDecimal.valueOf(1));
15+
Number validatedValue = NumberSchema.validate(1, configuration);
16+
Assert.assertEquals(validatedValue, 1);
1717
}
1818

1919
@Test
2020
public void testValidateLong() {
21-
BigDecimal validatedValue = NumberSchema.validate(1L, configuration);
22-
Assert.assertEquals(validatedValue, BigDecimal.valueOf(1L));
21+
Number validatedValue = NumberSchema.validate(1L, configuration);
22+
Assert.assertEquals(validatedValue, 1L);
2323
}
2424

2525
@Test
2626
public void testValidateFloat() {
27-
BigDecimal validatedValue = NumberSchema.validate(3.14f, configuration);
28-
Assert.assertEquals(validatedValue, BigDecimal.valueOf(3.14f));
27+
Number validatedValue = NumberSchema.validate(3.14f, configuration);
28+
Assert.assertEquals(validatedValue, 3.14f);
2929
}
3030

3131
@Test
3232
public void testValidateDouble() {
33-
BigDecimal validatedValue = NumberSchema.validate(3.14d, configuration);
34-
Assert.assertEquals(validatedValue, BigDecimal.valueOf(3.14d));
33+
Number validatedValue = NumberSchema.validate(3.14d, configuration);
34+
Assert.assertEquals(validatedValue, 3.14d);
3535
}
3636

3737
@Test

src/main/resources/java/src/main/java/org/openapitools/schemas/DoubleSchema.hbs

+2-3
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,12 @@ package {{{packageName}}}.schemas;
33
import {{{packageName}}}.configurations.SchemaConfiguration;
44

55
import java.util.LinkedHashSet;
6-
import java.math.BigDecimal;
76

87
public record DoubleSchema(LinkedHashSet<Class<?>> type, String format) implements Schema {
98
public static DoubleSchema withDefaults() {
109
LinkedHashSet<Class<?>> type = new LinkedHashSet<>();
11-
type.add(BigDecimal.class);
12-
String format = "float";
10+
type.add(Double.class);
11+
String format = "double";
1312
return new DoubleSchema(type, format);
1413
}
1514

src/main/resources/java/src/main/java/org/openapitools/schemas/FloatSchema.hbs

+1-2
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,11 @@ package {{{packageName}}}.schemas;
33
import {{{packageName}}}.configurations.SchemaConfiguration;
44

55
import java.util.LinkedHashSet;
6-
import java.math.BigDecimal;
76

87
public record FloatSchema(LinkedHashSet<Class<?>> type, String format) implements Schema {
98
public static FloatSchema withDefaults() {
109
LinkedHashSet<Class<?>> type = new LinkedHashSet<>();
11-
type.add(BigDecimal.class);
10+
type.add(Float.class);
1211
String format = "float";
1312
return new FloatSchema(type, format);
1413
}

src/main/resources/java/src/main/java/org/openapitools/schemas/Int32Schema.hbs

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,12 @@ package {{{packageName}}}.schemas;
33
import {{{packageName}}}.configurations.SchemaConfiguration;
44

55
import java.util.LinkedHashSet;
6-
import java.math.BigDecimal;
76

87
public record Int32Schema(LinkedHashSet<Class<?>> type, String format) implements Schema {
98
public static Int32Schema withDefaults() {
109
LinkedHashSet<Class<?>> type = new LinkedHashSet<>();
11-
type.add(BigDecimal.class);
10+
type.add(Integer.class);
11+
type.add(Float.class);
1212
String format = "int32";
1313
return new Int32Schema(type, format);
1414
}

src/main/resources/java/src/main/java/org/openapitools/schemas/Int64Schema.hbs

+4-2
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,14 @@ package {{{packageName}}}.schemas;
33
import {{{packageName}}}.configurations.SchemaConfiguration;
44

55
import java.util.LinkedHashSet;
6-
import java.math.BigDecimal;
76

87
public record Int64Schema(LinkedHashSet<Class<?>> type, String format) implements Schema {
98
public static Int64Schema withDefaults() {
109
LinkedHashSet<Class<?>> type = new LinkedHashSet<>();
11-
type.add(BigDecimal.class);
10+
type.add(Integer.class);
11+
type.add(Long.class);
12+
type.add(Float.class);
13+
type.add(Double.class);
1214
String format = "int64";
1315
return new Int64Schema(type, format);
1416
}

src/main/resources/java/src/main/java/org/openapitools/schemas/IntSchema.hbs

+1-2
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,11 @@ package {{{packageName}}}.schemas;
33
import {{{packageName}}}.configurations.SchemaConfiguration;
44

55
import java.util.LinkedHashSet;
6-
import java.math.BigDecimal;
76

87
public record IntSchema(LinkedHashSet<Class<?>> type, String format) implements Schema {
98
public static IntSchema withDefaults() {
109
LinkedHashSet<Class<?>> type = new LinkedHashSet<>();
11-
type.add(BigDecimal.class);
10+
type.add(Number.class);
1211
String format = "int";
1312
return new IntSchema(type, format);
1413
}

src/main/resources/java/src/main/java/org/openapitools/schemas/NumberSchema.hbs

+12-10
Original file line numberDiff line numberDiff line change
@@ -3,28 +3,30 @@ package {{{packageName}}}.schemas;
33
import {{{packageName}}}.configurations.SchemaConfiguration;
44

55
import java.util.LinkedHashSet;
6-
import java.math.BigDecimal;
76

87
public record NumberSchema(LinkedHashSet<Class<?>> type) implements Schema {
98
public static NumberSchema withDefaults() {
109
LinkedHashSet<Class<?>> type = new LinkedHashSet<>();
11-
type.add(BigDecimal.class);
10+
type.add(Integer.class);
11+
type.add(Long.class);
12+
type.add(Float.class);
13+
type.add(Double.class);
1214
return new NumberSchema(type);
1315
}
1416

15-
public static BigDecimal validate(Integer arg, SchemaConfiguration configuration) {
16-
return Schema.validate(NumberSchema.class, BigDecimal.valueOf(arg), configuration);
17+
public static Number validate(Integer arg, SchemaConfiguration configuration) {
18+
return Schema.validate(NumberSchema.class, arg, configuration);
1719
}
1820

19-
public static BigDecimal validate(Long arg, SchemaConfiguration configuration) {
20-
return Schema.validate(NumberSchema.class, BigDecimal.valueOf(arg), configuration);
21+
public static Number validate(Long arg, SchemaConfiguration configuration) {
22+
return Schema.validate(NumberSchema.class, arg, configuration);
2123
}
2224

23-
public static BigDecimal validate(Float arg, SchemaConfiguration configuration) {
24-
return Schema.validate(NumberSchema.class, BigDecimal.valueOf(arg), configuration);
25+
public static Number validate(Float arg, SchemaConfiguration configuration) {
26+
return Schema.validate(NumberSchema.class, arg, configuration);
2527
}
2628

27-
public static BigDecimal validate(Double arg, SchemaConfiguration configuration) {
28-
return Schema.validate(NumberSchema.class, BigDecimal.valueOf(arg), configuration);
29+
public static Number validate(Double arg, SchemaConfiguration configuration) {
30+
return Schema.validate(NumberSchema.class, arg, configuration);
2931
}
3032
}

0 commit comments

Comments
 (0)