PlannerBean.java
上传用户:dinglihq
上传日期:2013-02-04
资源大小:99958k
文件大小:1k
源码类别:

Java编程

开发平台:

Java

  1. package com.borland.training.meetings.sessions;
  2. import javax.ejb.*;
  3. import java.util.*;
  4. import com.borland.training.meetings.entities.*;
  5. public class PlannerBean implements SessionBean {
  6.   private SessionContext sessionContext;
  7.   private Date nextStartTime;
  8.   private Collection attendees;
  9.   transient private TimeFinder timeFinder;
  10.   public void ejbCreate(Collection attendeeIds, java.util.Date startTime) {
  11.     try {
  12.       AttendeeValueFactory factory = AttendeeValueFactory.getInstance();
  13.       Iterator iterator = attendeeIds.iterator();
  14.       attendees = new Vector();
  15.       Attendee attendee = null;
  16.       while(iterator.hasNext()) {
  17.         attendee = factory.findAttendee((Long) iterator.next());
  18.         attendees.add(attendee);
  19.       }
  20.       nextStartTime = startTime;
  21.       timeFinder = TimeFinder.getInstance();
  22.     }
  23.     catch(Exception e) {
  24.       throw new javax.ejb.EJBException(e);
  25.     }
  26.   }
  27.   public void ejbRemove() {
  28.   }
  29.   public void ejbActivate() {
  30.   }
  31.   public void ejbPassivate() {
  32.   }
  33.   public void setSessionContext(SessionContext sessionContext) {
  34.     this.sessionContext = sessionContext;
  35.   }
  36.   public TimePeriod nextAvailableTimePeriod() {
  37.     try {
  38.       TimePeriod availablePeriod = timeFinder.firstAvailableTime(attendees, nextStartTime);
  39.       if(availablePeriod != null) {
  40.         nextStartTime = availablePeriod.getFinishTime();
  41.       }
  42.       return availablePeriod;
  43.     }
  44.     catch (Exception e) {
  45.       throw new javax.ejb.EJBException(e);
  46.     }
  47.   }
  48. }