Search in sources :

Example 26 with DataSeries

use of org.dussan.vaadin.dcharts.data.DataSeries in project cia by Hack23.

the class OrgDocumentChartDataManagerImpl method addDocumentHistoryByOrgData.

/**
 * Adds the document history by org data.
 *
 * @param dataSeries
 *            the data series
 * @param series
 *            the series
 * @param itemList
 *            the item list
 */
private static void addDocumentHistoryByOrgData(final DataSeries dataSeries, final Series series, final List<ViewRiksdagenOrgDocumentDailySummary> itemList) {
    final Map<String, List<ViewRiksdagenOrgDocumentDailySummary>> map = itemList.parallelStream().filter(Objects::nonNull).collect(Collectors.groupingBy(t -> StringUtils.defaultIfBlank(t.getDocumentType(), NO_INFO)));
    final SimpleDateFormat simpleDateFormat = new SimpleDateFormat(DD_MMM_YYYY, Locale.ENGLISH);
    final SimpleDateFormat parseIncomingDateFormat = new SimpleDateFormat("yyyy-MM-dd", Locale.ENGLISH);
    for (final Entry<String, List<ViewRiksdagenOrgDocumentDailySummary>> entry : map.entrySet()) {
        addNewDataSerie(dataSeries, series, simpleDateFormat, parseIncomingDateFormat, entry);
    }
}
Also used : DataSeries(org.dussan.vaadin.dcharts.data.DataSeries) StringUtils(org.apache.commons.lang.StringUtils) Logger(org.slf4j.Logger) LoggerFactory(org.slf4j.LoggerFactory) SimpleDateFormat(java.text.SimpleDateFormat) OrgDocumentChartDataManager(com.hack23.cia.web.impl.ui.application.views.common.chartfactory.api.OrgDocumentChartDataManager) ViewRiksdagenOrgDocumentDailySummary(com.hack23.cia.model.internal.application.data.document.impl.ViewRiksdagenOrgDocumentDailySummary) Collectors(java.util.stream.Collectors) Objects(java.util.Objects) DCharts(org.dussan.vaadin.dcharts.DCharts) DataContainer(com.hack23.cia.service.api.DataContainer) List(java.util.List) Locale(java.util.Locale) Service(org.springframework.stereotype.Service) Map(java.util.Map) Series(org.dussan.vaadin.dcharts.options.Series) Entry(java.util.Map.Entry) XYseries(org.dussan.vaadin.dcharts.base.elements.XYseries) StringEscapeUtils(org.apache.commons.lang3.StringEscapeUtils) ParseException(java.text.ParseException) RiksdagenDocumentOrgSummaryEmbeddedId(com.hack23.cia.model.internal.application.data.document.impl.RiksdagenDocumentOrgSummaryEmbeddedId) AbstractOrderedLayout(com.vaadin.ui.AbstractOrderedLayout) List(java.util.List) SimpleDateFormat(java.text.SimpleDateFormat)

Example 27 with DataSeries

use of org.dussan.vaadin.dcharts.data.DataSeries in project cia by Hack23.

the class PartyChartDataManagerImpl method createPartyWinnerChart.

@Override
public void createPartyWinnerChart(final AbstractOrderedLayout content) {
    final Map<String, List<ViewRiksdagenVoteDataBallotPartySummaryDaily>> map = getPartyMap();
    final DataSeries dataSeries = new DataSeries();
    final SimpleDateFormat simpleDateFormat = new SimpleDateFormat(DD_MMM_YYYY, Locale.ENGLISH);
    final Series series = new Series();
    for (final Entry<String, List<ViewRiksdagenVoteDataBallotPartySummaryDaily>> entry : map.entrySet()) {
        series.addSeries(new XYseries().setLabel(getPartyName(entry.getKey())));
        dataSeries.newSeries();
        final List<ViewRiksdagenVoteDataBallotPartySummaryDaily> list = entry.getValue();
        for (final ViewRiksdagenVoteDataBallotPartySummaryDaily viewRiksdagenVoteDataBallotPartySummaryDaily : list) {
            if (viewRiksdagenVoteDataBallotPartySummaryDaily != null) {
                dataSeries.add(simpleDateFormat.format(viewRiksdagenVoteDataBallotPartySummaryDaily.getEmbeddedId().getVoteDate()), viewRiksdagenVoteDataBallotPartySummaryDaily.getPartyWonPercentage());
            }
        }
    }
    series.addSeries(new XYseries().setLabel(NUMBER_BALLOTS));
    dataSeries.newSeries();
    final List<ViewRiksdagenVoteDataBallotPartySummaryDaily> list = getMaxSizeViewRiksdagenVoteDataBallotPartySummaryDaily();
    for (final ViewRiksdagenVoteDataBallotPartySummaryDaily viewRiksdagenVoteDataBallotPartySummaryDaily : list) {
        if (viewRiksdagenVoteDataBallotPartySummaryDaily != null) {
            dataSeries.add(simpleDateFormat.format(viewRiksdagenVoteDataBallotPartySummaryDaily.getEmbeddedId().getVoteDate()), viewRiksdagenVoteDataBallotPartySummaryDaily.getNumberBallots());
        }
    }
    addChart(content, "Party winner by daily ballot average", new DCharts().setDataSeries(dataSeries).setOptions(getChartOptions().createOptionsXYDateFloatLegendInsideOneColumn(series)).show(), true);
}
Also used : DataSeries(org.dussan.vaadin.dcharts.data.DataSeries) Series(org.dussan.vaadin.dcharts.options.Series) ViewRiksdagenVoteDataBallotPartySummaryDaily(com.hack23.cia.model.internal.application.data.committee.impl.ViewRiksdagenVoteDataBallotPartySummaryDaily) ArrayList(java.util.ArrayList) List(java.util.List) DataSeries(org.dussan.vaadin.dcharts.data.DataSeries) DCharts(org.dussan.vaadin.dcharts.DCharts) XYseries(org.dussan.vaadin.dcharts.base.elements.XYseries) SimpleDateFormat(java.text.SimpleDateFormat)

