/*
|
* 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<JpqlQueryCriterion> 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);
|
}
|
|
}
|