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 classVcsModificationsStorageImpl.RelationTuplestatic interfaceVcsModificationsStorageImpl.VcsModificationPersister
-
Field Summary
Fields Modifier and Type Field Description static StringTEAMCITY_ORACLE_FETCH_SIZEstatic StringVCS_HISTORY_CACHE_CLEANUP_MAX_CHANGES_TO_UNLOADstatic StringVCS_HISTORY_LOADER_ATTRIBUTES_CONCURRENT_LOADINGstatic StringVCS_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:
afterPropertiesSetin 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:
getDuplicatesin 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:
findModificationsByDisplayVersionin interfaceVcsModificationsStorage
-
getModificationsWithSameVersion
@NotNull public Collection<SVcsModification> getModificationsWithSameVersion(@NotNull VcsRootInstance root, @NotNull String modificationVcsVersion)
- Specified by:
getModificationsWithSameVersionin interfaceVcsModificationsStorage
-
findModificationsByVersions
@NotNull public Map<String,SVcsModification> findModificationsByVersions(@NotNull VcsRootInstance root, @NotNull Collection<String> versions)
Description copied from interface:VcsModificationsStorageFor 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:
findModificationsByVersionsin 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:
findModificationsByVersionin interfaceVcsModificationsStorage
-
findCached
@Nullable public SVcsModification findCached(long id)
- Specified by:
findCachedin interfaceVcsModificationsStorage
-
loadChangedFiles
@NotNull public List<VcsChange> loadChangedFiles(long modificationId)
- Specified by:
loadChangedFilesin interfaceVcsModificationsStorage
-
loadChangedFiles
@NotNull public Map<Long,List<VcsChange>> loadChangedFiles(@NotNull Set<Long> modificationIds)
- Specified by:
loadChangedFilesin interfaceVcsModificationsStorage
-
findExpiredModificationsRelatedToBuildType
@NotNull public List<SVcsModification> findExpiredModificationsRelatedToBuildType(@NotNull String buildTypeId, long startModId, int maxChangesToReturn)
- Specified by:
findExpiredModificationsRelatedToBuildTypein interfaceVcsModificationsStorage
-
findExpiredModificationsRelatedToVcsRoot
@NotNull public List<SVcsModification> findExpiredModificationsRelatedToVcsRoot(@NotNull VcsRootInstance vcsRootInstance, long startModId, int maxChangesToReturn)
- Specified by:
findExpiredModificationsRelatedToVcsRootin interfaceVcsModificationsStorage
-
getNumberOfModificationsInCache
public int getNumberOfModificationsInCache()
- Specified by:
getNumberOfModificationsInCachein interfaceVcsModificationsStorage
-
getAttributes
@NotNull public Map<String,String> getAttributes(long modificationId)
- Specified by:
getAttributesin interfaceVcsModificationsStorage
-
cleanupExpiredModificationsFromCache
@NotNull public Set<SVcsModification> cleanupExpiredModificationsFromCache()
Description copied from interface:VcsModificationsStorageRemoves expired modifications from cache.- Specified by:
cleanupExpiredModificationsFromCachein interfaceVcsModificationsStorage- Returns:
-
clearCache
public void clearCache()
Description copied from interface:VcsModificationsStorageClears the whole modifications cache.- Specified by:
clearCachein interfaceVcsModificationsStorage
-
isVcsChangesCacheInitialized
public boolean isVcsChangesCacheInitialized()
- Specified by:
isVcsChangesCacheInitializedin 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:
findLastModificationin interfaceVcsModificationsStorage
-
findLastCachedModificationUpTo
@Nullable public SVcsModification findLastCachedModificationUpTo(@NotNull VcsRootInstance vcsRoot, long upperBoundModificationId)
- Specified by:
findLastCachedModificationUpToin interfaceVcsModificationsStorage
-
findFirstCachedModification
@Nullable public SVcsModification findFirstCachedModification(@NotNull VcsRootInstance vcsRoot)
- Specified by:
findFirstCachedModificationin interfaceVcsModificationsStorage
-
findModificationsByUsername
@NotNull public List<SVcsModification> findModificationsByUsername(@NotNull String userName)
- Specified by:
findModificationsByUsernamein interfaceVcsModificationsStorage
-
findModificationById
@Nullable public SVcsModification findModificationById(long modId)
- Specified by:
findModificationByIdin interfaceVcsModificationsStorage
-
findModificationsByIds
@NotNull public Collection<SVcsModification> findModificationsByIds(@NotNull Collection<Long> modificationIds)
- Specified by:
findModificationsByIdsin interfaceVcsModificationsStorage
-
processModifications
public void processModifications(@NotNull ItemProcessor<SVcsModification> processor)Description copied from interface:VcsModificationsStorageProcesses all modifications from newest to oldest- Specified by:
processModificationsin interfaceVcsModificationsStorage- Parameters:
processor- callback to call for each modification
-
processModificationsBackwards
public void processModificationsBackwards(@NotNull ItemProcessor<SVcsModification> processor)Description copied from interface:VcsModificationsStorageProcesses all modifications from oldest to newest- Specified by:
processModificationsBackwardsin interfaceVcsModificationsStorage- Parameters:
processor- callback to call for each modification
-
processModificationsBackwards
public void processModificationsBackwards(@NotNull ItemProcessor<SVcsModification> processor, long startModId)Description copied from interface:VcsModificationsStorageProcesses all modifications from oldest to newest starting from the specified modification id.- Specified by:
processModificationsBackwardsin interfaceVcsModificationsStorage- Parameters:
processor- callback to call for each modification
-
processModifications
public void processModifications(@NotNull ItemProcessor<SVcsModification> processor, long startModId)Description copied from interface:VcsModificationsStorageProcesses all modifications starting from one with max id less or equal to specified starting point.- Specified by:
processModificationsin interfaceVcsModificationsStorage- Parameters:
processor- callback to call for each modification
-
getAllModifications
@NotNull public List<SVcsModification> getAllModifications()
- Specified by:
getAllModificationsin interfaceVcsModificationsStorage
-
getAllModificationsSince
@NotNull public List<SVcsModification> getAllModificationsSince(@NotNull Date sinceDate)
- Specified by:
getAllModificationsSincein interfaceVcsModificationsStorage
-
getBuildTypeId
@NotNull public static String getBuildTypeId(@NotNull SBuildType buildType)
-
getMinModificationId
public long getMinModificationId()
- Specified by:
getMinModificationIdin 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:
getMaxModificationIdin 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:
persistModificationin interfaceVcsModificationsStorage
-
addEdgeRelations
public void addEdgeRelations(@NotNull SVcsModification modification, @NotNull List<Map<String,RelationType>> newEdgeRelations)- Specified by:
addEdgeRelationsin interfaceVcsModificationsStorage
-
updateModificationRelatedConfigurations
public void updateModificationRelatedConfigurations(@NotNull SVcsModification modification, @NotNull Map<String,RelationType> changeTypes)- Specified by:
updateModificationRelatedConfigurationsin interfaceVcsModificationsStorage
-
updateDescription
public void updateDescription(long modificationId, @NotNull String value)- Specified by:
updateDescriptionin interfaceVcsModificationsStorage
-
getModificationRelations
@NotNull public RelatedConfigurations getModificationRelations(@NotNull SVcsModification modification)
- Specified by:
getModificationRelationsin interfaceVcsModificationsStorage
-
setVcsModificationPersister
public void setVcsModificationPersister(@NotNull VcsModificationsStorageImpl.VcsModificationPersister vcsModificationPersister)
-
getVcsModificationPersister
@NotNull public VcsModificationsStorageImpl.VcsModificationPersister getVcsModificationPersister()
-
optimizeVcsChangesCacheForReadPerformance
public void optimizeVcsChangesCacheForReadPerformance()
-
getVcsModificationMaxAgeDays
public static int getVcsModificationMaxAgeDays()
-
-