in polaris-synchronizer/api/src/main/java/org/apache/polaris/tools/sync/polaris/planning/ModificationAwarePlanner.java [380:402]
public SynchronizationPlan<PrincipalRole> planAssignPrincipalRolesToCatalogRolesSync(
String catalogName,
String catalogRoleName,
List<PrincipalRole> assignedPrincipalRolesOnSource,
List<PrincipalRole> assignedPrincipalRolesOnTarget) {
FilteredNotModifiedEntityResult<PrincipalRole> result = filterOutEntitiesNotModified(
assignedPrincipalRolesOnSource,
assignedPrincipalRolesOnTarget,
PrincipalRole::getName,
this::areSame
);
SynchronizationPlan<PrincipalRole> delegatedPlan = delegate.planAssignPrincipalRolesToCatalogRolesSync(
catalogName,
catalogRoleName,
assignedPrincipalRolesOnSource,
assignedPrincipalRolesOnTarget);
for (PrincipalRole principalRole : result.notModifiedEntities()) {
delegatedPlan.skipEntityNotModified(principalRole);
}
return delegatedPlan;
}