Loading src/policy/src/main/java/eu/teraflow/policy/model/BooleanOperator.java 0 → 100644 +7 −0 Original line number Diff line number Diff line package eu.teraflow.policy.model; public enum BooleanOperator { POLICYRULE_CONDITION_BOOLEAN_UNDEFINED, POLICYRULE_CONDITION_BOOLEAN_AND, POLICYRULE_CONDITION_BOOLEAN_OR } src/policy/src/main/java/eu/teraflow/policy/model/NumericalOperator.java 0 → 100644 +11 −0 Original line number Diff line number Diff line package eu.teraflow.policy.model; public enum NumericalOperator { POLICY_RULE_CONDITION_NUMERICAL_UNDEFINED, POLICY_RULE_CONDITION_NUMERICAL_EQUAL, POLICY_RULE_CONDITION_NUMERICAL_NOT_EQUAL, POLICY_RULE_CONDITION_NUMERICAL_LESS_THAN, POLICY_RULE_CONDITION_NUMERICAL_LESS_THAN_EQUAL, POLICY_RULE_CONDITION_NUMERICAL_GREATER_THAN, POLICY_RULE_CONDITION_NUMERICAL_GREATER_THAN_EQUAL } src/policy/src/main/java/eu/teraflow/policy/model/PolicyRule.java +57 −29 Original line number Diff line number Diff line Loading @@ -16,40 +16,44 @@ package eu.teraflow.policy.model; import eu.teraflow.policy.context.model.ContextId; import eu.teraflow.policy.context.model.ServiceId; import java.util.List; import java.util.stream.Collectors; public class PolicyRule { private final PolicyRuleId policyRuleId; private final String policyRuleId; private final PolicyRuleType policyRuleType; private final PolicyRulePriority policyRulePriority; private final PolicyRuleEvent policyRuleEvent; private final PolicyRuleCondition policyRuleCondition; private final PolicyRuleAction policyRuleAction; private final int priority; private final PolicyRuleEvent event; private final List<PolicyRuleCondition> policyRuleConditions; private final BooleanOperator booleanOperator; private final List<PolicyRuleAction> policyRuleActions; private final ServiceId serviceId; private final ContextId contextId; private final List<String> deviceIds; public PolicyRule( PolicyRuleId policyRuleId, String policyRuleId, PolicyRuleType policyRuleType, PolicyRulePriority policyRulePriority, PolicyRuleEvent policyRuleEvent, PolicyRuleCondition policyRuleCondition, PolicyRuleAction policyRuleAction, int priority, PolicyRuleEvent event, List<PolicyRuleCondition> policyRuleConditions, BooleanOperator booleanOperator, List<PolicyRuleAction> policyRuleActions, ServiceId serviceId, ContextId contextId) { List<String> deviceIds) { this.policyRuleId = policyRuleId; this.policyRuleType = policyRuleType; this.policyRulePriority = policyRulePriority; this.policyRuleEvent = policyRuleEvent; this.policyRuleCondition = policyRuleCondition; this.policyRuleAction = policyRuleAction; this.priority = priority; this.event = event; this.policyRuleConditions = policyRuleConditions; this.booleanOperator = booleanOperator; this.policyRuleActions = policyRuleActions; this.serviceId = serviceId; this.contextId = contextId; this.deviceIds = deviceIds; } public PolicyRuleId getPolicyRuleId() { public String getPolicyRuleId() { return policyRuleId; } Loading @@ -57,27 +61,51 @@ public class PolicyRule { return policyRuleType; } public PolicyRulePriority getPolicyRulePriority() { return policyRulePriority; public int getPriority() { return priority; } public PolicyRuleEvent getPolicyRuleEvent() { return policyRuleEvent; public PolicyRuleEvent getEvent() { return event; } public PolicyRuleCondition getPolicyRuleCondition() { return policyRuleCondition; public List<PolicyRuleCondition> getPolicyRuleConditions() { return policyRuleConditions; } public PolicyRuleAction getPolicyRuleAction() { return policyRuleAction; public BooleanOperator getBooleanOperator() { return booleanOperator; } public List<PolicyRuleAction> getPolicyRuleActions() { return policyRuleActions; } public ServiceId getServiceId() { return serviceId; } public ContextId getContextId() { return contextId; public List<String> getDeviceIds() { return deviceIds; } @Override public String toString() { return String.format( "%s:{policyRuleId:\"%s\", policyRuleType:\"%s\", priority:%d, %s, [%s], booleanOperator:\"%s\", [%s], %s, [%s]}", getClass().getSimpleName(), policyRuleId, policyRuleType.toString(), priority, event, toString(policyRuleConditions), booleanOperator.toString(), toString(policyRuleActions), serviceId, toString(deviceIds)); } private <T> String toString(List<T> list) { return list.stream().map(T::toString).collect(Collectors.joining(", ")); } } src/policy/src/main/java/eu/teraflow/policy/model/PolicyRuleAction.java +23 −9 Original line number Diff line number Diff line Loading @@ -16,22 +16,36 @@ package eu.teraflow.policy.model; import java.util.List; import java.util.stream.Collectors; public class PolicyRuleAction { private final PolicyRuleVariable policyRuleVariable; private final PolicyRuleValue policyRuleValue; private final PolicyRuleActionEnum policyRuleActionEnum; private final List<String> parameters; public PolicyRuleAction(PolicyRuleActionEnum policyRuleActionEnum, List<String> parameters) { public PolicyRuleAction(PolicyRuleVariable policyRuleVariable, PolicyRuleValue policyRuleValue) { this.policyRuleActionEnum = policyRuleActionEnum; this.parameters = parameters; } public PolicyRuleActionEnum getPolicyRuleActionEnum() { return policyRuleActionEnum; } this.policyRuleVariable = policyRuleVariable; this.policyRuleValue = policyRuleValue; public List<String> getPolicyRuleActionParameters() { return parameters; } public PolicyRuleVariable getPolicyRuleVariable() { return policyRuleVariable; @Override public String toString() { return String.format( "%s:{policyRuleActionEnum:\"%s\", [%s]}", getClass().getSimpleName(), policyRuleActionEnum.toString(), toString(parameters)); } public PolicyRuleValue getPolicyRuleValue() { return policyRuleValue; private <T> String toString(List<T> list) { return list.stream().map(T::toString).collect(Collectors.joining(", ")); } } src/policy/src/main/java/eu/teraflow/policy/model/PolicyRuleActionEnum.java 0 → 100644 +8 −0 Original line number Diff line number Diff line package eu.teraflow.policy.model; public enum PolicyRuleActionEnum { POLICY_RULE_ACTION_NO_ACTION, POLICY_RULE_ACTION_SET_DEVICE_STATUS, POLICY_RULE_ACTION_ADD_SERVICE_CONFIGRULE, POLICY_RULE_ACTION_ADD_SERVICE_CONSTRAINT } Loading
src/policy/src/main/java/eu/teraflow/policy/model/BooleanOperator.java 0 → 100644 +7 −0 Original line number Diff line number Diff line package eu.teraflow.policy.model; public enum BooleanOperator { POLICYRULE_CONDITION_BOOLEAN_UNDEFINED, POLICYRULE_CONDITION_BOOLEAN_AND, POLICYRULE_CONDITION_BOOLEAN_OR }
src/policy/src/main/java/eu/teraflow/policy/model/NumericalOperator.java 0 → 100644 +11 −0 Original line number Diff line number Diff line package eu.teraflow.policy.model; public enum NumericalOperator { POLICY_RULE_CONDITION_NUMERICAL_UNDEFINED, POLICY_RULE_CONDITION_NUMERICAL_EQUAL, POLICY_RULE_CONDITION_NUMERICAL_NOT_EQUAL, POLICY_RULE_CONDITION_NUMERICAL_LESS_THAN, POLICY_RULE_CONDITION_NUMERICAL_LESS_THAN_EQUAL, POLICY_RULE_CONDITION_NUMERICAL_GREATER_THAN, POLICY_RULE_CONDITION_NUMERICAL_GREATER_THAN_EQUAL }
src/policy/src/main/java/eu/teraflow/policy/model/PolicyRule.java +57 −29 Original line number Diff line number Diff line Loading @@ -16,40 +16,44 @@ package eu.teraflow.policy.model; import eu.teraflow.policy.context.model.ContextId; import eu.teraflow.policy.context.model.ServiceId; import java.util.List; import java.util.stream.Collectors; public class PolicyRule { private final PolicyRuleId policyRuleId; private final String policyRuleId; private final PolicyRuleType policyRuleType; private final PolicyRulePriority policyRulePriority; private final PolicyRuleEvent policyRuleEvent; private final PolicyRuleCondition policyRuleCondition; private final PolicyRuleAction policyRuleAction; private final int priority; private final PolicyRuleEvent event; private final List<PolicyRuleCondition> policyRuleConditions; private final BooleanOperator booleanOperator; private final List<PolicyRuleAction> policyRuleActions; private final ServiceId serviceId; private final ContextId contextId; private final List<String> deviceIds; public PolicyRule( PolicyRuleId policyRuleId, String policyRuleId, PolicyRuleType policyRuleType, PolicyRulePriority policyRulePriority, PolicyRuleEvent policyRuleEvent, PolicyRuleCondition policyRuleCondition, PolicyRuleAction policyRuleAction, int priority, PolicyRuleEvent event, List<PolicyRuleCondition> policyRuleConditions, BooleanOperator booleanOperator, List<PolicyRuleAction> policyRuleActions, ServiceId serviceId, ContextId contextId) { List<String> deviceIds) { this.policyRuleId = policyRuleId; this.policyRuleType = policyRuleType; this.policyRulePriority = policyRulePriority; this.policyRuleEvent = policyRuleEvent; this.policyRuleCondition = policyRuleCondition; this.policyRuleAction = policyRuleAction; this.priority = priority; this.event = event; this.policyRuleConditions = policyRuleConditions; this.booleanOperator = booleanOperator; this.policyRuleActions = policyRuleActions; this.serviceId = serviceId; this.contextId = contextId; this.deviceIds = deviceIds; } public PolicyRuleId getPolicyRuleId() { public String getPolicyRuleId() { return policyRuleId; } Loading @@ -57,27 +61,51 @@ public class PolicyRule { return policyRuleType; } public PolicyRulePriority getPolicyRulePriority() { return policyRulePriority; public int getPriority() { return priority; } public PolicyRuleEvent getPolicyRuleEvent() { return policyRuleEvent; public PolicyRuleEvent getEvent() { return event; } public PolicyRuleCondition getPolicyRuleCondition() { return policyRuleCondition; public List<PolicyRuleCondition> getPolicyRuleConditions() { return policyRuleConditions; } public PolicyRuleAction getPolicyRuleAction() { return policyRuleAction; public BooleanOperator getBooleanOperator() { return booleanOperator; } public List<PolicyRuleAction> getPolicyRuleActions() { return policyRuleActions; } public ServiceId getServiceId() { return serviceId; } public ContextId getContextId() { return contextId; public List<String> getDeviceIds() { return deviceIds; } @Override public String toString() { return String.format( "%s:{policyRuleId:\"%s\", policyRuleType:\"%s\", priority:%d, %s, [%s], booleanOperator:\"%s\", [%s], %s, [%s]}", getClass().getSimpleName(), policyRuleId, policyRuleType.toString(), priority, event, toString(policyRuleConditions), booleanOperator.toString(), toString(policyRuleActions), serviceId, toString(deviceIds)); } private <T> String toString(List<T> list) { return list.stream().map(T::toString).collect(Collectors.joining(", ")); } }
src/policy/src/main/java/eu/teraflow/policy/model/PolicyRuleAction.java +23 −9 Original line number Diff line number Diff line Loading @@ -16,22 +16,36 @@ package eu.teraflow.policy.model; import java.util.List; import java.util.stream.Collectors; public class PolicyRuleAction { private final PolicyRuleVariable policyRuleVariable; private final PolicyRuleValue policyRuleValue; private final PolicyRuleActionEnum policyRuleActionEnum; private final List<String> parameters; public PolicyRuleAction(PolicyRuleActionEnum policyRuleActionEnum, List<String> parameters) { public PolicyRuleAction(PolicyRuleVariable policyRuleVariable, PolicyRuleValue policyRuleValue) { this.policyRuleActionEnum = policyRuleActionEnum; this.parameters = parameters; } public PolicyRuleActionEnum getPolicyRuleActionEnum() { return policyRuleActionEnum; } this.policyRuleVariable = policyRuleVariable; this.policyRuleValue = policyRuleValue; public List<String> getPolicyRuleActionParameters() { return parameters; } public PolicyRuleVariable getPolicyRuleVariable() { return policyRuleVariable; @Override public String toString() { return String.format( "%s:{policyRuleActionEnum:\"%s\", [%s]}", getClass().getSimpleName(), policyRuleActionEnum.toString(), toString(parameters)); } public PolicyRuleValue getPolicyRuleValue() { return policyRuleValue; private <T> String toString(List<T> list) { return list.stream().map(T::toString).collect(Collectors.joining(", ")); } }
src/policy/src/main/java/eu/teraflow/policy/model/PolicyRuleActionEnum.java 0 → 100644 +8 −0 Original line number Diff line number Diff line package eu.teraflow.policy.model; public enum PolicyRuleActionEnum { POLICY_RULE_ACTION_NO_ACTION, POLICY_RULE_ACTION_SET_DEVICE_STATUS, POLICY_RULE_ACTION_ADD_SERVICE_CONFIGRULE, POLICY_RULE_ACTION_ADD_SERVICE_CONSTRAINT }