Skip to content

Commit cb67177

Browse files
committed
Fix #1194
1 parent d32563c commit cb67177

File tree

4 files changed

+41
-9
lines changed

4 files changed

+41
-9
lines changed

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010

1111
<groupId>com.fasterxml.jackson.core</groupId>
1212
<artifactId>jackson-databind</artifactId>
13-
<version>2.6.7-SNAPSHOT</version>
13+
<version>2.6.6.1-SNAPSHOT</version>
1414
<name>jackson-databind</name>
1515
<packaging>bundle</packaging>
1616
<description>General data-binding functionality for Jackson: works on core streaming API</description>

release-notes/VERSION

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,10 @@ Project: jackson-databind
44
=== Releases ===
55
------------------------------------------------------------------------
66

7+
2.6.6.1 (not yet released)
8+
9+
#1194: Incorrect signature for generic type via `JavaType.getGenericSignature
10+
711
2.6.6 (05-Apr-2016)
812

913
#1088: NPE possibility in SimpleMixinResolver

src/main/java/com/fasterxml/jackson/databind/type/ReferenceType.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,7 @@ public StringBuilder getGenericSignature(StringBuilder sb)
153153
_classSignature(_class, sb, false);
154154
sb.append('<');
155155
sb = _referencedType.getGenericSignature(sb);
156-
sb.append(';');
156+
sb.append(">;");
157157
return sb;
158158
}
159159

src/test/java/com/fasterxml/jackson/databind/type/TestJavaType.java

Lines changed: 35 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import java.lang.reflect.Method;
44
import java.util.*;
5+
import java.util.concurrent.atomic.AtomicReference;
56

67
import com.fasterxml.jackson.databind.BaseMapTest;
78
import com.fasterxml.jackson.databind.JavaType;
@@ -20,14 +21,47 @@ static class SubType extends BaseType { }
2021
static enum MyEnum { A, B; }
2122
static enum MyEnum2 {
2223
A(1), B(2);
23-
24+
2425
private MyEnum2(int value) { }
2526
}
2627

2728
// [databind#728]
2829
static class Issue728 {
2930
public <C extends CharSequence> C method(C input) { return null; }
3031
}
32+
33+
public interface Generic1195 {
34+
public AtomicReference<String> getGeneric();
35+
public List<String> getList();
36+
public Map<String,String> getMap();
37+
}
38+
39+
public void testGenericSignature1195() throws Exception
40+
{
41+
TypeFactory tf = TypeFactory.defaultInstance();
42+
Method m;
43+
JavaType t;
44+
45+
m = Generic1195.class.getMethod("getList");
46+
t = tf.constructType(m.getGenericReturnType());
47+
assertEquals("Ljava/util/List<Ljava/lang/String;>;", t.getGenericSignature());
48+
49+
m = Generic1195.class.getMethod("getMap");
50+
t = tf.constructType(m.getGenericReturnType());
51+
assertEquals("Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;",
52+
t.getGenericSignature());
53+
54+
m = Generic1195.class.getMethod("getGeneric");
55+
t = tf.constructType(m.getGenericReturnType());
56+
assertEquals("Ljava/util/concurrent/atomic/AtomicReference<Ljava/lang/String;>;", t.getGenericSignature());
57+
}
58+
59+
/*
60+
/**********************************************************
61+
/* Test methods
62+
/**********************************************************
63+
*/
64+
3165
public void testLocalType728() throws Exception
3266
{
3367
TypeFactory tf = TypeFactory.defaultInstance();
@@ -49,12 +83,6 @@ public void testLocalType728() throws Exception
4983
assertEquals(CharSequence.class, t.getRawClass());
5084
}
5185

52-
/*
53-
/**********************************************************
54-
/* Test methods
55-
/**********************************************************
56-
*/
57-
5886
public void testSimpleClass()
5987
{
6088
TypeFactory tf = TypeFactory.defaultInstance();

0 commit comments

Comments
 (0)