org.classbooker.presentation.controller.GetUserReservationsAction.java Source code

Java tutorial

Introduction

Here is the source code for org.classbooker.presentation.controller.GetUserReservationsAction.java

Source

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package org.classbooker.presentation.controller;

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JFrame;
import org.classbooker.dao.exception.DAOException;
import org.classbooker.entity.Reservation;
import org.classbooker.presentation.view.DisplayReservations;
import org.classbooker.presentation.view.FindUserReservationsForm;
import org.classbooker.service.ReservationMgrService;
import org.joda.time.DateTime;
import org.joda.time.format.DateTimeFormat;
import org.joda.time.format.DateTimeFormatter;

/**
 *
 * @author Albert
 */
public class GetUserReservationsAction implements ActionListener {

    FindUserReservationsForm form;
    ReservationMgrService services;
    String nif, buildingName, roomNb, type;
    DateTime dateIni;
    int capacity;

    public GetUserReservationsAction(FindUserReservationsForm form) {
        this.form = form;
    }

    public void setServices(ReservationMgrService services) {
        this.services = services;
    }

    public void actionPerformed(ActionEvent e) {

        form.parent.getContentPane().removeAll();

        initializeParametersFromForm();

        List<Reservation> userReservations;
        try {
            userReservations = services.getFilteredReservation(nif, dateIni, null, buildingName, roomNb, capacity,
                    type);
        } catch (DAOException ex) {
            userReservations = new ArrayList();
            Logger.getLogger(GetUserReservationsAction.class.getName()).log(Level.SEVERE, null, ex);
        }
        DisplayReservations dr = new DisplayReservations(userReservations);
        form.parent.getContentPane().add(dr, BorderLayout.CENTER);
        form.parent.revalidate();
        form.parent.getContentPane().repaint();
    }

    private void initializeParametersFromForm() {
        nif = form.nif.getText();
        capacity = 0;
        if (!form.capacity.getText().isEmpty()) {
            capacity = Integer.parseInt(form.capacity.getText());
        }
        buildingName = form.buildingName.getText();
        if (form.buildingName.getText().isEmpty()) {
            buildingName = null;
        }
        roomNb = form.roomNb.getText();
        if (form.roomNb.getText().isEmpty()) {
            roomNb = null;
        }
        dateIni = null;
        if (!form.dateIni.getText().isEmpty()) {
            DateTimeFormatter formatter = DateTimeFormat.forPattern("dd-MM-yyyy HH:mm");
            dateIni = formatter.parseDateTime(form.dateIni.getText());
        }
        type = form.type.getText();
        if (form.type.getText().isEmpty()) {
            type = null;
        }

    }
}