Loading src/policy/mvnw 100755 → 100644 +0 −0 File mode changed from 100755 to 100644. View file src/policy/src/main/java/eu/teraflow/policy/PolicyGateway.java +1 −1 Original line number Original line Diff line number Diff line /* /* * Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) * Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/) * * * Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License. Loading src/policy/src/main/java/eu/teraflow/policy/PolicyGatewayImpl.java +1 −1 Original line number Original line Diff line number Diff line /* /* * Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) * Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/) * * * Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License. Loading src/policy/src/main/java/eu/teraflow/policy/PolicyRuleConditionFieldsGetter.java +1 −1 Original line number Original line Diff line number Diff line /* /* * Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) * Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/) * * * Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License. Loading src/policy/src/main/java/eu/teraflow/policy/PolicyRuleConditionValidator.java +59 −49 Original line number Original line Diff line number Diff line /* /* * Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) * Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/) * * * Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License. Loading @@ -21,7 +21,6 @@ import eu.teraflow.policy.context.model.Device; import eu.teraflow.policy.context.model.EndPointId; import eu.teraflow.policy.context.model.EndPointId; import eu.teraflow.policy.context.model.Service; import eu.teraflow.policy.context.model.Service; import eu.teraflow.policy.context.model.ServiceId; import eu.teraflow.policy.context.model.ServiceId; import eu.teraflow.policy.model.PolicyRuleService; import io.smallrye.mutiny.Uni; import io.smallrye.mutiny.Uni; import java.util.ArrayList; import java.util.ArrayList; import java.util.List; import java.util.List; Loading @@ -43,44 +42,73 @@ public class PolicyRuleConditionValidator { this.contextService = contextService; this.contextService = contextService; } } public Uni<Boolean> isDeviceIdValid(String deviceId) { public Uni<Boolean> validateDeviceId(String deviceId) { final var isDeviceIdValid = isDeviceIdValid(deviceId); isDeviceIdValid .subscribe() .with( deviceIdIdBooleanValue -> { if (Boolean.FALSE.equals(deviceIdIdBooleanValue)) { LOGGER.errorf(INVALID_MESSAGE, deviceId); } LOGGER.infof(VALID_MESSAGE, deviceId); }); return isDeviceIdValid; } public Uni<Boolean> validateServiceId(ServiceId serviceId) { final var isServiceIdValid = isServiceIdValid(serviceId); isServiceIdValid .subscribe() .with( serviceIdBooleanValue -> { if (Boolean.FALSE.equals(serviceIdBooleanValue)) { LOGGER.errorf(INVALID_MESSAGE, serviceId); } }); return isServiceIdValid; } public Uni<Boolean> validateUpdatedPolicyRuleId(String updatedPolicyRuleId) { final var isUpdatedPolicyRuleIdValid = isUpdatedPolicyRuleIdValid(updatedPolicyRuleId); isUpdatedPolicyRuleIdValid .subscribe() .with( serviceIdBooleanValue -> { if (Boolean.FALSE.equals(serviceIdBooleanValue)) { LOGGER.errorf(INVALID_MESSAGE, updatedPolicyRuleId); } }); return isUpdatedPolicyRuleIdValid; } private Uni<Boolean> isDeviceIdValid(String deviceId) { return contextService return contextService .getDevice(deviceId) .getDevice(deviceId) .onFailure() .recoverWithItem((Device) null) .onItem() .onItem() .transform(device -> checkIfDeviceIdExists(device, deviceId)); .transform(device -> checkIfDeviceIdExists(device, deviceId)); } } private boolean checkIfDeviceIdExists(Device device, String deviceId) { private boolean checkIfDeviceIdExists(Device device, String deviceId) { if (device == null) { return false; } final var deviceDeviceId = device.getDeviceId(); final var deviceDeviceId = device.getDeviceId(); return deviceDeviceId.equals(deviceId); return deviceDeviceId.equals(deviceId); } } public Uni<Boolean> isServiceIdValid(ServiceId serviceId, List<String> deviceIds) { private Uni<Boolean> isServiceIdValid(ServiceId serviceId) { return contextService return contextService .getService(serviceId) .getService(serviceId) .onFailure() .recoverWithItem((Service) null) .onItem() .onItem() .transform(service -> checkIfServiceIsValid(service, serviceId, deviceIds)); .transform(service -> checkIfServiceIdExists(service, serviceId)); } private boolean checkIfServiceIsValid( Service service, ServiceId serviceId, List<String> deviceIds) { return (checkIfServiceIdExists(service, serviceId) && checkIfServicesDeviceIdsExist(service, deviceIds)); } } private boolean checkIfServiceIdExists(Service service, ServiceId serviceId) { private boolean checkIfServiceIdExists(Service service, ServiceId serviceId) { if (service == null) { return false; } final var serviceServiceIdServiceId = service.getServiceId(); final var serviceServiceIdServiceId = service.getServiceId(); final var serviceServiceIdContextId = serviceServiceIdServiceId.getContextId(); final var serviceServiceIdContextId = serviceServiceIdServiceId.getContextId(); final var serviceServiceIdId = serviceServiceIdServiceId.getId(); final var serviceServiceIdId = serviceServiceIdServiceId.getId(); Loading @@ -89,11 +117,14 @@ public class PolicyRuleConditionValidator { && serviceServiceIdId.equals(serviceId.getId()); && serviceServiceIdId.equals(serviceId.getId()); } } private boolean checkIfServicesDeviceIdsExist(Service service, List<String> deviceIds) { public Uni<Boolean> isServicesDeviceIdsValid(ServiceId serviceId, List<String> deviceIds) { if (deviceIds.isEmpty()) { return contextService return true; .getService(serviceId) .onItem() .transform(service -> checkIfServicesDeviceIdsExist(service, deviceIds)); } } private boolean checkIfServicesDeviceIdsExist(Service service, List<String> deviceIds) { List<String> serviceDeviceIds = new ArrayList<>(); List<String> serviceDeviceIds = new ArrayList<>(); for (EndPointId serviceEndPointId : service.getServiceEndPointIds()) { for (EndPointId serviceEndPointId : service.getServiceEndPointIds()) { serviceDeviceIds.add(serviceEndPointId.getDeviceId()); serviceDeviceIds.add(serviceEndPointId.getDeviceId()); Loading @@ -102,7 +133,7 @@ public class PolicyRuleConditionValidator { return deviceIds.containsAll(serviceDeviceIds); return deviceIds.containsAll(serviceDeviceIds); } } public Uni<Boolean> isUpdatedPolicyRuleIdValid(String updatedPolicyRuleId) { private Uni<Boolean> isUpdatedPolicyRuleIdValid(String updatedPolicyRuleId) { return contextService return contextService .getPolicyRule(updatedPolicyRuleId) .getPolicyRule(updatedPolicyRuleId) .onItem() .onItem() Loading @@ -115,25 +146,4 @@ public class PolicyRuleConditionValidator { .ifNull() .ifNull() .continueWith(false); .continueWith(false); } } public Uni<Boolean> isPolicyRuleServiceValid(String updatedPolicyRuleId, ServiceId serviceId) { return contextService .getPolicyRule(updatedPolicyRuleId) .onItem() .ifNotNull() .transform( policyRule -> { var policyRuleService = (PolicyRuleService) policyRule.getPolicyRuleType().getPolicyRuleType(); if (policyRuleService.getServiceId().getId().equals(serviceId.getId())) { return true; } return false; }) .onItem() .ifNull() .continueWith(false) .onFailure() .recoverWithItem(false); } } } Loading
src/policy/src/main/java/eu/teraflow/policy/PolicyGateway.java +1 −1 Original line number Original line Diff line number Diff line /* /* * Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) * Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/) * * * Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License. Loading
src/policy/src/main/java/eu/teraflow/policy/PolicyGatewayImpl.java +1 −1 Original line number Original line Diff line number Diff line /* /* * Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) * Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/) * * * Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License. Loading
src/policy/src/main/java/eu/teraflow/policy/PolicyRuleConditionFieldsGetter.java +1 −1 Original line number Original line Diff line number Diff line /* /* * Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) * Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/) * * * Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License. Loading
src/policy/src/main/java/eu/teraflow/policy/PolicyRuleConditionValidator.java +59 −49 Original line number Original line Diff line number Diff line /* /* * Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) * Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/) * * * Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License. Loading @@ -21,7 +21,6 @@ import eu.teraflow.policy.context.model.Device; import eu.teraflow.policy.context.model.EndPointId; import eu.teraflow.policy.context.model.EndPointId; import eu.teraflow.policy.context.model.Service; import eu.teraflow.policy.context.model.Service; import eu.teraflow.policy.context.model.ServiceId; import eu.teraflow.policy.context.model.ServiceId; import eu.teraflow.policy.model.PolicyRuleService; import io.smallrye.mutiny.Uni; import io.smallrye.mutiny.Uni; import java.util.ArrayList; import java.util.ArrayList; import java.util.List; import java.util.List; Loading @@ -43,44 +42,73 @@ public class PolicyRuleConditionValidator { this.contextService = contextService; this.contextService = contextService; } } public Uni<Boolean> isDeviceIdValid(String deviceId) { public Uni<Boolean> validateDeviceId(String deviceId) { final var isDeviceIdValid = isDeviceIdValid(deviceId); isDeviceIdValid .subscribe() .with( deviceIdIdBooleanValue -> { if (Boolean.FALSE.equals(deviceIdIdBooleanValue)) { LOGGER.errorf(INVALID_MESSAGE, deviceId); } LOGGER.infof(VALID_MESSAGE, deviceId); }); return isDeviceIdValid; } public Uni<Boolean> validateServiceId(ServiceId serviceId) { final var isServiceIdValid = isServiceIdValid(serviceId); isServiceIdValid .subscribe() .with( serviceIdBooleanValue -> { if (Boolean.FALSE.equals(serviceIdBooleanValue)) { LOGGER.errorf(INVALID_MESSAGE, serviceId); } }); return isServiceIdValid; } public Uni<Boolean> validateUpdatedPolicyRuleId(String updatedPolicyRuleId) { final var isUpdatedPolicyRuleIdValid = isUpdatedPolicyRuleIdValid(updatedPolicyRuleId); isUpdatedPolicyRuleIdValid .subscribe() .with( serviceIdBooleanValue -> { if (Boolean.FALSE.equals(serviceIdBooleanValue)) { LOGGER.errorf(INVALID_MESSAGE, updatedPolicyRuleId); } }); return isUpdatedPolicyRuleIdValid; } private Uni<Boolean> isDeviceIdValid(String deviceId) { return contextService return contextService .getDevice(deviceId) .getDevice(deviceId) .onFailure() .recoverWithItem((Device) null) .onItem() .onItem() .transform(device -> checkIfDeviceIdExists(device, deviceId)); .transform(device -> checkIfDeviceIdExists(device, deviceId)); } } private boolean checkIfDeviceIdExists(Device device, String deviceId) { private boolean checkIfDeviceIdExists(Device device, String deviceId) { if (device == null) { return false; } final var deviceDeviceId = device.getDeviceId(); final var deviceDeviceId = device.getDeviceId(); return deviceDeviceId.equals(deviceId); return deviceDeviceId.equals(deviceId); } } public Uni<Boolean> isServiceIdValid(ServiceId serviceId, List<String> deviceIds) { private Uni<Boolean> isServiceIdValid(ServiceId serviceId) { return contextService return contextService .getService(serviceId) .getService(serviceId) .onFailure() .recoverWithItem((Service) null) .onItem() .onItem() .transform(service -> checkIfServiceIsValid(service, serviceId, deviceIds)); .transform(service -> checkIfServiceIdExists(service, serviceId)); } private boolean checkIfServiceIsValid( Service service, ServiceId serviceId, List<String> deviceIds) { return (checkIfServiceIdExists(service, serviceId) && checkIfServicesDeviceIdsExist(service, deviceIds)); } } private boolean checkIfServiceIdExists(Service service, ServiceId serviceId) { private boolean checkIfServiceIdExists(Service service, ServiceId serviceId) { if (service == null) { return false; } final var serviceServiceIdServiceId = service.getServiceId(); final var serviceServiceIdServiceId = service.getServiceId(); final var serviceServiceIdContextId = serviceServiceIdServiceId.getContextId(); final var serviceServiceIdContextId = serviceServiceIdServiceId.getContextId(); final var serviceServiceIdId = serviceServiceIdServiceId.getId(); final var serviceServiceIdId = serviceServiceIdServiceId.getId(); Loading @@ -89,11 +117,14 @@ public class PolicyRuleConditionValidator { && serviceServiceIdId.equals(serviceId.getId()); && serviceServiceIdId.equals(serviceId.getId()); } } private boolean checkIfServicesDeviceIdsExist(Service service, List<String> deviceIds) { public Uni<Boolean> isServicesDeviceIdsValid(ServiceId serviceId, List<String> deviceIds) { if (deviceIds.isEmpty()) { return contextService return true; .getService(serviceId) .onItem() .transform(service -> checkIfServicesDeviceIdsExist(service, deviceIds)); } } private boolean checkIfServicesDeviceIdsExist(Service service, List<String> deviceIds) { List<String> serviceDeviceIds = new ArrayList<>(); List<String> serviceDeviceIds = new ArrayList<>(); for (EndPointId serviceEndPointId : service.getServiceEndPointIds()) { for (EndPointId serviceEndPointId : service.getServiceEndPointIds()) { serviceDeviceIds.add(serviceEndPointId.getDeviceId()); serviceDeviceIds.add(serviceEndPointId.getDeviceId()); Loading @@ -102,7 +133,7 @@ public class PolicyRuleConditionValidator { return deviceIds.containsAll(serviceDeviceIds); return deviceIds.containsAll(serviceDeviceIds); } } public Uni<Boolean> isUpdatedPolicyRuleIdValid(String updatedPolicyRuleId) { private Uni<Boolean> isUpdatedPolicyRuleIdValid(String updatedPolicyRuleId) { return contextService return contextService .getPolicyRule(updatedPolicyRuleId) .getPolicyRule(updatedPolicyRuleId) .onItem() .onItem() Loading @@ -115,25 +146,4 @@ public class PolicyRuleConditionValidator { .ifNull() .ifNull() .continueWith(false); .continueWith(false); } } public Uni<Boolean> isPolicyRuleServiceValid(String updatedPolicyRuleId, ServiceId serviceId) { return contextService .getPolicyRule(updatedPolicyRuleId) .onItem() .ifNotNull() .transform( policyRule -> { var policyRuleService = (PolicyRuleService) policyRule.getPolicyRuleType().getPolicyRuleType(); if (policyRuleService.getServiceId().getId().equals(serviceId.getId())) { return true; } return false; }) .onItem() .ifNull() .continueWith(false) .onFailure() .recoverWithItem(false); } } }