public class RepositoryDefinitionManagerImpl extends Object implements RepositoryDefinitionManager
Constructor and Description |
---|
RepositoryDefinitionManagerImpl(RepositoryDefinitionDao repositoryDefinitionDao,
PlanRepositoryLinkDao planRepositoryLinkDao,
RawRepositoryConfigurationXmlConverter rawRepositoryConfigurationXmlConverter,
RssRepositoryPermissionDao rssRepositoryPermissionDao) |
Modifier and Type | Method and Description |
---|---|
@NotNull Long |
countAllProjectsRepositories()
Count all project repositories.
|
PartialVcsRepositoryData |
entityToUnmergedData(@NotNull RepositoryDataEntity entity) |
@Nullable VcsRepositoryData |
entityToVcsData(@Nullable RepositoryDataEntity input) |
@NotNull List<Long> |
findAllProjectsIdsUsingProjectRepositories()
Find all project which are using project repositories.
|
@NotNull Set<Long> |
findAllTopLevelRepositoriesIds()
Get ids of all repositories that doesn't have parent repository (are either linked or are created on plan level)
|
@NotNull List<RepositoryDataEntity> |
findRepositoriesByPluginKey(@NotNull String pluginKey)
Given a pluginKey this will get you all of the repositories in Bamboo that were created for that key.
|
List<RepositoryData> |
getGlobalRepositoryDefinitions()
Get all Shared repositories current user has permission to use in his plans.
|
List<RepositoryData> |
getGlobalRepositoryDefinitionsForAdministration()
Get all Shared repositories current user has permission to administrate.
|
List<RepositoryData> |
getGlobalRepositoryDefinitionsUnrestricted()
Get all Shared Repositories without permission checking.
|
List<PlanIdentifier> |
getIdentifiersOfPlansUsingRepository(long repositoryId)
Get identifiers of Plans referencing a repository.
|
@NotNull List<PlanIdentifier> |
getIdentifiersOfPlansUsingRepositoryOrItsDirectChildren(long repositoryId)
Get identifiers of
Chain s referencing a repository, either directly or through inheritance (only direct parent-child relationship is checked)
If the parameter refers to a linked repository, only TopLevelPlan s are returned. |
@NotNull List<VcsRepositoryData> |
getLinkedRepositories()
Get all linked repositories current user has permission to use in his plans.
|
List<VcsRepositoryData> |
getLinkedRepositoriesForAdministration()
Get all Shared repositories current user has permission to administrate.
|
List<VcsRepositoryData> |
getLinkedRepositoriesUnrestricted()
Get all linked repositories without permission checking.
|
@Nullable VcsRepositoryData |
getLinkedRepositoryByName(String name)
Find a linked repository by name.
|
@NotNull List<PartialVcsRepositoryData> |
getPlanRepositoriesForExport(@NotNull PlanIdentifier plan)
Get all repositories attached to a plan in form suitable for export.
|
@NotNull List<PlanRepositoryDefinition> |
getPlanRepositoryDefinitions(@NotNull PlanIdentifier plan)
Get all repositories attached to a plan ordered by position.
|
PlanRepositoryLink |
getPlanRepositoryLink(@NotNull ImmutablePlan plan,
long repositoryId)
Get persistent representation of a relation between Plan and repository
|
PlanRepositoryLink |
getPlanRepositoryLinkByName(@NotNull ImmutablePlan plan,
@NotNull String repositoryName)
Get persistent representation of a relation between Plan and repository
|
@NotNull List<PlanRepositoryLink> |
getPlanRepositoryLinks(@NotNull ImmutablePlan plan)
Get persistent representation of relation between Plan and repositories
|
List<PlanRepositoryLink> |
getPlansUsingRepository(long repositoryId)
Get
PlanRepositoryLink s associated with repository. |
@NotNull List<VcsRepositoryData> |
getProjectRepositories(long projectId)
Find all repositories in a project with given id.
|
@Nullable VcsRepositoryData |
getProjectRepositoryByName(String name,
Long projectId)
Find a project repository by name in project associated with given projectId.
|
@Nullable RepositoryDataEntity |
getRepositoryDataEntity(long id)
Get persistent representation of a repository
|
@NotNull List<RepositoryDefinition> |
getRepositoryDefinitionsForPlan(@NotNull ImmutablePlan plan)
Get all repositories attached to a plan ordered by position.
|
@Nullable VcsRepositoryData |
getVcsRepositoryData(long repositoryId)
Get plugin-agnostic representation of a repository configuration.
|
VcsRepositoryData |
getVcsRepositoryDataByOid(BambooEntityOid oid)
Find a repository by oid.
|
@Nullable PartialVcsRepositoryData |
getVcsRepositoryDataForEditing(long repositoryId) |
boolean |
isRepositoryOrItsDirectChildrenUsedInPlans(long repositoryId)
Checks if repository is used in plans
|
void |
removeRepositoriesForPlan(Plan plan)
Remove all repositories from
Plan that are not global repositories. |
void |
removeRepositoryFromPlan(@NotNull PlanRepositoryLink planRepository)
Removes relation between repository and plan.
|
void |
removeRepositoryIfUnused(RepositoryDataEntity repositoryDataEntity)
Marks repository for deletion if it is referenced by a
RepositoryChangeset , removes it otherwise. |
void |
removeUnusedRepositories()
Removes all repositories that has been previously markedForDeletion and are no longer
referenced by any
RepositoryChangeset |
void |
savePlanRepositoryLink(@NotNull PlanRepositoryLink planRepository) |
void |
savePlanRepositoryLinks(@NotNull List<PlanRepositoryLink> planRepositories)
Saves the collection of plan to repository relations.
|
long |
savePlanRepositoryWithDefinition(@NotNull PlanRepositoryLink planRepository)
Saves plan to repository relation definition with cascade to
RepositoryDataEntity |
long |
saveRepositoryDefinition(RepositoryDataEntity repositoryData)
Save repository definition.
|
void |
saveRepositoryDefinitions(@NotNull Collection<RepositoryDataEntity> repositoriesBeingCreated)
Saves all repository definitions in the collection.
|
public RepositoryDefinitionManagerImpl(RepositoryDefinitionDao repositoryDefinitionDao, PlanRepositoryLinkDao planRepositoryLinkDao, RawRepositoryConfigurationXmlConverter rawRepositoryConfigurationXmlConverter, RssRepositoryPermissionDao rssRepositoryPermissionDao)
public PlanRepositoryLink getPlanRepositoryLink(@NotNull @NotNull ImmutablePlan plan, long repositoryId)
RepositoryDefinitionManager
getPlanRepositoryLink
in interface RepositoryDefinitionManager
public PlanRepositoryLink getPlanRepositoryLinkByName(@NotNull @NotNull ImmutablePlan plan, @NotNull @NotNull String repositoryName)
RepositoryDefinitionManager
getPlanRepositoryLinkByName
in interface RepositoryDefinitionManager
@NotNull public @NotNull List<PlanRepositoryLink> getPlanRepositoryLinks(@NotNull @NotNull ImmutablePlan plan)
RepositoryDefinitionManager
getPlanRepositoryLinks
in interface RepositoryDefinitionManager
@Nullable public @Nullable RepositoryDataEntity getRepositoryDataEntity(long id)
RepositoryDefinitionManager
getRepositoryDataEntity
in interface RepositoryDefinitionManager
@NotNull public @NotNull List<RepositoryDefinition> getRepositoryDefinitionsForPlan(@NotNull @NotNull ImmutablePlan plan)
RepositoryDefinitionManager
getRepositoryDefinitionsForPlan
in interface RepositoryDefinitionManager
@NotNull public @NotNull List<PlanRepositoryDefinition> getPlanRepositoryDefinitions(@NotNull @NotNull PlanIdentifier plan)
RepositoryDefinitionManager
getPlanRepositoryDefinitions
in interface RepositoryDefinitionManager
@NotNull public @NotNull List<PartialVcsRepositoryData> getPlanRepositoriesForExport(@NotNull @NotNull PlanIdentifier plan)
RepositoryDefinitionManager
getPlanRepositoriesForExport
in interface RepositoryDefinitionManager
public List<PlanRepositoryLink> getPlansUsingRepository(long repositoryId)
RepositoryDefinitionManager
PlanRepositoryLink
s associated with repository. This method should only be used when editing
the list of repositories associated with a Plan.
This method only direct associations. This means, that since Bamboo 5.14, it will return no results
for linked repository. See also RepositoryDefinitionManager.getIdentifiersOfPlansUsingRepositoryOrItsDirectChildren(long)
getPlansUsingRepository
in interface RepositoryDefinitionManager
@NotNull public @NotNull List<PlanIdentifier> getIdentifiersOfPlansUsingRepositoryOrItsDirectChildren(long repositoryId)
RepositoryDefinitionManager
Chain
s referencing a repository, either directly or through inheritance (only direct parent-child relationship is checked)
If the parameter refers to a linked repository, only TopLevelPlan
s are returned.
If the parameter refers to a plan local repository, it will return the plan the repository is linked to and all its ChainBranch
esgetIdentifiersOfPlansUsingRepositoryOrItsDirectChildren
in interface RepositoryDefinitionManager
public boolean isRepositoryOrItsDirectChildrenUsedInPlans(long repositoryId)
RepositoryDefinitionManager
isRepositoryOrItsDirectChildrenUsedInPlans
in interface RepositoryDefinitionManager
public List<RepositoryData> getGlobalRepositoryDefinitions()
RepositoryDefinitionManager
getGlobalRepositoryDefinitions
in interface RepositoryDefinitionManager
public List<RepositoryData> getGlobalRepositoryDefinitionsForAdministration()
RepositoryDefinitionManager
getGlobalRepositoryDefinitionsForAdministration
in interface RepositoryDefinitionManager
public List<RepositoryData> getGlobalRepositoryDefinitionsUnrestricted()
RepositoryDefinitionManager
getGlobalRepositoryDefinitionsUnrestricted
in interface RepositoryDefinitionManager
@NotNull public @NotNull List<VcsRepositoryData> getLinkedRepositories()
RepositoryDefinitionManager
getLinkedRepositories
in interface RepositoryDefinitionAccessor
getLinkedRepositories
in interface RepositoryDefinitionManager
public List<VcsRepositoryData> getLinkedRepositoriesForAdministration()
RepositoryDefinitionManager
getLinkedRepositoriesForAdministration
in interface RepositoryDefinitionManager
@Nullable public @Nullable VcsRepositoryData entityToVcsData(@Nullable @Nullable RepositoryDataEntity input)
entityToVcsData
in interface RepositoryDefinitionManager
@Nullable public @Nullable VcsRepositoryData getVcsRepositoryData(long repositoryId)
RepositoryDefinitionManager
getVcsRepositoryData
in interface RepositoryDefinitionManager
public PartialVcsRepositoryData entityToUnmergedData(@NotNull @NotNull RepositoryDataEntity entity)
entityToUnmergedData
in interface RepositoryDefinitionManager
entity
- should be in decoded state.@Nullable public @Nullable PartialVcsRepositoryData getVcsRepositoryDataForEditing(long repositoryId)
getVcsRepositoryDataForEditing
in interface RepositoryDefinitionManager
public List<VcsRepositoryData> getLinkedRepositoriesUnrestricted()
RepositoryDefinitionManager
getLinkedRepositoriesUnrestricted
in interface RepositoryDefinitionManager
public long saveRepositoryDefinition(RepositoryDataEntity repositoryData)
RepositoryDefinitionManager
saveRepositoryDefinition
in interface RepositoryDefinitionManager
public void saveRepositoryDefinitions(@NotNull @NotNull Collection<RepositoryDataEntity> repositoriesBeingCreated)
RepositoryDefinitionManager
saveRepositoryDefinitions
in interface RepositoryDefinitionManager
public long savePlanRepositoryWithDefinition(@NotNull @NotNull PlanRepositoryLink planRepository)
RepositoryDefinitionManager
RepositoryDataEntity
savePlanRepositoryWithDefinition
in interface RepositoryDefinitionManager
public void savePlanRepositoryLink(@NotNull @NotNull PlanRepositoryLink planRepository)
savePlanRepositoryLink
in interface RepositoryDefinitionManager
public void savePlanRepositoryLinks(@NotNull @NotNull List<PlanRepositoryLink> planRepositories)
RepositoryDefinitionManager
savePlanRepositoryLinks
in interface RepositoryDefinitionManager
public void removeRepositoryFromPlan(@NotNull @NotNull PlanRepositoryLink planRepository)
RepositoryDefinitionManager
RepositoryDefinitionManager.removeRepositoryIfUnused(RepositoryDataEntity)
is called.removeRepositoryFromPlan
in interface RepositoryDefinitionManager
public void removeRepositoryIfUnused(RepositoryDataEntity repositoryDataEntity)
RepositoryDefinitionManager
RepositoryChangeset
, removes it otherwise.removeRepositoryIfUnused
in interface RepositoryDefinitionManager
public void removeUnusedRepositories()
RepositoryDefinitionManager
RepositoryChangeset
removeUnusedRepositories
in interface RepositoryDefinitionManager
public void removeRepositoriesForPlan(Plan plan)
RepositoryDefinitionManager
Plan
that are not global repositories.removeRepositoriesForPlan
in interface RepositoryDefinitionManager
public List<PlanIdentifier> getIdentifiersOfPlansUsingRepository(long repositoryId)
RepositoryDefinitionManager
RepositoryDefinitionManager.getIdentifiersOfPlansUsingRepositoryOrItsDirectChildren(long)
getIdentifiersOfPlansUsingRepository
in interface RepositoryDefinitionManager
@NotNull public @NotNull List<RepositoryDataEntity> findRepositoriesByPluginKey(@NotNull @NotNull String pluginKey)
RepositoryDefinitionManager
findRepositoriesByPluginKey
in interface RepositoryDefinitionManager
pluginKey
- The plugin key to search for.public VcsRepositoryData getVcsRepositoryDataByOid(BambooEntityOid oid)
RepositoryDefinitionAccessor
getVcsRepositoryDataByOid
in interface RepositoryDefinitionAccessor
@Nullable public @Nullable VcsRepositoryData getLinkedRepositoryByName(String name)
RepositoryDefinitionManager
getLinkedRepositoryByName
in interface RepositoryDefinitionManager
name
- of linked repository@NotNull public @NotNull Set<Long> findAllTopLevelRepositoriesIds()
RepositoryDefinitionManager
findAllTopLevelRepositoriesIds
in interface RepositoryDefinitionManager
@Nullable public @Nullable VcsRepositoryData getProjectRepositoryByName(String name, Long projectId)
RepositoryDefinitionManager
getProjectRepositoryByName
in interface RepositoryDefinitionManager
@NotNull public @NotNull Long countAllProjectsRepositories()
RepositoryDefinitionManager
countAllProjectsRepositories
in interface RepositoryDefinitionManager
@NotNull public @NotNull List<VcsRepositoryData> getProjectRepositories(long projectId)
RepositoryDefinitionManager
getProjectRepositories
in interface RepositoryDefinitionManager
@NotNull public @NotNull List<Long> findAllProjectsIdsUsingProjectRepositories()
RepositoryDefinitionManager
findAllProjectsIdsUsingProjectRepositories
in interface RepositoryDefinitionManager
Copyright © 2022 Atlassian Software Systems Pty Ltd. All rights reserved.