package gov.nysenate.openleg.client.view.agenda; import gov.nysenate.openleg.client.view.base.ListView; import gov.nysenate.openleg.client.view.base.ViewObject; import gov.nysenate.openleg.client.view.committee.CommitteeIdView; import gov.nysenate.openleg.model.agenda.AgendaInfoCommittee; import gov.nysenate.openleg.service.bill.data.BillDataService; import java.time.LocalDateTime; import java.util.stream.Collectors; public class AgendaInfoCommView implements ViewObject { private CommitteeIdView committee; private String chair; private String location; private LocalDateTime meetingDateTime; private String notes; private ListView<AgendaItemView> bills; public AgendaInfoCommView(AgendaInfoCommittee infoComm, BillDataService billDataService) { if (infoComm != null) { this.committee = new CommitteeIdView(infoComm.getCommitteeId()); this.chair = infoComm.getChair(); this.location = infoComm.getLocation(); this.meetingDateTime = infoComm.getMeetingDateTime(); this.notes = infoComm.getNotes(); this.bills = ListView.of(infoComm.getItems().stream() .map(i -> new AgendaItemView(i, billDataService)) .collect(Collectors.toList())); } } @Override public String getViewType() { return "agenda-info-committee"; } }