package service.impl; import DAO.JDBCUtils; import DAO.impl.SubjectDAOImpl; import model.Subject; import service.SubjectService; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; public class SubjectServiceImpl implements SubjectService { SubjectDAOImpl subjectDAO = new SubjectDAOImpl(); @Override public List getAllSubjects() throws SQLException { List subject = subjectDAO.getAll(); return subject; } @Override public Subject getById(Long id) throws SQLException { return subjectDAO.getByID(id); } @Override public void update(Subject subject) { try { subjectDAO.update(subject); System.out.println("Successfully updated subject: " + subject); } catch (SQLException e) { System.out.println("Error updating subject: " + subject + ". " + e.getMessage()); throw new RuntimeException("Failed to update subject", e); } } @Override public void delete(Long id) throws SQLException { subjectDAO.delete(id); System.out.println("Successfully deleted subject with ID: " + id); } @Override public void save(Subject subject) { try { subjectDAO.save(subject); System.out.println("Successfully saved subject: " + subject); } catch (SQLException e) { System.out.println("Error saving subject: " + subject + ". " + e.getMessage()); throw new RuntimeException("Failed to save subject", e); } } }