Example 28 with DataSeries

use of org.dussan.vaadin.dcharts.data.DataSeries in project cia by Hack23.

the class PersonDocumentChartDataManagerImpl method createPersonDocumentHistoryChart.

@Override
public void createPersonDocumentHistoryChart(final AbstractOrderedLayout content, final String personId) {
    final SimpleDateFormat simpleDateFormat = new SimpleDateFormat(DD_MMM_YYYY, Locale.ENGLISH);
    final DataSeries dataSeries = new DataSeries();
    final Series series = new Series();
    final Map<String, List<ViewRiksdagenPoliticianDocumentDailySummary>> allMap = getViewRiksdagenPoliticianDocumentDailySummaryMap();
    final List<ViewRiksdagenPoliticianDocumentDailySummary> itemList = allMap.get(personId.toUpperCase(Locale.ENGLISH).replace(UNDER_SCORE, EMPTY_STRING).trim());
    if (itemList != null) {
        final Map<String, List<ViewRiksdagenPoliticianDocumentDailySummary>> map = itemList.parallelStream().filter(Objects::nonNull).collect(Collectors.groupingBy(t -> StringUtils.defaultIfBlank(t.getEmbeddedId().getDocumentType(), NO_INFO)));
        addDocumentHistoryByPersonData(simpleDateFormat, dataSeries, series, map);
    }
    addChart(content, DOCUMENT_HISTORY, new DCharts().setDataSeries(dataSeries).setOptions(getChartOptions().createOptionsXYDateFloatLegendInsideOneColumn(series)).show(), true);
}
Also used : DataSeries(org.dussan.vaadin.dcharts.data.DataSeries) StringUtils(org.apache.commons.lang.StringUtils) Logger(org.slf4j.Logger) PersonDocumentChartDataManager(com.hack23.cia.web.impl.ui.application.views.common.chartfactory.api.PersonDocumentChartDataManager) LoggerFactory(org.slf4j.LoggerFactory) SimpleDateFormat(java.text.SimpleDateFormat) ViewRiksdagenPoliticianDocumentDailySummary(com.hack23.cia.model.internal.application.data.document.impl.ViewRiksdagenPoliticianDocumentDailySummary) Collectors(java.util.stream.Collectors) RiksdagenDocumentPersonSummaryEmbeddedId(com.hack23.cia.model.internal.application.data.document.impl.RiksdagenDocumentPersonSummaryEmbeddedId) Objects(java.util.Objects) DCharts(org.dussan.vaadin.dcharts.DCharts) DataContainer(com.hack23.cia.service.api.DataContainer) List(java.util.List) Locale(java.util.Locale) Service(org.springframework.stereotype.Service) Map(java.util.Map) Series(org.dussan.vaadin.dcharts.options.Series) Entry(java.util.Map.Entry) XYseries(org.dussan.vaadin.dcharts.base.elements.XYseries) AbstractOrderedLayout(com.vaadin.ui.AbstractOrderedLayout) DataSeries(org.dussan.vaadin.dcharts.data.DataSeries) Series(org.dussan.vaadin.dcharts.options.Series) DataSeries(org.dussan.vaadin.dcharts.data.DataSeries) List(java.util.List) DCharts(org.dussan.vaadin.dcharts.DCharts) SimpleDateFormat(java.text.SimpleDateFormat) ViewRiksdagenPoliticianDocumentDailySummary(com.hack23.cia.model.internal.application.data.document.impl.ViewRiksdagenPoliticianDocumentDailySummary)

