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

Java编程

开发平台:

Java

  1. package com.borland.training.meetings.clients;
  2. import com.borland.training.meetings.sessions.*;
  3. import javax.naming.*;
  4. import javax.rmi.PortableRemoteObject;
  5. import java.util.*;
  6. public class SchedulerClient {
  7.   static SchedulerHome schedulerHome = null;
  8.   static Scheduler scheduler = null;
  9.   public SchedulerClient() {}
  10.   public static void main(String[] args) {
  11.     if(args.length != 1) {
  12.       usage();
  13.     }
  14.     Object ref;
  15.     try {
  16.       //get naming context
  17.       Context ctx = new InitialContext();
  18.       //look up jndi name
  19.       ref = ctx.lookup("meetings/Scheduler");
  20.       //cast to Home interface
  21.       schedulerHome = (SchedulerHome) PortableRemoteObject.narrow(ref, SchedulerHome.class);
  22.       scheduler = schedulerHome.create();
  23.       String command = args[0];
  24.       if(command.equals("create")) {
  25. create();
  26.       }
  27.       else if(command.equals("use")) {
  28. use();
  29.       }
  30.       else if(command.equals("remove")) {
  31. remove();
  32.       }
  33.       else {
  34. usage();
  35.       }
  36.       scheduler.remove();
  37.     }
  38.     catch(Exception e) {
  39.       System.err.println("Exception caught");
  40.       e.printStackTrace();
  41.     }
  42.   }
  43.   private static void create() {
  44.     try {
  45.       RoomValue roomValue = new RoomValue("100", (int) 10);
  46.       System.out.println("Creating room: " + roomValue);
  47.       String name = scheduler.createRoom(roomValue);
  48.       System.out.println("Created room id: " + name);
  49.       System.out.println();
  50.       roomValue = new RoomValue("101", (int) 5);
  51.       System.out.println("Creating room: " + roomValue);
  52.       name = scheduler.createRoom(roomValue);
  53.       System.out.println("Created room id: " + name);
  54.       System.out.println();
  55.       System.out.println("Changing capacity of room: " + roomValue.getName());
  56.       roomValue.setCapacity(roomValue.getCapacity() + 10);
  57.       scheduler.updateRoom(roomValue);
  58.       System.out.println();
  59.       Vector attendeeIds = new Vector(3);
  60.       AttendeeValue attendeeValue =
  61.         new AttendeeValue("John Smith", "Developer", "Mr.",
  62.           "(123) 456 1001", "js@xyz.com");
  63.       System.out.println("Creating attendee: " + attendeeValue);
  64.       Long attendeeId = scheduler.createAttendee(attendeeValue);
  65.       System.out.println("Created attendee id: " + attendeeId);
  66.       attendeeIds.add(attendeeId);
  67.       System.out.println();
  68.       attendeeValue =
  69.         new AttendeeValue("Joe Brown", "Manager", "Mr.",
  70.           "(123) 456 1002", "jb@xyz.com");
  71.       System.out.println("Creating attendee: " + attendeeValue);
  72.       attendeeId = scheduler.createAttendee(attendeeValue);
  73.       System.out.println("Created attendee id: " + attendeeId);
  74.       attendeeIds.add(attendeeId);
  75.       System.out.println();
  76.       attendeeValue =
  77.         new AttendeeValue("Steve Bates", "VP", "Dr.",
  78.           "(123) 456 1003", "sb@xyz.com");
  79.       System.out.println("Creating attendee: " + attendeeValue);
  80.       attendeeId = scheduler.createAttendee(attendeeValue);
  81.       System.out.println("Created attendee id: " + attendeeId);
  82.       attendeeIds.add(attendeeId);
  83.       System.out.println();
  84.       Calendar cal = Calendar.getInstance();
  85.       Date time1 = cal.getTime();
  86.       cal.add(Calendar.HOUR, 1);
  87.       Date time2 = cal.getTime();
  88.       cal.add(Calendar.HOUR, 1);
  89.       Date time3 = cal.getTime();
  90.       MeetingValue meetingValue =
  91.         new MeetingValue("Summer Vacation", time1, time2, "100", attendeeIds);
  92.       System.out.println("Creating meeting: " + meetingValue);
  93.       Long meetingId = scheduler.createMeeting(meetingValue);
  94.       System.out.println("Created meeting id: " + meetingId);
  95.       System.out.println();
  96.       System.out.println("Looking for meeting :" + meetingId);
  97.       meetingValue = scheduler.findMeeting(meetingId);
  98.       System.out.println(meetingValue);
  99.       System.out.println();
  100.       attendeeIds.remove(1);
  101.       meetingValue =
  102.         new MeetingValue("Winter Vacation", time2, time3, "100", attendeeIds);
  103.       System.out.println("Creating meeting: " + meetingValue);
  104.       meetingId = scheduler.createMeeting(meetingValue);
  105.       System.out.println("Created meeting id: " + meetingId);
  106.       System.out.println();
  107.       System.out.println("Looking for meeting: " + meetingId);
  108.       meetingValue = scheduler.findMeeting(meetingId);
  109.       System.out.println(meetingValue);
  110.       System.out.println();
  111.       System.out.println("Changing room for meeting: " + meetingId);
  112.       meetingValue.setRoomName("101");
  113.       scheduler.updateMeeting(meetingValue);
  114.       System.out.println();
  115.       System.out.println("Looking for meeting: " + meetingId);
  116.       meetingValue = scheduler.findMeeting(meetingId);
  117.       System.out.println(meetingValue);
  118.       System.out.println();
  119.       attendeeValue =
  120.         new AttendeeValue("Joan Wilder", "Assistant", "Mrs.",
  121.           "(123) 456 1004", "jw@xyz.com");
  122.       System.out.println("Creating attendee: " + attendeeValue);
  123.       attendeeId = scheduler.createAttendee(attendeeValue);
  124.       System.out.println("Created attendee id: " + attendeeId);
  125.       System.out.println("Signing up attendee: " + attendeeId
  126.         + " to meeting: " + meetingId);
  127.       meetingValue.getAttendeeIds().add(attendeeId);
  128.       scheduler.updateMeeting(meetingValue);
  129.       System.out.println("Looking for meeting:" + meetingId);
  130.       meetingValue = scheduler.findMeeting(meetingId);
  131.       System.out.println(meetingValue);
  132.     }
  133.     catch(Exception e) {
  134.       System.err.println("Exception caught");
  135.       e.printStackTrace();
  136.     }
  137.   }
  138.   private static void use() {
  139.     try {
  140.       String name = "100";
  141.       System.out.println("Looking for room: " + name);
  142.       try {
  143.         RoomValue roomValue = scheduler.findRoom(name);
  144.         System.out.println("Room found: " + roomValue);
  145.       }
  146.       catch (Exception e) {
  147.         System.out.println("Room " + name + " cannot be found");
  148.       }
  149.       name = "101";
  150.       System.out.println("Looking for room: " + name);
  151.       try {
  152.         RoomValue roomValue = scheduler.findRoom(name);
  153.         System.out.println("Room found: " + roomValue);
  154.       }
  155.       catch (Exception e) {
  156.         System.out.println("Room " + name + " cannot be found");
  157.       }
  158.       System.out.println("Getting all rooms");
  159.       Collection roomValues = scheduler.findAllRooms();
  160.       System.out.println(roomValues);
  161.       System.out.println("Getting all attendees");
  162.       Collection attendeeValues = scheduler.findAllAttendees();
  163.       System.out.println(attendeeValues);
  164.       System.out.println("Getting all meetings");
  165.       Collection meetingValues = scheduler.findAllMeetings();
  166.       System.out.println(meetingValues);
  167.       name = "Joan Wilder";
  168.       System.out.println("Looking for attendees: " + name);
  169.       attendeeValues = scheduler.findAttendeesByName(name);
  170.       System.out.println(attendeeValues);
  171.       if(attendeeValues.isEmpty()) {
  172.         return;
  173.       }
  174.       AttendeeValue attendeeValue = (AttendeeValue) attendeeValues.iterator().next();
  175.       Long id = attendeeValue.getId();
  176.       System.out.println("Looking for meetings of attendee: " + name + ", " + id);
  177.       meetingValues = scheduler.findMeetingsOfAttendee(id);
  178.       System.out.println(meetingValues);
  179.     }
  180.     catch(Exception e) {
  181.       System.err.println("Exception caught");
  182.       e.printStackTrace();
  183.     }
  184.   }
  185.   private static void remove() {
  186.     try {
  187.       String name = "100";
  188.       System.out.println("Removing room: " + name);
  189.       try {
  190.         scheduler.removeRoom(name);
  191.       }
  192.       catch (Exception e) {
  193.         System.out.println("Room " + name + " cannot be removed");
  194.       }
  195.       System.out.println("Removing all rooms");
  196.       scheduler.removeAllRooms();
  197.       System.out.println("Removing all meetings");
  198.       scheduler.removeAllMeetings();
  199.       System.out.println("Removing all attendees");
  200.       scheduler.removeAllAttendees();
  201.       System.out.println("Done");
  202.     }
  203.     catch(Exception e) {
  204.       System.err.println("Exception caught");
  205.       e.printStackTrace();
  206.     }
  207.   }
  208.   private static void usage() {
  209.     System.out.println("Usage: vbj RoomClient create | use | remove");
  210.     System.exit(1);
  211.   }
  212. }