LocalJobLauncher.java 文件源码

java
阅读 35 收藏 0 点赞 0 评论 0

项目:Hydrograph 作者:
@Override
public void launchJob(String xmlPath, String paramFile,String userFunctionsPropertyFile, Job job, DefaultGEFCanvas gefCanvas,List<String> externalFiles,List<String> subJobList) {
    Session session=null;

    if(isExecutionTrackingOn()){
        HydrographServerConnection hydrographServerConnection = new HydrographServerConnection();
        session = hydrographServerConnection.connectToServer(job, job.getUniqueJobId(), 
                webSocketLocalHost);
    if(hydrographServerConnection.getSelection() == 1){
        TrackingDisplayUtils.INSTANCE.closeWebSocketConnection(session);
        return;
    }
    } 

    String projectName = xmlPath.split("/", 2)[0];
    IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(projectName);
    job.setJobProjectDirectory(project.getLocation().toOSString());

    String gradleCommand;
    job.setJobStatus(JobStatus.RUNNING);
    JobManager.INSTANCE.enableRunJob(false);

    enableLockedResources(gefCanvas);
    gradleCommand = getExecututeJobCommand(xmlPath, paramFile,userFunctionsPropertyFile, job);
    executeCommand(job, project, gradleCommand, gefCanvas);

    if(job.getJobStatus().equalsIgnoreCase(JobStatus.RUNNING)){
        job.setJobStatus(JobStatus.SUCCESS);
    }

    if (job.getCanvasName().equals(JobManager.INSTANCE.getActiveCanvas())) {
        JobManager.INSTANCE.enableRunJob(true);
    }

    refreshProject(gefCanvas);
    JobManager.INSTANCE.removeJob(job.getCanvasName());
    ViewExecutionHistoryUtility.INSTANCE.addTrackingJobs(job.getConsoleName(), job);
    TrackingDisplayUtils.INSTANCE.closeWebSocketConnection(session);
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号