X-Git-Url: http://bilbo.iut-bm.univ-fcomte.fr/pub/gitweb/hpcvm.git/blobdiff_plain/d83793da6e881ebab006a50a47fbba914e65f9cf..f74ee61df3fbc8cf8371347069a715270a3e8a72:/src/and/hpcvm/RunningApplication.java diff --git a/src/and/hpcvm/RunningApplication.java b/src/and/hpcvm/RunningApplication.java new file mode 100644 index 0000000..5988648 --- /dev/null +++ b/src/and/hpcvm/RunningApplication.java @@ -0,0 +1,104 @@ +package and.hpcvm; + +import java.io.Serializable; +import java.util.ArrayList; + + + +public class RunningApplication implements Serializable +{ + private static final long serialVersionUID = 1L; + private String name ; + private ArrayList computingsNodes ; + private long lastSaveDate ; + private String vmName ; + private boolean running ; + private long startTime ; + private long endTime ; + + public RunningApplication( String _name ) + { + name = _name ; + computingsNodes = new ArrayList() ; + lastSaveDate = 0 ; + running = false ; + startTime = 0 ; + endTime = 0 ; + } + + + public void clear() { computingsNodes.clear() ; } + + public int getNbComputingClients() { return computingsNodes.size() ; } + + public long getLastSaveDate() { return lastSaveDate ; } + + public void setLastSaveDate( long _sd ) { lastSaveDate = _sd ; } + + public void setName( String _name ) { name = _name ; } + + public String getName() { return name ; } + + public void setStartTime( long _t ) { startTime = _t ; } + + public long getStartTime() { return startTime ; } + + public void setEndTime( long _t ) { endTime = _t ; } + + public long getEndTime() { return endTime ; } + + public long getExecutionTime() { return endTime - startTime ; } + + + public void setComputingClients( ArrayList _cc ) + { + if( _cc != null ) + { + computingsNodes.clear() ; + + System.out.println( "Application " + name + " contains clients:" ) ; + + for( int i = 0 ; i < _cc.size() ; i++ ) + { + computingsNodes.add( _cc.get( i ) ) ; + System.out.println( " " + _cc.get(i).getClient().getName() ) ; + } + } + } + + + public ArrayList getComputingClients() { return computingsNodes ; } + + + public int replaceComputingClient( ComputingClient _dead, ComputingClient _new ) + { + if( _dead != null && _new != null ) + { + for( int i = 0 ; i < computingsNodes.size() ; i++ ) + { + if( computingsNodes.get( i ).getClient().getIP().equalsIgnoreCase( _dead.getClient().getIP() ) ) + { + System.out.println( "Replacing " + _dead.getClient().getName() + " with " +_new.getClient().getName() ) ; + computingsNodes.set( i , _new ) ; + return 0 ; + } + + System.err.println( "Dead computing client not found. Unable to replace it!" ) ; + } + } + + return 1 ; + } + + + public void setVmName( String _vmname ) { vmName = _vmname ; } + + public String getVmName() { return vmName ; } + + public void setRunning( boolean _b ) { running = _b ; } + + public boolean getRunning() { return running ; } + +} + +/** La programmation est un art, respectons ceux qui la pratiquent !! **/