|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
public interface StructureSyncManager
StructureSyncManager manages the whole synchronization engine.
There are several synchronizers in the system, provided by <structure-synchronizer>
modules, and each synchronizer may have several instances, represented by SyncInstance.
Synchronizer instance is a configured synchronizer, installed onto a specific structure. Synchronizer
instances are addressed via unique ID.
This class does not check permissions of the caller.
If the calling code works on behalf of a user, it must check whether
the user has permission level on the subject structure.
PermissionLevel.ADMIN
| Method Summary | |
|---|---|
SyncInstance |
getInstalledSynchronizer(Long instanceId)
Retrieves an instance of installed synchronier. |
List<SyncInstance> |
getInstalledSynchronizersForStructure(Long structureId)
Retrieves all synchronizer instances installed for the given structure. |
SyncInstance |
installSynchronizer(StructureSynchronizer synchronizer,
Long structureId,
Object params,
com.atlassian.crowd.embedded.api.User user)
Installs a new synchronizer for a structure. |
long |
installSynchronizerOffline(String moduleKey,
byte[] parameters,
Long structureId,
String userName,
boolean autosyncEnabled)
Installs synchronizer based on the serialized data. |
boolean |
isAutosyncEnabled(Long instanceId)
Checks if incremental synchronization is enabled for the specified synchronizer |
long |
resync(Long instanceId,
SyncDirection direction,
boolean andEnable)
Starts full synchronization in the specified direction. |
long |
resyncOnce(StructureSynchronizer synchronizer,
Object params,
Long structureId,
com.atlassian.crowd.embedded.api.User user,
SyncDirection direction)
Runs full resync without installing the synchronizer. |
void |
setAutosyncEnabled(Long instanceId,
boolean enabled)
Enables or disables the incremental synchronization for the specified synchronizer. |
void |
uninstallAllSynchronizers()
Disables and uninstalls all synchronizers for all structures. |
void |
uninstallSynchronizer(Long instanceId)
Disables and uninstalls synchronizer with the specified ID. |
void |
uninstallSynchronizersForStructure(Long structureId)
Convenience method that disables and uninstalls all synchronizers for the specified structure. |
| Method Detail |
|---|
@Nullable
SyncInstance getInstalledSynchronizer(@Nullable
Long instanceId)
instanceId - the ID of the instance
@NotNull
List<SyncInstance> getInstalledSynchronizersForStructure(@Nullable
Long structureId)
structureId - the ID of the structure
@NotNull
SyncInstance installSynchronizer(@NotNull
StructureSynchronizer synchronizer,
@NotNull
Long structureId,
@Nullable
Object params,
@Nullable
com.atlassian.crowd.embedded.api.User user)
throws StructureSynchronizerException
setAutosyncEnabled(java.lang.Long, boolean)
or resync(java.lang.Long, com.almworks.jira.structure.api.sync.SyncDirection, boolean).
synchronizer - the synchronizer to be installedstructureId - the ID of the structureparams - synchronization parameters, of the type accepted by the synchronizeruser - the user account, under which the synchronization will run, null means anonymous
StructureSynchronizerException - if the synchronizer cannot be installed
long installSynchronizerOffline(@NotNull
String moduleKey,
@Nullable
byte[] parameters,
@NotNull
Long structureId,
@Nullable
String userName,
boolean autosyncEnabled)
throws StructureSynchronizerException
Installs synchronizer based on the serialized data. The effect is the same as
with installSynchronizer(com.almworks.jira.structure.api.sync.StructureSynchronizer, java.lang.Long, java.lang.Object, com.atlassian.crowd.embedded.api.User), but the parameters allow to define synchronizer
without resolving data into the classes required by the installSynchronizer
method.
This method also allows installing a synchronizer that is currently not present
in the system - for example, if a plugin that provides it is disabled. The synchronizer
will be installed but SyncInstance will not be created until the synchronizer
module is available.
moduleKey - the full module key of the synchronizer moduleparameters - serialized parameters (as previously returned by StructureSynchronizer.storeParameters(Object))structureId - the ID of the structureuserName - the name of the user who'll run the synchronizerautosyncEnabled - if true, the autosync should be initially enabled for this structure
StructureSynchronizerException - if the synchronizer cannot be installed
void uninstallSynchronizer(@Nullable
Long instanceId)
instanceId - the ID of the synchronizervoid uninstallAllSynchronizers()
void uninstallSynchronizersForStructure(@Nullable
Long structureId)
structureId - the ID of the structure
boolean isAutosyncEnabled(@Nullable
Long instanceId)
instanceId - the ID of the synchronizer instance
void setAutosyncEnabled(@NotNull
Long instanceId,
boolean enabled)
throws StructureSynchronizerException
instanceId - the ID of the synchronizer instanceenabled - if true, the autosync is enabled
StructureSynchronizerException - if the incremental synchronization for this synchronizer cannot be enabled
long resync(Long instanceId,
SyncDirection direction,
boolean andEnable)
throws StructureSynchronizerException
Starts full synchronization in the specified direction.
The method returns job ID, which can then be used to get job feedback from StructureJobManager.
instanceId - the ID of the installed synchronizerdirection - the direction of the resyncandEnable - if true, incremental synchronization will be enabled right after the resync job is scheduled,
making sure that no changes will be missed
StructureSynchronizerException - if resync could not be startedStructureJobManager
long resyncOnce(StructureSynchronizer synchronizer,
Object params,
Long structureId,
com.atlassian.crowd.embedded.api.User user,
SyncDirection direction)
throws StructureSynchronizerException
Runs full resync without installing the synchronizer. (For example, this is used by Export and Import features.)
Parameters of the appropriate type are required to run the synchronizer. Those are typically
collected from the user via synchronizer module form and created with StructureSynchronizer.buildParametersFromForm(java.util.Map
or can be created by the custom code which is aware of the class of the synchronizer parameters.
synchronizer - the synchronizer to runparams - synchronizer parametersstructureId - the ID of the structureuser - the user account under which the synchronization should rundirection - the direction of the synchronization
StructureSynchronizerException - if the synchronization could not be started
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||