@Repository public class StructureJdbcRepository extends AbstractJdbcRepository implements StructureRepository
| Constructor and Description |
|---|
StructureJdbcRepository(javax.sql.DataSource dataSource,
BranchTemplateRepository branchTemplateRepository,
net.nemerosa.ontrack.model.structure.ValidationDataTypeService validationDataTypeService,
net.nemerosa.ontrack.repository.ValidationDataTypeConfigRepository validationDataTypeConfigRepository) |
| Modifier and Type | Method and Description |
|---|---|
void |
addBuildLink(ID fromBuildId,
ID toBuildId)
Build links
|
void |
builds(Branch branch,
java.util.function.Predicate<Build> buildPredicate,
BuildSortDirection sortDirection)
Iterates over the builds of the branch.
|
void |
builds(Project project,
java.util.function.Predicate<Build> buildPredicate)
Iterates over the builds of the project, from the newest to the oldest, until
the
buildPredicate returns false. |
void |
bulkUpdatePromotionLevels(ID promotionLevelId)
Updates all promotion levels having the same name than the model, on all branches.
|
void |
bulkUpdateValidationStamps(ID validationStampId) |
Ack |
deleteBranch(ID branchId) |
Ack |
deleteBuild(ID buildId) |
void |
deleteBuildLink(ID fromBuildId,
ID toBuildId) |
Ack |
deleteProject(ID projectId) |
Ack |
deletePromotionLevel(ID promotionLevelId) |
Ack |
deletePromotionRun(ID promotionRunId) |
Ack |
deleteValidationStamp(ID validationStampId) |
java.util.Optional<Build> |
findBuildAfterUsingNumericForm(ID branchId,
java.lang.String buildName) |
Branch |
getBranch(ID branchId) |
java.util.Optional<Branch> |
getBranchByName(java.lang.String project,
java.lang.String branch) |
java.util.List<Branch> |
getBranchesForProject(ID projectId) |
Build |
getBuild(ID buildId) |
java.util.Optional<Build> |
getBuildByName(java.lang.String project,
java.lang.String branch,
java.lang.String build) |
int |
getBuildCount(Branch branch) |
java.util.List<Build> |
getBuildLinksFrom(ID buildId) |
java.util.List<Build> |
getBuildLinksTo(ID buildId) |
java.util.List<Build> |
getBuildsUsing(Build build)
Gets the builds which use the given one.
|
java.util.Optional<PromotionRun> |
getEarliestPromotionRunAfterBuild(PromotionLevel promotionLevel,
Build build) |
Build |
getLastBuildForBranch(Branch branch) |
java.util.Optional<PromotionRun> |
getLastPromotionRun(Build build,
PromotionLevel promotionLevel) |
PromotionRun |
getLastPromotionRunForPromotionLevel(PromotionLevel promotionLevel) |
java.util.List<PromotionRun> |
getLastPromotionRunsForBuild(Build build) |
java.util.Optional<Build> |
getNextBuild(Build build) |
java.util.Optional<Build> |
getPreviousBuild(Build build) |
Project |
getProject(ID projectId) |
java.util.Optional<Project> |
getProjectByName(java.lang.String project) |
java.util.List<Project> |
getProjectList() |
PromotionLevel |
getPromotionLevel(ID promotionLevelId) |
java.util.Optional<PromotionLevel> |
getPromotionLevelByName(Branch branch,
java.lang.String promotionLevel) |
java.util.Optional<PromotionLevel> |
getPromotionLevelByName(java.lang.String project,
java.lang.String branch,
java.lang.String promotionLevel) |
Document |
getPromotionLevelImage(ID promotionLevelId) |
java.util.List<PromotionLevel> |
getPromotionLevelListForBranch(ID branchId) |
PromotionRun |
getPromotionRun(ID promotionRunId) |
java.util.List<PromotionRun> |
getPromotionRunsForBuild(Build build) |
java.util.List<PromotionRun> |
getPromotionRunsForBuildAndPromotionLevel(Build build,
PromotionLevel promotionLevel) |
java.util.List<PromotionRun> |
getPromotionRunsForPromotionLevel(PromotionLevel promotionLevel) |
ValidationRun |
getValidationRun(ID validationRunId,
java.util.function.Function<java.lang.String,ValidationRunStatusID> validationRunStatusService) |
int |
getValidationRunsCountForBuild(Build build)
Gets the number of validation runs for a build.
|
int |
getValidationRunsCountForBuildAndValidationStamp(ID buildId,
ID validationStampId)
Gets the total number of validation runs for a build and a validation stamp
|
int |
getValidationRunsCountForValidationStamp(ID validationStampId)
Gets the total number of validation runs for a validation stamp
|
java.util.List<ValidationRun> |
getValidationRunsForBuild(Build build,
java.util.function.Function<java.lang.String,ValidationRunStatusID> validationRunStatusService) |
java.util.List<ValidationRun> |
getValidationRunsForBuild(Build build,
int offset,
int count,
java.util.function.Function<java.lang.String,ValidationRunStatusID> validationRunStatusService)
Gets the list of validation runs for a build.
|
java.util.List<ValidationRun> |
getValidationRunsForBuildAndValidationStamp(Build build,
ValidationStamp validationStamp,
java.util.function.Function<java.lang.String,ValidationRunStatusID> validationRunStatusService) |
java.util.List<ValidationRun> |
getValidationRunsForBuildAndValidationStamp(Build build,
ValidationStamp validationStamp,
int offset,
int count,
java.util.function.Function<java.lang.String,ValidationRunStatusID> validationRunStatusService) |
java.util.List<ValidationRun> |
getValidationRunsForValidationStamp(ValidationStamp validationStamp,
int offset,
int count,
java.util.function.Function<java.lang.String,ValidationRunStatusID> validationRunStatusService) |
ValidationStamp |
getValidationStamp(ID validationStampId) |
java.util.Optional<ValidationStamp> |
getValidationStampByName(Branch branch,
java.lang.String validationStamp) |
java.util.Optional<ValidationStamp> |
getValidationStampByName(java.lang.String project,
java.lang.String branch,
java.lang.String validationStamp) |
Document |
getValidationStampImage(ID validationStampId) |
java.util.List<ValidationStamp> |
getValidationStampListForBranch(ID branchId) |
boolean |
isLinkedFrom(ID id,
java.lang.String project,
java.lang.String buildPattern) |
boolean |
isLinkedTo(ID id,
java.lang.String project,
java.lang.String buildPattern) |
Branch |
newBranch(Branch branch) |
Build |
newBuild(Build build) |
Project |
newProject(Project project) |
PromotionLevel |
newPromotionLevel(PromotionLevel promotionLevel) |
PromotionRun |
newPromotionRun(PromotionRun promotionRun) |
ValidationRun |
newValidationRun(ValidationRun validationRun,
java.util.function.Function<java.lang.String,ValidationRunStatusID> validationRunStatusService) |
protected void |
newValidationRunStatus(int validationRunId,
ValidationRunStatus validationRunStatus) |
ValidationRun |
newValidationRunStatus(ValidationRun validationRun,
ValidationRunStatus runStatus) |
ValidationStamp |
newValidationStamp(ValidationStamp validationStamp) |
void |
reorderPromotionLevels(ID branchId,
Reordering reordering) |
void |
reorderValidationStamps(ID branchId,
Reordering reordering) |
void |
saveBranch(Branch branch) |
Build |
saveBuild(Build build) |
void |
saveProject(Project project) |
void |
savePromotionLevel(PromotionLevel promotionLevel) |
void |
saveValidationStamp(ValidationStamp validationStamp) |
java.util.List<Build> |
searchBuildsLinkedTo(java.lang.String projectName,
java.lang.String buildPattern) |
void |
setPromotionLevelImage(ID promotionLevelId,
Document document) |
void |
setValidationStampImage(ID validationStampId,
Document document) |
protected Branch |
toBranch(java.sql.ResultSet rs,
java.util.function.Function<ID,Project> projectSupplier) |
protected Build |
toBuild(java.sql.ResultSet rs,
java.util.function.Function<ID,Branch> branchSupplier) |
protected Project |
toProject(java.sql.ResultSet rs) |
protected PromotionLevel |
toPromotionLevel(java.sql.ResultSet rs,
java.util.function.Function<ID,Branch> branchSupplier) |
protected PromotionRun |
toPromotionRun(java.sql.ResultSet rs,
java.util.function.Function<ID,Build> buildLoader,
java.util.function.Function<ID,PromotionLevel> promotionLevelLoader) |
protected ValidationRun |
toValidationRun(java.sql.ResultSet rs,
java.util.function.Function<ID,Build> buildSupplier,
java.util.function.Function<ID,ValidationStamp> validationStampSupplier,
java.util.function.Function<java.lang.String,ValidationRunStatusID> validationRunStatusService) |
protected ValidationStamp |
toValidationStamp(java.sql.ResultSet rs,
java.util.function.Function<ID,Branch> branchSupplier) |
dateTimeForDB, dateTimeFromDB, dbCreate, getEnum, getFirstItem, getFirstItem, getOptional, getOptional, id, id, id, noParams, optionalInt, params, readJson, readJson, readJson, readSignature, readSignature, toDocument, writeJsongetNamedParameterJdbcTemplate, initTemplateConfigcheckDaoConfig, createJdbcTemplate, getConnection, getDataSource, getExceptionTranslator, getJdbcTemplate, releaseConnection, setDataSource, setJdbcTemplateclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitbuilds@Autowired
public StructureJdbcRepository(javax.sql.DataSource dataSource,
BranchTemplateRepository branchTemplateRepository,
net.nemerosa.ontrack.model.structure.ValidationDataTypeService validationDataTypeService,
net.nemerosa.ontrack.repository.ValidationDataTypeConfigRepository validationDataTypeConfigRepository)
public Project newProject(Project project)
newProject in interface StructureRepositorypublic java.util.List<Project> getProjectList()
getProjectList in interface StructureRepositorypublic Project getProject(ID projectId)
getProject in interface StructureRepositorypublic java.util.Optional<Project> getProjectByName(java.lang.String project)
getProjectByName in interface StructureRepositorypublic void saveProject(Project project)
saveProject in interface StructureRepositorypublic Ack deleteProject(ID projectId)
deleteProject in interface StructureRepositorypublic Branch getBranch(ID branchId)
getBranch in interface StructureRepositorypublic java.util.Optional<Branch> getBranchByName(java.lang.String project, java.lang.String branch)
getBranchByName in interface StructureRepositorypublic java.util.List<Branch> getBranchesForProject(ID projectId)
getBranchesForProject in interface StructureRepositorypublic Branch newBranch(Branch branch)
newBranch in interface StructureRepositorypublic void saveBranch(Branch branch)
saveBranch in interface StructureRepositorypublic Ack deleteBranch(ID branchId)
deleteBranch in interface StructureRepositorypublic void builds(Branch branch, java.util.function.Predicate<Build> buildPredicate, BuildSortDirection sortDirection)
StructureRepositorybuilds in interface StructureRepositorypublic void builds(Project project, java.util.function.Predicate<Build> buildPredicate)
StructureRepositorybuildPredicate returns false.builds in interface StructureRepositorypublic Build getLastBuildForBranch(Branch branch)
getLastBuildForBranch in interface StructureRepositorypublic Ack deleteBuild(ID buildId)
deleteBuild in interface StructureRepositorypublic void addBuildLink(ID fromBuildId, ID toBuildId)
StructureRepositoryaddBuildLink in interface StructureRepositorypublic void deleteBuildLink(ID fromBuildId, ID toBuildId)
deleteBuildLink in interface StructureRepositorypublic java.util.List<Build> getBuildLinksFrom(ID buildId)
getBuildLinksFrom in interface StructureRepositorypublic java.util.List<Build> getBuildsUsing(Build build)
StructureRepositorygetBuildsUsing in interface StructureRepositorybuild - Source buildpublic java.util.List<Build> getBuildLinksTo(ID buildId)
getBuildLinksTo in interface StructureRepositorypublic java.util.List<Build> searchBuildsLinkedTo(java.lang.String projectName, java.lang.String buildPattern)
searchBuildsLinkedTo in interface StructureRepositorypublic boolean isLinkedFrom(ID id, java.lang.String project, java.lang.String buildPattern)
isLinkedFrom in interface StructureRepositorypublic boolean isLinkedTo(ID id, java.lang.String project, java.lang.String buildPattern)
isLinkedTo in interface StructureRepositoryprotected Build toBuild(java.sql.ResultSet rs, java.util.function.Function<ID,Branch> branchSupplier) throws java.sql.SQLException
java.sql.SQLExceptionpublic Build newBuild(Build build)
newBuild in interface StructureRepositorypublic Build saveBuild(Build build)
saveBuild in interface StructureRepositorypublic Build getBuild(ID buildId)
getBuild in interface StructureRepositorypublic java.util.Optional<Build> getBuildByName(java.lang.String project, java.lang.String branch, java.lang.String build)
getBuildByName in interface StructureRepositorypublic java.util.Optional<Build> findBuildAfterUsingNumericForm(ID branchId, java.lang.String buildName)
findBuildAfterUsingNumericForm in interface StructureRepositorypublic int getBuildCount(Branch branch)
getBuildCount in interface StructureRepositorypublic java.util.Optional<Build> getPreviousBuild(Build build)
getPreviousBuild in interface StructureRepositorypublic java.util.Optional<Build> getNextBuild(Build build)
getNextBuild in interface StructureRepositorypublic java.util.List<PromotionLevel> getPromotionLevelListForBranch(ID branchId)
getPromotionLevelListForBranch in interface StructureRepositorypublic PromotionLevel newPromotionLevel(PromotionLevel promotionLevel)
newPromotionLevel in interface StructureRepositorypublic PromotionLevel getPromotionLevel(ID promotionLevelId)
getPromotionLevel in interface StructureRepositorypublic java.util.Optional<PromotionLevel> getPromotionLevelByName(java.lang.String project, java.lang.String branch, java.lang.String promotionLevel)
getPromotionLevelByName in interface StructureRepositorypublic java.util.Optional<PromotionLevel> getPromotionLevelByName(Branch branch, java.lang.String promotionLevel)
getPromotionLevelByName in interface StructureRepositorypublic Document getPromotionLevelImage(ID promotionLevelId)
getPromotionLevelImage in interface StructureRepositorypublic void setPromotionLevelImage(ID promotionLevelId, Document document)
setPromotionLevelImage in interface StructureRepositorypublic void savePromotionLevel(PromotionLevel promotionLevel)
savePromotionLevel in interface StructureRepositorypublic Ack deletePromotionLevel(ID promotionLevelId)
deletePromotionLevel in interface StructureRepositorypublic void reorderPromotionLevels(ID branchId, Reordering reordering)
reorderPromotionLevels in interface StructureRepositorypublic PromotionRun newPromotionRun(PromotionRun promotionRun)
newPromotionRun in interface StructureRepositorypublic PromotionRun getPromotionRun(ID promotionRunId)
getPromotionRun in interface StructureRepositorypublic Ack deletePromotionRun(ID promotionRunId)
deletePromotionRun in interface StructureRepositorypublic java.util.List<PromotionRun> getPromotionRunsForBuild(Build build)
getPromotionRunsForBuild in interface StructureRepositorypublic java.util.List<PromotionRun> getLastPromotionRunsForBuild(Build build)
getLastPromotionRunsForBuild in interface StructureRepositorypublic PromotionRun getLastPromotionRunForPromotionLevel(PromotionLevel promotionLevel)
getLastPromotionRunForPromotionLevel in interface StructureRepositorypublic java.util.Optional<PromotionRun> getLastPromotionRun(Build build, PromotionLevel promotionLevel)
getLastPromotionRun in interface StructureRepositorypublic java.util.List<PromotionRun> getPromotionRunsForBuildAndPromotionLevel(Build build, PromotionLevel promotionLevel)
getPromotionRunsForBuildAndPromotionLevel in interface StructureRepositorypublic java.util.List<PromotionRun> getPromotionRunsForPromotionLevel(PromotionLevel promotionLevel)
getPromotionRunsForPromotionLevel in interface StructureRepositorypublic java.util.Optional<PromotionRun> getEarliestPromotionRunAfterBuild(PromotionLevel promotionLevel, Build build)
getEarliestPromotionRunAfterBuild in interface StructureRepositoryprotected PromotionRun toPromotionRun(java.sql.ResultSet rs, java.util.function.Function<ID,Build> buildLoader, java.util.function.Function<ID,PromotionLevel> promotionLevelLoader) throws java.sql.SQLException
java.sql.SQLExceptionpublic java.util.List<ValidationStamp> getValidationStampListForBranch(ID branchId)
getValidationStampListForBranch in interface StructureRepositorypublic ValidationStamp newValidationStamp(ValidationStamp validationStamp)
newValidationStamp in interface StructureRepositorypublic ValidationStamp getValidationStamp(ID validationStampId)
getValidationStamp in interface StructureRepositorypublic java.util.Optional<ValidationStamp> getValidationStampByName(java.lang.String project, java.lang.String branch, java.lang.String validationStamp)
getValidationStampByName in interface StructureRepositorypublic java.util.Optional<ValidationStamp> getValidationStampByName(Branch branch, java.lang.String validationStamp)
getValidationStampByName in interface StructureRepositorypublic Document getValidationStampImage(ID validationStampId)
getValidationStampImage in interface StructureRepositorypublic void setValidationStampImage(ID validationStampId, Document document)
setValidationStampImage in interface StructureRepositorypublic void bulkUpdatePromotionLevels(ID promotionLevelId)
StructureRepositorybulkUpdatePromotionLevels in interface StructureRepositorypromotionLevelId - ID of the modelpublic void bulkUpdateValidationStamps(ID validationStampId)
bulkUpdateValidationStamps in interface StructureRepositorypublic void saveValidationStamp(ValidationStamp validationStamp)
saveValidationStamp in interface StructureRepositorypublic Ack deleteValidationStamp(ID validationStampId)
deleteValidationStamp in interface StructureRepositorypublic void reorderValidationStamps(ID branchId, Reordering reordering)
reorderValidationStamps in interface StructureRepositorypublic ValidationRun newValidationRun(ValidationRun validationRun, java.util.function.Function<java.lang.String,ValidationRunStatusID> validationRunStatusService)
newValidationRun in interface StructureRepositorypublic ValidationRun getValidationRun(ID validationRunId, java.util.function.Function<java.lang.String,ValidationRunStatusID> validationRunStatusService)
getValidationRun in interface StructureRepositorypublic java.util.List<ValidationRun> getValidationRunsForBuild(Build build, java.util.function.Function<java.lang.String,ValidationRunStatusID> validationRunStatusService)
getValidationRunsForBuild in interface StructureRepositorypublic java.util.List<ValidationRun> getValidationRunsForBuild(Build build, int offset, int count, java.util.function.Function<java.lang.String,ValidationRunStatusID> validationRunStatusService)
StructureRepositorygetValidationRunsForBuild in interface StructureRepositorybuild - Build to get the validation runs foroffset - Offset in the listcount - Maximum number of elements to returnvalidationRunStatusService - Run status mapping function (provided by caller)public int getValidationRunsCountForBuild(Build build)
StructureRepositorygetValidationRunsCountForBuild in interface StructureRepositorybuild - Build to get the validation runs forpublic java.util.List<ValidationRun> getValidationRunsForBuildAndValidationStamp(Build build, ValidationStamp validationStamp, java.util.function.Function<java.lang.String,ValidationRunStatusID> validationRunStatusService)
getValidationRunsForBuildAndValidationStamp in interface StructureRepositorypublic java.util.List<ValidationRun> getValidationRunsForBuildAndValidationStamp(Build build, ValidationStamp validationStamp, int offset, int count, java.util.function.Function<java.lang.String,ValidationRunStatusID> validationRunStatusService)
getValidationRunsForBuildAndValidationStamp in interface StructureRepositorypublic int getValidationRunsCountForBuildAndValidationStamp(ID buildId, ID validationStampId)
StructureRepositorygetValidationRunsCountForBuildAndValidationStamp in interface StructureRepositorybuildId - ID of the buildvalidationStampId - ID of the validation stamppublic java.util.List<ValidationRun> getValidationRunsForValidationStamp(ValidationStamp validationStamp, int offset, int count, java.util.function.Function<java.lang.String,ValidationRunStatusID> validationRunStatusService)
getValidationRunsForValidationStamp in interface StructureRepositorypublic int getValidationRunsCountForValidationStamp(ID validationStampId)
StructureRepositorygetValidationRunsCountForValidationStamp in interface StructureRepositoryvalidationStampId - ID of the validation stamppublic ValidationRun newValidationRunStatus(ValidationRun validationRun, ValidationRunStatus runStatus)
newValidationRunStatus in interface StructureRepositoryprotected void newValidationRunStatus(int validationRunId,
ValidationRunStatus validationRunStatus)
protected ValidationRun toValidationRun(java.sql.ResultSet rs, java.util.function.Function<ID,Build> buildSupplier, java.util.function.Function<ID,ValidationStamp> validationStampSupplier, java.util.function.Function<java.lang.String,ValidationRunStatusID> validationRunStatusService) throws java.sql.SQLException
java.sql.SQLExceptionprotected PromotionLevel toPromotionLevel(java.sql.ResultSet rs, java.util.function.Function<ID,Branch> branchSupplier) throws java.sql.SQLException
java.sql.SQLExceptionprotected ValidationStamp toValidationStamp(java.sql.ResultSet rs, java.util.function.Function<ID,Branch> branchSupplier) throws java.sql.SQLException
java.sql.SQLExceptionprotected Branch toBranch(java.sql.ResultSet rs, java.util.function.Function<ID,Project> projectSupplier) throws java.sql.SQLException
java.sql.SQLExceptionprotected Project toProject(java.sql.ResultSet rs) throws java.sql.SQLException
java.sql.SQLException