/** * Copyright (c) 2009-2014 Câmara dos Deputados. Todos os direitos reservados. * * e-Democracia é um software livre; você pode redistribuí-lo e/ou modificá-lo dentro * dos termos da Licença Pública Geral Menor GNU como publicada pela Fundação do * Software Livre (FSF); na versão 2.1 da Licença, ou (na sua opinião) qualquer versão. * * Este programa é distribuído na esperança de que possa ser útil, mas SEM NENHUMA GARANTIA; * sem uma garantia implícita de ADEQUAÇÃO a qualquer MERCADO ou APLICAÇÃO EM PARTICULAR. * Veja a Licença Pública Geral Menor GNU para maiores detalhes. */ package br.gov.camara.edemocracia.portlets.priorizacao; import java.io.Serializable; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List; /** * @author robson * */ public class EixoSumario implements Serializable { /** * */ private static final long serialVersionUID = 1L; private final long eixoId; private final String nome; private final List<PropostaSumario> propostas = new ArrayList<PropostaSumario>(); private int totalVotos; /** * @param eixoId * @param eixo */ public EixoSumario(long eixoId, String nome) { this.eixoId = eixoId; this.nome = nome; } /** * @return the eixoId */ public long getEixoId() { return eixoId; } /** * @return the nome */ public String getNome() { return nome; } /** * @return the totalVotos */ public int getTotalVotos() { return totalVotos; } /** * @return the propostas */ public List<PropostaSumario> getPropostas() { return Collections.unmodifiableList(propostas); } /** * Adiciona uma proposta a este eixo * * @param propostaId * @param identificador * @param ementa * @param votosProposta * @return */ public PropostaSumario adicionaProposta(long propostaId, String identificador, String ementa, int votosProposta, List<VotoSumario> votos) { PropostaSumario propostaSumario = new PropostaSumario(propostaId, this, identificador, ementa, votosProposta, votos); propostas.add(propostaSumario); totalVotos += votosProposta; return propostaSumario; } public List<PropostaSumario> getPropostasOrdenadas() { ArrayList<PropostaSumario> propostasOrdenadas = new ArrayList<PropostaSumario>( propostas); Collections.sort(propostasOrdenadas, new Comparator<PropostaSumario>() { @Override public int compare(PropostaSumario o1, PropostaSumario o2) { if (o1.getNumeroVotos() > o2.getNumeroVotos()) return -1; else if (o1.getNumeroVotos() == o2.getNumeroVotos()) return 0; else return 1; } }); return propostasOrdenadas; } }