/* ** j###t ########## #### #### ** j###t ########## #### #### ** j###T "###L J###" ** ######P' ########## ######### ** ######k, ########## T######T ** ####~###L #### ** #### q###L ########## .##### ** #### \###L ########## #####" ** ** $Id$ ** ** Class History ** ** Date Name Description ** ---------|------------|----------------------------------------------- ** 24Aug98 subtle start of recorded history ** */ package key.commands; import key.*; import key.primitive.*; import java.io.IOException; import java.util.StringTokenizer; public class Schedule extends Command { public Schedule() { setKey( "schedule" ); usage = "<event> <in>"; } public void run( Player p, StringTokenizer args, String fullLine, CategoryCommand caller, InteractiveConnection ic, Flags flags ) throws IOException { if( args.hasMoreTokens() ) { String eventId = args.nextToken(); if( args.hasMoreTokens() ) { String dateStr = args.nextToken(); Duration duration = new Duration( Duration.parse( dateStr ) ); DateTime when = DateTime.nowPlus( duration ); Object o = new Search( eventId, p.getContext() ).result; if( o != null && o instanceof Event ) { Event evt = (Event) o; Scheduler s = Key.instance().getScheduler(); evt.schedule( when ); s.add( evt ); ic.sendFeedback( "Event '" + evt.getName() + "' scheduled for " + when.toString() ); } else ic.sendError( "Could not find '" + eventId + "'" ); } else usage( ic ); } else usage( ic ); } }