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.ministry.impl.ViewRiksdagenMinistry;
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.MinistryDataSeriesFactory;
33
34
35
36
37 @Service
38 @Transactional(propagation=Propagation.REQUIRED)
39 public final class MinistryDataSeriesFactoryImpl implements MinistryDataSeriesFactory {
40
41
42 @Autowired
43 private ApplicationManager applicationManager;
44
45
46
47
48 public MinistryDataSeriesFactoryImpl() {
49 super();
50 }
51
52
53
54
55 @Override
56 public DataSeries createMinistryChartTimeSeriesAll() {
57 DataSeries dataSeries = new DataSeries();
58
59 final DataContainer<ViewRiksdagenMinistry, String> dataContainer = applicationManager
60 .getDataContainer(ViewRiksdagenMinistry.class);
61
62 for (final ViewRiksdagenMinistry data : dataContainer.getAll()) {
63 dataSeries =dataSeries.newSeries().add(data.getNameId(),data.getTotalAssignments());
64 }
65 return dataSeries;
66 }
67
68 @Override
69 public DataSeries createMinistryChartTimeSeriesCurrent() {
70 DataSeries dataSeries = new DataSeries();
71
72 final DataContainer<ViewRiksdagenMinistry, String> dataContainer = applicationManager
73 .getDataContainer(ViewRiksdagenMinistry.class);
74
75 for (final ViewRiksdagenMinistry data : dataContainer.getAll()) {
76 if (data.isActive()) {
77 dataSeries =dataSeries.newSeries().add(data.getNameId(),data.getCurrentMemberSize());
78 }
79 }
80 return dataSeries;
81 }
82
83
84
85 @Override
86 public DataSeries createChartTimeSeriesTotalDaysServedGovernmentByParty() {
87 DataSeries dataSeries = new DataSeries();
88
89 final DataContainer<ViewRiksdagenParty, String> dataContainer = applicationManager
90 .getDataContainer(ViewRiksdagenParty.class);
91
92 final DataContainer<ViewRiksdagenPartySummary, String> partySummarydataContainer = applicationManager
93 .getDataContainer(ViewRiksdagenPartySummary.class);
94
95 partySummarydataContainer.getAll();
96
97 for (final ViewRiksdagenParty data : dataContainer.getAll()) {
98 final ViewRiksdagenPartySummary summary = partySummarydataContainer.load(data.getPartyId());
99 if (summary != null && summary.isActive()) {
100
101 dataSeries =dataSeries.newSeries().add(data.getPartyName(),summary.getTotalDaysServedGovernment());
102 }
103 }
104 return dataSeries;
105 }
106
107 }