⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 courseserviceimpl.java

📁 这是< Spring in Action 2005> 源码值得学习
💻 JAVA
字号:
package com.springinaction.training.service;import java.util.Iterator;import java.util.Set;import org.apache.log4j.Logger;import org.springframework.mail.MailException;import org.springframework.mail.MailSender;import org.springframework.mail.SimpleMailMessage;import com.springinaction.training.CourseException;import com.springinaction.training.dao.CourseDao;import com.springinaction.training.model.Course;import com.springinaction.training.model.Student;public class CourseServiceImpl implements CourseService {    private static Logger LOGGER = Logger.getLogger(CourseServiceImpl.class);    public CourseServiceImpl(CourseDao dao) {    this.courseDao = dao;  }  public Course getCourse(int id) {    return getCourse(new Integer(id));  }    public Course getCourse(Integer id) {    return courseDao.findById(id);  }  public void saveCourse(Course course) {    courseDao.save(course);  }  public void enrollStudentInCourse(Course course,       Student student) throws CourseException {    // TODO:    enforcePrerequisites(course, student);    // TODO:    Check for schedule conflicts    course.getStudents().add(student);    courseDao.save(course);  }    public Set getAllCourses() {    return courseDao.findAll();  }  public void sendCourseEnrollmentReport() {    Set courseList = courseDao.findAll();    SimpleMailMessage message =         new SimpleMailMessage(this.mailMessage);    StringBuffer messageText = new StringBuffer();    messageText.append("Current enrollment data is as follows:\n\n");        for(Iterator iter = courseList.iterator(); iter.hasNext(); ) {      Course course = (Course) iter.next();      messageText.append(course.getId() + "    ");      messageText.append(course.getName() + "    ");      int enrollment = courseDao.getEnrollment(course);      messageText.append(enrollment);    }    message.setText(messageText.toString());    try {      mailSender.send(message);    } catch (MailException e) {      LOGGER.error(e.getMessage());    }  }    private void enforcePrerequisites(Course course,       Student student) throws CourseException {        Set completed = studentService.getCompletedCourses(student);    // Check for prerequesites    Set prereqs = course.getPrerequisites();    for(Iterator iter = prereqs.iterator(); iter.hasNext(); ) {      if(!completed.contains(iter.next())) {        throw new CourseException("Prerequisites are not met.");      }    }        // Check for scheduling clash    for(Iterator iter = completed.iterator(); iter.hasNext(); ) {      Course completedCourse = (Course) iter.next();          }  }    // COLLABORATORS  private CourseDao courseDao;  public void setCourseDao(CourseDao courseDao) {    this.courseDao = courseDao;  }    private StudentService studentService;  public void setStudentService(StudentService service) {    this.studentService = service;  }  private MailSender mailSender;  public void setMailSender(MailSender mailSender) {    this.mailSender = mailSender;  }    private SimpleMailMessage mailMessage;  public void setMailMessage(SimpleMailMessage mailMessage) {    this.mailMessage = mailMessage;  }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -