示例#1
0
  public JobConfig toJobConfig(CRJob crJob) {
    JobConfig jobConfig = new JobConfig(crJob.getName());
    if (crJob.getEnvironmentVariables() != null)
      for (CREnvironmentVariable crEnvironmentVariable : crJob.getEnvironmentVariables()) {
        jobConfig.getVariables().add(toEnvironmentVariableConfig(crEnvironmentVariable));
      }

    List<CRTask> crTasks = crJob.getTasks();
    Tasks tasks = jobConfig.getTasks();
    if (crTasks != null)
      for (CRTask crTask : crTasks) {
        tasks.add(toAbstractTask(crTask));
      }

    Tabs tabs = jobConfig.getTabs();
    if (crJob.getTabs() != null)
      for (CRTab crTab : crJob.getTabs()) {
        tabs.add(toTab(crTab));
      }

    Resources resources = jobConfig.resources();
    if (crJob.getResources() != null)
      for (String crResource : crJob.getResources()) {
        resources.add(new Resource(crResource));
      }

    ArtifactPlans artifactPlans = jobConfig.artifactPlans();
    if (crJob.getArtifacts() != null)
      for (CRArtifact crArtifact : crJob.getArtifacts()) {
        artifactPlans.add(toArtifactPlan(crArtifact));
      }

    ArtifactPropertiesGenerators artifactPropertiesGenerators = jobConfig.getProperties();
    if (crJob.getArtifactPropertiesGenerators() != null)
      for (CRPropertyGenerator crPropertyGenerator : crJob.getArtifactPropertiesGenerators()) {
        artifactPropertiesGenerators.add(
            new ArtifactPropertiesGenerator(
                crPropertyGenerator.getName(),
                crPropertyGenerator.getSrc(),
                crPropertyGenerator.getXpath()));
      }

    if (crJob.isRunOnAllAgents()) jobConfig.setRunOnAllAgents(true);
    else {
      Integer count = crJob.getRunInstanceCount();
      if (count != null) jobConfig.setRunInstanceCount(count);
      // else null - meaning simple job
    }

    if (crJob.getTimeout() != null) jobConfig.setTimeout(Integer.toString(crJob.getTimeout()));
    // else null - means default server-wide timeout

    return jobConfig;
  }