Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package server;
- import java.sql.Connection;
- import java.sql.DriverManager;
- import java.sql.PreparedStatement;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import java.util.ArrayList;
- import program.Employee;
- import program.Department;
- import program.EmployeeList;
- import program.Event;
- import program.Model;
- import statePattern.EventState;
- public class ServerModelManager implements Model
- {
- private Connection conn;
- public ServerModelManager()
- {
- System.out.println("Server started");
- try
- {
- Class.forName("org.postgresql.Driver");
- conn = DriverManager.getConnection("jdbc:postgresql://localhost:5432/postgres", "postgres", "admin");
- conn.setSchema("CourseAssign");
- Thread thread = new Thread(new ServerConnection(this));
- thread.start();
- }
- catch (ClassNotFoundException e)
- {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- catch (SQLException e)
- {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- public static String reverse(String s)
- {
- return s.charAt(7) + "" + s.charAt(8) + "" + s.charAt(9) + s.charAt(10) + "-" + s.charAt(3) + s.charAt(4) + "-" + s.charAt(0) + s.charAt(1);
- }
- public boolean existentUser(String userName)
- {
- try
- {
- PreparedStatement stmt = conn.prepareStatement("SELECT * FROM users WHERE username = ?");
- stmt.setString(1, userName);
- ResultSet rS = stmt.executeQuery();
- return rS.next();
- }
- catch (SQLException e)
- {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- return false;
- }
- public String getUserPassword(String userName)
- {
- try
- {
- PreparedStatement stmt = conn.prepareStatement("SELECT password FROM users WHERE username = ?");
- stmt.setString(1, userName);
- ResultSet rS = stmt.executeQuery();
- rS.next();
- return rS.getString(1);
- }
- catch (SQLException e)
- {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- return null;
- }
- public void addEmployee(Employee emp)
- {
- try
- {
- PreparedStatement stmt = conn.prepareStatement("INSERT INTO users (cpr, username, password, role, name, birthday, email, depname, wages) VALUES (?, ?, ?, ?, ?, ?::date, ?, ?, ?)");
- stmt.setString(1, emp.getCpr());
- stmt.setString(2, emp.getUserName());
- stmt.setString(3, emp.getPassword());
- stmt.setString(4, emp.getRole());
- stmt.setString(5, emp.getName());
- stmt.setString(6, emp.getBirthYear() + "-" + emp.getBirthMonth() + "-" + emp.getBirthDate());
- stmt.setString(7, emp.getEmail());
- stmt.setString(8, emp.getDepartment());
- stmt.setInt(9, emp.getWages());
- stmt.executeUpdate();
- }
- catch (SQLException e)
- {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- public EmployeeList getEmployeesList()
- {
- try
- {
- EmployeeList list = new EmployeeList();
- PreparedStatement stmt = conn.prepareStatement("SELECT * FROM users");
- ResultSet rS = stmt.executeQuery();
- while (rS.next()) {
- Employee employee = new Employee();
- employee.setCpr(rS.getString(1));
- employee.setUserName(rS.getString(2));
- employee.setPassword(rS.getString(3));
- employee.setRole(rS.getString(4));
- employee.setName(rS.getString(5));
- employee.setBirthDate((rS.getString(6).charAt(8) - 48) * 10 + rS.getString(6).charAt(9) - 48);
- employee.setBirthMonth((rS.getString(6).charAt(5) - 48) * 10 + rS.getString(6).charAt(6) - 48);
- employee.setBirthYear((rS.getString(6).charAt(0) - 48) * 1000 + (rS.getString(6).charAt(1) - 48) * 100 + (rS.getString(6).charAt(2) - 48) * 10 + rS.getString(6).charAt(3) - 48);
- employee.setEmail(rS.getString(7));
- employee.setDepartment(rS.getString(8));
- employee.setWages(rS.getInt(9));
- list.addEmployee(employee);
- }
- return list;
- }
- catch (SQLException e)
- {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- return new EmployeeList();
- }
- /*
- public ArrayList<Department> getDepartmentsList()
- {
- try
- {
- ArrayList<Department> list = new ArrayList<Department>();
- PreparedStatement stmt = conn.prepareStatement("SELECT * FROM department");
- ResultSet rS = stmt.executeQuery();
- while (rS.next()) {
- Department department = new Department();
- department.setDepNumber(rS.getInt(1));
- department.setDepName(rS.getString(2));
- department.setDepCountry(rS.getString(3));
- department.setDepCity(rS.getString(4));
- list.add(department);
- }
- return list;
- }
- catch (SQLException e)
- {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- return new ArrayList<Department>();
- }
- */
- public ArrayList<Department> getDepartmentsList()
- {
- try
- {
- ArrayList<Department> list = new ArrayList<Department>();
- PreparedStatement stmt = conn.prepareStatement("SELECT * FROM department");
- ResultSet rS = stmt.executeQuery();
- while (rS.next()) {
- Department department = new Department();
- department.setDepNumber(rS.getInt(1));
- department.setDepName(rS.getString(2));
- department.setDepCountry(rS.getString(3));
- department.setDepCity(rS.getString(4));
- list.add(department);
- }
- return list;
- }
- catch (SQLException e)
- {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- return new ArrayList<Department>();
- }
- public ArrayList<Event> getEventList()
- {
- try
- {
- ArrayList<Event> list = new ArrayList<Event>();
- PreparedStatement stmt = conn.prepareStatement("SELECT * FROM event");
- ResultSet rS = stmt.executeQuery();
- while (rS.next()) {
- Event event = new Event();
- event.setEventNum(rS.getInt(1));
- event.setName(rS.getString(2));
- event.setStartHour(rS.getInt(3));
- event.setEndHour(rS.getInt(4));
- event.setStartMinute(rS.getInt(5));
- event.setEndMinute(rS.getInt(6));
- event.setStartDate((rS.getString(7).charAt(8) - 48) * 10 + rS.getString(7).charAt(9) - 48);
- event.setStartMonth((rS.getString(7).charAt(5) - 48) * 10 + rS.getString(7).charAt(6) - 48);
- event.setStartYear((rS.getString(7).charAt(0) - 48) * 1000 + (rS.getString(7).charAt(1) - 48) * 100 + (rS.getString(7).charAt(2) - 48) * 10 + rS.getString(7).charAt(3) - 48);
- event.setEndDate((rS.getString(8).charAt(8) - 48) * 10 + rS.getString(8).charAt(9) - 48);
- event.setEndMonth((rS.getString(8).charAt(5) - 48) * 10 + rS.getString(8).charAt(6) - 48);
- event.setEndYear((rS.getString(8).charAt(0) - 48) * 1000 + (rS.getString(8).charAt(1) - 48) * 100 + (rS.getString(8).charAt(2) - 48) * 10 + rS.getString(8).charAt(3) - 48);
- // fuuuck event.setState(rS.getString(9));
- event.setDepartment(rS.getString(10));
- list.add(event);
- }
- return list;
- }
- catch (SQLException e)
- {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- return new ArrayList<Event>();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement