2020-06-08 17:31:34 +02:00
|
|
|
package eu.eudat.models.rda.mapper;
|
|
|
|
|
|
|
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
2020-09-15 12:21:22 +02:00
|
|
|
import eu.eudat.elastic.entities.Tag;
|
|
|
|
import eu.eudat.logic.utilities.json.JavaToJson;
|
2020-06-08 17:31:34 +02:00
|
|
|
import org.slf4j.Logger;
|
|
|
|
import org.slf4j.LoggerFactory;
|
|
|
|
|
|
|
|
import java.io.IOException;
|
2020-09-15 12:21:22 +02:00
|
|
|
import java.util.*;
|
|
|
|
import java.util.stream.Collectors;
|
2020-06-08 17:31:34 +02:00
|
|
|
|
|
|
|
public class KeywordRDAMapper {
|
|
|
|
private static final Logger logger = LoggerFactory.getLogger(KeywordRDAMapper.class);
|
|
|
|
|
2020-09-15 12:21:22 +02:00
|
|
|
public static List<String> toRDA(String value) {
|
2020-06-08 17:31:34 +02:00
|
|
|
ObjectMapper mapper = new ObjectMapper();
|
|
|
|
try {
|
2020-09-15 12:21:22 +02:00
|
|
|
value = JavaToJson.objectStringToJson(value);
|
|
|
|
List<Tag> tags = Arrays.asList(mapper.readValue(value, Tag[].class));
|
|
|
|
List<String> keywordNames = tags.stream().map(Tag::getName).collect(Collectors.toList());
|
|
|
|
return keywordNames;
|
2020-06-08 17:31:34 +02:00
|
|
|
} catch (IOException e) {
|
|
|
|
logger.error(e.getMessage(), e);
|
|
|
|
}
|
|
|
|
|
2020-09-15 12:21:22 +02:00
|
|
|
return new ArrayList<>();
|
2020-06-08 17:31:34 +02:00
|
|
|
}
|
|
|
|
}
|