cz.muni.fi.pv168.project.hotelmanager.Main.java Source code

Java tutorial

Introduction

Here is the source code for cz.muni.fi.pv168.project.hotelmanager.Main.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 cz.muni.fi.pv168.project.hotelmanager;

import java.sql.SQLException;
import java.util.List;
import javax.sql.DataSource;
import org.apache.commons.dbcp2.BasicDataSource;
import org.apache.derby.jdbc.EmbeddedDriver;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.core.io.ClassPathResource;
import org.springframework.jdbc.datasource.init.ResourceDatabasePopulator;

/**
 *
 * @author Vladislav Malynyc
 */
public class Main {
    final static Logger log = LoggerFactory.getLogger(Main.class);

    public static DataSource createMemoryDatabase() {
        log.info("starts creation of tables");
        BasicDataSource bds = new BasicDataSource();
        //set JDBC driver and URL
        bds.setDriverClassName(EmbeddedDriver.class.getName());
        log.info("try create Datasource");
        bds.setUrl("jdbc:derby:memory:HotelManagerDB;create=true");
        //populate db with tables and data
        log.info("try create tables");
        new ResourceDatabasePopulator(new ClassPathResource("schema-javadb.sql")).execute(bds);
        log.info("return datasource");
        return bds;
    }

    private static Guest set_guest(String name, String address, String phone, String email) {
        Guest g = new Guest();
        g.setName(name);
        g.setAddress(address);
        g.setEmail(email);
        g.setPhone(phone);
        return g;
    }

    public static void main(String[] args) throws ServiceFailureException, SQLException {

        log.info("start");
        DataSource dataSource = createMemoryDatabase();
        GuestManager guestManager = new GuestManagerImpl(dataSource);
        RoomManager roomManager = new RoomManagerImpl(dataSource);
        Guest g1 = set_guest("Vlad", "Michurina", "125456", "Vlad@mail");
        Guest g2 = set_guest("Vasya", "Zagorska", "5552454", "Vasya@mail");
        guestManager.createGuest(g1);
        guestManager.createGuest(g2);
        guestManager.deleteGuest(g1);
        g1.setId(null);
        guestManager.createGuest(g1);

        Room r1 = new Room();
        r1.setRoomNumber(123);
        r1.setCapacity(3);
        r1.setCostPerNight(500);
        r1.setDoubleBed(true);
        roomManager.createRoom(r1);

        List<Guest> allGuests = guestManager.findAllGuests();
        System.out.println("allGuests = " + allGuests);

        List<Room> allRooms = roomManager.findAllRooms();
        System.out.println("allRooms = " + allRooms);
    }
}