Upgrade openroadm service models to 10.1
[transportpce.git] / servicehandler / src / test / java / org / opendaylight / transportpce / servicehandler / utils / ConstraintsUtils.java
1 /*
2  * Copyright © 2018 Orange, Inc. and others.  All rights reserved.
3  *
4  * This program and the accompanying materials are made available under the
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6  * and is available at http://www.eclipse.org/legal/epl-v10.html
7  */
8 package org.opendaylight.transportpce.servicehandler.utils;
9
10 import java.util.ArrayList;
11 import java.util.Collections;
12 import java.util.Map;
13 import org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev211210.constraints.CoRoutingBuilder;
14 import org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev211210.constraints.co.routing.ServiceIdentifierList;
15 import org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev211210.constraints.co.routing.ServiceIdentifierListBuilder;
16 import org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev211210.equipment.EquipmentBuilder;
17 import org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev211210.routing.constraints.HardConstraints;
18 import org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev211210.routing.constraints.HardConstraintsBuilder;
19 import org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev211210.routing.constraints.SoftConstraints;
20 import org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev211210.routing.constraints.SoftConstraintsBuilder;
21 import org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev211210.service.applicability.g.ServiceApplicabilityBuilder;
22
23 /**
24  * Utility Class to Build Hard Constraints and Soft Constraints.
25  *
26  * @author Ahmed Helmy ( ahmad.helmy@orange.com )
27  *
28  */
29 public final class ConstraintsUtils {
30
31     private ConstraintsUtils() {
32
33     }
34
35     public static SoftConstraints buildSoftConstraintWithCoRouting() {
36         ServiceIdentifierList sil = new ServiceIdentifierListBuilder()
37             .setServiceIdentifier("service-id-soft")
38             .setServiceApplicability(new ServiceApplicabilityBuilder()
39                 .setEquipment(new EquipmentBuilder()
40                     .setRoadmSrg(true)
41                     .build())
42                 .build())
43             .build();
44         return new SoftConstraintsBuilder()
45             .setCustomerCode(new ArrayList<>(Collections.singletonList("customer-code 1")))
46             .setCoRouting(new CoRoutingBuilder()
47                 .setServiceIdentifierList(Map.of(sil.key(), sil))
48                 .build())
49             .build();
50     }
51
52     public static HardConstraints buildHardConstraintWithCoRouting() {
53         ServiceIdentifierList sil = new ServiceIdentifierListBuilder()
54             .setServiceIdentifier("service-id-hard")
55             .setServiceApplicability(new ServiceApplicabilityBuilder()
56                 .setEquipment(new EquipmentBuilder()
57                     .setRoadmSrg(true)
58                     .build())
59                 .build())
60             .build();
61         return new HardConstraintsBuilder()
62             .setCustomerCode(new ArrayList<>(Collections.singletonList("customer-code 1")))
63             .setCoRouting(new CoRoutingBuilder()
64                 .setServiceIdentifierList(Map.of(sil.key(), sil))
65                 .build())
66             .build();
67     }
68 }