Схемы экранных форм
Рис. 2 Экранная форма №1 – Страница aircrafts.jspx
Рис. 3 Экранная форма №2 – Страница flights.jspx
Рис. 4 Экранная форма №3 – Страница reservations.jspx
Описание функций
Форма №1 - aircrafts.jspx разработанного приложения представлена в виде пяти последовательно размещаемых блоков (таблиц):
Таблица для вывода актуальных данных по самолетам авиакомпании. Это номер (id) и название (name) самолета, количество пассажирских мест.
Структурная организация системы
Разработанное J2EE-приложение «Резервирование авибилетов» включает четыре EJB и три страницы JSF. Его структура очевидна из рисунка.
EJB Aircraft, Flights, Reservation сгенерированы на основе таблиц Aircraft (ID_Aircraft, Name_Aircraft, PassengerSeats), Flights (ID_Flights, Name_Flights, Timetable, ID_Aircraft, TicketsAvailable), Reservation (ID_Reservation, FIO_Client, ID_Flights, ReservedTickets) из БД.
Реализация
Обозрение кода Aircraft.java
package model;
import java.io.Serializable;
import java.util.List;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;
@Entity
@NamedQueries({
@NamedQuery(name = "Aircraft.findAll", query = "select o from Aircraft o order by o.idAircraft asc")
,
@NamedQuery(name = "Aircraft.findByID", query = "select o from Aircraft o where o.idAircraft = :p_id")
})
public class Aircraft implements Serializable {
@Id
@Column(name="ID_AIRCRAFT", nullable = true)
private Double idAircraft;
@Column(name="NAME_AIRCRAFT", nullable = false)
private String nameAircraft;
@Column(nullable = false)
private Double passengerseats;
@OneToMany(mappedBy = "aircraft")
private List<Flights> flightsList;
public Aircraft() {
}
public Aircraft(Double idAircraft, String nameAircraft,
Double passengerseats) {
this.idAircraft = idAircraft;
this.nameAircraft = nameAircraft;
this.passengerseats = passengerseats;
}
public Aircraft(String nameAircraft,
Double passengerseats) {
this.nameAircraft = nameAircraft;
this.passengerseats = passengerseats;
}
public Double getIdAircraft() {
return idAircraft;
}
public void setIdAircraft(Double idAircraft) {
this.idAircraft = idAircraft;
}
public String getNameAircraft() {
return nameAircraft;
}
public void setNameAircraft(String nameAircraft) {
this.nameAircraft = nameAircraft;
}
public Double getPassengerseats() {
return passengerseats;
}
public void setPassengerseats(Double passengerseats) {
this.passengerseats = passengerseats;
}
public List<Flights> getFlightsList() {
return flightsList;
}
public void setFlightsList(List<Flights> flightsList) {
this.flightsList = flightsList;
}
public Flights addFlights(Flights flights) {
getFlightsList().add(flights);
flights.setAircraft(this);
return flights;
}
public Flights removeFlights(Flights flights) {
getFlightsList().remove(flights);
flights.setAircraft(null);
return flights;
}
}
Обозрение кода Flights.java
package model;
import java.io.Serializable;
import java.sql.Timestamp;
import java.util.List;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;
@Entity
@NamedQueries({
@NamedQuery(name = "Flights.findAll", query = "select o from Flights o")
})
public class Flights implements Serializable {
@Id
@Column(name="ID_FLIGHTS", nullable = false)
private Double idFlights;
@Column(name="NAME_FLIGHTS", nullable = false)
private String nameFlights;
@Column(nullable = false)
private Double price;
private Double ticketsavailable;
@Column(nullable = false)
private Timestamp timetable;
@ManyToOne
@JoinColumn(name = "ID_AIRCRAFT")
private Aircraft aircraft;
@OneToMany(mappedBy = "flights")
private List<Reservation> reservationList;
public Flights() {
}
public Flights(Aircraft aircraft, Double idFlights, String nameFlights,
Double price, Double ticketsavailable, Timestamp timetable) {
this.aircraft = aircraft;
this.idFlights = idFlights;
this.nameFlights = nameFlights;
this.price = price;
this.ticketsavailable = ticketsavailable;
this.timetable = timetable;
}
public Flights(Aircraft aircraft, String nameFlights,
Double price, Double ticketsavailable, Timestamp timetable) {
this.aircraft = aircraft;
this.nameFlights = nameFlights;
this.price = price;
this.ticketsavailable = ticketsavailable;
this.timetable = timetable;
}
public Double getIdFlights() {
return idFlights;
}
public void setIdFlights(Double idFlights) {
this.idFlights = idFlights;
}
public String getNameFlights() {
return nameFlights;
}
public void setNameFlights(String nameFlights) {
this.nameFlights = nameFlights;
}
public Double getTicketsavailable() {
return ticketsavailable;
}
public void setTicketsavailable(Double ticketsavailable) {
this.ticketsavailable = ticketsavailable;
}
public Timestamp getTimetable() {
return timetable;
}
public void setTimetable(Timestamp timetable) {
this.timetable = timetable;
}
public Double getPrice() {
return price;
}
public void setPrice(Double price) {
this.price = price;
}
public Aircraft getAircraft() {
return aircraft;
}
public void setAircraft(Aircraft aircraft) {
this.aircraft = aircraft;
}
public List<Reservation> getReservationList() {
return reservationList;
}
public void setReservationList(List<Reservation> reservationList) {
this.reservationList = reservationList;
}
public Reservation addReservation(Reservation reservation) {
getReservationList().add(reservation);
reservation.setFlights(this);
return reservation;
}
public Reservation removeReservation(Reservation reservation) {
getReservationList().remove(reservation);
reservation.setFlights(null);
return reservation;
}
}
Обозрение кода Reservation.java
package model;
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
@Entity
@NamedQueries({
@NamedQuery(name = "Reservation.findAll", query = "select o from Reservation o")
})
public class Reservation implements Serializable {
@Column(name="FIO_CLIENT", nullable = false)
private String fioClient;
@Id
@Column(name="ID_RESERVATION", nullable = false)
private Double idReservation;
private Double reservedtickets;
@ManyToOne
@JoinColumn(name = "ID_FLIGHTS")
private Flights flights;
public Reservation() {
}
public Reservation(String fioClient, Flights flights,
Double idReservation, Double reservedtickets) {
this.fioClient = fioClient;
this.flights = flights;
this.idReservation = idReservation;
this.reservedtickets = reservedtickets;
}
public Reservation(String fioClient, Flights flights,
Double reservedtickets) {
this.fioClient = fioClient;
this.flights = flights;
this.reservedtickets = reservedtickets;
}
public String getFioClient() {
return fioClient;
}
public void setFioClient(String fioClient) {
this.fioClient = fioClient;
}
public Double getIdReservation() {
return idReservation;
}
public void setIdReservation(Double idReservation) {
this.idReservation = idReservation;
}
public Double getReservedtickets() {
return reservedtickets;
}
public void setReservedtickets(Double reservedtickets) {
this.reservedtickets = reservedtickets;
}
public Flights getFlights() {
return flights;
}
public void setFlights(Flights flights) {
this.flights = flights;
}
}