/** * Gets the name of the last status */ private String getLastStatusId() { if (validationRunStatuses.isEmpty()) { return ""; } else { return validationRunStatuses.get(0).getStatusID().getId(); } }
/** * Gets the signature of the last status */ @Override public Signature getSignature() { return getLastStatus().getSignature(); } }
public static ValidationRun of( Build build, ValidationStamp validationStamp, int runOrder, Signature signature, ValidationRunStatusID validationRunStatusID, String description) { List<ValidationRunStatus> statuses = Collections.singletonList( ValidationRunStatus.of( signature, validationRunStatusID, description ) ); return of(build, validationStamp, runOrder, statuses); }
protected void newValidationRunStatus(int validationRunId, ValidationRunStatus validationRunStatus) { dbCreate( "INSERT INTO VALIDATION_RUN_STATUSES(VALIDATIONRUNID, VALIDATIONRUNSTATUSID, CREATION, CREATOR, DESCRIPTION) " + "VALUES (:validationRunId, :validationRunStatusId, :creation, :creator, :description)", params("validationRunId", validationRunId) .addValue("validationRunStatusId", validationRunStatus.getStatusID().getId()) .addValue("description", validationRunStatus.getDescription()) .addValue("creation", dateTimeForDB(validationRunStatus.getSignature().getTime())) .addValue("creator", validationRunStatus.getSignature().getUser().getName()) ); }
public static ValidationRunStatus of(Signature signature, ValidationRunStatusID validationRunStatusID, String description) { return new ValidationRunStatus( signature, validationRunStatusID, description ); }
public boolean isPassed() { return getLastStatus().isPassed(); }
/** * Checks if the validation run view has the given validation stamp with the given status. */ public boolean hasValidationStamp(String name, String status) { return (StringUtils.equals(name, getValidationStamp().getName())) && isRun() && ( StringUtils.isBlank(status) || StringUtils.equals(status, getLastStatus().getStatusID().getId()) ); }
public EventBuilder withValidationRun(ValidationRun validationRun) { return withBuild(validationRun.getBuild()).with(validationRun.getValidationStamp()).with(validationRun).with(validationRun.getLastStatus().getSignature()); }
"SELECT * FROM VALIDATION_RUN_STATUSES WHERE VALIDATIONRUNID = :validationRunId ORDER BY CREATION DESC", params("validationRunId", id), (rs1, rowNum) -> ValidationRunStatus.of( readSignature(rs1), validationRunStatusService.apply(rs1.getString("validationRunStatusId")),
private boolean isPassed(Build build, ValidationStamp validationStamp) { List<ValidationRun> runs = structureService.getValidationRunsForBuildAndValidationStamp( build.getId(), validationStamp.getId(), 0, 1 ); if (runs.isEmpty()) { return false; } else { ValidationRun run = runs.get(0); return Objects.equals( run.getLastStatus().getStatusID(), ValidationRunStatusID.STATUS_PASSED ); } }
@Override public Event newValidationRunStatus(ValidationRun validationRun) { return Event.of(NEW_VALIDATION_RUN_STATUS) .withValidationRun(validationRun) .withValidationRunStatus(validationRun.getLastStatus().getStatusID()) .get(); }
@Override public Event newValidationRun(ValidationRun validationRun) { return Event.of(NEW_VALIDATION_RUN) .withValidationRun(validationRun) .withValidationRunStatus(validationRun.getLastStatus().getStatusID()) .get(); }
private void onNewValidationRun(Event event) { // Passed validation? ValidationRun validationRun = event.getEntity(ProjectEntityType.VALIDATION_RUN); if (Objects.equals( validationRun.getLastStatus().getStatusID(), ValidationRunStatusID.STATUS_PASSED)) { // Branch Branch branch = event.getEntity(ProjectEntityType.BRANCH); // Build Build build = event.getEntity(ProjectEntityType.BUILD); // Gets all promotion levels for this branch List<PromotionLevel> promotionLevels = structureService.getPromotionLevelListForBranch(branch.getId()); // Gets all validation stamps for this branch List<ValidationStamp> validationStamps = structureService.getValidationStampListForBranch(branch.getId()); // Gets the promotion levels which have an auto promotion property promotionLevels.forEach(promotionLevel -> checkPromotionLevel(build, promotionLevel, validationStamps)); } }