package pl.edu.icm.saos.api.search.judgments.services; import org.springframework.stereotype.Service; import pl.edu.icm.saos.api.search.judgments.parameters.JudgmentsParameters; import pl.edu.icm.saos.api.search.judgments.parameters.Sort; import pl.edu.icm.saos.api.search.parameters.Pagination; import pl.edu.icm.saos.search.search.model.JudgmentCriteria; import pl.edu.icm.saos.search.search.model.Paging; import pl.edu.icm.saos.search.search.model.Sorting; /** * @author pavtel */ @Service public class JudgmentParametersToCriteriaConverter { //------------------------ LOGIC -------------------------- /** * Converts {@link pl.edu.icm.saos.api.search.judgments.parameters.JudgmentsParameters JudgmentsParameters} * into {@link pl.edu.icm.saos.search.search.model.JudgmentCriteria JudgmentCriteria} * @param params to process. * @return JudgmentCriteria */ public JudgmentCriteria toCriteria(JudgmentsParameters params){ JudgmentCriteria criteria = new JudgmentCriteria(); criteria.setAll(params.getAll()); criteria.setCaseNumber(params.getCaseNumber()); criteria.setReferencedRegulation(params.getReferencedRegulation()); criteria.setLawJournalEntryCode(params.getLawJournalEntryCode()); criteria.setJudgeName(params.getJudgeName()); criteria.setLegalBase(params.getLegalBase()); criteria.setCourtType(params.getCourtType()); if (params.getCcIncludeDependentCourtJudgments() != null && params.getCcIncludeDependentCourtJudgments()) { criteria.setCcDirectOrSuperiorCourtId(params.getCcCourtId()); } else { criteria.setCcCourtId(params.getCcCourtId()); } criteria.setCcCourtName(params.getCcCourtName()); criteria.setCcCourtCode(params.getCcCourtCode()); criteria.setCcCourtType(params.getCcCourtType()); criteria.setCcCourtDivisionId(params.getCcDivisionId()); criteria.setCcCourtDivisionName(params.getCcDivisionName()); criteria.setCcCourtDivisionCode(params.getCcDivisionCode()); criteria.setScPersonnelType(params.getScPersonnelType()); criteria.setScJudgmentFormName(params.getScJudgmentForm()); criteria.setScCourtChamberId(params.getScChamberId()); criteria.setScCourtChamberName(params.getScChamberName()); criteria.setScCourtChamberDivisionId(params.getScDivisionId()); criteria.setScCourtChamberDivisionName(params.getScDivisionName()); criteria.setJudgmentDateFrom(params.getJudgmentDateFrom()); criteria.setJudgmentDateTo(params.getJudgmentDateTo()); criteria.setJudgmentTypes(params.getJudgmentTypes()); criteria.setKeywords(params.getKeywords()); return criteria; } /** * Converts {@link pl.edu.icm.saos.api.search.parameters.Pagination Pagination} and * {@link pl.edu.icm.saos.api.search.judgments.parameters.Sort Sort} into * {@link pl.edu.icm.saos.search.search.model.Paging Paging} * @param pagination to process. * @param sort to process. * @return Paging */ public Paging toPaging(Pagination pagination, Sort sort){ return new Paging(pagination.getPageNumber(), pagination.getPageSize(), new Sorting(sort.getSortingFieldName(), sort.getSortingDirection())); } }