package com.megatim.fdxconsultation.core.impl.stats;
|
|
import com.megatim.fdxcommons.model.integration.ColumnDefinition;
|
import com.megatim.fdxcommons.model.referentiel.Referentiel;
|
import com.megatim.fdxcommons.tools.database.exceptions.BadQueryCriteriaException;
|
import com.megatim.fdxcommons.tools.database.exceptions.LocalDateTimeValueParseError;
|
import com.megatim.fdxcommons.tools.database.tables.FdxTableColumns;
|
import com.megatim.fdxconsultation.model.dto.stats.TableConfigurationDto;
|
import com.megatim.fdxconsultation.model.stats.TableConfiguration;
|
import com.megatim.fdxconsultation.model.stats.TableauBord;
|
import com.megatim.fdxconsultation.model.stats.dto.TableauBordRequest;
|
import java.sql.SQLException;
|
import java.util.List;
|
import javax.naming.NamingException;
|
|
/**
|
*
|
* @author Gabuntu
|
*/
|
class ConvertedTableauBord {
|
|
private final TableauBordRequest tableauBordRequest;
|
private final List<ColumnDefinition> columnDefinitions;
|
private final FdxTableColumns fdxTableColumns;
|
|
|
public ConvertedTableauBord(TableauBordRequest tableauBordRequest, List<ColumnDefinition> columnDefinitions, FdxTableColumns fdxTableColumns) {
|
this.tableauBordRequest = tableauBordRequest;
|
this.columnDefinitions = columnDefinitions;
|
this.fdxTableColumns = fdxTableColumns;
|
}
|
|
public TableauBord tableauBord() throws SQLException, NamingException, LocalDateTimeValueParseError, BadQueryCriteriaException {
|
|
TableauBord tableauBord = new TableauBord();
|
|
tableauBord.setDescription(tableauBordRequest.getDescription());
|
tableauBord.setReferentiel(tableauBordRequest.getReferentiel());
|
tableauBord.setTypeFichier(tableauBordRequest.getTypeFichier());
|
|
for (TableConfigurationDto t : tableauBordRequest.getTableConfigurations()) {
|
TableConfiguration tableConfiguration = new ConvertedTableConfiguration(t, fdxTableColumns, columnDefinitions).tableConfiguration();
|
tableConfiguration.setTableauBord(tableauBord);
|
tableauBord.getTableConfigurations().add(tableConfiguration);
|
}
|
|
return tableauBord;
|
}
|
|
}
|