@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, writeJson
getNamedParameterJdbcTemplate, initTemplateConfig
checkDaoConfig, createJdbcTemplate, getConnection, getDataSource, getExceptionTranslator, getJdbcTemplate, releaseConnection, setDataSource, setJdbcTemplate
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
builds
@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 StructureRepository
public java.util.List<Project> getProjectList()
getProjectList
in interface StructureRepository
public Project getProject(ID projectId)
getProject
in interface StructureRepository
public java.util.Optional<Project> getProjectByName(java.lang.String project)
getProjectByName
in interface StructureRepository
public void saveProject(Project project)
saveProject
in interface StructureRepository
public Ack deleteProject(ID projectId)
deleteProject
in interface StructureRepository
public Branch getBranch(ID branchId)
getBranch
in interface StructureRepository
public java.util.Optional<Branch> getBranchByName(java.lang.String project, java.lang.String branch)
getBranchByName
in interface StructureRepository
public java.util.List<Branch> getBranchesForProject(ID projectId)
getBranchesForProject
in interface StructureRepository
public Branch newBranch(Branch branch)
newBranch
in interface StructureRepository
public void saveBranch(Branch branch)
saveBranch
in interface StructureRepository
public Ack deleteBranch(ID branchId)
deleteBranch
in interface StructureRepository
public void builds(Branch branch, java.util.function.Predicate<Build> buildPredicate, BuildSortDirection sortDirection)
StructureRepository
builds
in interface StructureRepository
public void builds(Project project, java.util.function.Predicate<Build> buildPredicate)
StructureRepository
buildPredicate
returns false
.builds
in interface StructureRepository
public Build getLastBuildForBranch(Branch branch)
getLastBuildForBranch
in interface StructureRepository
public Ack deleteBuild(ID buildId)
deleteBuild
in interface StructureRepository
public void addBuildLink(ID fromBuildId, ID toBuildId)
StructureRepository
addBuildLink
in interface StructureRepository
public void deleteBuildLink(ID fromBuildId, ID toBuildId)
deleteBuildLink
in interface StructureRepository
public java.util.List<Build> getBuildLinksFrom(ID buildId)
getBuildLinksFrom
in interface StructureRepository
public java.util.List<Build> getBuildsUsing(Build build)
StructureRepository
getBuildsUsing
in interface StructureRepository
build
- Source buildpublic java.util.List<Build> getBuildLinksTo(ID buildId)
getBuildLinksTo
in interface StructureRepository
public java.util.List<Build> searchBuildsLinkedTo(java.lang.String projectName, java.lang.String buildPattern)
searchBuildsLinkedTo
in interface StructureRepository
public boolean isLinkedFrom(ID id, java.lang.String project, java.lang.String buildPattern)
isLinkedFrom
in interface StructureRepository
public boolean isLinkedTo(ID id, java.lang.String project, java.lang.String buildPattern)
isLinkedTo
in interface StructureRepository
protected Build toBuild(java.sql.ResultSet rs, java.util.function.Function<ID,Branch> branchSupplier) throws java.sql.SQLException
java.sql.SQLException
public Build newBuild(Build build)
newBuild
in interface StructureRepository
public Build saveBuild(Build build)
saveBuild
in interface StructureRepository
public Build getBuild(ID buildId)
getBuild
in interface StructureRepository
public java.util.Optional<Build> getBuildByName(java.lang.String project, java.lang.String branch, java.lang.String build)
getBuildByName
in interface StructureRepository
public java.util.Optional<Build> findBuildAfterUsingNumericForm(ID branchId, java.lang.String buildName)
findBuildAfterUsingNumericForm
in interface StructureRepository
public int getBuildCount(Branch branch)
getBuildCount
in interface StructureRepository
public java.util.Optional<Build> getPreviousBuild(Build build)
getPreviousBuild
in interface StructureRepository
public java.util.Optional<Build> getNextBuild(Build build)
getNextBuild
in interface StructureRepository
public java.util.List<PromotionLevel> getPromotionLevelListForBranch(ID branchId)
getPromotionLevelListForBranch
in interface StructureRepository
public PromotionLevel newPromotionLevel(PromotionLevel promotionLevel)
newPromotionLevel
in interface StructureRepository
public PromotionLevel getPromotionLevel(ID promotionLevelId)
getPromotionLevel
in interface StructureRepository
public java.util.Optional<PromotionLevel> getPromotionLevelByName(java.lang.String project, java.lang.String branch, java.lang.String promotionLevel)
getPromotionLevelByName
in interface StructureRepository
public java.util.Optional<PromotionLevel> getPromotionLevelByName(Branch branch, java.lang.String promotionLevel)
getPromotionLevelByName
in interface StructureRepository
public Document getPromotionLevelImage(ID promotionLevelId)
getPromotionLevelImage
in interface StructureRepository
public void setPromotionLevelImage(ID promotionLevelId, Document document)
setPromotionLevelImage
in interface StructureRepository
public void savePromotionLevel(PromotionLevel promotionLevel)
savePromotionLevel
in interface StructureRepository
public Ack deletePromotionLevel(ID promotionLevelId)
deletePromotionLevel
in interface StructureRepository
public void reorderPromotionLevels(ID branchId, Reordering reordering)
reorderPromotionLevels
in interface StructureRepository
public PromotionRun newPromotionRun(PromotionRun promotionRun)
newPromotionRun
in interface StructureRepository
public PromotionRun getPromotionRun(ID promotionRunId)
getPromotionRun
in interface StructureRepository
public Ack deletePromotionRun(ID promotionRunId)
deletePromotionRun
in interface StructureRepository
public java.util.List<PromotionRun> getPromotionRunsForBuild(Build build)
getPromotionRunsForBuild
in interface StructureRepository
public java.util.List<PromotionRun> getLastPromotionRunsForBuild(Build build)
getLastPromotionRunsForBuild
in interface StructureRepository
public PromotionRun getLastPromotionRunForPromotionLevel(PromotionLevel promotionLevel)
getLastPromotionRunForPromotionLevel
in interface StructureRepository
public java.util.Optional<PromotionRun> getLastPromotionRun(Build build, PromotionLevel promotionLevel)
getLastPromotionRun
in interface StructureRepository
public java.util.List<PromotionRun> getPromotionRunsForBuildAndPromotionLevel(Build build, PromotionLevel promotionLevel)
getPromotionRunsForBuildAndPromotionLevel
in interface StructureRepository
public java.util.List<PromotionRun> getPromotionRunsForPromotionLevel(PromotionLevel promotionLevel)
getPromotionRunsForPromotionLevel
in interface StructureRepository
public java.util.Optional<PromotionRun> getEarliestPromotionRunAfterBuild(PromotionLevel promotionLevel, Build build)
getEarliestPromotionRunAfterBuild
in interface StructureRepository
protected 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.SQLException
public java.util.List<ValidationStamp> getValidationStampListForBranch(ID branchId)
getValidationStampListForBranch
in interface StructureRepository
public ValidationStamp newValidationStamp(ValidationStamp validationStamp)
newValidationStamp
in interface StructureRepository
public ValidationStamp getValidationStamp(ID validationStampId)
getValidationStamp
in interface StructureRepository
public java.util.Optional<ValidationStamp> getValidationStampByName(java.lang.String project, java.lang.String branch, java.lang.String validationStamp)
getValidationStampByName
in interface StructureRepository
public java.util.Optional<ValidationStamp> getValidationStampByName(Branch branch, java.lang.String validationStamp)
getValidationStampByName
in interface StructureRepository
public Document getValidationStampImage(ID validationStampId)
getValidationStampImage
in interface StructureRepository
public void setValidationStampImage(ID validationStampId, Document document)
setValidationStampImage
in interface StructureRepository
public void bulkUpdatePromotionLevels(ID promotionLevelId)
StructureRepository
bulkUpdatePromotionLevels
in interface StructureRepository
promotionLevelId
- ID of the modelpublic void bulkUpdateValidationStamps(ID validationStampId)
bulkUpdateValidationStamps
in interface StructureRepository
public void saveValidationStamp(ValidationStamp validationStamp)
saveValidationStamp
in interface StructureRepository
public Ack deleteValidationStamp(ID validationStampId)
deleteValidationStamp
in interface StructureRepository
public void reorderValidationStamps(ID branchId, Reordering reordering)
reorderValidationStamps
in interface StructureRepository
public ValidationRun newValidationRun(ValidationRun validationRun, java.util.function.Function<java.lang.String,ValidationRunStatusID> validationRunStatusService)
newValidationRun
in interface StructureRepository
public ValidationRun getValidationRun(ID validationRunId, java.util.function.Function<java.lang.String,ValidationRunStatusID> validationRunStatusService)
getValidationRun
in interface StructureRepository
public java.util.List<ValidationRun> getValidationRunsForBuild(Build build, java.util.function.Function<java.lang.String,ValidationRunStatusID> validationRunStatusService)
getValidationRunsForBuild
in interface StructureRepository
public java.util.List<ValidationRun> getValidationRunsForBuild(Build build, int offset, int count, java.util.function.Function<java.lang.String,ValidationRunStatusID> validationRunStatusService)
StructureRepository
getValidationRunsForBuild
in interface StructureRepository
build
- 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)
StructureRepository
getValidationRunsCountForBuild
in interface StructureRepository
build
- 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 StructureRepository
public 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 StructureRepository
public int getValidationRunsCountForBuildAndValidationStamp(ID buildId, ID validationStampId)
StructureRepository
getValidationRunsCountForBuildAndValidationStamp
in interface StructureRepository
buildId
- 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 StructureRepository
public int getValidationRunsCountForValidationStamp(ID validationStampId)
StructureRepository
getValidationRunsCountForValidationStamp
in interface StructureRepository
validationStampId
- ID of the validation stamppublic ValidationRun newValidationRunStatus(ValidationRun validationRun, ValidationRunStatus runStatus)
newValidationRunStatus
in interface StructureRepository
protected 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.SQLException
protected PromotionLevel toPromotionLevel(java.sql.ResultSet rs, java.util.function.Function<ID,Branch> branchSupplier) throws java.sql.SQLException
java.sql.SQLException
protected ValidationStamp toValidationStamp(java.sql.ResultSet rs, java.util.function.Function<ID,Branch> branchSupplier) throws java.sql.SQLException
java.sql.SQLException
protected Branch toBranch(java.sql.ResultSet rs, java.util.function.Function<ID,Project> projectSupplier) throws java.sql.SQLException
java.sql.SQLException
protected Project toProject(java.sql.ResultSet rs) throws java.sql.SQLException
java.sql.SQLException