• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

wistefan / ngsi-ld-java-mapping / #142

19 Oct 2023 06:37AM UTC coverage: 80.104% (-2.3%) from 82.364%
#142

push

web-flow
Merge pull request #43 from wistefan/cache-serializer

Added cache serializer

45 of 45 new or added lines in 5 files covered. (100.0%)

463 of 578 relevant lines covered (80.1%)

0.8 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

28.0
/src/main/java/io/github/wistefan/mapping/EntityVOSerializer.java
1
package io.github.wistefan.mapping;
2

3
import com.fasterxml.jackson.core.JsonProcessingException;
4
import com.fasterxml.jackson.databind.JavaType;
5
import com.fasterxml.jackson.databind.ObjectMapper;
6
import io.micronaut.context.annotation.Bean;
7
import io.micronaut.core.serialize.ObjectSerializer;
8
import io.micronaut.core.serialize.exceptions.SerializationException;
9
import io.micronaut.core.type.Argument;
10
import io.micronaut.jackson.JacksonConfiguration;
11
import jakarta.inject.Singleton;
12

13
import java.io.IOException;
14
import java.io.InputStream;
15
import java.io.OutputStream;
16
import java.util.Optional;
17

18
@Singleton
19
@Bean
20
public class EntityVOSerializer implements ObjectSerializer {
21

22
    private final ObjectMapper objectMapper;
23

24
    public EntityVOSerializer(CacheSerdeableObjectMapper objectMapper) {
1✔
25
        this.objectMapper = objectMapper;
1✔
26
    }
1✔
27

28
    @Override
29
    public Optional<byte[]> serialize(Object object) throws SerializationException {
30
        try {
31
            return Optional.ofNullable(objectMapper.writeValueAsBytes(object));
1✔
32
        } catch (JsonProcessingException e) {
×
33
            throw new SerializationException("Error serializing object to JSON: " + e.getMessage(), e);
×
34
        }
35
    }
36

37
    @Override
38
    public void serialize(Object object, OutputStream outputStream) throws SerializationException {
39
        try {
40
            objectMapper.writeValue(outputStream, object);
×
41
        } catch (IOException e) {
×
42
            throw new SerializationException("Error serializing object to JSON: " + e.getMessage(), e);
×
43
        }
×
44
    }
×
45

46
    @Override
47
    public <T> Optional<T> deserialize(byte[] bytes, Class<T> requiredType) throws SerializationException {
48
        try {
49
            return Optional.ofNullable(objectMapper.readValue(bytes, requiredType));
1✔
50
        } catch (IOException e) {
×
51
            throw new SerializationException("Error deserializing object from JSON: " + e.getMessage(), e);
×
52
        }
53
    }
54

55
    @Override
56
    public <T> Optional<T> deserialize(InputStream inputStream, Class<T> requiredType) throws SerializationException {
57
        try {
58
            return Optional.ofNullable(objectMapper.readValue(inputStream, requiredType));
×
59
        } catch (IOException e) {
×
60
            throw new SerializationException("Error deserializing object from JSON: " + e.getMessage(), e);
×
61
        }
62
    }
63

64
    @Override
65
    public <T> Optional<T> deserialize(byte[] bytes, Argument<T> requiredType) throws SerializationException {
66
        try {
67
            JavaType javaType = JacksonConfiguration.constructType(requiredType, objectMapper.getTypeFactory());
1✔
68
            return Optional.ofNullable(objectMapper.readValue(bytes, javaType));
1✔
69
        } catch (Exception e) {
×
70
            throw new SerializationException("Error deserializing object from JSON: " + e.getMessage(), e);
×
71
        }
72
    }
73

74
    @Override
75
    public <T> Optional<T> deserialize(InputStream inputStream, Argument<T> requiredType) throws SerializationException {
76
        try {
77
            JavaType javaType = JacksonConfiguration.constructType(requiredType, objectMapper.getTypeFactory());
×
78
            return Optional.ofNullable(objectMapper.readValue(inputStream, javaType));
×
79
        } catch (IOException e) {
×
80
            throw new SerializationException("Error deserializing object from JSON: " + e.getMessage(), e);
×
81
        }
82
    }
83
}
84

STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc