org.springframework.build.ant
Class TelnetTask

java.lang.Object
  extended by org.apache.tools.ant.ProjectComponent
      extended by org.apache.tools.ant.Task
          extended by org.springframework.build.ant.TelnetTask
All Implemented Interfaces:
java.lang.Cloneable

public class TelnetTask
extends org.apache.tools.ant.Task

Automates the telnet protocol.


Nested Class Summary
 class TelnetTask.AntTelnetClient
          This class handles the abstraction of the telnet protocol.
 class TelnetTask.TelnetRead
          Reads the output from the connected server until the required string is found or we time out.
 class TelnetTask.TelnetSubTask
          This class is the parent of the Read and Write tasks.
 class TelnetTask.TelnetWrite
          Sends text to the connected server
 
Field Summary
private  boolean addCarriageReturn
          If true, adds a CR to beginning of login script
private  java.lang.Integer defaultTimeout
          Default time allowed for waiting for a valid response for all child reads.
private  java.lang.String password
          The password to login with, if automated login is used
private  int port
          The tcp port to connect to.
private  java.lang.String server
          The server to connect to.
private  java.util.Vector telnetTasks
          The list of read/write commands for this session
private  java.lang.String userid
          The userid to login with, if automated login is used
 
Fields inherited from class org.apache.tools.ant.Task
target, taskName, taskType, wrapper
 
Fields inherited from class org.apache.tools.ant.ProjectComponent
description, location, project
 
Constructor Summary
TelnetTask()
           
 
Method Summary
 TelnetTask.TelnetSubTask createRead()
          A string to wait for from the server.
 TelnetTask.TelnetSubTask createWrite()
          Add text to send to the server A subTask <write> tag was found.
 void execute()
          Verify that all parameters are included.
private  void login(TelnetTask.AntTelnetClient telnet)
          Process a 'typical' login.
 void setInitialCR(boolean b)
          send a carriage return after connecting; optional, defaults to false.
 void setPassword(java.lang.String p)
          Set the the login password to use required if userid is set.
 void setPort(int p)
          Set the tcp port to connect to; default is 23.
 void setServer(java.lang.String m)
          Set the hostname or address of the remote server.
 void setTimeout(java.lang.Integer i)
          set a default timeout in seconds to wait for a response, zero means forever (the default)
 void setUserid(java.lang.String u)
          Set the the login id to use on the server; required if password is set.
 
Methods inherited from class org.apache.tools.ant.Task
bindToOwner, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, init, isInvalid, log, log, log, log, maybeConfigure, perform, reconfigure, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskType
 
Methods inherited from class org.apache.tools.ant.ProjectComponent
clone, getDescription, getLocation, getProject, setDescription, setLocation, setProject
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

userid

private java.lang.String userid
The userid to login with, if automated login is used


password

private java.lang.String password
The password to login with, if automated login is used


server

private java.lang.String server
The server to connect to.


port

private int port
The tcp port to connect to.


telnetTasks

private java.util.Vector telnetTasks
The list of read/write commands for this session


addCarriageReturn

private boolean addCarriageReturn
If true, adds a CR to beginning of login script


defaultTimeout

private java.lang.Integer defaultTimeout
Default time allowed for waiting for a valid response for all child reads. A value of 0 means no limit.

Constructor Detail

TelnetTask

public TelnetTask()
Method Detail

execute

public void execute()
             throws org.apache.tools.ant.BuildException
Verify that all parameters are included. Connect and possibly login Iterate through the list of Reads and writes

Overrides:
execute in class org.apache.tools.ant.Task
Throws:
org.apache.tools.ant.BuildException - on error

login

private void login(TelnetTask.AntTelnetClient telnet)
Process a 'typical' login. If it differs, use the read and write tasks explicitely


setUserid

public void setUserid(java.lang.String u)
Set the the login id to use on the server; required if password is set.

Parameters:
u - a String value

setPassword

public void setPassword(java.lang.String p)
Set the the login password to use required if userid is set.

Parameters:
p - a String value

setServer

public void setServer(java.lang.String m)
Set the hostname or address of the remote server.

Parameters:
m - a String value

setPort

public void setPort(int p)
Set the tcp port to connect to; default is 23.

Parameters:
p - an int value

setInitialCR

public void setInitialCR(boolean b)
send a carriage return after connecting; optional, defaults to false.

Parameters:
b - a boolean value

setTimeout

public void setTimeout(java.lang.Integer i)
set a default timeout in seconds to wait for a response, zero means forever (the default)

Parameters:
i - an Integer value

createRead

public TelnetTask.TelnetSubTask createRead()
A string to wait for from the server. A subTask <read> tag was found. Create the object, Save it in our list, and return it.

Returns:
a read telnet sub task

createWrite

public TelnetTask.TelnetSubTask createWrite()
Add text to send to the server A subTask <write> tag was found. Create the object, Save it in our list, and return it.

Returns:
a write telnet sub task