Class ProjectIdentifiersManagerImpl
- java.lang.Object
 - 
- jetbrains.buildServer.serverSide.identifiers.BaseExternalIdGenerator
 - 
- jetbrains.buildServer.serverSide.identifiers.BaseIdentifiersManager<INT>
 - 
- jetbrains.buildServer.serverSide.identifiers.BaseValidatingIdentifiersManager<String,ProjectIdIdentifiersValidatorExtension>
 - 
- jetbrains.buildServer.serverSide.identifiers.ProjectIdentifiersManagerImpl
 
 
 
 
 
- 
- All Implemented Interfaces:
 AfterBuildsCleanupExtension,ExternalIdGenerator,IdentifiersManager<String>,ProjectIdentifiersManager,ServerExtension,TeamCityExtension
public class ProjectIdentifiersManagerImpl extends BaseValidatingIdentifiersManager<String,ProjectIdIdentifiersValidatorExtension> implements ProjectIdentifiersManager, AfterBuildsCleanupExtension
- Author:
 - Leonid Bushuev from JetBrains
 
 
- 
- 
Field Summary
- 
Fields inherited from class jetbrains.buildServer.serverSide.identifiers.BaseValidatingIdentifiersManager
myExtensions 
- 
Fields inherited from class jetbrains.buildServer.serverSide.identifiers.BaseIdentifiersManager
myDbfProvider, myGuidGenerator, myIdKindName, myLogger, myServerResponsibility 
 - 
 
- 
Constructor Summary
Constructors Constructor Description ProjectIdentifiersManagerImpl(DBFunctionsProvider dbfProvider, GuidGenerator guidGenerator, ExtensionsProvider extensionsProvider, ProjectIdProvider projectIdProvider, ServerResponsibility serverResponsibility, CustomDataStorageManager customDataStorageManager, EventDispatcher<BuildServerListener> eventDispatcher) 
- 
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidafterCleanup(CleanupProcessState cleanupState)Invoked upon finishing of the main cleanup process.protected StringfindExternalIdByInternalId(DBFunctions dbf, String internalId)protected StringfindInternalIdByConfigId(DBFunctions dbf, String configId)protected StringgenerateNewIntId(String newExtId)protected Class<String>getType()Should return type of entity which is then used to properly construct SQL queries with temp tables.protected voidinsertNewEntityInDB(DBFunctions dbf, String intId, String configId)protected voidinsertNewPairInDB(DBFunctions dbf, String intId, String extId)voidloadMissingIdentifiersFromDB()voidmodifyExternalId(EntityId<String> entityId, String newExternalId, CustomIdChangeApplier<String> externalApplier)Modifies the given external identifier to the given new one.protected StringpreprocessInternalId(String internalId)- 
Methods inherited from class jetbrains.buildServer.serverSide.identifiers.BaseValidatingIdentifiersManager
isExternalIdOccupied, validateExternalId 
- 
Methods inherited from class jetbrains.buildServer.serverSide.identifiers.BaseIdentifiersManager
configIdToInternal, consumeEntityIds, deleteFromCache, deleteFromMaps, ensureCanChangeIdsMapping, externalIdSatisfiesConvention, externalToInternal, externalToInternal, findEntityIdByConfigId, findEntityIdByExternalId, findEntityIdByInternalId, generateAndRegisterBrandNewExternalId, generateNewExternalId, getAllExternalIds, getAllExternalIds, getAllExtIdsSet, getAllInternalIds, internalToExternal, internalToExternal, isExternalIdAlias, markRemoved, modifyConfigId, reassignInternalId, reassignInternalIdInMemory, refreshFromDbIfNecessary, registerBrandNewExternalId, registerEntities, registerOrReuseExternalAndConfigId, removeExternalIdAlias, resetRemoved, updateEntitiesRemovedMark 
- 
Methods inherited from class jetbrains.buildServer.serverSide.identifiers.BaseExternalIdGenerator
generateNewExternalId, generateNewId, generateNewId, regenerateExternalId 
- 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait 
- 
Methods inherited from interface jetbrains.buildServer.serverSide.identifiers.ExternalIdGenerator
externalIdSatisfiesConvention, generateNewExternalId, generateNewExternalId, regenerateExternalId 
- 
Methods inherited from interface jetbrains.buildServer.serverSide.identifiers.IdentifiersManager
configIdToInternal, consumeEntityIds, externalToInternal, externalToInternal, findEntityIdByConfigId, findEntityIdByExternalId, findEntityIdByInternalId, generateAndRegisterBrandNewExternalId, getAllExternalIds, getAllExternalIds, getAllInternalIds, internalToExternal, internalToExternal, isExternalIdAlias, markRemoved, modifyConfigId, reassignInternalId, reassignInternalIdInMemory, refreshFromDbIfNecessary, registerBrandNewExternalId, registerOrReuseExternalAndConfigId, removeExternalIdAlias, resetRemoved, validateExternalId 
- 
Methods inherited from interface jetbrains.buildServer.serverSide.identifiers.ProjectIdentifiersManager
updateEntitiesRemovedMark 
 - 
 
 - 
 
