5 private static int client_port ;
6 private static String server_ip ;
7 private static int server_port ;
8 private static int dialog_port ;
9 private static int save_time ;
10 // private static int mode ; // 0: server, 1: client
11 private static Client client ;
12 private static Server server ;
15 public static void main( String argv[] )
18 /** Initialisation of defaults variables **/
20 server_ip = "127.0.0.1" ;
27 // /** Signals handlers **/
28 // SignalHandler signalHandler = new SignalHandler() {
29 // public void handle( Signal signal )
31 // System.out.println( "Exiting because of signal: " + signal ) ;
32 // System.out.println( "Killing all applications ..." ) ;
36 // case 0: if( server != null )
41 // case 1: if( client != null )
48 // System.exit( 100 ) ;
51 // Signal.handle( new Signal( "TERM" ), signalHandler ) ;
52 // Signal.handle( new Signal( "INT" ), signalHandler ) ;
58 if( argv[0].equalsIgnoreCase( "server" ) )
60 if( argv.length == 2 )
62 server_port = Integer.parseInt( argv[1] ) ;
65 if( argv.length == 3 )
67 server_port = Integer.parseInt( argv[1] ) ;
68 save_time = Integer.parseInt( argv[2] ) ;
74 server = new Server() ;
75 server.init( server_port ) ;
78 server.setSaveTime( save_time ) ;
80 } catch( Exception e ) {
81 System.err.println( "Error while launching Server: " + e ) ;
86 } else if( argv[0].equalsIgnoreCase( "client" ) )
88 /** Command line verification **/
98 case 2: server_ip = argv[1] ; break ;
100 case 3: server_ip = argv[1] ;
101 server_port = Integer.parseInt( argv[2] ) ; break ;
103 case 4: server_ip = argv[1] ;
104 server_port = Integer.parseInt( argv[2] ) ;
105 client_port = Integer.parseInt( argv[3] ) ; break ;
107 case 5: server_ip = argv[1] ;
108 server_port = Integer.parseInt( argv[2] ) ;
109 client_port = Integer.parseInt( argv[3] ) ;
110 dialog_port = Integer.parseInt( argv[4] ) ; break ;
116 client = new Client() ;
117 client.init( server_ip, server_port, client_port, dialog_port ) ;
118 } catch( Exception e ) {
119 System.err.println( "Error while launching Client: " + e ) ;
121 } else if( argv[0].equalsIgnoreCase( "user" ) ) {
122 if( argv.length < 4 )
128 User user = new User( argv[1], Integer.parseInt( argv[2] ) ) ;
130 if( argv[3].equalsIgnoreCase( "stop" ) )
132 user.stopMachines() ;
136 if( argv[3].equalsIgnoreCase( "stopall" ) )
142 if( argv[3].equalsIgnoreCase( "start" ) )
144 if( argv.length != 5 )
150 user.reserveMachines( Integer.parseInt( argv[4] ) ) ;
155 if( argv[3].equalsIgnoreCase( "deploy" ) )
157 if( argv.length != 7 )
163 user.deploy( argv[4], argv[5], argv [6] ) ;
175 private static void usage()
177 System.err.println( "Usage: " ) ;
178 System.err.println( "HpcVm client server_ip server_port client_port " ) ;
179 System.err.println( "HpcVm server server_port" ) ;
180 System.err.println( "HpcVm user server_ip server_port {start nbVM | stop | stopAll}" ) ;
181 System.err.println( "HpcVm user server_ip server_port deploy VM_name VM_archive VM_directory" ) ;
182 System.out.println() ;
188 /** La programmation est un art, respectons ceux qui la pratiquent !! **/