Skip to content

Commit 643981d

Browse files
committed
Minor code cleanup
1 parent 8d2e825 commit 643981d

File tree

10 files changed

+135
-126
lines changed

10 files changed

+135
-126
lines changed

avro/src/test/java/com/fasterxml/jackson/dataformat/avro/interop/annotations/AvroMetaTest.java

+3-4
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@
1212

1313
import static org.assertj.core.api.Assertions.assertThat;
1414

15-
public class AvroMetaTest extends InteropTestBase {
16-
15+
public class AvroMetaTest extends InteropTestBase
16+
{
1717
@Data
1818
@AvroMeta(key = "class-meta", value = "class value")
1919
static class MetaTest {
@@ -37,8 +37,7 @@ static class BadMetaTest {
3737
@AvroSchema("{\"type\":\"string\"}")
3838
@AvroMeta(key="overridden", value = "true")
3939
static class OverriddenClassSchema {
40-
41-
private int field;
40+
int field;
4241
}
4342

4443
@Test

avro/src/test/java/com/fasterxml/jackson/dataformat/avro/interop/annotations/AvroSchemaTest.java

+1-2
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,7 @@ public class AvroSchemaTest extends InteropTestBase {
2929
@Data
3030
@AvroSchema("{\"type\":\"string\"}")
3131
public static class OverriddenClassSchema {
32-
33-
private int field;
32+
int field;
3433
}
3534

3635
@Data

avro/src/test/java/com/fasterxml/jackson/dataformat/avro/interop/records/RecordWithComplexTest.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -30,10 +30,10 @@ public class RecordWithComplexTest extends InteropTestBase
3030
@RequiredArgsConstructor
3131
public static class RecursiveDummyRecord extends DummyRecord {
3232
@Nullable
33-
private DummyRecord next;
34-
private Map<String, Integer> simpleMap = new HashMap<>();
35-
private Map<String, RecursiveDummyRecord> recursiveMap = new HashMap<>();
36-
private List<Integer> requiredList = new ArrayList<>();
33+
DummyRecord next;
34+
Map<String, Integer> simpleMap = new HashMap<>();
35+
Map<String, RecursiveDummyRecord> recursiveMap = new HashMap<>();
36+
List<Integer> requiredList = new ArrayList<>();
3737
@JsonProperty(required = true)
3838
private DummyEnum requiredEnum = DummyEnum.EAST;
3939
@Nullable

protobuf/src/main/java/com/fasterxml/jackson/dataformat/protobuf/schemagen/DefaultTagGenerator.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ public DefaultTagGenerator(int startingTag) {
1616

1717
@Override
1818
public int nextTag(BeanProperty writer) {
19-
if (ProtobuffSchemaHelper.hasIndex(writer)) {
19+
if (ProtobufSchemaHelper.hasIndex(writer)) {
2020
throw new IllegalStateException(writer.getFullName()
2121
+ " is annotated with 'JsonProperty.index', however not all properties of type "
2222
+ writer.getWrapperName().getSimpleName()

protobuf/src/main/java/com/fasterxml/jackson/dataformat/protobuf/schemagen/DefinedTypeElementBuilders.java

+54-56
Original file line numberDiff line numberDiff line change
@@ -8,72 +8,70 @@
88

99
import com.fasterxml.jackson.databind.JavaType;
1010

11-
public class DefinedTypeElementBuilders {
11+
public class DefinedTypeElementBuilders
12+
{
13+
protected Map<JavaType, TypeElementBuilder> _definedTypeElementBuilders = new LinkedHashMap<>();
1214

13-
protected Map<JavaType, TypeElementBuilder> _definedTypeElementBuilders = new LinkedHashMap<>();
15+
protected Set<JavaType> _isNestedType = new HashSet<JavaType>();
1416

15-
protected Set<JavaType> _isNestedType = new HashSet<>();
17+
public DefinedTypeElementBuilders() { }
1618

17-
public DefinedTypeElementBuilders() {
18-
}
19-
20-
public void AddTypeElement(JavaType type, TypeElementBuilder builder, boolean isNested) {
21-
if (_definedTypeElementBuilders.containsKey(type)) { //Type element builder already defined
22-
if (_definedTypeElementBuilders.get(type) != builder) { //Not expect this.
23-
throw new IllegalStateException("Trying to redefine TypeElementBuilder for type " + type);
24-
}
25-
} else { //new builder
26-
_definedTypeElementBuilders.put(type, builder);
27-
}
19+
public void addTypeElement(JavaType type, TypeElementBuilder builder, boolean isNested) {
20+
if (_definedTypeElementBuilders.containsKey(type)) { //Type element builder already defined
21+
if (_definedTypeElementBuilders.get(type) != builder) { //Not expect this.
22+
throw new IllegalStateException("Trying to redefine TypeElementBuilder for type " + type);
23+
}
24+
} else { //new builder
25+
_definedTypeElementBuilders.put(type, builder);
26+
}
2827

29-
if(isNested) {
30-
_isNestedType.add(type);
31-
}
32-
}
33-
34-
public boolean containsBuilderFor(JavaType type) {
35-
return _definedTypeElementBuilders.containsKey(type);
36-
}
28+
if (isNested) {
29+
_isNestedType.add(type);
30+
}
31+
}
32+
33+
public boolean containsBuilderFor(JavaType type) {
34+
return _definedTypeElementBuilders.containsKey(type);
35+
}
3736

38-
public TypeElementBuilder getBuilderFor(JavaType type) {
39-
return _definedTypeElementBuilders.get(type);
40-
}
37+
public TypeElementBuilder getBuilderFor(JavaType type) {
38+
return _definedTypeElementBuilders.get(type);
39+
}
4140

42-
public Set<TypeElementBuilder> getAllBuilders() {
43-
return new HashSet<TypeElementBuilder>(_definedTypeElementBuilders.values());
44-
}
41+
public Set<TypeElementBuilder> getAllBuilders() {
42+
return new HashSet<TypeElementBuilder>(_definedTypeElementBuilders.values());
43+
}
4544

46-
public Set<TypeElementBuilder> getAllNestedBuilders() {
47-
return getAllBuildersFor(_isNestedType);
48-
}
45+
public Set<TypeElementBuilder> getAllNestedBuilders() {
46+
return getAllBuildersFor(_isNestedType);
47+
}
4948

50-
public Set<TypeElementBuilder> getDependencyBuilders() {
51-
return getNonNestedBuilders(true);
52-
}
49+
public Set<TypeElementBuilder> getDependencyBuilders() {
50+
return getNonNestedBuilders(true);
51+
}
5352

54-
public Set<TypeElementBuilder> getNonNestedBuilders() {
55-
return getNonNestedBuilders(false);
56-
}
53+
public Set<TypeElementBuilder> getNonNestedBuilders() {
54+
return getNonNestedBuilders(false);
55+
}
5756

58-
public Set<TypeElementBuilder> getNonNestedBuilders(boolean excludeRoot) {
59-
Set<JavaType> types = _definedTypeElementBuilders.keySet(); //all keys
60-
types.removeAll(_isNestedType); //exclude nested type
57+
public Set<TypeElementBuilder> getNonNestedBuilders(boolean excludeRoot) {
58+
Set<JavaType> types = _definedTypeElementBuilders.keySet(); //all keys
59+
types.removeAll(_isNestedType); //exclude nested type
6160

62-
if(excludeRoot) { //exclude root
63-
if(_definedTypeElementBuilders.isEmpty()) {
64-
throw new IllegalStateException("DefinedTypeElementBuilders._definedTypeElementBuilders is empty");
65-
}
66-
types.remove(_definedTypeElementBuilders.keySet().iterator().next()); //expect the first element is root
67-
}
68-
69-
return getAllBuildersFor(types);
70-
}
61+
if(excludeRoot) { //exclude root
62+
if(_definedTypeElementBuilders.isEmpty()) {
63+
throw new IllegalStateException("DefinedTypeElementBuilders._definedTypeElementBuilders is empty");
64+
}
65+
types.remove(_definedTypeElementBuilders.keySet().iterator().next()); //expect the first element is root
66+
}
67+
return getAllBuildersFor(types);
68+
}
7169

72-
protected HashSet<TypeElementBuilder> getAllBuildersFor(Collection<JavaType> types) {
73-
HashSet<TypeElementBuilder> nestedBuilder = new HashSet<>();
74-
for (JavaType type : types) {
75-
nestedBuilder.add(getBuilderFor(type));
76-
}
77-
return nestedBuilder;
78-
}
70+
protected HashSet<TypeElementBuilder> getAllBuildersFor(Collection<JavaType> types) {
71+
HashSet<TypeElementBuilder> nestedBuilder = new HashSet<>();
72+
for (JavaType type : types) {
73+
nestedBuilder.add(getBuilderFor(type));
74+
}
75+
return nestedBuilder;
76+
}
7977
}

protobuf/src/main/java/com/fasterxml/jackson/dataformat/protobuf/schemagen/EnumElementVisitor.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ public EnumElementVisitor(SerializerProvider provider, JavaType type,
2626
_builder.name(type.getRawClass().getSimpleName());
2727
_builder.documentation("Enum for " + type.toCanonical());
2828

29-
definedTypeElementBuilders.AddTypeElement(type, this, isNested);
29+
definedTypeElementBuilders.addTypeElement(type, this, isNested);
3030
}
3131

3232
@Override

protobuf/src/main/java/com/fasterxml/jackson/dataformat/protobuf/schemagen/MessageElementVisitor.java

+4-6
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,6 @@ public MessageElementVisitor(SerializerProvider provider, JavaType type,
4242
_builder = MessageElement.builder();
4343
_builder.name(type.getRawClass().getSimpleName());
4444
_builder.documentation("Message for " + type.toCanonical());
45-
46-
_definedTypeElementBuilders.AddTypeElement(type, this, isNested);
4745
}
4846

4947
@Override
@@ -95,7 +93,7 @@ protected int nextTag(BeanProperty writer) {
9593

9694
protected void getTagGenerator(BeanProperty writer) {
9795
if (_tagGenerator == null) {
98-
if (ProtobuffSchemaHelper.hasIndex(writer)) {
96+
if (ProtobufSchemaHelper.hasIndex(writer)) {
9997
_tagGenerator = new AnnotationBasedTagGenerator();
10098
} else {
10199
_tagGenerator = new DefaultTagGenerator();
@@ -104,7 +102,7 @@ protected void getTagGenerator(BeanProperty writer) {
104102
}
105103

106104
protected DataType getDataType(JavaType type) throws JsonMappingException {
107-
ScalarType sType = ProtobuffSchemaHelper.getScalarType(type);
105+
ScalarType sType = ProtobufSchemaHelper.getScalarType(type);
108106
if (sType != null) { // Is scalar type ref
109107
return sType;
110108
}
@@ -113,13 +111,13 @@ protected DataType getDataType(JavaType type) throws JsonMappingException {
113111
if (Arrays.asList(_type.getRawClass().getDeclaredClasses()).contains(type.getRawClass())) { // nested
114112
if (!_nestedTypes.contains(type)) { // create nested type
115113
_nestedTypes.add(type);
116-
TypeElementBuilder nestedTypeBuilder = ProtobuffSchemaHelper.acceptTypeElement(_provider, type,
114+
TypeElementBuilder nestedTypeBuilder = ProtobufSchemaHelper.acceptTypeElement(_provider, type,
117115
_definedTypeElementBuilders, true);
118116

119117
_builder.addType(nestedTypeBuilder.build());
120118
}
121119
} else { // tracking non-nested types to generate them later
122-
ProtobuffSchemaHelper.acceptTypeElement(_provider, type, _definedTypeElementBuilders, false);
120+
ProtobufSchemaHelper.acceptTypeElement(_provider, type, _definedTypeElementBuilders, false);
123121
}
124122
}
125123
return NamedType.create(type.getRawClass().getSimpleName());

protobuf/src/main/java/com/fasterxml/jackson/dataformat/protobuf/schemagen/ProtoBufSchemaVisitor.java

+1
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@ public JsonObjectFormatVisitor expectObjectFormat(JavaType type) {
7878
MessageElementVisitor visitor = new MessageElementVisitor(_provider, type, _definedTypeElementBuilders,
7979
_isNested);
8080
_builder = visitor;
81+
_definedTypeElementBuilders.addTypeElement(type, visitor, _isNested);
8182
return visitor;
8283
}
8384

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
package com.fasterxml.jackson.dataformat.protobuf.schemagen;
2+
3+
import java.math.BigDecimal;
4+
import java.math.BigInteger;
5+
import java.nio.ByteBuffer;
6+
7+
import com.fasterxml.jackson.databind.*;
8+
import com.fasterxml.jackson.databind.util.ClassUtil;
9+
import com.squareup.protoparser.DataType;
10+
import com.squareup.protoparser.DataType.ScalarType;
11+
12+
public class ProtobufSchemaHelper
13+
{
14+
private ProtobufSchemaHelper(){}
15+
16+
public static String getNamespace(JavaType type) {
17+
Class<?> cls = type.getRawClass();
18+
Package pkg = cls.getPackage();
19+
return (pkg == null) ? "" : pkg.getName();
20+
}
21+
22+
public static ScalarType getScalarType(JavaType type) {
23+
Class<?> raw = type.getRawClass();
24+
if (raw.isPrimitive()) {
25+
raw = ClassUtil.wrapperType(raw);
26+
}
27+
if ((raw == Integer.class)
28+
// 29-Mar-2017, tatu: Also shorter types...
29+
|| (raw == Short.class)
30+
|| (raw == Byte.class)) {
31+
return DataType.ScalarType.INT32;
32+
}
33+
if ((raw == Long.class) || (raw == BigInteger.class)) {
34+
return DataType.ScalarType.INT64;
35+
}
36+
if (raw == String.class) {
37+
return DataType.ScalarType.STRING;
38+
}
39+
if (raw == Float.class) {
40+
return DataType.ScalarType.FLOAT;
41+
}
42+
if (raw == Boolean.class) {
43+
return DataType.ScalarType.BOOL;
44+
}
45+
if ((raw == byte[].class) || (raw == ByteBuffer.class)) {
46+
return DataType.ScalarType.BYTES;
47+
}
48+
if ((raw == Double.class) || (raw == BigDecimal.class)) {
49+
// is this right wrt BigDecimal?
50+
return DataType.ScalarType.DOUBLE;
51+
}
52+
return null;
53+
}
54+
55+
public static boolean hasIndex(BeanProperty writer) {
56+
return writer.getMetadata().hasIndex();
57+
}
58+
59+
public static TypeElementBuilder acceptTypeElement(SerializerProvider provider, JavaType type,
60+
DefinedTypeElementBuilders definedTypeElementBuilders, boolean isNested) throws JsonMappingException {
61+
JsonSerializer<Object> serializer = provider.findValueSerializer(type, null);
62+
ProtoBufSchemaVisitor visitor = new ProtoBufSchemaVisitor(provider, definedTypeElementBuilders, isNested);
63+
serializer.acceptJsonFormatVisitor(visitor, type);
64+
return visitor;
65+
}
66+
}

protobuf/src/main/java/com/fasterxml/jackson/dataformat/protobuf/schemagen/ProtobuffSchemaHelper.java

-52
This file was deleted.

0 commit comments

Comments
 (0)