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 void
afterCleanup(CleanupProcessState cleanupState)
Invoked upon finishing of the main cleanup process.protected String
findExternalIdByInternalId(DBFunctions dbf, String internalId)
protected String
findInternalIdByConfigId(DBFunctions dbf, String configId)
protected String
generateNewIntId(String newExtId)
protected Class<String>
getType()
Should return type of entity which is then used to properly construct SQL queries with temp tables.protected void
insertNewEntityInDB(DBFunctions dbf, String intId, String configId)
protected void
insertNewPairInDB(DBFunctions dbf, String intId, String extId)
void
loadMissingIdentifiersFromDB()
void
modifyExternalId(EntityId<String> entityId, String newExternalId, CustomIdChangeApplier<String> externalApplier)
Modifies the given external identifier to the given new one.protected String
preprocessInternalId(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:
loadMissingIdentifiersFromDB
in classBaseIdentifiersManager<String>
-
preprocessInternalId
@NotNull protected String preprocessInternalId(@NotNull String internalId)
- Specified by:
preprocessInternalId
in classBaseIdentifiersManager<String>
-
findInternalIdByConfigId
@Nullable protected String findInternalIdByConfigId(@NotNull DBFunctions dbf, @NotNull String configId)
- Specified by:
findInternalIdByConfigId
in classBaseIdentifiersManager<String>
-
findExternalIdByInternalId
@Nullable protected String findExternalIdByInternalId(@NotNull DBFunctions dbf, @NotNull String internalId)
- Specified by:
findExternalIdByInternalId
in classBaseIdentifiersManager<String>
-
generateNewIntId
@NotNull protected String generateNewIntId(@NotNull String newExtId)
- Specified by:
generateNewIntId
in classBaseIdentifiersManager<String>
-
insertNewEntityInDB
protected void insertNewEntityInDB(@NotNull DBFunctions dbf, @NotNull String intId, @NotNull String configId)
- Specified by:
insertNewEntityInDB
in classBaseIdentifiersManager<String>
-
insertNewPairInDB
protected void insertNewPairInDB(@NotNull DBFunctions dbf, @NotNull String intId, @NotNull String extId)
- Specified by:
insertNewPairInDB
in classBaseIdentifiersManager<String>
-
getType
@NotNull protected Class<String> getType()
Description copied from class:BaseIdentifiersManager
Should return type of entity which is then used to properly construct SQL queries with temp tables.- Specified by:
getType
in classBaseIdentifiersManager<String>
- Returns:
- see above
-
modifyExternalId
public void modifyExternalId(@NotNull EntityId<String> entityId, @NotNull String newExternalId, @Nullable CustomIdChangeApplier<String> externalApplier) throws DuplicateExternalIdException, NoSuchExternalIdException
Description copied from interface:IdentifiersManager
Modifies the given external identifier to the given new one.- Specified by:
modifyExternalId
in interfaceIdentifiersManager<String>
- Overrides:
modifyExternalId
in 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:AfterBuildsCleanupExtension
Invoked 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:
afterCleanup
in interfaceAfterBuildsCleanupExtension
- Parameters:
cleanupState
- cleanup process state
-
-