Class ProjectDataModelImpl
- java.lang.Object
-
- jetbrains.buildServer.serverSide.impl.projects.ProjectDataModelImpl
-
- All Implemented Interfaces:
ProjectDataModel
public class ProjectDataModelImpl extends Object implements ProjectDataModel
Container for projects and build types.
-
-
Constructor Summary
Constructors Constructor Description ProjectDataModelImpl(SecurityContextEx securityContextEx)
-
Method Summary
-
-
-
Constructor Detail
-
ProjectDataModelImpl
@Autowired public ProjectDataModelImpl(@NotNull SecurityContextEx securityContextEx)
-
-
Method Detail
-
setProjectFactory
public void setProjectFactory(@NotNull ProjectFactory projectFactory)
-
createFromModel
public static ProjectDataModelImpl createFromModel(@NotNull ProjectDataModelImpl origModel, @NotNull SecurityContextEx securityContextEx)
-
getTemplates
@NotNull public IndexedCollection<String,BuildTypeTemplateEx> getTemplates()
- Specified by:
getTemplates
in interfaceProjectDataModel
-
getProjects
@NotNull public IndexedCollection<String,ProjectEx> getProjects()
- Specified by:
getProjects
in interfaceProjectDataModel
-
getBuildTypes
@NotNull public IndexedCollection<String,BuildTypeImpl> getBuildTypes()
- Specified by:
getBuildTypes
in interfaceProjectDataModel
-
getVcsRoots
@NotNull public IndexedCollection<Long,SVcsRootEx> getVcsRoots()
- Specified by:
getVcsRoots
in interfaceProjectDataModel
-
getProjectBuildTypes
@NotNull public IndexedCollection<String,BuildTypeImpl> getProjectBuildTypes(@NotNull String projectId)
- Specified by:
getProjectBuildTypes
in interfaceProjectDataModel
-
findProjectByConfigFile
@Nullable public ProjectEx findProjectByConfigFile(@NotNull File configFile)
-
getProjectTemplates
@NotNull public IndexedCollection<String,BuildTypeTemplateEx> getProjectTemplates(@NotNull String projectId)
- Specified by:
getProjectTemplates
in interfaceProjectDataModel
-
getProjectVcsRoots
@NotNull public ReadOnlyIndexedCollection<Long,SVcsRootEx> getProjectVcsRoots(@NotNull String prjId)
- Specified by:
getProjectVcsRoots
in interfaceProjectDataModel
-
addBuildType
public void addBuildType(@NotNull BuildTypeImpl buildType)
- Specified by:
addBuildType
in interfaceProjectDataModel
-
moveBuildType
public void moveBuildType(@NotNull BuildTypeImpl buildType, @NotNull ProjectEx oldProject, @NotNull ProjectEx newProject)
- Specified by:
moveBuildType
in interfaceProjectDataModel
-
moveTemplate
public void moveTemplate(@NotNull BuildTypeTemplateEx template, @NotNull ProjectEx oldProject, @NotNull ProjectEx newProject)
- Specified by:
moveTemplate
in interfaceProjectDataModel
-
moveVcsRoot
public void moveVcsRoot(@NotNull SVcsRootEx vcsRoot, @NotNull ProjectEx oldProject, @NotNull ProjectEx newProject)
- Specified by:
moveVcsRoot
in interfaceProjectDataModel
-
addTemplate
public void addTemplate(@NotNull BuildTypeTemplateEx template)
- Specified by:
addTemplate
in interfaceProjectDataModel
-
addVcsRoot
public void addVcsRoot(@NotNull SVcsRootEx vcsRoot)
- Specified by:
addVcsRoot
in interfaceProjectDataModel
-
addProject
public void addProject(@NotNull ProjectEx project)
- Specified by:
addProject
in interfaceProjectDataModel
-
removeBuildType
public void removeBuildType(@NotNull String id)
- Specified by:
removeBuildType
in interfaceProjectDataModel
-
removeTemplate
public void removeTemplate(@NotNull String id)
- Specified by:
removeTemplate
in interfaceProjectDataModel
-
removeProject
public void removeProject(@NotNull String id)
- Specified by:
removeProject
in interfaceProjectDataModel
-
removeVcsRoot
public void removeVcsRoot(long id)
- Specified by:
removeVcsRoot
in interfaceProjectDataModel
-
resortBuildTypes
public void resortBuildTypes()
- Specified by:
resortBuildTypes
in interfaceProjectDataModel
-
resortTemplates
public void resortTemplates()
- Specified by:
resortTemplates
in interfaceProjectDataModel
-
resortProjects
public void resortProjects()
- Specified by:
resortProjects
in interfaceProjectDataModel
-
resortVcsRoots
public void resortVcsRoots()
- Specified by:
resortVcsRoots
in interfaceProjectDataModel
-
afterProjectLoad
public void afterProjectLoad(@NotNull ProjectEx project)
-
getProjectFactory
@NotNull public ProjectFactory getProjectFactory()
- Specified by:
getProjectFactory
in interfaceProjectDataModel
-
getChangesNumber
public int getChangesNumber()
-
setProjectOrder
public void setProjectOrder(@NotNull List<String> internalIds)
Description copied from interface:ProjectDataModel
Sets projects relevant ordering. Projects with differet parents are not affected by this order.- Specified by:
setProjectOrder
in interfaceProjectDataModel
- Parameters:
internalIds
- list of internal IDs. Better use random access list (eg ArrayList)
-
removeFromSubprojectsOrder
public void removeFromSubprojectsOrder(@NotNull List<String> internalIds)
- Specified by:
removeFromSubprojectsOrder
in interfaceProjectDataModel
- Parameters:
internalIds
- Projects internal IDs to stop sorting relatively. These projects would be sorted by their names (see Project's Comparator implementation)
-
removeFromBuildTypeOrder
public void removeFromBuildTypeOrder(@NotNull SProject project, @NotNull List<String> internalIds)
- Specified by:
removeFromBuildTypeOrder
in interfaceProjectDataModel
- Parameters:
project
- Parent projectinternalIds
- Projects internal IDs to stop sorting relatively. These projects would be sorted by their names (see Project's Comparator implementation)
-
setBuildTypesOrder
public void setBuildTypesOrder(@NotNull SProject project, @NotNull List<String> internalIds)
Description copied from interface:ProjectDataModel
Sets BuildTypes relevant ordering in some Project.- Specified by:
setBuildTypesOrder
in interfaceProjectDataModel
internalIds
- list of internal IDs. Better use random access list (eg ArrayList)
-
getBuildTypesOrder
@NotNull public List<SBuildType> getBuildTypesOrder(@NotNull SProject project)
- Specified by:
getBuildTypesOrder
in interfaceProjectDataModel
- Parameters:
project
- Parent project- Returns:
- List of buildtypes
-
getSubProjectsOrder
@NotNull public List<SProject> getSubProjectsOrder(@NotNull SProject project)
- Specified by:
getSubProjectsOrder
in interfaceProjectDataModel
- Parameters:
project
- Parent project- Returns:
- List of projects
-
getVersionSnapshot
@NotNull public ProjectModelVersionSnapshot getVersionSnapshot()
Description copied from interface:ProjectDataModel
Returns a snapshot of versions of entities in the current project model.- Specified by:
getVersionSnapshot
in interfaceProjectDataModel
- Returns:
- see above
-
runWithDisabledReloadFromDisk
public void runWithDisabledReloadFromDisk(@NotNull Runnable action)
Description copied from interface:ProjectDataModel
Runs action with disabled reload from disk- Specified by:
runWithDisabledReloadFromDisk
in interfaceProjectDataModel
- Parameters:
action
- the action to run
-
runWithExclusiveLock
public void runWithExclusiveLock(@NotNull Runnable action) throws TimeoutException, InterruptedException
Runs the specified action with exclusive project model lock. The exclusive lock prevents model update from disk and entities addition/removal.- Specified by:
runWithExclusiveLock
in interfaceProjectDataModel
- Parameters:
action
- action to run- Throws:
TimeoutException
- if exclusive lock cannot be acquired within the default timeoutInterruptedException
- if the thread was interrupted while waiting for a lock
-
-