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

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

package open.source.exchange.parser;

import java.util.ArrayList;
import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.server.PathContainer;
import org.springframework.http.server.RequestPath;
import org.springframework.http.server.PathContainer.Element;
import org.springframework.stereotype.Service;

import lombok.RequiredArgsConstructor;
import lombok.extern.log4j.Log4j2;
import open.source.exchange.model.ExBase;
import open.source.exchange.model.ExElement;
import open.source.exchange.model.ExPathContainer;

@Log4j2
@Service
@RequiredArgsConstructor
public class PathContainerParser {

	@Autowired
	private ObjectParser objectParser;

	@Autowired
	private ElementParser elementParser;

	public ExPathContainer parse(PathContainer pathContainer) {

		log.trace("parse -> (pathContainer) {}", pathContainer);
		ExPathContainer exPathContainer = null;

		if (null != pathContainer) {
			ExBase exBase = objectParser.parse(pathContainer);
			exPathContainer = new ExPathContainer(exBase);

			List elements = pathContainer.elements();
			List exElementList = new ArrayList();
			if (null != elements) {
				for (Element element : elements) {
					ExElement exElement = elementParser.parse(element);
					exElementList.add(exElement);
				}
			}
			exPathContainer.setElements(exElementList);

			String value = pathContainer.value();
			exPathContainer.setValue(value);
		}
		return exPathContainer;
	}

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy