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

Java编程

开发平台:

Java

  1. package com.borland.training.meetings.clients;
  2. import com.borland.training.meetings.sessions.*;
  3. import javax.naming.*;
  4. import java.util.Calendar;
  5. import java.util.Date;
  6. public class PlannerClient {
  7.   public static void main(String[] args) {
  8.     try {
  9.       //get naming context
  10.       Context ctx = new InitialContext();
  11.       System.out.println("Looking for PlannerHome");
  12.       //look up jndi name
  13.       java.lang.Object ref = ctx.lookup("meetings/Planner");
  14.       //cast to Home interface
  15.       PlannerHome plannerHome = (PlannerHome)
  16.         javax.rmi.PortableRemoteObject.narrow(ref, PlannerHome.class);
  17.       System.out.println("Initializing meeting data");
  18.       java.util.Collection attendeeIds = new java.util.Vector(2);
  19.       attendeeIds.add(new Long(1));
  20.       attendeeIds.add(new Long(2));
  21.       Calendar cal = Calendar.getInstance();
  22.       cal.set(2002, Calendar.DECEMBER, 21, 0, 0, 0);
  23.       Date startTime = cal.getTime();
  24.       System.out.println("Start time: " + startTime);
  25.       System.out.println("Looking for periods of availability");
  26.       Planner planner = plannerHome.create(attendeeIds, startTime);
  27.       for(int i=0; i < 5; i++) {
  28.         TimePeriod tp = planner.nextAvailableTimePeriod();
  29.         if(tp == null) {
  30.           break;
  31.         }
  32.         System.out.println(tp.getStartTime() + ", " + tp.getFinishTime());
  33.       }
  34.       System.out.println("Done");
  35.       planner.remove();
  36.     }
  37.     catch(Exception e) {
  38.       System.err.println("Exception caught");
  39.       e.printStackTrace();
  40.     }
  41.   }
  42. }