Commit 33e232cd authored by Fotis Soldatos's avatar Fotis Soldatos
Browse files

Merge branch 'policy/fix-constraint-isolation-level-issue' into 'develop'

fix(policy): update ConstraintIsolationLevel object

See merge request teraflow-h2020/controller!158
parents 4243d91c b2235b51
Loading
Loading
Loading
Loading
+22 −15
Original line number Diff line number Diff line
@@ -751,22 +751,25 @@ public class Serializer {
            ConstraintSlaIsolationLevel constraintSlaIsolationLevel) {
        final var builder = ContextOuterClass.Constraint_SLA_Isolation_level.newBuilder();

        final var isolationLevelEnum = constraintSlaIsolationLevel.getIsolationLevelEnum();
        final var isolationLevelEnums = constraintSlaIsolationLevel.getIsolationLevelEnums();

        final var serializedIsolationLevelEnum = serialize(isolationLevelEnum);
        final var serializedIsolationLevelEnums =
                isolationLevelEnums.stream().map(this::serialize).collect(Collectors.toList());

        builder.setIsolationLevel(serializedIsolationLevelEnum);
        builder.addAllIsolationLevel(serializedIsolationLevelEnums);

        return builder.build();
    }

    public ConstraintSlaIsolationLevel deserialize(
            ContextOuterClass.Constraint_SLA_Isolation_level serializedConstraintIsolationLevel) {
        final var serializedIsolationLevelEnum = serializedConstraintIsolationLevel.getIsolationLevel();
        final var serializedIsolationLevelEnums =
                serializedConstraintIsolationLevel.getIsolationLevelList();

        final var isolationLevelEnum = deserialize(serializedIsolationLevelEnum);
        final var isolationLevelEnums =
                serializedIsolationLevelEnums.stream().map(this::deserialize).collect(Collectors.toList());

        return new ConstraintSlaIsolationLevel(isolationLevelEnum);
        return new ConstraintSlaIsolationLevel(isolationLevelEnums);
    }

    public ContextOuterClass.Constraint_SLA_Latency serialize(
@@ -867,13 +870,14 @@ public class Serializer {
        }

        if (constraintTypeSpecificType instanceof ConstraintSlaIsolationLevel) {
            final var isolationLevelEnum =
                    ((ConstraintSlaIsolationLevel) constraintTypeSpecificType).getIsolationLevelEnum();
            final var isolationLevelEnums =
                    ((ConstraintSlaIsolationLevel) constraintTypeSpecificType).getIsolationLevelEnums();

            final var serializedIsolationLevelEnum = serialize(isolationLevelEnum);
            final var serializedIsolationLevelEnums =
                    isolationLevelEnums.stream().map(this::serialize).collect(Collectors.toList());
            final var serializedConstraintSlaIsolationLevel =
                    ContextOuterClass.Constraint_SLA_Isolation_level.newBuilder()
                            .setIsolationLevel(serializedIsolationLevelEnum)
                            .addAllIsolationLevel(serializedIsolationLevelEnums)
                            .build();

            builder.setSlaIsolation(serializedConstraintSlaIsolationLevel);
@@ -957,11 +961,14 @@ public class Serializer {
                return new Constraint(constraintTypeSlaAvailability);
            case SLA_ISOLATION:
                final var serializedConstrainSlaIsolation = serializedConstraint.getSlaIsolation();
                final var serializedIsolationLevelEnum =
                        serializedConstrainSlaIsolation.getIsolationLevel();
                final var serializedIsolationLevelEnums =
                        serializedConstrainSlaIsolation.getIsolationLevelList();

                final var isolationLevelEnum = deserialize(serializedIsolationLevelEnum);
                final var constraintSlaIsolation = new ConstraintSlaIsolationLevel(isolationLevelEnum);
                final var isolationLevelEnums =
                        serializedIsolationLevelEnums.stream()
                                .map(this::deserialize)
                                .collect(Collectors.toList());
                final var constraintSlaIsolation = new ConstraintSlaIsolationLevel(isolationLevelEnums);
                final var constraintTypeSlaIsolation =
                        new ConstraintTypeSlaIsolationLevel(constraintSlaIsolation);

+10 −7
Original line number Diff line number Diff line
@@ -16,22 +16,25 @@

package eu.teraflow.policy.context.model;

import eu.teraflow.policy.common.Util;
import java.util.List;

public class ConstraintSlaIsolationLevel {

    private final IsolationLevelEnum isolationLevelEnum;
    private final List<IsolationLevelEnum> isolationLevelEnums;

    public ConstraintSlaIsolationLevel(IsolationLevelEnum isolationLevelEnum) {
        this.isolationLevelEnum = isolationLevelEnum;
    public ConstraintSlaIsolationLevel(List<IsolationLevelEnum> isolationLevelEnums) {
        this.isolationLevelEnums = isolationLevelEnums;
    }

    public IsolationLevelEnum getIsolationLevelEnum() {
        return isolationLevelEnum;
    public List<IsolationLevelEnum> getIsolationLevelEnums() {
        return isolationLevelEnums;
    }

    @Override
    public String toString() {
        return String.format(
                "%s:{isolationLevelEnum:\"%s\"}",
                getClass().getSimpleName(), isolationLevelEnum.toString());
                "%s:{isolationLevelEnums:\"%s\"}",
                getClass().getSimpleName(), Util.toString(isolationLevelEnums));
    }
}
+3 −1
Original line number Diff line number Diff line
@@ -38,6 +38,7 @@ import eu.teraflow.policy.context.model.Location;
import eu.teraflow.policy.context.model.LocationTypeRegion;
import eu.teraflow.policy.context.model.TopologyId;
import io.quarkus.test.junit.QuarkusTest;
import java.util.List;
import org.junit.jupiter.api.Test;

@QuarkusTest
@@ -113,7 +114,8 @@ class ConstraintTypeTest {
    @Test
    void shouldExtractConstraintSlaIsolationLevelFromConstraintTypeSlaIsolationLevel() {
        final var expectedConstraintSlaIsolationLevel =
                new ConstraintSlaIsolationLevel(IsolationLevelEnum.PHYSICAL_ISOLATION);
                new ConstraintSlaIsolationLevel(
                        List.of(IsolationLevelEnum.PHYSICAL_ISOLATION, IsolationLevelEnum.LOGICAL_ISOLATION));
        final var constraintTypeSlaIsolationLevel =
                new ConstraintTypeSlaIsolationLevel(expectedConstraintSlaIsolationLevel);

+36 −16
Original line number Diff line number Diff line
@@ -1310,14 +1310,20 @@ class SerializerTest {

    @Test
    void shouldSerializeConstraintSlaIsolationLevel() {
        final var isolationLevelEnum = IsolationLevelEnum.NETWORK_FUNCTIONS_ISOLATION;
        final var isolationLevelEnums =
                List.of(
                        IsolationLevelEnum.PHYSICAL_MEMORY_ISOLATION,
                        IsolationLevelEnum.NETWORK_FUNCTIONS_ISOLATION);

        final var constraintSlaIsolationLevel = new ConstraintSlaIsolationLevel(isolationLevelEnum);
        final var constraintSlaIsolationLevel = new ConstraintSlaIsolationLevel(isolationLevelEnums);

        final var serializedIsolationLevelEnum = serializer.serialize(isolationLevelEnum);
        final var serializedIsolationLevelEnums =
                isolationLevelEnums.stream()
                        .map(isolationLevelEnum -> serializer.serialize(isolationLevelEnum))
                        .collect(Collectors.toList());
        final var expectedConstraintSlaIsolationLevel =
                ContextOuterClass.Constraint_SLA_Isolation_level.newBuilder()
                        .setIsolationLevel(serializedIsolationLevelEnum)
                        .addAllIsolationLevel(serializedIsolationLevelEnums)
                        .build();

        final var serializedConstraintSlaIsolationLevel =
@@ -1330,15 +1336,19 @@ class SerializerTest {

    @Test
    void shouldDeserializeConstraintSlaIsolationLevel() {
        final var isolationLevelEnum = IsolationLevelEnum.NETWORK_FUNCTIONS_ISOLATION;
        final var isolationLevelEnums =
                List.of(IsolationLevelEnum.PROCESS_ISOLATION, IsolationLevelEnum.SERVICE_ISOLATION);

        final var expectedConstraintSlaIsolationLevel =
                new ConstraintSlaIsolationLevel(isolationLevelEnum);
                new ConstraintSlaIsolationLevel(isolationLevelEnums);

        final var serializedIsolationLevelEnum = serializer.serialize(isolationLevelEnum);
        final var serializedIsolationLevelEnums =
                isolationLevelEnums.stream()
                        .map(isolationLevelEnum -> serializer.serialize(isolationLevelEnum))
                        .collect(Collectors.toList());
        final var serializedConstraintSlaIsolationLevel =
                ContextOuterClass.Constraint_SLA_Isolation_level.newBuilder()
                        .setIsolationLevel(serializedIsolationLevelEnum)
                        .addAllIsolationLevel(serializedIsolationLevelEnums)
                        .build();

        final var constraintSlaIsolationLevel =
@@ -1648,19 +1658,23 @@ class SerializerTest {

    @Test
    void shouldDeserializeConstraintOfTypeConstraintSlaIsolationLevel() {
        final var isolationLevelEnum = IsolationLevelEnum.PHYSICAL_ISOLATION;
        final var isolationLevelEnums =
                List.of(IsolationLevelEnum.PHYSICAL_ISOLATION, IsolationLevelEnum.NO_ISOLATION);

        final var expectedConstraintSlaIsolationLevel =
                new ConstraintSlaIsolationLevel(isolationLevelEnum);
                new ConstraintSlaIsolationLevel(isolationLevelEnums);
        final var expectedConstraintTypeSlaIsolationLevel =
                new ConstraintTypeSlaIsolationLevel(expectedConstraintSlaIsolationLevel);
        final var expectedConstraint = new Constraint(expectedConstraintTypeSlaIsolationLevel);

        final var serializedIsolationLevelEnum = serializer.serialize(isolationLevelEnum);
        final var serializedIsolationLevelEnums =
                isolationLevelEnums.stream()
                        .map(isolationLevelEnum -> serializer.serialize(isolationLevelEnum))
                        .collect(Collectors.toList());

        final var serializedConstraintSlaIsolationLevel =
                ContextOuterClass.Constraint_SLA_Isolation_level.newBuilder()
                        .setIsolationLevel(serializedIsolationLevelEnum)
                        .addAllIsolationLevel(serializedIsolationLevelEnums)
                        .build();

        final var serializedConstraint =
@@ -1675,18 +1689,24 @@ class SerializerTest {

    @Test
    void shouldSerializeConstraintOfTypeConstraintSlaIsolationLevel() {
        final var isolationLevelEnum = IsolationLevelEnum.PHYSICAL_ISOLATION;
        final var isolationLevelEnums =
                List.of(
                        IsolationLevelEnum.VIRTUAL_RESOURCE_ISOLATION,
                        IsolationLevelEnum.PHYSICAL_MEMORY_ISOLATION);

        final var constraintSlaIsolationLevel = new ConstraintSlaIsolationLevel(isolationLevelEnum);
        final var constraintSlaIsolationLevel = new ConstraintSlaIsolationLevel(isolationLevelEnums);
        final var constraintTypeSlaIsolationLevel =
                new ConstraintTypeSlaIsolationLevel(constraintSlaIsolationLevel);
        final var constraint = new Constraint(constraintTypeSlaIsolationLevel);

        final var serializedIsolationLevelEnum = serializer.serialize(isolationLevelEnum);
        final var serializedIsolationLevelEnums =
                isolationLevelEnums.stream()
                        .map(isolationLevelEnum -> serializer.serialize(isolationLevelEnum))
                        .collect(Collectors.toList());

        final var expectedConstraintSlaIsolationLevel =
                ContextOuterClass.Constraint_SLA_Isolation_level.newBuilder()
                        .setIsolationLevel(serializedIsolationLevelEnum)
                        .addAllIsolationLevel(serializedIsolationLevelEnums)
                        .build();

        final var expectedConstraint =
+11177 −9041

File changed.

Preview size limit exceeded, changes collapsed.

Loading