Skip to content

Commit 02712e3

Browse files
committed
Merge branch '2.9' into 2.10
2 parents 5a8f1c2 + e405141 commit 02712e3

File tree

3 files changed

+12
-9
lines changed

3 files changed

+12
-9
lines changed

protobuf/src/main/java/com/fasterxml/jackson/dataformat/protobuf/schema/TypeResolver.java

+11-7
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,10 @@ public class TypeResolver
2727
*/
2828
private Map<String,MessageElement> _declaredMessageTypes;
2929

30+
/**
31+
* Enum types visible at this level and deeper (nested enums with
32+
* scoped names), not including enums declared at outer levels.
33+
*/
3034
private Map<String,ProtobufEnum> _enumTypes;
3135

3236
/**
@@ -69,25 +73,25 @@ protected ProtobufMessage resolve(TypeResolver parent, MessageElement rawType)
6973
protected static TypeResolver construct(TypeResolver parent, String localName,
7074
Collection<TypeElement> nativeTypes)
7175
{
72-
Map<String,MessageElement> nativeMessages = null;
73-
Map<String,ProtobufEnum> enumTypes = new LinkedHashMap<>();
76+
Map<String,MessageElement> declaredMsgs = null;
77+
Map<String,ProtobufEnum> declaredEnums = new LinkedHashMap<>();
7478

7579
for (TypeElement nt : nativeTypes) {
7680
if (nt instanceof MessageElement) {
77-
if (nativeMessages == null) {
78-
nativeMessages = new LinkedHashMap<String,MessageElement>();
81+
if (declaredMsgs == null) {
82+
declaredMsgs = new LinkedHashMap<String,MessageElement>();
7983
}
80-
nativeMessages.put(nt.name(), (MessageElement) nt);
84+
declaredMsgs.put(nt.name(), (MessageElement) nt);
8185
} else if (nt instanceof EnumElement) {
8286
final ProtobufEnum enumType = constructEnum((EnumElement) nt);
83-
enumTypes.put(nt.name(), enumType);
87+
declaredEnums.put(nt.name(), enumType);
8488
// ... and don't forget parent scopes!
8589
if (parent != null) {
8690
parent.addEnumType(_scopedName(localName, nt.name()), enumType);
8791
}
8892
} // no other known types?
8993
}
90-
return new TypeResolver(parent, localName, nativeMessages, enumTypes);
94+
return new TypeResolver(parent, localName, declaredMsgs, declaredEnums);
9195
}
9296

9397
protected void addEnumType(String name, ProtobufEnum enumType) {

protobuf/src/test/java/com/fasterxml/jackson/dataformat/protobuf/schema/ReadCyclicSchema140Test.java

-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
import java.util.List;
44

55
import com.fasterxml.jackson.dataformat.protobuf.ProtobufTestBase;
6-
import com.fasterxml.jackson.dataformat.protobuf.schema.*;
76

87
public class ReadCyclicSchema140Test extends ProtobufTestBase
98
{

release-notes/VERSION-2.x

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ Project: jackson-datatypes-binaryModules:
1313
#139: Incorrect decimal fraction representation
1414
(reported by wlukowicz@github)
1515

16-
2.9.8 (not yet released)
16+
2.9.8 (15-Dec-2018)
1717

1818
#140: (protobuf) Stack overflow when generating Protobuf schema on class with
1919
cyclic type definition

0 commit comments

Comments
 (0)