public SynchronizationPlan planAssignPrincipalsToPrincipalRolesSync()

in polaris-synchronizer/api/src/main/java/org/apache/polaris/tools/sync/polaris/planning/ModificationAwarePlanner.java [246:269]


  public SynchronizationPlan<PrincipalRole> planAssignPrincipalsToPrincipalRolesSync(
          String principalName,
          List<PrincipalRole> assignedPrincipalRolesOnSource,
          List<PrincipalRole> assignedPrincipalRolesOnTarget
  ) {
    FilteredNotModifiedEntityResult<PrincipalRole> result = filterOutEntitiesNotModified(
            assignedPrincipalRolesOnSource,
            assignedPrincipalRolesOnTarget,
            PrincipalRole::getName,
            this::areSame
    );

    SynchronizationPlan<PrincipalRole> delegatedPlan =
            delegate.planAssignPrincipalsToPrincipalRolesSync(
                    principalName,
                    result.filteredEntitiesSource(),
                    result.filteredEntitiesTarget());

    for (PrincipalRole principalRole : result.notModifiedEntities()) {
      delegatedPlan.skipEntityNotModified(principalRole);
    }

    return delegatedPlan;
  }