All Downloads are FREE. Search and download functionalities are using the official Maven repository.

open.source.exchange.parser.MultiValueMapParser Maven / Gradle / Ivy

package open.source.exchange.parser;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.MultiValueMap;

import lombok.RequiredArgsConstructor;
import lombok.extern.log4j.Log4j2;
import open.source.exchange.model.ExBase;
import open.source.exchange.model.ExMultiValueMap;
import open.source.exchange.model.ExServerHttpRequest;

@Log4j2
@Service
@RequiredArgsConstructor
public class MultiValueMapParser {

	@Autowired
	private ObjectParser objectParser;

	public  ExMultiValueMap parse(MultiValueMap multiValueMap) {

		log.trace("parse -> (multiValueMap) {}", multiValueMap);
		ExMultiValueMap exMultiValueMap = null;

		if (null != multiValueMap) {
			ExBase exBase = objectParser.parse(multiValueMap);
			exMultiValueMap = new ExMultiValueMap(exBase);

			int size = multiValueMap.size();
			exMultiValueMap.setSize(size);

			boolean isEmpty = multiValueMap.isEmpty();
			exMultiValueMap.setEmpty(isEmpty);

			if (size > 0) {
				Map> mapVsList = new TreeMap>();
				for (K key : multiValueMap.keySet()) {
					List list = multiValueMap.get(key);
					List values = new ArrayList();
					values.addAll(list);
					mapVsList.put(key, values);
				}
				exMultiValueMap.setMapVsList(mapVsList);
			}
		}
		return exMultiValueMap;
	}

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy