Boa dia pessoal,
Eu sou novato em primefaces e estou tentando utilizar um componente chamado Schedule, um calendário.
O que eu já fiz foi o seguinte, quando eu clico em qualquer data na tela ele abre um “dialog” contendo alguns campos como titulo e descrição, quando eu clico no botão salvar do Dialog ele salva as informações no banco e fica essa marca “azul na data 26” conforme a imagem abaixo na data que selecionei. Eu gostaria que ao invés de aparecer essa marca azul aparecesse o Titulo do evento que criei e que quando eu desse F5 ele não desaparece da tela, gostaria que ele continuasse lá para que o usuário saiba que existe um evento marcado para aquele dia.
Segue abaixo a tela e meu código.
Desde já agradeço,
imagem da tela
abaixo segue meu método de listar as agendas no DAO.
public ScheduleModel pegarAgendas(String pNome,Date pDate1,Date pDate2) {
ScheduleModel agendas = new LazyScheduleModel();
Conexao conexao = new Conexao();
Connection conn = conexao.getConnection();
List<Agenda> lstAgenda = new ArrayList<Agenda>();
PreparedStatement ps = null;
try {
ps = conn.prepareStatement("SELECT * FROM sgm_agenda");
} catch (SQLException ex) {
Logger.getLogger(AgendaDAO.class.getName()).log(Level.SEVERE, null, ex);
}
ResultSet rs = null;
try {
rs = ps.executeQuery();
} catch (SQLException ex) {
Logger.getLogger(AgendaDAO.class.getName()).log(Level.SEVERE, null, ex);
}
Agenda agenda = new Agenda();
try {
while(rs.next()) {
agenda.setTitulo(rs.getString("titulo"));
agenda.setDescricao(rs.getString("descricao"));
agenda.setDataInicio(rs.getDate("dataInicio"));
agenda.setDataFim(rs.getDate("dataFim"));
lstAgenda.add(agenda);
}
ps.close();
conn.close();
} catch (SQLException ex) {
Logger.getLogger(AgendaDAO.class.getName()).log(Level.SEVERE, null, ex);
}
System.out.println("passou pelo DAO LISTA");
return agendas;
}
e aqui meu controller.
@ManagedBean
@ViewScoped
public class AgendaController implements Serializable {
private ScheduleModel eventModel;
private ScheduleModel lazyEventModel;
private ScheduleEvent event = new DefaultScheduleEvent();
private boolean diaTodo;
private List<Agenda> listaAgenda = new ArrayList<Agenda>();
private Agenda agenda;
AgendaDAO agendaDAO = new AgendaDAO();
@PostConstruct
public void init() {
eventModel = new DefaultScheduleModel();
eventModel.addEvent(new DefaultScheduleEvent("Champions League Match", previousDay8Pm(), previousDay11Pm()));
eventModel.addEvent(new DefaultScheduleEvent("Birthday Party", today1Pm(), today6Pm()));
eventModel.addEvent(new DefaultScheduleEvent("Breakfast at Tiffanys", nextDay9Am(), nextDay11Am()));
eventModel.addEvent(new DefaultScheduleEvent("Plant the new garden stuff", theDayAfter3Pm(), fourDaysLater3pm()));
agenda = new Agenda();
diaTodo = agenda.isDiaTodo();
lazyEventModel = new LazyScheduleModel() {
@Override
public void loadEvents(Date start, Date end) {
Date random = getRandomDate(start);
addEvent(new DefaultScheduleEvent("Lazy Event 1", random, random));
random = getRandomDate(start);
addEvent(new DefaultScheduleEvent("Lazy Event 2", random, random));
}
};
}
public Date getRandomDate(Date base) {
Calendar date = Calendar.getInstance();
date.setTime(base);
date.add(Calendar.DATE, ((int) (Math.random()*30)) + 1); //set random day of month
return date.getTime();
}
public Date getInitialDate() {
Calendar calendar = Calendar.getInstance();
calendar.set(calendar.get(Calendar.YEAR), Calendar.FEBRUARY, calendar.get(Calendar.DATE), 0, 0, 0);
return calendar.getTime();
}
public void listarAgendaController() {
AgendaService agendaService = new AgendaService();
agendaService.listarAgendas(agenda);
}
//Metodo adiciona agenda no banco
public void salvarAgenda() {
AgendaService agendaService = new AgendaService();
try {
agendaService.salvar(agenda);
System.out.println("Agenda salva com sucesso.");
} catch (Exception e) {
System.out.println("Erro ao salvar agenda.");
}
}
//gets e sets
public ScheduleModel getEventModel() {
return eventModel;
}
public ScheduleModel getLazyEventModel() {
return lazyEventModel;
}
private Calendar today() {
Calendar calendar = Calendar.getInstance();
calendar.set(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DATE), 0, 0, 0);
return calendar;
}
private Date previousDay8Pm() {
Calendar t = (Calendar) today().clone();
t.set(Calendar.AM_PM, Calendar.PM);
t.set(Calendar.DATE, t.get(Calendar.DATE) - 1);
t.set(Calendar.HOUR, 8);
return t.getTime();
}
private Date previousDay11Pm() {
Calendar t = (Calendar) today().clone();
t.set(Calendar.AM_PM, Calendar.PM);
t.set(Calendar.DATE, t.get(Calendar.DATE) - 1);
t.set(Calendar.HOUR, 11);
return t.getTime();
}
private Date today1Pm() {
Calendar t = (Calendar) today().clone();
t.set(Calendar.AM_PM, Calendar.PM);
t.set(Calendar.HOUR, 1);
return t.getTime();
}
private Date theDayAfter3Pm() {
Calendar t = (Calendar) today().clone();
t.set(Calendar.DATE, t.get(Calendar.DATE) + 2);
t.set(Calendar.AM_PM, Calendar.PM);
t.set(Calendar.HOUR, 3);
return t.getTime();
}
private Date today6Pm() {
Calendar t = (Calendar) today().clone();
t.set(Calendar.AM_PM, Calendar.PM);
t.set(Calendar.HOUR, 6);
return t.getTime();
}
private Date nextDay9Am() {
Calendar t = (Calendar) today().clone();
t.set(Calendar.AM_PM, Calendar.AM);
t.set(Calendar.DATE, t.get(Calendar.DATE) + 1);
t.set(Calendar.HOUR, 9);
return t.getTime();
}
private Date nextDay11Am() {
Calendar t = (Calendar) today().clone();
t.set(Calendar.AM_PM, Calendar.AM);
t.set(Calendar.DATE, t.get(Calendar.DATE) + 1);
t.set(Calendar.HOUR, 11);
return t.getTime();
}
private Date fourDaysLater3pm() {
Calendar t = (Calendar) today().clone();
t.set(Calendar.AM_PM, Calendar.PM);
t.set(Calendar.DATE, t.get(Calendar.DATE) + 4);
t.set(Calendar.HOUR, 3);
return t.getTime();
}
public ScheduleEvent getEvent() {
return event;
}
public void setEvent(ScheduleEvent event) {
this.event = event;
}
public void addEvent(ActionEvent actionEvent) {
if(event.getId() == null){
eventModel.addEvent(event);
salvarAgenda();
}else {
eventModel.updateEvent(event);
event = new DefaultScheduleEvent();
}}
public void onEventSelect(SelectEvent selectEvent) {
event = (ScheduleEvent) selectEvent.getObject();
}
public void onDateSelect(SelectEvent selectEvent) {
event = new DefaultScheduleEvent("", (Date) selectEvent.getObject(), (Date) selectEvent.getObject());
}
public void onEventMove(ScheduleEntryMoveEvent event) {
FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO, "Event moved", "Day delta:" + event.getDayDelta() + ", Minute delta:" + event.getMinuteDelta());
addMessage(message);
}
public void onEventResize(ScheduleEntryResizeEvent event) {
FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO, "Event resized", "Day delta:" + event.getDayDelta() + ", Minute delta:" + event.getMinuteDelta());
addMessage(message);
}
private void addMessage(FacesMessage message) {
FacesContext.getCurrentInstance().addMessage(null, message);
}
public Agenda getAgenda() {
return agenda;
}
public void setAgenda(Agenda agenda) {
this.agenda = agenda;
}
public AgendaDAO getAgendaDAO() {
return agendaDAO;
}
public void setAgendaDAO(AgendaDAO agendaDAO) {
this.agendaDAO = agendaDAO;
}
}

