2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2018 AT&T Intellectual Property. All rights reserved.
6 * ================================================================================
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
18 * ============LICENSE_END=========================================================
21 package org.onap.policy.drools.pooling;
23 import java.io.IOException;
25 import org.onap.policy.drools.pooling.message.Message;
26 import com.fasterxml.jackson.core.JsonProcessingException;
27 import com.fasterxml.jackson.databind.ObjectMapper;
30 * Serialization helper functions.
32 public class Serializer {
35 * Used to encode & decode JSON messages sent & received, respectively, on
36 * the internal DMaaP topic.
38 private final ObjectMapper mapper = new ObjectMapper();
50 * @param filter filter to be encoded
51 * @return the filter, serialized as a JSON string
52 * @throws JsonProcessingException if it cannot be serialized
54 public String encodeFilter(Map<String, Object> filter) throws JsonProcessingException {
55 return mapper.writeValueAsString(filter);
61 * @param msg message to be encoded
62 * @return the message, serialized as a JSON string
63 * @throws JsonProcessingException if it cannot be serialized
65 public String encodeMsg(Message msg) throws JsonProcessingException {
66 return mapper.writeValueAsString(msg);
70 * Decodes a JSON string into a Message.
72 * @param msg JSON string representing the message
74 * @throws IOException if it cannot be serialized
76 public Message decodeMsg(String msg) throws IOException {
77 return mapper.readValue(msg, Message.class);