+ public Integer deployVM( String _name, String _archive, String _directory )
+ {
+ if( _name != null && _name.length() > 0 && _archive != null && _name.length() > 0 )
+ {
+ File file = new File( working_directory + "/" + _archive ) ;
+ if( ! file.exists() )
+ {
+ System.err.println( "There is no archive named " + _archive + " in my working directory!" ) ;
+ file = null ;
+ return 2 ;
+ } else if( file.isDirectory() ) {
+ System.err.println( _archive + " is a directory!" ) ;
+ file = null ;
+ return 1 ;
+ }
+
+ file = null ;
+
+ machine.setName( _name ) ;
+ machine.setInitial_archive_name( _archive ) ;
+ machine.setDirectory( _directory ) ;
+
+ if( machine.deployInitialVM() == 1 )
+ {
+ System.err.println( "Unable to deploy the initial VM archive!" ) ;
+ } else {
+ return 0 ;
+ }
+ }
+
+ return 1 ;
+ }
+
+
+ @Override
+ public void responseSave( boolean _b )
+ {
+ synchronized( saveRequest )
+ {
+ saveRequest.setStatus( _b ) ;
+ try {
+ saveRequest.notifyAll() ;
+ } catch( Exception e ) {
+ e.printStackTrace() ;
+ }
+ }
+ }
+
+
+ private class SaveRequest
+ {
+ boolean status ;
+
+ SaveRequest()
+ {
+ status = false ;
+ }
+
+ protected boolean getStatus() { return status ; }
+
+ protected void setStatus( boolean _b ) { status = _b ; }
+ }
+