diff --git a/services/concierge/enforcement/src/main/java/org/eclipse/ditto/services/concierge/enforcement/PolicyCommandEnforcement.java b/services/concierge/enforcement/src/main/java/org/eclipse/ditto/services/concierge/enforcement/PolicyCommandEnforcement.java index 88b444732b..56bdb08d93 100644 --- a/services/concierge/enforcement/src/main/java/org/eclipse/ditto/services/concierge/enforcement/PolicyCommandEnforcement.java +++ b/services/concierge/enforcement/src/main/java/org/eclipse/ditto/services/concierge/enforcement/PolicyCommandEnforcement.java @@ -50,9 +50,8 @@ import org.eclipse.ditto.services.utils.cluster.DistPubSubAccess; import org.eclipse.ditto.signals.commands.base.CommandToExceptionRegistry; import org.eclipse.ditto.signals.commands.policies.PolicyCommand; -import org.eclipse.ditto.signals.commands.policies.actions.ActivatePolicyTokenIntegration; -import org.eclipse.ditto.signals.commands.policies.actions.DeactivatePolicyTokenIntegration; import org.eclipse.ditto.signals.commands.policies.actions.PolicyActionCommand; +import org.eclipse.ditto.signals.commands.policies.actions.TopLevelActionCommand; import org.eclipse.ditto.signals.commands.policies.exceptions.PolicyCommandToAccessExceptionRegistry; import org.eclipse.ditto.signals.commands.policies.exceptions.PolicyCommandToActionsExceptionRegistry; import org.eclipse.ditto.signals.commands.policies.exceptions.PolicyCommandToModifyExceptionRegistry; @@ -131,11 +130,13 @@ public static > Optional authorizePolicyCommand(fi return authorizedCommand; } + @SuppressWarnings("unchecked") private static > Optional authorizeActionCommand(final PolicyEnforcer enforcer, final T command, final ResourceKey resourceKey, final AuthorizationContext authorizationContext) { - if (isTopLevelActionCommand(command)) { - return authorizeTopLevelAction(enforcer, command, authorizationContext); + if (command instanceof TopLevelActionCommand) { + final TopLevelActionCommand topLevelActionCommand = (TopLevelActionCommand) command; + return (Optional) authorizeTopLevelAction(enforcer, topLevelActionCommand, authorizationContext); } else { return authorizeEntryLevelAction(enforcer.getEnforcer(), command, resourceKey, authorizationContext); } @@ -152,9 +153,8 @@ private static > Optional authorizeEntryLevelActio : Optional.empty(); } - @SuppressWarnings("unchecked") - private static > Optional authorizeTopLevelAction(final PolicyEnforcer policyEnforcer, - final T command, final AuthorizationContext authorizationContext) { + private static Optional authorizeTopLevelAction(final PolicyEnforcer policyEnforcer, + final TopLevelActionCommand command, final AuthorizationContext authorizationContext) { final Enforcer enforcer = policyEnforcer.getEnforcer(); final List