Skip to content

Commit

Permalink
refactor(policy): narrow ScopeExtractor policy context type bounds (#…
Browse files Browse the repository at this point in the history
…4570)

refactor(policy): improve ScopeExtractor policy context type bounds
  • Loading branch information
ndr-brt authored Oct 21, 2024
1 parent 33814b4 commit d04ee6e
Show file tree
Hide file tree
Showing 6 changed files with 13 additions and 14 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@

import org.eclipse.edc.iam.identitytrust.spi.scope.ScopeExtractor;
import org.eclipse.edc.iam.identitytrust.spi.scope.ScopeExtractorRegistry;
import org.eclipse.edc.policy.engine.spi.PolicyContext;
import org.eclipse.edc.policy.context.request.spi.RequestPolicyContext;
import org.eclipse.edc.policy.model.Policy;
import org.eclipse.edc.spi.result.Result;

Expand All @@ -34,7 +34,7 @@ public void registerScopeExtractor(ScopeExtractor extractor) {
}

@Override
public Result<Set<String>> extractScopes(Policy policy, PolicyContext policyContext) {
public Result<Set<String>> extractScopes(Policy policy, RequestPolicyContext policyContext) {
var visitor = new DcpScopeExtractorVisitor(extractors, policyContext);
var policies = policy.accept(visitor);
if (policyContext.hasProblems()) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
package org.eclipse.edc.iam.identitytrust.core.scope;

import org.eclipse.edc.iam.identitytrust.spi.scope.ScopeExtractor;
import org.eclipse.edc.policy.engine.spi.PolicyContext;
import org.eclipse.edc.policy.context.request.spi.RequestPolicyContext;
import org.eclipse.edc.policy.model.AndConstraint;
import org.eclipse.edc.policy.model.AtomicConstraint;
import org.eclipse.edc.policy.model.Constraint;
Expand All @@ -42,9 +42,9 @@
public class DcpScopeExtractorVisitor implements Policy.Visitor<Set<String>>, Rule.Visitor<Set<String>>, Constraint.Visitor<Set<String>>, Expression.Visitor<Object> {

private final List<ScopeExtractor> mappers;
private final PolicyContext policyContext;
private final RequestPolicyContext policyContext;

public DcpScopeExtractorVisitor(List<ScopeExtractor> mappers, PolicyContext policyContext) {
public DcpScopeExtractorVisitor(List<ScopeExtractor> mappers, RequestPolicyContext policyContext) {
this.mappers = mappers;
this.policyContext = policyContext;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
package org.eclipse.edc.iam.identitytrust.core.scope;

import org.eclipse.edc.iam.identitytrust.spi.scope.ScopeExtractor;
import org.eclipse.edc.policy.engine.spi.PolicyContext;
import org.eclipse.edc.policy.context.request.spi.RequestPolicyContext;
import org.eclipse.edc.policy.model.Constraint;
import org.eclipse.edc.policy.model.Operator;
import org.eclipse.edc.policy.model.Policy;
Expand Down Expand Up @@ -50,14 +50,12 @@

public class DcpScopeExtractorRegistryTest {

private final RequestPolicyContext ctx = mock();
private final ScopeExtractor extractor = mock();
private final DcpScopeExtractorRegistry registry = new DcpScopeExtractorRegistry();
private ScopeExtractor extractor;
private PolicyContext ctx;

@BeforeEach
void setup() {
extractor = mock(ScopeExtractor.class);
ctx = mock(PolicyContext.class);
registry.registerScopeExtractor(extractor);
}

Expand Down
1 change: 1 addition & 0 deletions spi/common/identity-trust-spi/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ plugins {
dependencies {
api(project(":spi:common:core-spi"))
api(project(":spi:common:participant-spi"))
api(project(":spi:common:policy:request-policy-context-spi"))
api(project(":spi:common:policy-engine-spi"))
api(project(":spi:common:verifiable-credentials-spi"))
api(libs.iron.vc) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@

package org.eclipse.edc.iam.identitytrust.spi.scope;

import org.eclipse.edc.policy.engine.spi.PolicyContext;
import org.eclipse.edc.policy.context.request.spi.RequestPolicyContext;
import org.eclipse.edc.policy.engine.spi.PolicyEngine;
import org.eclipse.edc.policy.model.AtomicConstraint;
import org.eclipse.edc.policy.model.Operator;
Expand All @@ -36,5 +36,5 @@ public interface ScopeExtractor {
* @param rightValue the right-side expression for the constraint.
* @param context the policy context
*/
Set<String> extractScopes(Object leftValue, Operator operator, Object rightValue, PolicyContext context);
Set<String> extractScopes(Object leftValue, Operator operator, Object rightValue, RequestPolicyContext context);
}
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@

package org.eclipse.edc.iam.identitytrust.spi.scope;

import org.eclipse.edc.policy.engine.spi.PolicyContext;
import org.eclipse.edc.policy.context.request.spi.RequestPolicyContext;
import org.eclipse.edc.policy.model.Policy;
import org.eclipse.edc.runtime.metamodel.annotation.ExtensionPoint;
import org.eclipse.edc.spi.result.Result;
Expand All @@ -41,5 +41,5 @@ public interface ScopeExtractorRegistry {
* @param policyContext The policy context
* @return The set of scopes to use if succeeded, otherwise failure
*/
Result<Set<String>> extractScopes(Policy policy, PolicyContext policyContext);
Result<Set<String>> extractScopes(Policy policy, RequestPolicyContext policyContext);
}

0 comments on commit d04ee6e

Please sign in to comment.