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<TableauBordColumnResponse> 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;
|
}
|
|
}
|