package hudson.plugins.global_build_stats; import hudson.model.AbstractBuild; import hudson.model.Result; import hudson.plugins.global_build_stats.model.BuildResult; import hudson.plugins.global_build_stats.model.JobBuildResult; public class JobBuildResultFactory { public static final JobBuildResultFactory INSTANCE = new JobBuildResultFactory(); private JobBuildResultFactory(){ } public JobBuildResult createJobBuildResult(AbstractBuild build){ String buildName = build.getProject().getName(); /* Can't do that since MavenModuleSet is in maven-plugin artefact which is in test scope if(build.getProject() instanceof MavenModuleSet){ buildName = ((MavenModuleSet)build.getProject()).getRootModule().toString(); }*/ return new JobBuildResult(createBuildResult(build.getResult()), buildName, build.getNumber(), build.getTimestamp()); } public BuildResult createBuildResult(Result result){ if(Result.ABORTED.equals(result)){ return BuildResult.ABORTED; } else if(Result.FAILURE.equals(result)){ return BuildResult.FAILURE; } else if(Result.NOT_BUILT.equals(result)){ return BuildResult.NOT_BUILD; } else if(Result.SUCCESS.equals(result)){ return BuildResult.SUCCESS; } else /*if(Result.UNSTABLE.equals(result))*/{ return BuildResult.UNSTABLE; } } }