package com.fdar.apress.s2.actions.voting;
import com.fdar.apress.s2.actions.BaseAction;
import com.fdar.apress.s2.services.VotingService;
import com.fdar.apress.s2.services.VotingResult;
import com.fdar.apress.s2.services.EventService;
import com.fdar.apress.s2.domain.Contestant;
import org.apache.struts2.config.ParentPackage;
import org.apache.struts2.config.Result;
import java.util.List;
import java.util.ArrayList;
@ParentPackage("base-package")
@Result(value="/template/apress/eventResults.jsp")
public class FindResultsAction extends BaseAction {
private Long eventId;
private VotingService votingService;
private EventService service;
private List<VotingResult> results;
public void setEventId(Long eventId) {
this.eventId = eventId;
}
public void setVotingService(VotingService votingService) {
this.votingService = votingService;
}
public void setEventService(EventService service) {
this.service = service;
}
public List<VotingResult> getResults() {
return results;
}
public String execute() throws Exception {
results = new ArrayList<VotingResult>();
for( Contestant next : service.findById(eventId).getOptions() ) {
results.add( new VotingResult(next, votingService.getResults(eventId,next.getId()) ) );
}
return SUCCESS;
}
}