com.atlassian.bamboo.repository
Class RepositoryDefinitionManagerImpl

java.lang.Object
  extended by com.atlassian.bamboo.repository.RepositoryDefinitionManagerImpl
All Implemented Interfaces:
RepositoryDefinitionManager

public class RepositoryDefinitionManagerImpl
extends java.lang.Object
implements RepositoryDefinitionManager


Constructor Summary
RepositoryDefinitionManagerImpl(RepositoryDefinitionDao repositoryDefinitionDao, PlanRepositoryLinkDao planRepositoryLinkDao)
           
 
Method Summary
 java.util.List<RepositoryData> getGlobalRepositoryDefinitions()
           
 PlanRepositoryLink getPlanRepositoryLink(Plan plan, long repositoryId)
          Get persistent representation of a relation between Plan and repository
 java.util.List<PlanRepositoryLink> getPlanRepositoryLinks(Plan plan)
          Get persistent representation of relation between Plan and repositories
 java.util.List<PlanRepositoryLink> getPlansUsingRepository(long repositoryId)
           
 RepositoryDataEntity getRepositoryDataEntity(long id)
          Get persistent representation of a repository
 RepositoryDefinitionEntity getRepositoryDefinitionEntity(long id)
          Get persistent representation of a repository
 java.util.List<RepositoryDefinition> getRepositoryDefinitionsForPlan(ImmutablePlan plan)
          Get all repositories attached to a plan ordered by position.
 void removeRepositoriesForPlan(Plan plan)
          Remove all repositories from Plan that are not global repositories.
 void removeRepositoryFromPlan(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(PlanRepositoryLink planRepository)
           
 void savePlanRepositoryLinks(java.util.List<PlanRepositoryLink> planRepositories)
          Saves the collection of plan to repository relations.
 long savePlanRepositoryWithDefinition(PlanRepositoryLink planRepository)
          Saves plan to repository relation definition with cascade to RepositoryDataEntity
 long saveRepositoryDefinition(RepositoryDataEntity repositoryData)
          Save repository definition.
 long saveRepositoryDefinition(RepositoryDefinitionEntity repositoryData)
          Save repository definition.
 void saveRepositoryDefinitions(java.util.Collection<RepositoryDataEntity> repositoriesBeingCreated)
          Saves all repository definitions in the collection.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RepositoryDefinitionManagerImpl

public RepositoryDefinitionManagerImpl(RepositoryDefinitionDao repositoryDefinitionDao,
                                       PlanRepositoryLinkDao planRepositoryLinkDao)
Method Detail

getPlanRepositoryLink

public PlanRepositoryLink getPlanRepositoryLink(@NotNull
                                                Plan plan,
                                                long repositoryId)
Description copied from interface: RepositoryDefinitionManager
Get persistent representation of a relation between Plan and repository

Specified by:
getPlanRepositoryLink in interface RepositoryDefinitionManager

getPlanRepositoryLinks

@NotNull
public java.util.List<PlanRepositoryLink> getPlanRepositoryLinks(@NotNull
                                                                         Plan plan)
Description copied from interface: RepositoryDefinitionManager
Get persistent representation of relation between Plan and repositories

Specified by:
getPlanRepositoryLinks in interface RepositoryDefinitionManager

getRepositoryDataEntity

@Nullable
public RepositoryDataEntity getRepositoryDataEntity(long id)
Description copied from interface: RepositoryDefinitionManager
Get persistent representation of a repository

Specified by:
getRepositoryDataEntity in interface RepositoryDefinitionManager
Returns:

getRepositoryDefinitionEntity

public RepositoryDefinitionEntity getRepositoryDefinitionEntity(long id)
Description copied from interface: RepositoryDefinitionManager
Get persistent representation of a repository

Specified by:
getRepositoryDefinitionEntity in interface RepositoryDefinitionManager
Returns:

getRepositoryDefinitionsForPlan

@NotNull
public java.util.List<RepositoryDefinition> getRepositoryDefinitionsForPlan(@NotNull
                                                                                    ImmutablePlan plan)
Description copied from interface: RepositoryDefinitionManager
Get all repositories attached to a plan ordered by position.

Specified by:
getRepositoryDefinitionsForPlan in interface RepositoryDefinitionManager
Returns:

getPlansUsingRepository

public java.util.List<PlanRepositoryLink> getPlansUsingRepository(long repositoryId)
Specified by:
getPlansUsingRepository in interface RepositoryDefinitionManager

getGlobalRepositoryDefinitions

public java.util.List<RepositoryData> getGlobalRepositoryDefinitions()
Specified by:
getGlobalRepositoryDefinitions in interface RepositoryDefinitionManager

saveRepositoryDefinition

public long saveRepositoryDefinition(RepositoryDefinitionEntity repositoryData)
Description copied from interface: RepositoryDefinitionManager
Save repository definition.

Specified by:
saveRepositoryDefinition in interface RepositoryDefinitionManager
Returns:
id of saved definition

saveRepositoryDefinition

public long saveRepositoryDefinition(RepositoryDataEntity repositoryData)
Description copied from interface: RepositoryDefinitionManager
Save repository definition.

Specified by:
saveRepositoryDefinition in interface RepositoryDefinitionManager
Returns:
id of saved definition

saveRepositoryDefinitions

public void saveRepositoryDefinitions(@NotNull
                                      java.util.Collection<RepositoryDataEntity> repositoriesBeingCreated)
Description copied from interface: RepositoryDefinitionManager
Saves all repository definitions in the collection.

Specified by:
saveRepositoryDefinitions in interface RepositoryDefinitionManager

savePlanRepositoryWithDefinition

public long savePlanRepositoryWithDefinition(@NotNull
                                             PlanRepositoryLink planRepository)
Description copied from interface: RepositoryDefinitionManager
Saves plan to repository relation definition with cascade to RepositoryDataEntity

Specified by:
savePlanRepositoryWithDefinition in interface RepositoryDefinitionManager
Returns:

savePlanRepositoryLink

public void savePlanRepositoryLink(@NotNull
                                   PlanRepositoryLink planRepository)
Specified by:
savePlanRepositoryLink in interface RepositoryDefinitionManager

savePlanRepositoryLinks

public void savePlanRepositoryLinks(@NotNull
                                    java.util.List<PlanRepositoryLink> planRepositories)
Description copied from interface: RepositoryDefinitionManager
Saves the collection of plan to repository relations.

Specified by:
savePlanRepositoryLinks in interface RepositoryDefinitionManager

removeRepositoryFromPlan

public void removeRepositoryFromPlan(@NotNull
                                     PlanRepositoryLink planRepository)
Description copied from interface: RepositoryDefinitionManager
Removes relation between repository and plan. If the repository is not a global repository, RepositoryDefinitionManager.removeRepositoryIfUnused(RepositoryDataEntity) is called.

Specified by:
removeRepositoryFromPlan in interface RepositoryDefinitionManager

removeRepositoryIfUnused

public void removeRepositoryIfUnused(RepositoryDataEntity repositoryDataEntity)
Description copied from interface: RepositoryDefinitionManager
Marks repository for deletion if it is referenced by a RepositoryChangeset, removes it otherwise.

Specified by:
removeRepositoryIfUnused in interface RepositoryDefinitionManager

removeUnusedRepositories

public void removeUnusedRepositories()
Description copied from interface: RepositoryDefinitionManager
Removes all repositories that has been previously markedForDeletion and are no longer referenced by any RepositoryChangeset

Specified by:
removeUnusedRepositories in interface RepositoryDefinitionManager

removeRepositoriesForPlan

public void removeRepositoriesForPlan(Plan plan)
Description copied from interface: RepositoryDefinitionManager
Remove all repositories from Plan that are not global repositories.

Specified by:
removeRepositoriesForPlan in interface RepositoryDefinitionManager


Copyright © 2012 Atlassian. All Rights Reserved.