1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package com.hack23.cia.web.impl.ui.application.views.common.dataseriesfactory.impl;
20
21 import org.dussan.vaadin.dcharts.data.DataSeries;
22 import org.springframework.beans.factory.annotation.Autowired;
23 import org.springframework.stereotype.Service;
24 import org.springframework.transaction.annotation.Propagation;
25 import org.springframework.transaction.annotation.Transactional;
26
27 import com.hack23.cia.model.internal.application.data.committee.impl.ViewRiksdagenCommittee;
28 import com.hack23.cia.model.internal.application.data.party.impl.ViewRiksdagenParty;
29 import com.hack23.cia.model.internal.application.data.party.impl.ViewRiksdagenPartySummary;
30 import com.hack23.cia.service.api.ApplicationManager;
31 import com.hack23.cia.service.api.DataContainer;
32 import com.hack23.cia.web.impl.ui.application.views.common.dataseriesfactory.api.CommitteeDataSeriesFactory;
33
34
35
36
37 @Service
38 @Transactional(propagation=Propagation.REQUIRED)
39 public final class CommitteeDataSeriesFactoryImpl implements CommitteeDataSeriesFactory {
40
41
42 @Autowired
43 private ApplicationManager applicationManager;
44
45
46
47
48 public CommitteeDataSeriesFactoryImpl() {
49 super();
50 }
51
52
53 @Override
54 public DataSeries createCommitteeChartTimeSeriesAll() {
55 DataSeries dataSeries = new DataSeries();
56
57 final DataContainer<ViewRiksdagenCommittee, String> dataContainer = applicationManager
58 .getDataContainer(ViewRiksdagenCommittee.class);
59
60 for (final ViewRiksdagenCommittee data : dataContainer.getAll()) {
61 dataSeries =dataSeries.newSeries().add(data.getEmbeddedId().getDetail(),data.getTotalAssignments());
62 }
63 return dataSeries;
64 }
65
66
67 @Override
68 public DataSeries createCommitteeChartTimeSeriesCurrent() {
69 DataSeries dataSeries = new DataSeries();
70
71 final DataContainer<ViewRiksdagenCommittee, String> dataContainer = applicationManager
72 .getDataContainer(ViewRiksdagenCommittee.class);
73
74 for (final ViewRiksdagenCommittee data : dataContainer.getAll()) {
75 if (data.isActive()) {
76 dataSeries =dataSeries.newSeries().add(data.getEmbeddedId().getDetail(),data.getCurrentMemberSize());
77 }
78 }
79 return dataSeries;
80 }
81
82
83
84 @Override
85 public DataSeries createChartTimeSeriesTotalDaysServedCommitteeByParty() {
86 DataSeries dataSeries = new DataSeries();
87
88 final DataContainer<ViewRiksdagenParty, String> dataContainer = applicationManager
89 .getDataContainer(ViewRiksdagenParty.class);
90
91 final DataContainer<ViewRiksdagenPartySummary, String> partySummarydataContainer = applicationManager
92 .getDataContainer(ViewRiksdagenPartySummary.class);
93
94 partySummarydataContainer.getAll();
95
96 for (final ViewRiksdagenParty data : dataContainer.getAll()) {
97 final ViewRiksdagenPartySummary summary = partySummarydataContainer.load(data.getPartyId());
98 if (summary != null && summary.isActive()) {
99
100 dataSeries =dataSeries.newSeries().add(data.getPartyName(),summary.getTotalDaysServedCommittee());
101 }
102 }
103 return dataSeries;
104 }
105 }