Skip to content

Commit d29cd14

Browse files
committed
make connector id constraint function generic and apply to prohibition as well
1 parent 44f3f79 commit d29cd14

File tree

2 files changed

+6
-3
lines changed

2 files changed

+6
-3
lines changed

policy-extension/src/main/java/org/eclipse/edc/extension/possiblepolicy/ConnectorIdConstraintFunction.java

+3-2
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import org.eclipse.edc.policy.engine.spi.PolicyContext;
55
import org.eclipse.edc.policy.model.Operator;
66
import org.eclipse.edc.policy.model.Permission;
7+
import org.eclipse.edc.policy.model.Rule;
78
import org.eclipse.edc.spi.agent.ParticipantAgent;
89
import org.eclipse.edc.spi.monitor.Monitor;
910

@@ -13,7 +14,7 @@
1314

1415
import static java.lang.String.format;
1516

16-
public class ConnectorIdConstraintFunction implements AtomicConstraintFunction<Permission> {
17+
public class ConnectorIdConstraintFunction<R extends Rule> implements AtomicConstraintFunction<R> {
1718

1819
private final Monitor monitor;
1920

@@ -22,7 +23,7 @@ public ConnectorIdConstraintFunction(Monitor monitor) {
2223
}
2324

2425
@Override
25-
public boolean evaluate(Operator operator, Object rightValue, Permission rule, PolicyContext context) {
26+
public boolean evaluate(Operator operator, Object rightValue, R rule, PolicyContext context) {
2627
var contextData = context.getContextData(ParticipantAgent.class);
2728
if (contextData == null) {
2829
return false;

policy-extension/src/main/java/org/eclipse/edc/extension/possiblepolicy/PossiblePolicyExtension.java

+3-1
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import org.eclipse.edc.policy.engine.spi.PolicyEngine;
1919
import org.eclipse.edc.policy.engine.spi.RuleBindingRegistry;
2020
import org.eclipse.edc.policy.model.Permission;
21+
import org.eclipse.edc.policy.model.Prohibition;
2122
import org.eclipse.edc.runtime.metamodel.annotation.Extension;
2223
import org.eclipse.edc.runtime.metamodel.annotation.Inject;
2324
import org.eclipse.edc.spi.system.ServiceExtension;
@@ -48,6 +49,7 @@ public void initialize(ServiceExtensionContext context) {
4849

4950
ruleBindingRegistry.bind("use", ALL_SCOPES);
5051
ruleBindingRegistry.bind(CONNECTORID_CONSTRAINT_KEY, ALL_SCOPES);
51-
policyEngine.registerFunction(ALL_SCOPES, Permission.class, CONNECTORID_CONSTRAINT_KEY, new ConnectorIdConstraintFunction(monitor));
52+
policyEngine.registerFunction(ALL_SCOPES, Permission.class, CONNECTORID_CONSTRAINT_KEY, new ConnectorIdConstraintFunction<>(monitor));
53+
policyEngine.registerFunction(ALL_SCOPES, Prohibition.class, CONNECTORID_CONSTRAINT_KEY, new ConnectorIdConstraintFunction<>(monitor));
5254
}
5355
}

0 commit comments

Comments
 (0)