Package jetbrains.buildServer.vcs.impl
Class VcsModificationsStorageImpl
- java.lang.Object
-
- jetbrains.buildServer.vcs.impl.VcsModificationsStorageImpl
-
- All Implemented Interfaces:
VcsModificationsStorage
,org.springframework.beans.factory.InitializingBean
public class VcsModificationsStorageImpl extends Object implements VcsModificationsStorage, org.springframework.beans.factory.InitializingBean
- Author:
- Pavel.Sher Date: 03.07.2007
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
VcsModificationsStorageImpl.RelationTuple
static interface
VcsModificationsStorageImpl.VcsModificationPersister
-
Field Summary
Fields Modifier and Type Field Description static String
TEAMCITY_ORACLE_FETCH_SIZE
static String
VCS_HISTORY_CACHE_CLEANUP_MAX_CHANGES_TO_UNLOAD
static String
VCS_HISTORY_LOADER_ATTRIBUTES_CONCURRENT_LOADING
static String
VCS_HISTORY_LOADER_ATTRIBUTES_PAGE_SIZE
-
Constructor Summary
Constructors Constructor Description VcsModificationsStorageImpl(VcsChangesStorage changesStorage, EventDispatcher<ProjectsImportListener> importEvents, CriticalErrors criticalErrors)
-
Method Summary
-
-
-
Field Detail
-
TEAMCITY_ORACLE_FETCH_SIZE
public static final String TEAMCITY_ORACLE_FETCH_SIZE
- See Also:
- Constant Field Values
-
VCS_HISTORY_LOADER_ATTRIBUTES_PAGE_SIZE
public static final String VCS_HISTORY_LOADER_ATTRIBUTES_PAGE_SIZE
- See Also:
- Constant Field Values
-
VCS_HISTORY_LOADER_ATTRIBUTES_CONCURRENT_LOADING
public static final String VCS_HISTORY_LOADER_ATTRIBUTES_CONCURRENT_LOADING
- See Also:
- Constant Field Values
-
VCS_HISTORY_CACHE_CLEANUP_MAX_CHANGES_TO_UNLOAD
public static final String VCS_HISTORY_CACHE_CLEANUP_MAX_CHANGES_TO_UNLOAD
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
VcsModificationsStorageImpl
public VcsModificationsStorageImpl(@NotNull VcsChangesStorage changesStorage, @NotNull EventDispatcher<ProjectsImportListener> importEvents, @NotNull CriticalErrors criticalErrors)
-
-
Method Detail
-
getDefaultPersister
@NotNull public VcsModificationsStorageImpl.VcsModificationPersister getDefaultPersister()
-
setVmFactory
public void setVmFactory(@NotNull VcsModificationFactory vmFactory)
-
setSqlRunner
public void setSqlRunner(@NotNull SQLRunnerEx sqlRunner)
-
setIdSequences
public void setIdSequences(NumericIdSequences idSequences)
-
setVcsChangesGraphQuery
public void setVcsChangesGraphQuery(@NotNull VcsChangesGraphQuery vcsChangesGraphQuery)
-
setBuildTypeVcsRoots
public void setBuildTypeVcsRoots(@NotNull BuildTypeVcsRootsEx buildTypeVcsRoots)
-
setVcsRootInstancesManager
public void setVcsRootInstancesManager(@NotNull VcsRootInstancesManagerEx vcsRootInstancesManager)
-
setServerEventDispatcher
public void setServerEventDispatcher(@NotNull EventDispatcher<BuildServerListener> serverEventDispatcher)
-
setEntitiesIdsGroups
public void setEntitiesIdsGroups(@NotNull EntitiesIdsGroups entitiesIdsGroups)
-
setBuildTypeVcsChangeRelationsMigrationProcess
public void setBuildTypeVcsChangeRelationsMigrationProcess(@NotNull BuildTypeVcsChangeRelationsMigrationProcess buildTypeVcsChangeRelationsMigrationProcess)
-
loadModificationsInRange
@NotNull public Collection<SVcsModification> loadModificationsInRange(long minModId, long maxModId)
Loads modifications from DB into the cache in the interval [minModId, maxModId)- Parameters:
minModId
- min modification id (included)maxModId
- max modification id (excluded)- Returns:
- collection of loaded modifications (unsorted)
-
loadMissingVcsRootModifications
@NotNull public Collection<SVcsModification> loadMissingVcsRootModifications(@NotNull VcsRootInstance rootInstance)
-
afterPropertiesSet
public void afterPropertiesSet()
- Specified by:
afterPropertiesSet
in interfaceorg.springframework.beans.factory.InitializingBean
-
getModificationDigest
public static long getModificationDigest(@NotNull SVcsModification modification)
-
getDuplicates
@NotNull public Collection<SVcsModification> getDuplicates(@NotNull SVcsModification modification, boolean byDisplayVersion)
- Specified by:
getDuplicates
in interfaceVcsModificationsStorage
- Parameters:
modification
- modification to get duplicates forbyDisplayVersion
- if true, comparison will be done not by version, but by displayVersion- Returns:
-
findModificationsByDisplayVersion
@NotNull public List<SVcsModification> findModificationsByDisplayVersion(@NotNull String version)
- Specified by:
findModificationsByDisplayVersion
in interfaceVcsModificationsStorage
-
getModificationsWithSameVersion
@NotNull public Collection<SVcsModification> getModificationsWithSameVersion(@NotNull VcsRootInstance root, @NotNull String modificationVcsVersion)
- Specified by:
getModificationsWithSameVersion
in interfaceVcsModificationsStorage
-
findModificationsByVersions
@NotNull public Map<String,SVcsModification> findModificationsByVersions(@NotNull VcsRootInstance root, @NotNull Collection<String> versions)
Description copied from interface:VcsModificationsStorage
For the specified VCS root instance and a set of revisions lookups corresponding SVcsModification instances and returns them as map of revision to the found instance.- Specified by:
findModificationsByVersions
in interfaceVcsModificationsStorage
- Parameters:
root
- vcs root instance where to perform lookupversions
- set of versions for which to perform lookup- Returns:
- map of version to the SVcsModification instance
-
findModificationsByVersion
@NotNull public List<SVcsModification> findModificationsByVersion(@NotNull String version)
- Specified by:
findModificationsByVersion
in interfaceVcsModificationsStorage
-
findCached
@Nullable public SVcsModification findCached(long id)
- Specified by:
findCached
in interfaceVcsModificationsStorage
-
loadChangedFiles
@NotNull public List<VcsChange> loadChangedFiles(long modificationId)
- Specified by:
loadChangedFiles
in interfaceVcsModificationsStorage
-
loadChangedFiles
@NotNull public Map<Long,List<VcsChange>> loadChangedFiles(@NotNull Set<Long> modificationIds)
- Specified by:
loadChangedFiles
in interfaceVcsModificationsStorage
-
findExpiredModificationsRelatedToBuildType
@NotNull public List<SVcsModification> findExpiredModificationsRelatedToBuildType(@NotNull String buildTypeId, long startModId, int maxChangesToReturn)
- Specified by:
findExpiredModificationsRelatedToBuildType
in interfaceVcsModificationsStorage
-
findExpiredModificationsRelatedToVcsRoot
@NotNull public List<SVcsModification> findExpiredModificationsRelatedToVcsRoot(@NotNull VcsRootInstance vcsRootInstance, long startModId, int maxChangesToReturn)
- Specified by:
findExpiredModificationsRelatedToVcsRoot
in interfaceVcsModificationsStorage
-
getNumberOfModificationsInCache
public int getNumberOfModificationsInCache()
- Specified by:
getNumberOfModificationsInCache
in interfaceVcsModificationsStorage
-
getAttributes
@NotNull public Map<String,String> getAttributes(long modificationId)
- Specified by:
getAttributes
in interfaceVcsModificationsStorage
-
cleanupExpiredModificationsFromCache
@NotNull public Set<SVcsModification> cleanupExpiredModificationsFromCache()
Description copied from interface:VcsModificationsStorage
Removes expired modifications from cache.- Specified by:
cleanupExpiredModificationsFromCache
in interfaceVcsModificationsStorage
- Returns:
-
clearCache
public void clearCache()
Description copied from interface:VcsModificationsStorage
Clears the whole modifications cache.- Specified by:
clearCache
in interfaceVcsModificationsStorage
-
isVcsChangesCacheInitialized
public boolean isVcsChangesCacheInitialized()
- Specified by:
isVcsChangesCacheInitialized
in interfaceVcsModificationsStorage
- Returns:
- true if internal cache of VCS changes is initialized
-
cleanupModificationsFromCache
@NotNull public Set<SVcsModification> cleanupModificationsFromCache(long minChangeTimestamp)
-
findLastModification
@Nullable public SVcsModification findLastModification(@NotNull LVcsRootInstance vcsRoot)
- Specified by:
findLastModification
in interfaceVcsModificationsStorage
-
findLastCachedModificationUpTo
@Nullable public SVcsModification findLastCachedModificationUpTo(@NotNull VcsRootInstance vcsRoot, long upperBoundModificationId)
- Specified by:
findLastCachedModificationUpTo
in interfaceVcsModificationsStorage
-
findFirstCachedModification
@Nullable public SVcsModification findFirstCachedModification(@NotNull VcsRootInstance vcsRoot)
- Specified by:
findFirstCachedModification
in interfaceVcsModificationsStorage
-
findModificationsByUsername
@NotNull public List<SVcsModification> findModificationsByUsername(@NotNull String userName)
- Specified by:
findModificationsByUsername
in interfaceVcsModificationsStorage
-
findModificationById
@Nullable public SVcsModification findModificationById(long modId)
- Specified by:
findModificationById
in interfaceVcsModificationsStorage
-
findModificationsByIds
@NotNull public Collection<SVcsModification> findModificationsByIds(@NotNull Collection<Long> modificationIds)
- Specified by:
findModificationsByIds
in interfaceVcsModificationsStorage
-
processModifications
public void processModifications(@NotNull ItemProcessor<SVcsModification> processor)
Description copied from interface:VcsModificationsStorage
Processes all modifications from newest to oldest- Specified by:
processModifications
in interfaceVcsModificationsStorage
- Parameters:
processor
- callback to call for each modification
-
processModificationsBackwards
public void processModificationsBackwards(@NotNull ItemProcessor<SVcsModification> processor)
Description copied from interface:VcsModificationsStorage
Processes all modifications from oldest to newest- Specified by:
processModificationsBackwards
in interfaceVcsModificationsStorage
- Parameters:
processor
- callback to call for each modification
-
processModificationsBackwards
public void processModificationsBackwards(@NotNull ItemProcessor<SVcsModification> processor, long startModId)
Description copied from interface:VcsModificationsStorage
Processes all modifications from oldest to newest starting from the specified modification id.- Specified by:
processModificationsBackwards
in interfaceVcsModificationsStorage
- Parameters:
processor
- callback to call for each modification
-
processModifications
public void processModifications(@NotNull ItemProcessor<SVcsModification> processor, long startModId)
Description copied from interface:VcsModificationsStorage
Processes all modifications starting from one with max id less or equal to specified starting point.- Specified by:
processModifications
in interfaceVcsModificationsStorage
- Parameters:
processor
- callback to call for each modification
-
getAllModifications
@NotNull public List<SVcsModification> getAllModifications()
- Specified by:
getAllModifications
in interfaceVcsModificationsStorage
-
getAllModificationsSince
@NotNull public List<SVcsModification> getAllModificationsSince(@NotNull Date sinceDate)
- Specified by:
getAllModificationsSince
in interfaceVcsModificationsStorage
-
getBuildTypeId
@NotNull public static String getBuildTypeId(@NotNull SBuildType buildType)
-
getMinModificationId
public long getMinModificationId()
- Specified by:
getMinModificationId
in interfaceVcsModificationsStorage
- Returns:
- minimal cached modification id available at the moment (changes older than this id must not be traversed), or 0 if cache is empty.
-
getMaxModificationId
public long getMaxModificationId()
- Specified by:
getMaxModificationId
in interfaceVcsModificationsStorage
- Returns:
- maximal cached modification id at the moment, or -1 if cache is empty.
-
persistModification
@NotNull public SVcsModification persistModification(long id, @NotNull ModificationData modificationData, @NotNull Collection<SBuildType> relatedConfigurations, @NotNull Map<String,RelationType> changeTypes, @NotNull List<Map<String,RelationType>> edgeRelations, @NotNull Date registrationDate)
- Specified by:
persistModification
in interfaceVcsModificationsStorage
-
addEdgeRelations
public void addEdgeRelations(@NotNull SVcsModification modification, @NotNull List<Map<String,RelationType>> newEdgeRelations)
- Specified by:
addEdgeRelations
in interfaceVcsModificationsStorage
-
updateModificationRelatedConfigurations
public void updateModificationRelatedConfigurations(@NotNull SVcsModification modification, @NotNull Map<String,RelationType> changeTypes)
- Specified by:
updateModificationRelatedConfigurations
in interfaceVcsModificationsStorage
-
updateDescription
public void updateDescription(long modificationId, @NotNull String value)
- Specified by:
updateDescription
in interfaceVcsModificationsStorage
-
getModificationRelations
@NotNull public RelatedConfigurations getModificationRelations(@NotNull SVcsModification modification)
- Specified by:
getModificationRelations
in interfaceVcsModificationsStorage
-
setVcsModificationPersister
public void setVcsModificationPersister(@NotNull VcsModificationsStorageImpl.VcsModificationPersister vcsModificationPersister)
-
getVcsModificationPersister
@NotNull public VcsModificationsStorageImpl.VcsModificationPersister getVcsModificationPersister()
-
optimizeVcsChangesCacheForReadPerformance
public void optimizeVcsChangesCacheForReadPerformance()
-
getVcsModificationMaxAgeDays
public static int getVcsModificationMaxAgeDays()
-
-