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:
getTemplatesin interfaceProjectDataModel
-
getProjects
@NotNull public IndexedCollection<String,ProjectEx> getProjects()
- Specified by:
getProjectsin interfaceProjectDataModel
-
getBuildTypes
@NotNull public IndexedCollection<String,BuildTypeImpl> getBuildTypes()
- Specified by:
getBuildTypesin interfaceProjectDataModel
-
getVcsRoots
@NotNull public IndexedCollection<Long,SVcsRootEx> getVcsRoots()
- Specified by:
getVcsRootsin interfaceProjectDataModel
-
getProjectBuildTypes
@NotNull public IndexedCollection<String,BuildTypeImpl> getProjectBuildTypes(@NotNull String projectId)
- Specified by:
getProjectBuildTypesin interfaceProjectDataModel
-
findProjectByConfigFile
@Nullable public ProjectEx findProjectByConfigFile(@NotNull File configFile)
-
getProjectTemplates
@NotNull public IndexedCollection<String,BuildTypeTemplateEx> getProjectTemplates(@NotNull String projectId)
- Specified by:
getProjectTemplatesin interfaceProjectDataModel
-
getProjectVcsRoots
@NotNull public ReadOnlyIndexedCollection<Long,SVcsRootEx> getProjectVcsRoots(@NotNull String prjId)
- Specified by:
getProjectVcsRootsin interfaceProjectDataModel
-
addBuildType
public void addBuildType(@NotNull BuildTypeImpl buildType)- Specified by:
addBuildTypein interfaceProjectDataModel
-
moveBuildType
public void moveBuildType(@NotNull BuildTypeImpl buildType, @NotNull ProjectEx oldProject, @NotNull ProjectEx newProject)- Specified by:
moveBuildTypein interfaceProjectDataModel
-
moveTemplate
public void moveTemplate(@NotNull BuildTypeTemplateEx template, @NotNull ProjectEx oldProject, @NotNull ProjectEx newProject)- Specified by:
moveTemplatein interfaceProjectDataModel
-
moveVcsRoot
public void moveVcsRoot(@NotNull SVcsRootEx vcsRoot, @NotNull ProjectEx oldProject, @NotNull ProjectEx newProject)- Specified by:
moveVcsRootin interfaceProjectDataModel
-
addTemplate
public void addTemplate(@NotNull BuildTypeTemplateEx template)- Specified by:
addTemplatein interfaceProjectDataModel
-
addVcsRoot
public void addVcsRoot(@NotNull SVcsRootEx vcsRoot)- Specified by:
addVcsRootin interfaceProjectDataModel
-
addProject
public void addProject(@NotNull ProjectEx project)- Specified by:
addProjectin interfaceProjectDataModel
-
removeBuildType
public void removeBuildType(@NotNull String id)- Specified by:
removeBuildTypein interfaceProjectDataModel
-
removeTemplate
public void removeTemplate(@NotNull String id)- Specified by:
removeTemplatein interfaceProjectDataModel
-
removeProject
public void removeProject(@NotNull String id)- Specified by:
removeProjectin interfaceProjectDataModel
-
removeVcsRoot
public void removeVcsRoot(long id)
- Specified by:
removeVcsRootin interfaceProjectDataModel
-
resortBuildTypes
public void resortBuildTypes()
- Specified by:
resortBuildTypesin interfaceProjectDataModel
-
resortTemplates
public void resortTemplates()
- Specified by:
resortTemplatesin interfaceProjectDataModel
-
resortProjects
public void resortProjects()
- Specified by:
resortProjectsin interfaceProjectDataModel
-
resortVcsRoots
public void resortVcsRoots()
- Specified by:
resortVcsRootsin interfaceProjectDataModel
-
afterProjectLoad
public void afterProjectLoad(@NotNull ProjectEx project)
-
getProjectFactory
@NotNull public ProjectFactory getProjectFactory()
- Specified by:
getProjectFactoryin interfaceProjectDataModel
-
getChangesNumber
public int getChangesNumber()
-
setProjectOrder
public void setProjectOrder(@NotNull List<String> internalIds)Description copied from interface:ProjectDataModelSets projects relevant ordering. Projects with differet parents are not affected by this order.- Specified by:
setProjectOrderin interfaceProjectDataModel- Parameters:
internalIds- list of internal IDs. Better use random access list (eg ArrayList)
-
removeFromSubprojectsOrder
public void removeFromSubprojectsOrder(@NotNull List<String> internalIds)- Specified by:
removeFromSubprojectsOrderin 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:
removeFromBuildTypeOrderin 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:ProjectDataModelSets BuildTypes relevant ordering in some Project.- Specified by:
setBuildTypesOrderin interfaceProjectDataModelinternalIds- list of internal IDs. Better use random access list (eg ArrayList)
-
getBuildTypesOrder
@NotNull public List<SBuildType> getBuildTypesOrder(@NotNull SProject project)
- Specified by:
getBuildTypesOrderin interfaceProjectDataModel- Parameters:
project- Parent project- Returns:
- List of buildtypes
-
getSubProjectsOrder
@NotNull public List<SProject> getSubProjectsOrder(@NotNull SProject project)
- Specified by:
getSubProjectsOrderin interfaceProjectDataModel- Parameters:
project- Parent project- Returns:
- List of projects
-
getVersionSnapshot
@NotNull public ProjectModelVersionSnapshot getVersionSnapshot()
Description copied from interface:ProjectDataModelReturns a snapshot of versions of entities in the current project model.- Specified by:
getVersionSnapshotin interfaceProjectDataModel- Returns:
- see above
-
runWithDisabledReloadFromDisk
public void runWithDisabledReloadFromDisk(@NotNull Runnable action)Description copied from interface:ProjectDataModelRuns action with disabled reload from disk- Specified by:
runWithDisabledReloadFromDiskin interfaceProjectDataModel- Parameters:
action- the action to run
-
runWithExclusiveLock
public void runWithExclusiveLock(@NotNull Runnable action) throws TimeoutException, InterruptedExceptionRuns the specified action with exclusive project model lock. The exclusive lock prevents model update from disk and entities addition/removal.- Specified by:
runWithExclusiveLockin 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
-
-