Kenmegne
7 days ago 23a46b4be35277e06ec89f48730eeb694e686be8
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
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;
    }
 
}