- 
- 
Constructor Detail
- 
ProjectIdentifiersManagerImpl
@Autowired public ProjectIdentifiersManagerImpl(@NotNull DBFunctionsProvider dbfProvider, @NotNull GuidGenerator guidGenerator, @NotNull ExtensionsProvider extensionsProvider, @NotNull ProjectIdProvider projectIdProvider, @NotNull ServerResponsibility serverResponsibility, @NotNull CustomDataStorageManager customDataStorageManager, @NotNull EventDispatcher<BuildServerListener> eventDispatcher) 
 - 
 
- 
Method Detail
- 
loadMissingIdentifiersFromDB
public void loadMissingIdentifiersFromDB()
- Overrides:
 loadMissingIdentifiersFromDBin classBaseIdentifiersManager<String>
 
- 
preprocessInternalId
@NotNull protected String preprocessInternalId(@NotNull String internalId)
- Specified by:
 preprocessInternalIdin classBaseIdentifiersManager<String>
 
- 
findInternalIdByConfigId
@Nullable protected String findInternalIdByConfigId(@NotNull DBFunctions dbf, @NotNull String configId)
- Specified by:
 findInternalIdByConfigIdin classBaseIdentifiersManager<String>
 
- 
findExternalIdByInternalId
@Nullable protected String findExternalIdByInternalId(@NotNull DBFunctions dbf, @NotNull String internalId)
- Specified by:
 findExternalIdByInternalIdin classBaseIdentifiersManager<String>
 
- 
generateNewIntId
@NotNull protected String generateNewIntId(@NotNull String newExtId)
- Specified by:
 generateNewIntIdin classBaseIdentifiersManager<String>
 
- 
insertNewEntityInDB
protected void insertNewEntityInDB(@NotNull DBFunctions dbf, @NotNull String intId, @NotNull String configId)- Specified by:
 insertNewEntityInDBin classBaseIdentifiersManager<String>
 
- 
insertNewPairInDB
protected void insertNewPairInDB(@NotNull DBFunctions dbf, @NotNull String intId, @NotNull String extId)- Specified by:
 insertNewPairInDBin classBaseIdentifiersManager<String>
 
- 
getType
@NotNull protected Class<String> getType()
Description copied from class:BaseIdentifiersManagerShould return type of entity which is then used to properly construct SQL queries with temp tables.- Specified by:
 getTypein classBaseIdentifiersManager<String>- Returns:
 - see above
 
 
- 
modifyExternalId
public void modifyExternalId(@NotNull EntityId<String> entityId, @NotNull String newExternalId, @Nullable CustomIdChangeApplier<String> externalApplier) throws DuplicateExternalIdException, NoSuchExternalIdExceptionDescription copied from interface:IdentifiersManagerModifies the given external identifier to the given new one.- Specified by:
 modifyExternalIdin interfaceIdentifiersManager<String>- Overrides:
 modifyExternalIdin classBaseIdentifiersManager<String>- Parameters:
 entityId- the entity id where to modify its external id.newExternalId- the new external id.externalApplier- external procedure to make changes in files when successful.- Throws:
 DuplicateExternalIdException- thrown when such external identifier already exists.NoSuchExternalIdException
 
- 
afterCleanup
public void afterCleanup(@NotNull CleanupProcessState cleanupState)Description copied from interface:AfterBuildsCleanupExtensionInvoked upon finishing of the main cleanup process. At this point all data for specific builds is deleted.
Note: This extension might not be called for every cleanup run as cleanup process can be interrupted earlier. Extension must check cleanup process state and if it is interrupted, complete its operations and return as quick as possible.- Specified by:
 afterCleanupin interfaceAfterBuildsCleanupExtension- Parameters:
 cleanupState- cleanup process state
 
 - 
 
 -