package be.mentoringsystems.merke.presentation.conversion; import be.mentoringsystems.merke.model.Sorting; import be.mentoringsystems.merke.model.SortingMap; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.type.TypeFactory; import java.beans.PropertyEditorSupport; import java.io.IOException; import java.util.ArrayList; import java.util.List; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; /** * * @author anthonyarents */ public class SortingMapEditor extends PropertyEditorSupport { private static final Logger LOGGER = LogManager.getLogger(SortingMapEditor.class); @Override public void setAsText(final String text) throws IllegalArgumentException { ObjectMapper mapper = new ObjectMapper(); final SortingMap sortingMap = new SortingMap(); try { final List sorters = mapper.readValue(text, TypeFactory.defaultInstance().constructCollectionType(ArrayList.class, Sorting.class)); sortingMap.setSortings(sorters); } catch (IOException ex) { LOGGER.error(ex.getMessage(), ex); } setValue(sortingMap); } }