package com.megatim.fdxconsultation.core.impl.stats; import com.megatim.fdxcommons.model.pojo.BetweenOperatorValues; import com.megatim.fdxcommons.model.pojo.CriteriaEntityFromView; import com.megatim.fdxconsultation.model.stats.CriteriaEntityPersisted; import com.megatim.fdxconsultation.model.stats.TableConfiguration; import com.megatim.fdxconsultation.model.stats.dto.TableConfigurationResponse; import com.megatim.fdxconsultation.model.stats.dto.TableauBordColumnResponse; import java.io.Serializable; import java.util.Set; import java.util.stream.Collectors; /** * * @author Gabuntu */ public class ConvertedTableConfigurationResponse implements Serializable { private final TableConfiguration tableConfiguration; public ConvertedTableConfigurationResponse(TableConfiguration tableConfiguration) { this.tableConfiguration = tableConfiguration; } public TableConfigurationResponse tableConfigurationResponse() { return new TableConfigurationResponse( tableConfiguration.getLibelle(), tableConfiguration.getFonctionAggregation(), tableConfiguration.getTypeResultatConfiguration(), targetedColumn(), groupingColumns(), new ConvertedCriteriaEntityFromView(tableConfiguration.getCriterion()).criteriaEntityFromView(), tableConfiguration.getColor() ); } private Set groupingColumns() { return tableConfiguration.getGroupingColumns() != null ? tableConfiguration .getGroupingColumns() .stream() .map(c -> new TableauBordColumnResponse(c.getName(), c.getTypeDonnee())) .collect(Collectors.toSet()) : null; } private TableauBordColumnResponse targetedColumn() { return tableConfiguration.getTargetedColumn() != null ? new TableauBordColumnResponse( tableConfiguration.getTargetedColumn().getName(), tableConfiguration.getTargetedColumn().getTypeDonnee()) : null; } }