Skip to content

Commit b96cd00

Browse files
committed
encapsulate LoadedObjectResolver calls into ThreadLocalKeySaver
1 parent 3ae2f8c commit b96cd00

File tree

3 files changed

+10
-14
lines changed

3 files changed

+10
-14
lines changed

src/main/java/com/aerospike/mapper/tools/AeroMapper.java

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,5 @@
11
package com.aerospike.mapper.tools;
22

3-
import java.lang.reflect.Array;
4-
import java.util.ArrayList;
5-
import java.util.List;
6-
import java.util.concurrent.atomic.AtomicBoolean;
7-
import java.util.function.Function;
8-
9-
import javax.validation.constraints.NotNull;
10-
113
import com.aerospike.client.AerospikeException;
124
import com.aerospike.client.AerospikeException.ScanTerminated;
135
import com.aerospike.client.Bin;
@@ -29,7 +21,13 @@
2921
import com.aerospike.mapper.tools.converters.MappingConverter;
3022
import com.aerospike.mapper.tools.utils.MapperUtils;
3123
import com.aerospike.mapper.tools.virtuallist.VirtualList;
32-
import reactor.core.publisher.Mono;
24+
25+
import javax.validation.constraints.NotNull;
26+
import java.lang.reflect.Array;
27+
import java.util.ArrayList;
28+
import java.util.List;
29+
import java.util.concurrent.atomic.AtomicBoolean;
30+
import java.util.function.Function;
3331

3432
public class AeroMapper implements IAeroMapper {
3533

@@ -42,7 +40,7 @@ private AeroMapper(@NotNull IAerospikeClient client) {
4240
}
4341

4442
/**
45-
* Create a new Builder to instantiate the AeroMapper.
43+
* Create a new Builder to instantiate the AeroMapper.
4644
* @author tfaulkes
4745
*
4846
*/
@@ -233,12 +231,10 @@ private <T> T read(Policy readPolicy, @NotNull Class<T> clazz, @NotNull Key key,
233231
} else {
234232
try {
235233
ThreadLocalKeySaver.save(key);
236-
LoadedObjectResolver.begin();
237234
return mappingConverter.convertToObject(clazz, key, record, entry, resolveDependencies);
238235
} catch (ReflectiveOperationException e) {
239236
throw new AerospikeException(e);
240237
} finally {
241-
LoadedObjectResolver.end();
242238
ThreadLocalKeySaver.clear();
243239
}
244240
}

src/main/java/com/aerospike/mapper/tools/ReactiveAeroMapper.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -210,12 +210,10 @@ private <T> Mono<T> read(Policy readPolicy, @NotNull Class<T> clazz, @NotNull Ke
210210
.map(keyRecord -> {
211211
try {
212212
ThreadLocalKeySaver.save(key);
213-
LoadedObjectResolver.begin();
214213
return mappingConverter.convertToObject(clazz, key, keyRecord.record, entry, resolveDependencies);
215214
} catch (ReflectiveOperationException e) {
216215
throw new AerospikeException(e);
217216
} finally {
218-
LoadedObjectResolver.end();
219217
ThreadLocalKeySaver.clear();
220218
}
221219
});

src/main/java/com/aerospike/mapper/tools/ThreadLocalKeySaver.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,11 @@ private ThreadLocalKeySaver() {
1818

1919
public static void save(Key key) {
2020
threadLocalKeys.get().addLast(key);
21+
LoadedObjectResolver.begin();
2122
}
2223

2324
public static void clear() {
25+
LoadedObjectResolver.end();
2426
threadLocalKeys.get().removeLast();
2527
if (threadLocalKeys.get().isEmpty()) {
2628
threadLocalKeys.remove();

0 commit comments

Comments
 (0)