Skip to content

Commit dead636

Browse files
committed
Merge branch 'datacouch_1057_illegal_reflective_access' of github.com:spring-projects/spring-data-couchbase into datacouch_1057_illegal_reflective_access
2 parents 26c7d89 + ec4e237 commit dead636

File tree

2 files changed

+61
-31
lines changed

2 files changed

+61
-31
lines changed

src/main/java/org/springframework/data/couchbase/core/convert/OtherConverters.java

Lines changed: 34 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -51,33 +51,43 @@ private OtherConverters() {}
5151
return converters;
5252
}
5353

54-
@WritingConverter public enum UuidToString implements Converter<UUID,String>
55-
{
56-
INSTANCE;
57-
58-
@Override
59-
public String convert(UUID source) {
60-
return source == null ? null : source.toString();
61-
}}
54+
@WritingConverter
55+
public enum UuidToString implements Converter<UUID, String> {
56+
INSTANCE;
57+
58+
@Override
59+
public String convert(UUID source) {
60+
return source == null ? null : source.toString();
61+
}
62+
}
6263

63-
@ReadingConverter public enum StringToUuid implements Converter<String,UUID>{INSTANCE;
64+
@ReadingConverter
65+
public enum StringToUuid implements Converter<String, UUID> {
66+
INSTANCE;
6467

65-
@Override
66-
public UUID convert(String source) {
67-
return source == null ? null : UUID.fromString(source);
68-
}}
68+
@Override
69+
public UUID convert(String source) {
70+
return source == null ? null : UUID.fromString(source);
71+
}
72+
}
6973

70-
@WritingConverter public enum BigIntegerToString implements Converter<BigInteger,String>{INSTANCE;
74+
@WritingConverter
75+
public enum BigIntegerToString implements Converter<BigInteger, String> {
76+
INSTANCE;
7177

72-
@Override
73-
public String convert(BigInteger source) {
74-
return source == null ? null : source.toString();
75-
}}
78+
@Override
79+
public String convert(BigInteger source) {
80+
return source == null ? null : source.toString();
81+
}
82+
}
7683

77-
@ReadingConverter public enum StringToBigInteger implements Converter<String,BigInteger>{INSTANCE;
84+
@ReadingConverter
85+
public enum StringToBigInteger implements Converter<String, BigInteger> {
86+
INSTANCE;
7887

79-
@Override
80-
public BigInteger convert(String source) {
81-
return source == null ? null : new BigInteger(source);
82-
}
83-
}}
88+
@Override
89+
public BigInteger convert(String source) {
90+
return source == null ? null : new BigInteger(source);
91+
}
92+
}
93+
}

src/test/java/org/springframework/data/couchbase/core/mapping/MappingCouchbaseConverterTests.java

Lines changed: 27 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -68,17 +68,35 @@ void shouldNotThrowNPE() {
6868

6969
@Test
7070
void doesNotAllowSimpleType1() {
71-
assertThrows(MappingException.class, () -> converter.write("hello", new CouchbaseDocument()));
71+
try {
72+
converter.write("hello", new CouchbaseDocument());
73+
} catch(Exception e){
74+
if(!(e instanceof MappingException) && !e.getClass().getName().equals("java.lang.reflect.InaccessibleObjectException")){
75+
throw new RuntimeException("Should have thrown MappingException or InaccessibleObjectException", e);
76+
}
77+
}
7278
}
7379

7480
@Test
7581
void doesNotAllowSimpleType2() {
76-
assertThrows(MappingException.class, () -> converter.write(true, new CouchbaseDocument()));
82+
try {
83+
converter.write(true, new CouchbaseDocument());
84+
} catch(Exception e){
85+
if(!(e instanceof MappingException) && !e.getClass().getName().equals("java.lang.reflect.InaccessibleObjectException")){
86+
throw new RuntimeException("Should have thrown MappingException or InaccessibleObjectException", e);
87+
}
88+
}
7789
}
7890

7991
@Test
8092
void doesNotAllowSimpleType3() {
81-
assertThrows(MappingException.class, () -> converter.write(42, new CouchbaseDocument()));
93+
try {
94+
converter.write(42, new CouchbaseDocument());
95+
} catch(Exception e){
96+
if(!(e instanceof MappingException) && !e.getClass().getName().equals("java.lang.reflect.InaccessibleObjectException")){
97+
throw new RuntimeException("Should have thrown MappingException or InaccessibleObjectException", e);
98+
}
99+
}
82100
}
83101

84102
@Test
@@ -425,7 +443,8 @@ void writesAndReadsCustomConvertedClass() {
425443
CustomConversions customConversions = new CouchbaseCustomConversions(converters);
426444
converter.setCustomConversions(customConversions);
427445
converter.afterPropertiesSet();
428-
((CouchbaseMappingContext) converter.getMappingContext()).setSimpleTypeHolder(customConversions.getSimpleTypeHolder());
446+
((CouchbaseMappingContext) converter.getMappingContext())
447+
.setSimpleTypeHolder(customConversions.getSimpleTypeHolder());
429448

430449
CouchbaseDocument converted = new CouchbaseDocument();
431450

@@ -475,8 +494,8 @@ void writesAndReadsCustomFieldsConvertedClass() {
475494
CustomConversions customConversions = new CouchbaseCustomConversions(converters);
476495
converter.setCustomConversions(customConversions);
477496
converter.afterPropertiesSet();
478-
((CouchbaseMappingContext) converter.getMappingContext()).setSimpleTypeHolder(customConversions.getSimpleTypeHolder());
479-
497+
((CouchbaseMappingContext) converter.getMappingContext())
498+
.setSimpleTypeHolder(customConversions.getSimpleTypeHolder());
480499

481500
CouchbaseDocument converted = new CouchbaseDocument();
482501

@@ -526,7 +545,8 @@ void writesAndReadsClassContainingCustomConvertedObjects() {
526545
CustomConversions customConversions = new CouchbaseCustomConversions(converters);
527546
converter.setCustomConversions(customConversions);
528547
converter.afterPropertiesSet();
529-
((CouchbaseMappingContext) converter.getMappingContext()).setSimpleTypeHolder(customConversions.getSimpleTypeHolder());
548+
((CouchbaseMappingContext) converter.getMappingContext())
549+
.setSimpleTypeHolder(customConversions.getSimpleTypeHolder());
530550

531551
CouchbaseDocument converted = new CouchbaseDocument();
532552

0 commit comments

Comments
 (0)