@Override
 public JobInstance getJobInstance(Long instanceId) {
   JobInstance jobInstance = null;
   try {
     GetJobInstanceByIdReq request =
         JobRepositoryRpcFactory.buildGetJobInstanceByIdReq(instanceId);
     GetJobInstanceByIdRes response =
         (GetJobInstanceByIdRes) getAppmasterScOperations().doMindRequest(request);
     if (response.jobInstance != null) {
       jobInstance = JobRepositoryRpcFactory.convertJobInstanceType(response.jobInstance);
     }
   } catch (Exception e) {
     throw convertException(e);
   }
   return jobInstance;
 }
 @Override
 public List<JobInstance> getJobInstances(String jobName, int start, int count) {
   List<JobInstance> jobInstances = new ArrayList<JobInstance>();
   try {
     GetJobInstancesReq request =
         JobRepositoryRpcFactory.buildGetJobInstancesReq(jobName, start, count);
     GetJobInstancesRes response =
         (GetJobInstancesRes) getAppmasterScOperations().doMindRequest(request);
     for (JobInstanceType jobInstanceType : response.getJobInstances()) {
       jobInstances.add(JobRepositoryRpcFactory.convertJobInstanceType(jobInstanceType));
     }
   } catch (Exception e) {
     throw convertException(e);
   }
   return jobInstances;
 }
  @Override
  public JobInstance createJobInstance(String jobName, JobParameters jobParameters) {
    Assert.notNull(jobName, "Job name must not be null.");
    Assert.notNull(jobParameters, "JobParameters must not be null.");

    JobInstance jobInstance = null;
    try {
      CreateJobInstanceReq request =
          JobRepositoryRpcFactory.buildCreateJobInstanceReq(jobName, jobParameters);
      CreateJobInstanceRes response =
          (CreateJobInstanceRes) getAppmasterScOperations().doMindRequest(request);
      jobInstance = JobRepositoryRpcFactory.convertJobInstanceType(response.getJobInstance());
    } catch (Exception e) {
      throw convertException(e);
    }
    return jobInstance;
  }
 @Override
 public List<String> getJobNames() {
   List<String> jobNames = null;
   try {
     GetJobNamesReq request = JobRepositoryRpcFactory.buildGetJobNamesReq();
     GetJobNamesRes response = (GetJobNamesRes) getAppmasterScOperations().doMindRequest(request);
     jobNames = response.getJobNames();
   } catch (Exception e) {
     throw convertException(e);
   }
   return jobNames;
 }