cluster5.server.managers
Class ProjectManager

java.lang.Object
  extended by cluster5.server.managers.ProjectManager

public class ProjectManager
extends java.lang.Object


Method Summary
 Project.Status checkRunningProjectStatus(Project project)
          Checks status of tasks associated with this project.
 void dropProject(java.lang.String token, java.lang.Long projectId)
           
static ProjectManager getInstance()
           
 Project getProject(java.lang.Long projectId)
           
 Project getProject(java.lang.String token, java.lang.Long projectId)
           
 float getProjectProgress(java.lang.String token, java.lang.Long projectId)
           
 java.util.List<java.lang.String> listProjectNames(java.lang.String token)
           
 Project openProject(java.lang.String token, java.lang.String projectName)
           
 void recordCpuTime(java.lang.Long projectId, long cpuTime)
          Adds CPU time to this project.
 void setProjectMainClass(java.lang.String token, java.lang.Long projectId, java.lang.String canonicalClassName)
           
 void setProjectStatus(java.lang.String token, java.lang.Long projectId, Project.Status status)
          Sets project status to indicated value.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getInstance

public static ProjectManager getInstance()

dropProject

public void dropProject(java.lang.String token,
                        java.lang.Long projectId)

getProject

public Project getProject(java.lang.String token,
                          java.lang.Long projectId)
Parameters:
token -
projectId -
Returns:
instance of a project specified by project ID belonging to a user identified by the token; null if the token is invalid, there is no such project or the project is not owned by the user

getProject

public Project getProject(java.lang.Long projectId)
Parameters:
projectId -
Returns:
instance of a project or null if there is no such one

listProjectNames

public java.util.List<java.lang.String> listProjectNames(java.lang.String token)
Parameters:
token -
Returns:
list of project names owned by user specified by the token

openProject

public Project openProject(java.lang.String token,
                           java.lang.String projectName)
Parameters:
token -
projectName -
Returns:
instance of a project by specified project name owned by user identified by token

setProjectMainClass

public void setProjectMainClass(java.lang.String token,
                                java.lang.Long projectId,
                                java.lang.String canonicalClassName)
Parameters:
token -
projectId -
canonicalClassName -

setProjectStatus

public void setProjectStatus(java.lang.String token,
                             java.lang.Long projectId,
                             Project.Status status)
Sets project status to indicated value.

Parameters:
token -
projectId -
status -

recordCpuTime

public void recordCpuTime(java.lang.Long projectId,
                          long cpuTime)
Adds CPU time to this project.

Parameters:
projectId -
cpuTime -

checkRunningProjectStatus

public Project.Status checkRunningProjectStatus(Project project)
Checks status of tasks associated with this project. If all tasks are done, it changes project's status to FINISHED and updates the database record.

Parameters:
project - instance of a Project to be checked
Returns:
current project status

getProjectProgress

public float getProjectProgress(java.lang.String token,
                                java.lang.Long projectId)
Parameters:
token -
projectId -
Returns:
project progress, a number between 0 and 1 or -1 if there is no such project, the token is invalid or the user does not own that project.