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

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

package open.source.exchange.parser;

import java.time.chrono.ChronoLocalDate;
import java.time.chrono.Chronology;
import java.time.chrono.Era;
import java.util.ArrayList;
import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.stereotype.Service;

import lombok.RequiredArgsConstructor;
import lombok.extern.log4j.Log4j2;
import open.source.exchange.model.ExBase;
import open.source.exchange.model.ExChronology;
import open.source.exchange.model.ExEra;
import open.source.exchange.model.ExMediaType;

@Log4j2
@Service
@RequiredArgsConstructor
public class ChronologyParser {

	@Autowired
	private ObjectParser objectParser;

	@Autowired
	private EraParser eraParser;

	public ExChronology parse(Chronology chronology) {

		log.trace("parse -> (chronology) {}", chronology);
		ExChronology exChronology = null;

		if (null != chronology) {
			ExBase exBase = objectParser.parse(chronology);
			exChronology = new ExChronology(exBase);

			ChronoLocalDate dateNow = chronology.dateNow();
			// TODO : parse and build object
			exChronology.setDateNow(dateNow);

			List eras = chronology.eras();
			if (null != eras && !eras.isEmpty()) {
				List exList = new ArrayList();
				for (Era era : eras) {
					ExEra exEra = eraParser.parse(era);
					exList.add(exEra);
				}
				exChronology.setEras(exList);
			}

			String calendarType = chronology.getCalendarType();
			exChronology.setCalendarType(calendarType);

			String id = chronology.getId();
			exChronology.setId(id);
		}
		return exChronology;
	}

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy