All pastes #17998 Raw Edit

Anonymous

public java v1 · immutable
#17998 ·published 2005-07-18 19:25 UTC
rendered paste body
package org.opennms;import org.apache.commons.net.telnet.*;import java.io.*;public class GroovyTelnet {	private TelnetClient telnet = new TelnetClient();	private InputStream in;	private PrintStream out;	String m_prompt;		public GroovyTelnet() {	}	public void init( String server, String user, String password, String prompt ) {		String loginprompt = "login: ";		String passwordprompt = "password: ";		set_prompt(prompt);				try {			// Connect to the specified server			telnet.connect( server, 23 );						// Get input and output stream references			in = telnet.getInputStream();			out = new PrintStream( telnet.getOutputStream() );						// Log the user on			readUntil( loginprompt );			write( user );			readUntil( passwordprompt );			write( password );						// Advance to a prompt			readUntil( get_prompt() + " " );		}		catch( Exception e ) {			e.printStackTrace();		}	}		public String readUntil( String pattern ) {		try {			char lastChar = pattern.charAt( pattern.length() - 1 );			StringBuffer sb = new StringBuffer();			boolean found = false;			char ch = ( char )in.read();			while( true ) {				System.out.print( ch );				sb.append( ch );				if( ch == lastChar ) {					if( sb.toString().endsWith( pattern ) ) {						return sb.toString();					}				}				ch = ( char )in.read();			}		}		catch( Exception e ) {			e.printStackTrace();		}		return null;	}		public void write( String value ) {		try {			out.println( value );			out.flush();			System.out.println( value );		}		catch( Exception e ) {			e.printStackTrace();		}	}		public String sendCommand( String command ) {		try {			write( command );			return readUntil( get_prompt() + " " );		}		catch( Exception e ) {			e.printStackTrace();		}		return null;	}		public void disconnect() {		try {			telnet.disconnect();		}		catch( Exception e ) {			e.printStackTrace();		}	}	public String get_prompt() {		return m_prompt;	}		public void set_prompt(String prompt) {		this.m_prompt = prompt;	}	}