package pl.edu.icm.saos.webapp.judgment;
import org.springframework.stereotype.Service;
import pl.edu.icm.saos.search.search.model.JudgmentCriteria;
import pl.edu.icm.saos.webapp.common.search.CourtCriteria;
import com.google.common.collect.Lists;
/**
* @author Łukasz Pawełczak
*
*/
@Service
public class JudgmentCriteriaFormConverter {
//------------------------ LOGIC --------------------------
public JudgmentCriteria convert(JudgmentCriteriaForm judgmentCriteriaForm) {
JudgmentCriteria judgmentCriteria = new JudgmentCriteria();
judgmentCriteria.setAll(judgmentCriteriaForm.getAll());
judgmentCriteria.setCaseNumber(judgmentCriteriaForm.getSignature());
judgmentCriteria.setJudgmentDateFrom(judgmentCriteriaForm.getDateFrom());
judgmentCriteria.setJudgmentDateTo(judgmentCriteriaForm.getDateTo());
judgmentCriteria.setJudgeName(judgmentCriteriaForm.getJudgeName());
convertCourtCriteria(judgmentCriteriaForm, judgmentCriteria);
judgmentCriteria.setScJudgmentFormId(judgmentCriteriaForm.getScJudgmentFormId());
judgmentCriteria.setKeywords(judgmentCriteriaForm.getKeywords());
judgmentCriteria.setScPersonnelType(judgmentCriteriaForm.getScPersonnelType());
judgmentCriteria.setCtDissentingOpinion(judgmentCriteriaForm.getCtDissentingOpinion());
judgmentCriteria.setJudgmentTypes(Lists.newArrayList(judgmentCriteriaForm.getJudgmentTypes()));
judgmentCriteria.setLegalBase(judgmentCriteriaForm.getLegalBase());
judgmentCriteria.setReferencedRegulation(judgmentCriteriaForm.getReferencedRegulation());
judgmentCriteria.setLawJournalEntryCode(judgmentCriteriaForm.getLawJournalEntryCode());
judgmentCriteria.setReferencedCourtCaseId(judgmentCriteriaForm.getReferencedCourtCaseId());
return judgmentCriteria;
}
//------------------------ PRIVATE --------------------------
private void convertCourtCriteria(JudgmentCriteriaForm judgmentCriteriaForm, JudgmentCriteria judgmentCriteria) {
CourtCriteria courtCriteria = judgmentCriteriaForm.getCourtCriteria();
judgmentCriteria.setCourtType(courtCriteria.getCourtType());
if (courtCriteria.isCcIncludeDependentCourtJudgments()) {
judgmentCriteria.setCcDirectOrSuperiorCourtId(courtCriteria.getCcCourtId());
} else {
judgmentCriteria.setCcCourtId(courtCriteria.getCcCourtId());
}
judgmentCriteria.setScCourtChamberId(courtCriteria.getScCourtChamberId());
judgmentCriteria.setScCourtChamberDivisionId(courtCriteria.getScCourtChamberDivisionId());
judgmentCriteria.setCcCourtDivisionId(courtCriteria.getCcCourtDivisionId());
}
}