meetingmanager.java
来自「100多M的J2EE培训内容」· Java 代码 · 共 122 行
JAVA
122 行
package com.borland.training.meetings.sessions;import java.util.*;import javax.ejb.*;import javax.naming.*;import com.borland.training.meetings.entities.*;class MeetingManager { private static MeetingManager instance = null; private MeetingValueFactory meetingValueFactory; private RoomValueFactory roomValueFactory; private AttendeeValueFactory attendeeValueFactory; private EJBHomeFactory homeFactory; private MeetingManager() throws NamingException { homeFactory = EJBHomeFactory.getInstance(); meetingValueFactory = MeetingValueFactory.getInstance(); attendeeValueFactory = AttendeeValueFactory.getInstance(); roomValueFactory = RoomValueFactory.getInstance(); } public static MeetingManager getInstance() throws NamingException { if(instance == null) { instance = new MeetingManager(); } return instance; } public Long createMeeting(MeetingValue meetingValue) throws FinderException, NamingException { try { MeetingHome meetingHome = (MeetingHome) homeFactory.lookupByLocalEJBReference("Meeting"); Meeting meeting = meetingHome.create(meetingValue.getTopic(), meetingValue.getStartTime(), meetingValue.getFinishTime()); Room room = roomValueFactory.findRoom(meetingValue.getRoomName()); meeting.setRoom(room); Iterator iterator = meetingValue.getAttendeeIds().iterator(); Long id; Attendee attendee = null; Collection meetingAttendees = meeting.getAttendees(); while(iterator.hasNext()) { id = (Long) iterator.next(); attendee = attendeeValueFactory.findAttendee(id); meetingAttendees.add(attendee); } return meeting.getId(); } catch(Exception e) { throw new EJBException(e); } } public void updateMeeting(MeetingValue meetingValue) throws FinderException, NamingException { try { Meeting meeting = meetingValueFactory.findMeeting(meetingValue.getId()); meeting.setTopic(meetingValue.getTopic()); meeting.setStartTime(meetingValue.getStartTime()); meeting.setFinishTime(meetingValue.getFinishTime()); if(!meeting.getRoom().getName().equals(meetingValue.getRoomName())) { Room newRoom = roomValueFactory.findRoom(meetingValue.getRoomName()); meeting.setRoom(newRoom); } // Map attendee ids to references Long id; Attendee attendee = null; Collection attendeeIds = meetingValue.getAttendeeIds(); Collection attendees = new Vector(attendeeIds.size()); Iterator iterator = attendeeIds.iterator(); while(iterator.hasNext()) { id = (Long) iterator.next(); attendee = attendeeValueFactory.findAttendee(id); attendees.add(attendee); } // Update the attendee list. // Note: for large numbers of attendees, it might be more efficient to determine // attendees that are beeing removed or added, and remove or add them individually. meeting.setAttendees(attendees); } catch(Exception e) { throw new EJBException(e); } } public void removeMeeting(Long id) throws FinderException, NamingException { try { Meeting meeting = meetingValueFactory.findMeeting(id); Iterator iterator = meeting.getAttendees().iterator(); while(iterator.hasNext()) { iterator.remove(); } meeting.remove(); } catch(Exception e) { throw new EJBException(e); } } public void removeAllMeetings() throws FinderException, NamingException { try { Collection meetings = meetingValueFactory.findAllMeetings(); Iterator iterator = meetings.iterator(); Meeting meeting = null; while(iterator.hasNext()) { meeting = (Meeting) iterator.next(); meeting.remove(); } } catch(Exception e) { throw new EJBException(e); } }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?