/* * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template */ package com.megatim.fdxcommons.tools.utils; import com.megatim.fdxcommons.model.enumeration.CriteriaLogicConnector; import com.megatim.fdxcommons.model.enumeration.Operateur; import com.megatim.fdxcommons.model.pojo.CriteriaEntityFromView; import com.megatim.fdxcommons.tools.database.queries.metadata.jpql.JpqlQueryCriterion; import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; /** * * @author ASUS */ public class CriteriaEntityFromViewToJqplQueryCriterion { private final CriteriaEntityFromView criteriaEntityFromView; public CriteriaEntityFromViewToJqplQueryCriterion(CriteriaEntityFromView criteriaEntityFromView) { this.criteriaEntityFromView = criteriaEntityFromView; } public JpqlQueryCriterion queryCriterion() { if (criteriaEntityFromView == null) { return null; } String nomColonne = criteriaEntityFromView.getNomColonne() != null ? criteriaEntityFromView.getNomColonne() : ""; Object criteriaValue = criteriaEntityFromView.getCriteriaValue(); Operateur operateur = criteriaEntityFromView.getOperateur(); boolean endOfTheDay = criteriaEntityFromView.isEndOfTheDay(); CriteriaLogicConnector criteriaLogicConnector = criteriaEntityFromView.getCriteriaLogicConnector(); List subCriteria = new ArrayList<>(); if (criteriaEntityFromView.getSubCriterias() != null && !criteriaEntityFromView.getSubCriterias().isEmpty()) { subCriteria = criteriaEntityFromView.getSubCriterias() .stream() .map(sC -> new CriteriaEntityFromViewToJqplQueryCriterion(sC).queryCriterion()) .collect(Collectors.toList()); } return new JpqlQueryCriterion(nomColonne, criteriaValue, operateur, criteriaLogicConnector, subCriteria, endOfTheDay); } }