package com.megatim.fdxconsultation.core.impl.stats;
|
|
import com.megatim.fdxcommons.model.dtos.referentiel.ReferentielSlimDto;
|
import com.megatim.fdxcommons.model.dtos.referentiel.TypeFichierSlimDto;
|
import com.megatim.fdxcommons.model.referentiel.Referentiel;
|
import com.megatim.fdxcommons.model.referentiel.TypeFichier;
|
import com.megatim.fdxconsultation.model.stats.TableauBord;
|
import com.megatim.fdxconsultation.model.stats.dto.TableConfigurationResponse;
|
import com.megatim.fdxconsultation.model.stats.dto.TableauBordFlatResponse;
|
import com.megatim.fdxconsultation.model.stats.dto.TableauBordResponse;
|
import java.util.Set;
|
import java.util.stream.Collectors;
|
|
/**
|
*
|
* @author Gabuntu
|
*/
|
public class ConvertedTableauBordResponse {
|
|
private final TableauBord tableauBord;
|
|
public ConvertedTableauBordResponse(TableauBord tableauBord) {
|
this.tableauBord = tableauBord;
|
}
|
|
public TableauBordResponse tableauBordResponse() {
|
TableauBordResponse tableauBordResponse
|
= new TableauBordResponse(
|
tableauBord.getDescription(),
|
typeFichierSlimDto(tableauBord.getTypeFichier()),
|
referentielSlimDto(tableauBord.getReferentiel()),
|
tableauBord.getTypeConfiguration(),
|
tableConfigurationResponses()
|
);
|
return tableauBordResponse;
|
}
|
|
public TableauBordFlatResponse tableauBordFlatResponse() {
|
TableauBordFlatResponse tableauBordFlatResponse
|
= new TableauBordFlatResponse(
|
tableauBord.getDescription(),
|
typeFichierSlimDto(tableauBord.getTypeFichier()),
|
referentielSlimDto(tableauBord.getReferentiel()),
|
tableauBord.getTypeConfiguration()
|
);
|
return tableauBordFlatResponse;
|
}
|
|
private Set<TableConfigurationResponse> tableConfigurationResponses() {
|
return tableauBord.getTableConfigurations()
|
.stream()
|
.map(t -> new ConvertedTableConfigurationResponse(t).tableConfigurationResponse())
|
.collect(Collectors.toSet());
|
}
|
|
private TypeFichierSlimDto typeFichierSlimDto(TypeFichier typeFichier) {
|
TypeFichierSlimDto typeFichierSlimDto = new TypeFichierSlimDto();
|
typeFichierSlimDto.setCategorieFichier(typeFichier.getCategorieFichier());
|
typeFichierSlimDto.setCode(typeFichier.getCode());
|
typeFichierSlimDto.setDescription(typeFichier.getDescription());
|
typeFichierSlimDto.setLibelle(typeFichier.getLibelle());
|
typeFichierSlimDto.setCreateBy(typeFichier.getCreateBy());
|
typeFichierSlimDto.setDateCreation(typeFichier.getDateCreation());
|
typeFichierSlimDto.setLastModifiedBy(typeFichier.getLastModifiedBy());
|
typeFichierSlimDto.setDateMiseAjour(typeFichier.getDateMiseAjour());
|
return typeFichierSlimDto;
|
}
|
|
private ReferentielSlimDto referentielSlimDto(Referentiel referentiel) {
|
ReferentielSlimDto referentielSlimDto = new ReferentielSlimDto();
|
referentielSlimDto.setVersion(referentiel.getVersion());
|
referentielSlimDto.setDateGeneration(referentiel.getDateGeneration());
|
referentielSlimDto.setStatutReferentiel(referentiel.getStatutReferentiel());
|
referentielSlimDto.setDescription(referentiel.getDescription());
|
referentielSlimDto.setCreateBy(referentiel.getCreateBy());
|
referentielSlimDto.setDateCreation(referentiel.getDateCreation());
|
referentielSlimDto.setLastModifiedBy(referentiel.getLastModifiedBy());
|
referentielSlimDto.setDateMiseAjour(referentiel.getDateMiseAjour());
|
return referentielSlimDto;
|
}
|
|
}
|