Skip to content

Commit b1c4ee2

Browse files
committed
adding Groovy check for Method retrival.
1 parent f0940d7 commit b1c4ee2

File tree

2 files changed

+43
-6
lines changed

2 files changed

+43
-6
lines changed

jr-objects/src/main/java/com/fasterxml/jackson/jr/ob/impl/BeanPropertyIntrospector.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ private static void _introspect(Class<?> currType, Map<String, PropBuilder> prop
117117
// 13-Jun-2015, tatu: Skip synthetic, bridge methods altogether, for now
118118
// at least (add more complex handling only if absolutely necessary)
119119
if (Modifier.isStatic(flags)
120-
|| m.isSynthetic() || m.isBridge()) {
120+
|| m.isSynthetic() || m.isBridge() || isGroovyMetaClass(m.getReturnType())) {
121121
continue;
122122
}
123123
Class<?> argTypes[] = m.getParameterTypes();

jr-objects/src/test/java/com/fasterxml/jackson/jr/GroovyTest.groovy

+42-5
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,52 @@ class GroovyTest extends TestBase {
77

88
void testSimpleObject() throws Exception {
99
var data = JSON.std.asString(new MyClass())
10-
var expected = "{\"aDouble\":0.0,\"aStr\":\"stringData\",\"anInt\":0,\"metaClass\":{}}";
10+
var expected = """{"AAAAA_A_Field_Starting_With_Two_Capital_Letters":"XYZ","aDouble":0.0,"aPublicInitializedInteger":56,"aPublicInitializedIntegerObject":1516,"aPublicUninitializedInteger":0,"anInitializedIntegerObject":1112,"anInitializedPublicString":"stringData","anInitializedString":"ABC","anInteger":0,"anIntegerWithValue":12}"""
1111
assertEquals(data, expected)
1212
}
1313

1414
private class MyClass {
15-
public int anInt; //testing groovy primitive
16-
public String aStr = "stringData"; //testing allocated object
15+
int anInteger
16+
int anIntegerWithValue = 12
1717

18-
public double aDouble; //
19-
public Double aDoublesd; //testing boxing object
18+
static int anStaticInteger = 34
19+
static int anStaticIntegerWithValue = 34
20+
21+
public int aPublicUninitializedInteger
22+
public int aPublicInitializedInteger = 56
23+
24+
private int aPrivateUninitializedInteger
25+
private int aPrivateInitializedInteger = 78
26+
27+
public static int aPublicStaticUninitializedInteger
28+
public static int aPublicStaticInitializedInteger = 910
29+
30+
Integer anIntegerObject
31+
Integer anInitializedIntegerObject = 1112
32+
33+
static Integer aStaticIntegerObject
34+
static Integer aStaticInitializedIntegerObject = 1314
35+
36+
public Integer aPublicUninitializedIntegerObject
37+
public Integer aPublicInitializedIntegerObject = 1516
38+
39+
public static Integer aPublicStaticUninitializedIntegerObject
40+
public static Integer aPublicStaticInitializedIntegerObject = 1718
41+
42+
String aString
43+
String anInitializedString = "ABC"
44+
45+
static String aStaticString = "jacksonJR"
46+
47+
public String aPublicString
48+
public String anInitializedPublicString = "stringData"
49+
50+
public String AAAAA_A_Field_Starting_With_Two_Capital_Letters = "XYZ"
51+
//Other Items
52+
public static String staticStr = "jacksonJR" // Public Static Object
53+
static int anStaticInt // Uninitialized Static Object
54+
public double aDouble // uninitialized primitive
55+
public Double aDoubleObject // testing boxing object
56+
private int hiddenvalue = 123 // private value
2057
}
2158
}

0 commit comments

Comments
 (0)