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 columnDefinitions; private final FdxTableColumns fdxTableColumns; public ConvertedTableauBord(TableauBordRequest tableauBordRequest, List 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; } }