HashMapConverter.java
package org.entando.kubernetes.model.job;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.io.IOException;
import java.util.Map;
import javax.persistence.AttributeConverter;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class HashMapConverter implements AttributeConverter<Map<String, String>, String> {
private static Logger log = LoggerFactory.getLogger(HashMapConverter.class);
private ObjectMapper objectMapper;
@Override
public String convertToDatabaseColumn(Map<String, String> bundleMetadata) {
String customerInfoJson = null;
if (bundleMetadata != null) {
try {
customerInfoJson = objectMapper.writeValueAsString(bundleMetadata);
} catch (final JsonProcessingException e) {
log.error("JSON writing error", e);
}
}
return customerInfoJson;
}
@Override
public Map<String, String> convertToEntityAttribute(String bundleMetadataJson) {
Map<String, String> customerInfo = null;
if (bundleMetadataJson != null) {
try {
customerInfo = objectMapper.readValue(bundleMetadataJson, Map.class);
} catch (final IOException e) {
log.error("JSON reading error", e);
}
}
return customerInfo;
}
}