Package nl.topicus.onderwijs.dashboard.modules.hudson

Source Code of nl.topicus.onderwijs.dashboard.modules.hudson.HudsonBuildNumberImpl

package nl.topicus.onderwijs.dashboard.modules.hudson;

import java.util.Collections;
import java.util.Comparator;
import java.util.List;

import nl.topicus.onderwijs.dashboard.datasources.HudsonBuildNumber;
import nl.topicus.onderwijs.dashboard.datatypes.hudson.Job;
import nl.topicus.onderwijs.dashboard.keys.Project;

class HudsonBuildNumberImpl implements HudsonBuildNumber {
  private Project project;
  private HudsonService service;

  HudsonBuildNumberImpl(Project project, HudsonService service) {
    this.project = project;
    this.service = service;
  }

  @Override
  public Integer getValue() {
    class BuildNumberComparator implements Comparator<Job> {
      @Override
      public int compare(Job o1, Job o2) {
        return o1.getNextBuildNumber() - o2.getNextBuildNumber();
      }
    }
    List<Job> jobs = service.getJobs(project);
    if (jobs.isEmpty())
      return null;
    Job jobWithHighestNextBuildNumber = Collections.max(jobs,
        new BuildNumberComparator());
    return jobWithHighestNextBuildNumber.getNextBuildNumber() - 1;
  }
}
TOP

Related Classes of nl.topicus.onderwijs.dashboard.modules.hudson.HudsonBuildNumberImpl

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.