View Javadoc

1   /**
2    * Esta clase .
3    * <p>
4    * 
5    * .
6    * <p>
7    * 
8    *             
9    * @version $Revision: 1.1.2.1 $, Jan 17, 2007
10   * @author Gonzalo Espert 
11   */
12  package net.sf.provisioner.adapters;
13  
14  
15  //import ch.ethz.ssh2.StreamGobbler;
16  
17  import java.io.*;
18  
19  import net.sf.provisioner.config.NetworkElement;
20  import net.sf.provisioner.connectors.SSHConnector;
21  
22  /**
23   * @author Gonzalo
24   *
25   */
26  public class SSHAdapter extends Adapter{
27  	
28  	private NetworkElement ne;
29  	
30  	/**
31       * .
32       * <p>
33       * 
34       * .
35       * <p>
36       * 
37       * 
38       * 
39       * @param 
40       *            
41       * @throws 
42       *            
43       *           
44       */
45  	public SSHAdapter(NetworkElement ne) { this.ne = ne; }
46  	
47  	/**
48       * .
49       * <p>
50       * 
51       * .
52       * <p>
53       * 
54       * 
55       * 
56       * @param 
57       *            
58       * @throws 
59       *            
60       *           
61       */
62  	public String ExecuteCommand (String command) throws Exception {
63  		
64  		StringBuffer result = new StringBuffer();
65  		
66  		/* Obtener una conexion SSH */
67  		SSHConnector connection = new SSHConnector(this.ne);
68  		connection.Connect();
69  		
70  		
71  		try { 
72  			
73  			/* Enviamos el comando */
74  			//connection.sesion.execCommand(command);
75  			connection.writer.println(command + "\r\n");
76  
77  			try {
78  				Thread.sleep(1000);
79  			}
80  			catch (Exception e) {
81  				throw e;
82  			}
83  			
84  			/* leemos la respuesta del server */
85  			while (connection.reader.available() > 0) 
86  				result.append((char) connection.reader.read());
87  			
88  			
89  			logger.info("SSH response:" + result);
90  		} 
91  		catch (IOException e)
92  		{
93  			throw e;
94  		}
95  
96  		connection.Disconnect();
97  		
98  		return result.toString();
99  	}
100 
101 }