diff options
author | ruilin cai <ruilin.cai@huawei.com> | 2023-03-20 15:29:03 -0400 |
---|---|---|
committer | Ruilin Cai <ruilin.cai@huawei.com> | 2023-06-16 20:15:03 +0000 |
commit | 276dede19944314ccfff76d55edd070115321c10 (patch) | |
tree | e3a0e34344b6362746660a0a57f1134aa023d5bd /sample-apps/src/main/java/org/onap/integration/actninterfacetools/sampleapp/mpiconverter/model/OtnNetwork.java | |
parent | 5420b338d60f93bfe7455221942f285e76b23972 (diff) |
[actn-interface-tools] Add sample-app as a test module
sample-app: This is a module which acts as a test module with function of converting actn-model to customer OSS model. The module is parellel with module actn-interface-tools.
Change-Id: I6e5aaddea5f37510caa836faf67c8f501b38a5a5
Signed-off-by: ruilin cai <ruilin.cai@huawei.com>
Issue-ID: INT-2213
Diffstat (limited to 'sample-apps/src/main/java/org/onap/integration/actninterfacetools/sampleapp/mpiconverter/model/OtnNetwork.java')
-rw-r--r-- | sample-apps/src/main/java/org/onap/integration/actninterfacetools/sampleapp/mpiconverter/model/OtnNetwork.java | 106 |
1 files changed, 106 insertions, 0 deletions
diff --git a/sample-apps/src/main/java/org/onap/integration/actninterfacetools/sampleapp/mpiconverter/model/OtnNetwork.java b/sample-apps/src/main/java/org/onap/integration/actninterfacetools/sampleapp/mpiconverter/model/OtnNetwork.java new file mode 100644 index 0000000..b6d1fb0 --- /dev/null +++ b/sample-apps/src/main/java/org/onap/integration/actninterfacetools/sampleapp/mpiconverter/model/OtnNetwork.java @@ -0,0 +1,106 @@ +/* + * ============LICENSE_START======================================================= + * Actn Interface Tools + * ================================================================================ + * Copyright (C) 2023 Huawei Canada Limited. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ +package org.onap.integration.actninterfacetools.sampleapp.mpiconverter.model; + +import org.onap.integration.actninterfacetools.actnclient.api.CustomerOtnTopology; +import org.onap.integration.actninterfacetools.sampleapp.mpiconverter.converter.PncConverter; + +import java.util.List; +import java.util.Map; +import java.util.function.Supplier; + +import static com.google.common.base.Preconditions.checkNotNull; + +public class OtnNetwork extends CustomerOtnTopology implements Network { + + private final Type networkType = Type.of(0); + private final String networkId; + private final List<TeNodeKey> nodes; + private final Map<TeNodeKey, TsNodeInfo> tsNodeInfos; + private final List<TsLink> innerLinks; + private final Map<TeNodeKey,List<TsLink>> edgeLinks; + private final PncOtnBandwidthProfile bandwidthProfileSupplier; + +// public OtnNetwork(org.onosproject.yang.gen.v11.ietfnetwork.rev20180226.ietfnetwork.networks.Network yangNetwork){ +// +// this(yangNetwork, +// ()-> PncConverter.getOtnNodes(yangNetwork), +// ()-> PncConverter.getTsNodeInfo(yangNetwork), +// ()-> PncConverter.getOtnInnerLinks(yangNetwork), +// ()-> PncConverter.getOtnEdgeLinks(yangNetwork), +// ()-> PncConverter.getBandWidthProfile(yangNetwork)); +// } + + +// OtnNetwork(org.onosproject.yang.gen.v11.ietfnetwork.rev20180226.ietfnetwork.networks.Network yangNetwork, +// Supplier<List<TeNodeKey>> nodes, +// Supplier<Map<TeNodeKey, TsNodeInfo>> tsNodeInfos, +// Supplier<List<TsLink>> innerLinks, +// Supplier<Map<TeNodeKey, List<TsLink>>> edgeLinks, +// Supplier<PncOtnBandwidthProfile> bandwidthProfile){ +// checkNotNull(yangNetwork, "OtnNetwork: yangNetwork passed in is null"); +// this.networkId = yangNetwork.networkId().toString(); +// this.nodes = nodes; +// this.innerLinks = innerLinks; +// this.edgeLinks = edgeLinks; +// this.tsNodeInfos = tsNodeInfos; +// this.bandwidthProfileSupplier = bandwidthProfile; +// } + + public OtnNetwork(String networkId, List<TeNodeKey> otnNodes, Map<TeNodeKey, TsNodeInfo> tsNodeInfo, List<TsLink> otnInnerLinks, Map<TeNodeKey, List<TsLink>> otnEdgeLinks, PncOtnBandwidthProfile bandWidthProfile) { + this.networkId = networkId; + this.nodes = otnNodes; + this.innerLinks = otnInnerLinks; + this.edgeLinks = otnEdgeLinks; + this.tsNodeInfos = tsNodeInfo; + this.bandwidthProfileSupplier = bandWidthProfile; + } + + @Override + public Type networkType() { + return networkType; + } + + @Override + public List<TeNodeKey> nodes() { + return nodes; + } + + public List<TsLink> innerlinks() { + return innerLinks; + } + + public Map<TeNodeKey,List<TsLink>> edgeLinks(){ + return edgeLinks; + } + + public Map<TeNodeKey, TsNodeInfo> tsNodeInfos(){ + return tsNodeInfos; + } + + public PncOtnBandwidthProfile bandwidthProfile() { + return bandwidthProfileSupplier; + } + + @Override + public String networkId(){ + return this.networkId; + } +} |