blob: 38acd7505415cdeac64789106302b9e7555e0f92 [file] [log] [blame]
hirokif4ed5212018-05-26 22:39:38 -07001/*
2 * Copyright 2018-present Open Networking Foundation
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17package org.onosproject.odtn.utils.tapi;
18
19import org.onosproject.yang.gen.v1.tapicommon.rev20180307.tapicommon.Uuid;
20import org.onosproject.yang.gen.v1.tapiconnectivity.rev20180307.tapiconnectivity.ceplist.ConnectionEndPoint;
21import org.onosproject.yang.gen.v1.tapiconnectivity.rev20180307.tapiconnectivity.connection.DefaultConnectionEndPoint;
22import org.onosproject.yang.gen.v1.tapiconnectivity.rev20180307.tapiconnectivity.connectionendpoint.ParentNodeEdgePoint;
23import org.onosproject.yang.model.ModelObjectId;
24
25/**
26 * Utility class to deal with TAPI CepRef with DCS.
27 */
28public final class TapiCepRefHandler extends TapiObjectHandler<DefaultConnectionEndPoint> {
29
30 private TapiCepRefHandler() {
31 obj = new DefaultConnectionEndPoint();
32 }
33
34 public static TapiCepRefHandler create() {
35 return new TapiCepRefHandler();
36 }
37
38 @Override
39 protected Uuid getIdDetail() {
40 return (Uuid) obj.connectionEndPointId();
41 }
42
43 @Override
44 protected void setIdDetail(Uuid uuid) {}
45
46 @Override
47 public ModelObjectId getParentModelObjectId() {
48 return null;
49 }
50
51 public TapiCepRefHandler setCep(TapiCepRef cepRef) {
52 obj.topologyId(cepRef.getTopologyId());
53 obj.nodeId(cepRef.getNodeId());
54 obj.ownedNodeEdgePointId(cepRef.getNepId());
55 obj.connectionEndPointId(cepRef.getCepId());
56 return this;
57 }
58
59 public TapiCepRefHandler setCep(ConnectionEndPoint cep) {
60 obj.connectionEndPointId(cep.uuid());
61 ParentNodeEdgePoint parentNep = cep.parentNodeEdgePoint().get(0);
62 obj.topologyId(parentNep.topologyId());
63 obj.nodeId(parentNep.nodeId());
64 obj.ownedNodeEdgePointId(parentNep.ownedNodeEdgePointId());
65 return this;
66 }
67}