Class BaseOrgUnitSynchronizationServiceImpl<T extends OrgUnitToSync>

java.lang.Object
ru.cg.webbpm.modules.security.db.synchronization.api.org_unit.BaseOrgUnitSynchronizationServiceImpl<T>
All Implemented Interfaces:
OrgUnitSynchronizationService

public class BaseOrgUnitSynchronizationServiceImpl<T extends OrgUnitToSync> extends Object implements OrgUnitSynchronizationService
Author:
krylov
  • Constructor Details

    • BaseOrgUnitSynchronizationServiceImpl

      public BaseOrgUnitSynchronizationServiceImpl(OrgUnitSource<T> source, OrgUnitService destination)
  • Method Details

    • synchronizeOrgUnits

      @Transactional public void synchronizeOrgUnits()
      Specified by:
      synchronizeOrgUnits in interface OrgUnitSynchronizationService
    • upsertRecursive

      protected String upsertRecursive(String code, Map<String,T> sourceUnitsRemaining, Map<String,OrgUnit> targetUnitsRemaining, Map<String,OrgUnit> allTargetUnits)
      Upserts given org unit and all its parents, recursively This method will upsert parent unit first, and then the child one
      Parameters:
      code - code of orgunit to upsert
      sourceUnitsRemaining - map of all remaining units in source
      targetUnitsRemaining - map of all remaining units in target
      allTargetUnits - map of all org units in target by code
    • upsert

      protected OrgUnit upsert(T sourceUnit, OrgUnit targetUnit, String targetParentId)
    • update

      protected void update(OrgUnitToSync sourceUnit, OrgUnit targetUnit, String targetParentId)
    • insert

      protected OrgUnit insert(OrgUnitToSync sourceUnit, String targetParentId)
    • delete

      protected void delete(Collection<OrgUnit> orgUnits)
    • afterSync

      protected void afterSync(T sourceUnit)