Example 29 with DataSeries

use of org.dussan.vaadin.dcharts.data.DataSeries in project cia by Hack23.

the class WorldIndicatorChartDataManagerImpl method createIndicatorChart.

@Override
public void createIndicatorChart(final AbstractOrderedLayout content, final List<WorldBankData> list, final ViewWorldbankIndicatorDataCountrySummary summary) {
    final Map<Country, List<WorldBankData>> countryIndicatorsMap = list.stream().collect(Collectors.groupingBy(WorldBankData::getCountry, Collectors.toList()));
    final Series series = new Series();
    final DataSeries dataSeries = new DataSeries();
    for (final Entry<Country, List<WorldBankData>> entry : countryIndicatorsMap.entrySet()) {
        series.addSeries(new XYseries().setLabel(entry.getKey().getValue()));
        dataSeries.newSeries();
        for (final WorldBankData item : entry.getValue()) {
            if (item != null && item.getYearDate() != null && item.getDataValue() != null && !item.getDataValue().isEmpty()) {
                dataSeries.add(item.getYearDate() + "-01-01", Float.valueOf(item.getDataValue()));
            }
        }
    }
    addChart(content, summary.getIndicatorName(), new DCharts().setDataSeries(dataSeries).setOptions(getChartOptions().createOptionsCountryLineChart(series)).show(), false);
}
Also used : DataSeries(org.dussan.vaadin.dcharts.data.DataSeries) Series(org.dussan.vaadin.dcharts.options.Series) WorldBankData(com.hack23.cia.model.external.worldbank.data.impl.WorldBankData) Country(com.hack23.cia.model.external.worldbank.data.impl.Country) List(java.util.List) DataSeries(org.dussan.vaadin.dcharts.data.DataSeries) DCharts(org.dussan.vaadin.dcharts.DCharts) XYseries(org.dussan.vaadin.dcharts.base.elements.XYseries)

Example 30 with DataSeries

use of org.dussan.vaadin.dcharts.data.DataSeries in project cia by Hack23.

the class CommitteeDataSeriesFactoryImpl method createCommitteeChartTimeSeriesAll.

@Override
public DataSeries createCommitteeChartTimeSeriesAll() {
    DataSeries dataSeries = new DataSeries();
    final DataContainer<ViewRiksdagenCommittee, String> dataContainer = applicationManager.getDataContainer(ViewRiksdagenCommittee.class);
    for (final ViewRiksdagenCommittee data : dataContainer.getAll()) {
        dataSeries = dataSeries.newSeries().add(data.getEmbeddedId().getDetail(), data.getTotalAssignments());
    }
    return dataSeries;
}
Also used : DataSeries(org.dussan.vaadin.dcharts.data.DataSeries) ViewRiksdagenCommittee(com.hack23.cia.model.internal.application.data.committee.impl.ViewRiksdagenCommittee)

Aggregations

DataSeries (org.dussan.vaadin.dcharts.data.DataSeries)30 DCharts (org.dussan.vaadin.dcharts.DCharts)20 Series (org.dussan.vaadin.dcharts.options.Series)19 XYseries (org.dussan.vaadin.dcharts.base.elements.XYseries)17 List (java.util.List)14 SimpleDateFormat (java.text.SimpleDateFormat)13 ViewRiksdagenParty (com.hack23.cia.model.internal.application.data.party.impl.ViewRiksdagenParty)5 ViewRiksdagenPartySummary (com.hack23.cia.model.internal.application.data.party.impl.ViewRiksdagenPartySummary)5 DataContainer (com.hack23.cia.service.api.DataContainer)4 AbstractOrderedLayout (com.vaadin.ui.AbstractOrderedLayout)4 Locale (java.util.Locale)4 Map (java.util.Map)4 Entry (java.util.Map.Entry)4 Objects (java.util.Objects)4 Collectors (java.util.stream.Collectors)4 Service (org.springframework.stereotype.Service)4 ViewRiksdagenVoteDataBallotPartySummaryDaily (com.hack23.cia.model.internal.application.data.committee.impl.ViewRiksdagenVoteDataBallotPartySummaryDaily)3 StringUtils (org.apache.commons.lang.StringUtils)3 Logger (org.slf4j.Logger)3 LoggerFactory (org.slf4j.LoggerFactory)3