--- /dev/null
+/*
+ * Copyright © 2018 Orange Systems, Inc. and others. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+package org.opendaylight.transportpce.renderer;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+import java.util.concurrent.ExecutionException;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+import org.opendaylight.controller.md.sal.binding.api.MountPointService;
+import org.opendaylight.transportpce.common.device.DeviceTransactionManager;
+import org.opendaylight.transportpce.common.device.DeviceTransactionManagerImpl;
+import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl;
+import org.opendaylight.transportpce.renderer.stub.MountPointServiceStub;
+import org.opendaylight.transportpce.renderer.stub.MountPointStub;
+import org.opendaylight.transportpce.renderer.utils.ServiceDeleteDataUtils;
+import org.opendaylight.transportpce.renderer.utils.WaveLengthServiceUtils;
+import org.opendaylight.transportpce.test.AbstractTest;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.degree.rev170929.degree.used.wavelengths.UsedWavelengthsBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.Node1;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.Node1Builder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.TerminationPoint1;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.TerminationPoint1Builder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network.node.DegreeAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network.node.SrgAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network.node.termination.point.CpAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network.node.termination.point.CtpAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network.node.termination.point.PpAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network.node.termination.point.RxTtpAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network.node.termination.point.TxTtpAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network.node.termination.point.XpdrClientAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network.node.termination.point.XpdrNetworkAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network.node.termination.point.XpdrPortAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network.node.termination.point.pp.attributes.UsedWavelengthBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev170929.OpenroadmNodeType;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev170929.OpenroadmTpType;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.xponder.rev170929.xpdr.port.connection.attributes.WavelengthBuilder;
+import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev171017.PathDescription;
+
+@RunWith(Parameterized.class)
+public class NetworkModelWaveLengthServiceFreeTest extends AbstractTest {
+
+ private static final Long WAVE_LENGTH = 20L;
+ private NetworkModelWavelengthService networkModelWavelengthService;
+ private DeviceTransactionManager deviceTransactionManager;
+ private TerminationPoint1 terminationPoint1;
+ private PathDescription pathDescription;
+ private Node1 node1;
+
+ public NetworkModelWaveLengthServiceFreeTest(PathDescription pathDescription, TerminationPoint1 terminationPoint1,
+ Node1 node1) {
+ this.pathDescription = pathDescription;
+ this.terminationPoint1 = terminationPoint1;
+ this.node1 = node1;
+ }
+
+ @Parameterized.Parameters
+ public static Collection createParameters() {
+ List<Object[]> parameters = new ArrayList<>();
+
+ PathDescription pathDescription =
+ ServiceDeleteDataUtils.createTransactionPathDescription(OpenRoadmInterfacesImpl.TTP_TOKEN);
+
+ TerminationPoint1Builder terminationPoint1Builder = new TerminationPoint1Builder();
+ terminationPoint1Builder.setCtpAttributes((new CtpAttributesBuilder()).setUsedWavelengths(Collections
+ .singletonList((new UsedWavelengthsBuilder()).setIndex(WAVE_LENGTH).build())).build());
+ terminationPoint1Builder.setCpAttributes((new CpAttributesBuilder()).setUsedWavelengths(Collections
+ .singletonList((new org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network
+ .node.termination.point.cp.attributes.UsedWavelengthsBuilder())
+ .setIndex(WAVE_LENGTH).build())).build());
+ terminationPoint1Builder.setTxTtpAttributes((new TxTtpAttributesBuilder()).setUsedWavelengths(Collections
+ .singletonList((new UsedWavelengthsBuilder()).setIndex(WAVE_LENGTH).build())).build());
+ terminationPoint1Builder.setRxTtpAttributes((new RxTtpAttributesBuilder()).setUsedWavelengths(Collections
+ .singletonList((new UsedWavelengthsBuilder()).setIndex(WAVE_LENGTH).build())).build());
+ terminationPoint1Builder.setPpAttributes((new PpAttributesBuilder()).setUsedWavelength(Collections
+ .singletonList((new UsedWavelengthBuilder()).setIndex(WAVE_LENGTH).build())).build());
+ terminationPoint1Builder.setXpdrClientAttributes((new XpdrClientAttributesBuilder())
+ .setWavelength((new WavelengthBuilder()).setIndex(WAVE_LENGTH).build()).build());
+ terminationPoint1Builder.setXpdrNetworkAttributes((new XpdrNetworkAttributesBuilder())
+ .setWavelength((new WavelengthBuilder()).setIndex(WAVE_LENGTH).build()).build());
+ terminationPoint1Builder.setXpdrPortAttributes((new XpdrPortAttributesBuilder())
+ .setWavelength((new WavelengthBuilder()).setIndex(WAVE_LENGTH).build()).build());
+
+ Node1Builder node1Builder = new Node1Builder();
+ node1Builder.setDegreeAttributes((new DegreeAttributesBuilder()).setAvailableWavelengths(new ArrayList<>())
+ .build());
+ node1Builder.setSrgAttributes((new SrgAttributesBuilder()).setAvailableWavelengths(new ArrayList<>()).build());
+
+ for (OpenroadmNodeType nodeType : Arrays.asList(OpenroadmNodeType.XPONDER, OpenroadmNodeType.DEGREE,
+ OpenroadmNodeType.SRG)) {
+ node1Builder.setNodeType(nodeType);
+ terminationPoint1Builder.setTpType(OpenroadmTpType.DEGREETXTTP);
+ parameters.add(new Object[] { pathDescription, terminationPoint1Builder.build(), node1Builder.build() });
+ }
+
+ for (OpenroadmTpType tpType : OpenroadmTpType.values()) {
+ node1Builder.setNodeType(OpenroadmNodeType.DEGREE);
+ node1Builder.setDegreeAttributes(null);
+ terminationPoint1Builder.setTpType(tpType);
+ parameters.add(new Object[] { pathDescription, terminationPoint1Builder.build(), node1Builder.build() });
+ }
+
+ node1Builder.setNodeType(OpenroadmNodeType.SRG);
+ node1Builder.setDegreeAttributes((new DegreeAttributesBuilder()).setAvailableWavelengths(new ArrayList<>())
+ .build());
+ node1Builder.setSrgAttributes(null);
+ terminationPoint1Builder.setTpType(OpenroadmTpType.DEGREETXTTP);
+ parameters.add(new Object[] { pathDescription, terminationPoint1Builder.build(), node1Builder.build() });
+
+ return parameters;
+ }
+
+ @Before
+ public void setMountPoint() {
+ MountPointService mountPointService = new MountPointServiceStub(new MountPointStub(this.getDataBroker()));
+ this.deviceTransactionManager = new DeviceTransactionManagerImpl(mountPointService, 3000);
+ networkModelWavelengthService = new NetworkModelWavelengthServiceImpl(this.getDataBroker());
+ }
+
+ @Test
+ public void freeWavelengthsTest() throws ExecutionException, InterruptedException {
+ WaveLengthServiceUtils.putTerminationPoint1ToDatastore("node1" + OpenRoadmInterfacesImpl.TTP_TOKEN,
+ OpenRoadmInterfacesImpl.TTP_TOKEN,
+ this.terminationPoint1, this.deviceTransactionManager);
+ WaveLengthServiceUtils.putNode1ToDatastore("node1" + OpenRoadmInterfacesImpl.TTP_TOKEN, this.node1,
+ this.deviceTransactionManager);
+ this.networkModelWavelengthService.freeWavelengths(this.pathDescription);
+ Node1 updatedNode1 = WaveLengthServiceUtils.getNode1FromDatastore("node1" + OpenRoadmInterfacesImpl.TTP_TOKEN,
+ this.deviceTransactionManager);
+ TerminationPoint1 updatedTerminationPoint1 =
+ WaveLengthServiceUtils.getTerminationPoint1FromDatastore("node1" + OpenRoadmInterfacesImpl.TTP_TOKEN,
+ OpenRoadmInterfacesImpl.TTP_TOKEN, this.deviceTransactionManager);
+ switch (updatedTerminationPoint1.getTpType()) {
+ case DEGREETXRXCTP:
+ case DEGREETXCTP:
+ case DEGREERXCTP:
+ Assert.assertNull(updatedTerminationPoint1.getCtpAttributes());
+ Assert.assertFalse(updatedTerminationPoint1.getCpAttributes().getUsedWavelengths().isEmpty());
+ Assert.assertFalse(updatedTerminationPoint1.getTxTtpAttributes().getUsedWavelengths().isEmpty());
+ Assert.assertFalse(updatedTerminationPoint1.getRxTtpAttributes().getUsedWavelengths().isEmpty());
+ Assert.assertFalse(updatedTerminationPoint1.getPpAttributes().getUsedWavelength().isEmpty());
+ Assert.assertNotNull(updatedTerminationPoint1.getXpdrClientAttributes().getWavelength());
+ Assert.assertNotNull(updatedTerminationPoint1.getXpdrNetworkAttributes().getWavelength());
+ Assert.assertNotNull(updatedTerminationPoint1.getXpdrPortAttributes().getWavelength());
+ break;
+ case SRGTXCP:
+ case SRGRXCP:
+ case SRGTXRXCP:
+ Assert.assertFalse(updatedTerminationPoint1.getCtpAttributes().getUsedWavelengths().isEmpty());
+ Assert.assertNull(updatedTerminationPoint1.getCpAttributes());
+ Assert.assertFalse(updatedTerminationPoint1.getTxTtpAttributes().getUsedWavelengths().isEmpty());
+ Assert.assertFalse(updatedTerminationPoint1.getRxTtpAttributes().getUsedWavelengths().isEmpty());
+ Assert.assertFalse(updatedTerminationPoint1.getPpAttributes().getUsedWavelength().isEmpty());
+ Assert.assertNotNull(updatedTerminationPoint1.getXpdrClientAttributes().getWavelength());
+ Assert.assertNotNull(updatedTerminationPoint1.getXpdrNetworkAttributes().getWavelength());
+ Assert.assertNotNull(updatedTerminationPoint1.getXpdrPortAttributes().getWavelength());
+ break;
+ case DEGREETXRXTTP:
+ case DEGREETXTTP:
+ Assert.assertFalse(updatedTerminationPoint1.getCtpAttributes().getUsedWavelengths().isEmpty());
+ Assert.assertFalse(updatedTerminationPoint1.getCpAttributes().getUsedWavelengths().isEmpty());
+ Assert.assertNull(updatedTerminationPoint1.getTxTtpAttributes());
+ Assert.assertFalse(updatedTerminationPoint1.getRxTtpAttributes().getUsedWavelengths().isEmpty());
+ Assert.assertFalse(updatedTerminationPoint1.getPpAttributes().getUsedWavelength().isEmpty());
+ Assert.assertNotNull(updatedTerminationPoint1.getXpdrClientAttributes().getWavelength());
+ Assert.assertNotNull(updatedTerminationPoint1.getXpdrNetworkAttributes().getWavelength());
+ Assert.assertNotNull(updatedTerminationPoint1.getXpdrPortAttributes().getWavelength());
+ break;
+ case DEGREERXTTP:
+ Assert.assertFalse(updatedTerminationPoint1.getCtpAttributes().getUsedWavelengths().isEmpty());
+ Assert.assertFalse(updatedTerminationPoint1.getCpAttributes().getUsedWavelengths().isEmpty());
+ Assert.assertFalse(updatedTerminationPoint1.getTxTtpAttributes().getUsedWavelengths().isEmpty());
+ Assert.assertNull(updatedTerminationPoint1.getRxTtpAttributes());
+ Assert.assertFalse(updatedTerminationPoint1.getPpAttributes().getUsedWavelength().isEmpty());
+ Assert.assertNotNull(updatedTerminationPoint1.getXpdrClientAttributes().getWavelength());
+ Assert.assertNotNull(updatedTerminationPoint1.getXpdrNetworkAttributes().getWavelength());
+ Assert.assertNotNull(updatedTerminationPoint1.getXpdrPortAttributes().getWavelength());
+ break;
+ case SRGRXPP:
+ case SRGTXPP:
+ case SRGTXRXPP:
+ Assert.assertFalse(updatedTerminationPoint1.getCtpAttributes().getUsedWavelengths().isEmpty());
+ Assert.assertFalse(updatedTerminationPoint1.getCpAttributes().getUsedWavelengths().isEmpty());
+ Assert.assertFalse(updatedTerminationPoint1.getTxTtpAttributes().getUsedWavelengths().isEmpty());
+ Assert.assertFalse(updatedTerminationPoint1.getRxTtpAttributes().getUsedWavelengths().isEmpty());
+ Assert.assertNull(updatedTerminationPoint1.getPpAttributes());
+ Assert.assertNotNull(updatedTerminationPoint1.getXpdrClientAttributes().getWavelength());
+ Assert.assertNotNull(updatedTerminationPoint1.getXpdrNetworkAttributes().getWavelength());
+ Assert.assertNotNull(updatedTerminationPoint1.getXpdrPortAttributes().getWavelength());
+ break;
+ case XPONDERCLIENT:
+ Assert.assertFalse(updatedTerminationPoint1.getCtpAttributes().getUsedWavelengths().isEmpty());
+ Assert.assertFalse(updatedTerminationPoint1.getCpAttributes().getUsedWavelengths().isEmpty());
+ Assert.assertFalse(updatedTerminationPoint1.getTxTtpAttributes().getUsedWavelengths().isEmpty());
+ Assert.assertFalse(updatedTerminationPoint1.getRxTtpAttributes().getUsedWavelengths().isEmpty());
+ Assert.assertFalse(updatedTerminationPoint1.getPpAttributes().getUsedWavelength().isEmpty());
+ Assert.assertNull(updatedTerminationPoint1.getXpdrClientAttributes());
+ Assert.assertNotNull(updatedTerminationPoint1.getXpdrNetworkAttributes().getWavelength());
+ Assert.assertNotNull(updatedTerminationPoint1.getXpdrPortAttributes().getWavelength());
+ break;
+ case XPONDERNETWORK:
+ Assert.assertFalse(updatedTerminationPoint1.getCtpAttributes().getUsedWavelengths().isEmpty());
+ Assert.assertFalse(updatedTerminationPoint1.getCpAttributes().getUsedWavelengths().isEmpty());
+ Assert.assertFalse(updatedTerminationPoint1.getTxTtpAttributes().getUsedWavelengths().isEmpty());
+ Assert.assertFalse(updatedTerminationPoint1.getRxTtpAttributes().getUsedWavelengths().isEmpty());
+ Assert.assertFalse(updatedTerminationPoint1.getPpAttributes().getUsedWavelength().isEmpty());
+ Assert.assertNotNull(updatedTerminationPoint1.getXpdrClientAttributes().getWavelength());
+ Assert.assertNull(updatedTerminationPoint1.getXpdrNetworkAttributes());
+ Assert.assertNotNull(updatedTerminationPoint1.getXpdrPortAttributes().getWavelength());
+ break;
+ case XPONDERPORT:
+ Assert.assertFalse(updatedTerminationPoint1.getCtpAttributes().getUsedWavelengths().isEmpty());
+ Assert.assertFalse(updatedTerminationPoint1.getCpAttributes().getUsedWavelengths().isEmpty());
+ Assert.assertFalse(updatedTerminationPoint1.getTxTtpAttributes().getUsedWavelengths().isEmpty());
+ Assert.assertFalse(updatedTerminationPoint1.getRxTtpAttributes().getUsedWavelengths().isEmpty());
+ Assert.assertFalse(updatedTerminationPoint1.getPpAttributes().getUsedWavelength().isEmpty());
+ Assert.assertNotNull(updatedTerminationPoint1.getXpdrClientAttributes().getWavelength());
+ Assert.assertNotNull(updatedTerminationPoint1.getXpdrNetworkAttributes().getWavelength());
+ Assert.assertNull(updatedTerminationPoint1.getXpdrPortAttributes());
+ break;
+ default:
+ Assert.assertFalse(updatedTerminationPoint1.getCtpAttributes().getUsedWavelengths().isEmpty());
+ Assert.assertFalse(updatedTerminationPoint1.getCpAttributes().getUsedWavelengths().isEmpty());
+ Assert.assertFalse(updatedTerminationPoint1.getTxTtpAttributes().getUsedWavelengths().isEmpty());
+ Assert.assertFalse(updatedTerminationPoint1.getRxTtpAttributes().getUsedWavelengths().isEmpty());
+ Assert.assertFalse(updatedTerminationPoint1.getPpAttributes().getUsedWavelength().isEmpty());
+ Assert.assertNotNull(updatedTerminationPoint1.getXpdrClientAttributes().getWavelength());
+ Assert.assertNotNull(updatedTerminationPoint1.getXpdrNetworkAttributes().getWavelength());
+ Assert.assertNotNull(updatedTerminationPoint1.getXpdrPortAttributes().getWavelength());
+ break;
+ }
+ switch (updatedNode1.getNodeType()) {
+ case DEGREE:
+ Assert.assertEquals(1, updatedNode1.getDegreeAttributes().getAvailableWavelengths().size());
+ Assert.assertEquals(WAVE_LENGTH,
+ updatedNode1.getDegreeAttributes().getAvailableWavelengths().get(0).getIndex());
+ Assert.assertTrue(updatedNode1.getSrgAttributes().getAvailableWavelengths().isEmpty());
+ break;
+ case SRG:
+ Assert.assertEquals(1, updatedNode1.getSrgAttributes().getAvailableWavelengths().size());
+ Assert.assertEquals(WAVE_LENGTH,
+ updatedNode1.getSrgAttributes().getAvailableWavelengths().get(0).getIndex());
+ Assert.assertTrue(updatedNode1.getDegreeAttributes().getAvailableWavelengths().isEmpty());
+ break;
+ default:
+ Assert.assertTrue(updatedNode1.getDegreeAttributes().getAvailableWavelengths().isEmpty());
+ Assert.assertTrue(updatedNode1.getSrgAttributes().getAvailableWavelengths().isEmpty());
+ break;
+ }
+ }
+}
--- /dev/null
+/*
+ * Copyright © 2018 Orange Systems, Inc. and others. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+package org.opendaylight.transportpce.renderer;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+import java.util.concurrent.ExecutionException;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+import org.opendaylight.controller.md.sal.binding.api.MountPointService;
+import org.opendaylight.transportpce.common.device.DeviceTransactionManager;
+import org.opendaylight.transportpce.common.device.DeviceTransactionManagerImpl;
+import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl;
+import org.opendaylight.transportpce.renderer.stub.MountPointServiceStub;
+import org.opendaylight.transportpce.renderer.stub.MountPointStub;
+import org.opendaylight.transportpce.renderer.utils.ServiceDeleteDataUtils;
+import org.opendaylight.transportpce.renderer.utils.WaveLengthServiceUtils;
+import org.opendaylight.transportpce.test.AbstractTest;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.degree.rev170929.degree.node.attributes.AvailableWavelengthsBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.Node1;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.Node1Builder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.TerminationPoint1;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.TerminationPoint1Builder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network.node.DegreeAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network.node.SrgAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network.node.termination.point.CpAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network.node.termination.point.CtpAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network.node.termination.point.PpAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network.node.termination.point.RxTtpAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network.node.termination.point.TxTtpAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network.node.termination.point.XpdrClientAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network.node.termination.point.XpdrNetworkAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network.node.termination.point.XpdrPortAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev170929.OpenroadmNodeType;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev170929.OpenroadmTpType;
+import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev171016.service.path.PathDescription;
+
+@RunWith(Parameterized.class)
+public class NetworkModelWaveLengthServiceUseTest extends AbstractTest {
+
+ private NetworkModelWavelengthService networkModelWavelengthService;
+ private DeviceTransactionManager deviceTransactionManager;
+
+ private TerminationPoint1 terminationPoint1;
+ private PathDescription pathDescription;
+ private Node1 node1;
+
+ @Before
+ public void setMountPoint() {
+ MountPointService mountPointService = new MountPointServiceStub(new MountPointStub(this.getDataBroker()));
+ this.deviceTransactionManager = new DeviceTransactionManagerImpl(mountPointService, 3000);
+ networkModelWavelengthService = new NetworkModelWavelengthServiceImpl(this.getDataBroker());
+ }
+
+ public NetworkModelWaveLengthServiceUseTest(PathDescription pathDescription, TerminationPoint1 terminationPoint1,
+ Node1 node1) {
+ this.pathDescription = pathDescription;
+ this.terminationPoint1 = terminationPoint1;
+ this.node1 = node1;
+ }
+
+ @Parameterized.Parameters
+ public static Collection createParameters() {
+ List<Object[]> parameters = new ArrayList<>();
+
+ PathDescription pathDescription =
+ ServiceDeleteDataUtils.createTransactionPathDescription(OpenRoadmInterfacesImpl.TTP_TOKEN);
+
+ TerminationPoint1Builder terminationPoint1Builder = new TerminationPoint1Builder();
+ terminationPoint1Builder
+ .setCtpAttributes((new CtpAttributesBuilder()).setUsedWavelengths(new ArrayList<>()).build());
+ terminationPoint1Builder
+ .setCpAttributes((new CpAttributesBuilder()).setUsedWavelengths(new ArrayList<>()).build());
+ terminationPoint1Builder
+ .setTxTtpAttributes((new TxTtpAttributesBuilder()).setUsedWavelengths(new ArrayList<>()).build());
+ terminationPoint1Builder
+ .setRxTtpAttributes((new RxTtpAttributesBuilder()).setUsedWavelengths(new ArrayList<>()).build());
+ terminationPoint1Builder.setPpAttributes((new PpAttributesBuilder()).setUsedWavelength(new ArrayList<>())
+ .build());
+ terminationPoint1Builder.setXpdrClientAttributes((new XpdrClientAttributesBuilder()).build());
+ terminationPoint1Builder.setXpdrNetworkAttributes((new XpdrNetworkAttributesBuilder()).build());
+ terminationPoint1Builder.setXpdrPortAttributes((new XpdrPortAttributesBuilder()).build());
+
+ Node1Builder node1Builder = new Node1Builder();
+ node1Builder.setDegreeAttributes((new DegreeAttributesBuilder())
+ .setAvailableWavelengths(Collections.singletonList(new AvailableWavelengthsBuilder().setIndex(20L).build()))
+ .build());
+ node1Builder.setSrgAttributes((new SrgAttributesBuilder()).setAvailableWavelengths(Collections.singletonList(
+ new org.opendaylight.yang.gen.v1.http.org.openroadm.srg.rev170929.srg.node.attributes
+ .AvailableWavelengthsBuilder().setIndex(20L).build())).build());
+
+ for (OpenroadmNodeType nodeType : Arrays
+ .asList(OpenroadmNodeType.XPONDER, OpenroadmNodeType.DEGREE, OpenroadmNodeType.SRG)) {
+ node1Builder.setNodeType(nodeType);
+ terminationPoint1Builder.setTpType(OpenroadmTpType.DEGREETXTTP);
+ parameters.add(new Object[] { pathDescription, terminationPoint1Builder.build(), node1Builder.build() });
+ }
+
+ for (OpenroadmTpType tpType : OpenroadmTpType.values()) {
+ node1Builder.setNodeType(OpenroadmNodeType.DEGREE);
+ terminationPoint1Builder.setTpType(tpType);
+ parameters.add(new Object[] { pathDescription, terminationPoint1Builder.build(), node1Builder.build() });
+ }
+
+ return parameters;
+ }
+
+ @Test
+ public void freeWavelengthsTest() throws ExecutionException, InterruptedException {
+ WaveLengthServiceUtils
+ .putTerminationPoint1ToDatastore("node1" + OpenRoadmInterfacesImpl.TTP_TOKEN,
+ OpenRoadmInterfacesImpl.TTP_TOKEN,
+ this.terminationPoint1, this.deviceTransactionManager);
+ WaveLengthServiceUtils.putNode1ToDatastore("node1" + OpenRoadmInterfacesImpl.TTP_TOKEN, this.node1,
+ this.deviceTransactionManager);
+ this.networkModelWavelengthService.useWavelengths(this.pathDescription);
+ Node1 updatedNode1 = WaveLengthServiceUtils.getNode1FromDatastore("node1" + OpenRoadmInterfacesImpl.TTP_TOKEN,
+ this.deviceTransactionManager);
+ TerminationPoint1 updatedTerminationPoint1 = WaveLengthServiceUtils
+ .getTerminationPoint1FromDatastore("node1" + OpenRoadmInterfacesImpl.TTP_TOKEN,
+ OpenRoadmInterfacesImpl.TTP_TOKEN,
+ this.deviceTransactionManager);
+
+ switch (updatedTerminationPoint1.getTpType()) {
+ case DEGREETXRXCTP:
+ case DEGREETXCTP:
+ case DEGREERXCTP:
+ Assert.assertFalse(updatedTerminationPoint1.getCtpAttributes().getUsedWavelengths().isEmpty());
+ Assert.assertTrue(updatedTerminationPoint1.getCpAttributes().getUsedWavelengths().isEmpty());
+ Assert.assertTrue(updatedTerminationPoint1.getTxTtpAttributes().getUsedWavelengths().isEmpty());
+ Assert.assertTrue(updatedTerminationPoint1.getRxTtpAttributes().getUsedWavelengths().isEmpty());
+ Assert.assertTrue(updatedTerminationPoint1.getPpAttributes().getUsedWavelength().isEmpty());
+ Assert.assertNull(updatedTerminationPoint1.getXpdrClientAttributes().getWavelength());
+ Assert.assertNull(updatedTerminationPoint1.getXpdrNetworkAttributes().getWavelength());
+ Assert.assertNull(updatedTerminationPoint1.getXpdrPortAttributes().getWavelength());
+ break;
+ case SRGTXCP:
+ case SRGRXCP:
+ case SRGTXRXCP:
+ Assert.assertTrue(updatedTerminationPoint1.getCtpAttributes().getUsedWavelengths().isEmpty());
+ Assert.assertFalse(updatedTerminationPoint1.getCpAttributes().getUsedWavelengths().isEmpty());
+ Assert.assertTrue(updatedTerminationPoint1.getTxTtpAttributes().getUsedWavelengths().isEmpty());
+ Assert.assertTrue(updatedTerminationPoint1.getRxTtpAttributes().getUsedWavelengths().isEmpty());
+ Assert.assertTrue(updatedTerminationPoint1.getPpAttributes().getUsedWavelength().isEmpty());
+ Assert.assertNull(updatedTerminationPoint1.getXpdrClientAttributes().getWavelength());
+ Assert.assertNull(updatedTerminationPoint1.getXpdrNetworkAttributes().getWavelength());
+ Assert.assertNull(updatedTerminationPoint1.getXpdrPortAttributes().getWavelength());
+ break;
+ case DEGREETXRXTTP:
+ case DEGREETXTTP:
+ Assert.assertTrue(updatedTerminationPoint1.getCtpAttributes().getUsedWavelengths().isEmpty());
+ Assert.assertTrue(updatedTerminationPoint1.getCpAttributes().getUsedWavelengths().isEmpty());
+ Assert.assertFalse(updatedTerminationPoint1.getTxTtpAttributes().getUsedWavelengths().isEmpty());
+ Assert.assertTrue(updatedTerminationPoint1.getRxTtpAttributes().getUsedWavelengths().isEmpty());
+ Assert.assertTrue(updatedTerminationPoint1.getPpAttributes().getUsedWavelength().isEmpty());
+ Assert.assertNull(updatedTerminationPoint1.getXpdrClientAttributes().getWavelength());
+ Assert.assertNull(updatedTerminationPoint1.getXpdrNetworkAttributes().getWavelength());
+ Assert.assertNull(updatedTerminationPoint1.getXpdrPortAttributes().getWavelength());
+ break;
+ case DEGREERXTTP:
+ Assert.assertTrue(updatedTerminationPoint1.getCtpAttributes().getUsedWavelengths().isEmpty());
+ Assert.assertTrue(updatedTerminationPoint1.getCpAttributes().getUsedWavelengths().isEmpty());
+ Assert.assertTrue(updatedTerminationPoint1.getTxTtpAttributes().getUsedWavelengths().isEmpty());
+ Assert.assertFalse(updatedTerminationPoint1.getRxTtpAttributes().getUsedWavelengths().isEmpty());
+ Assert.assertTrue(updatedTerminationPoint1.getPpAttributes().getUsedWavelength().isEmpty());
+ Assert.assertNull(updatedTerminationPoint1.getXpdrClientAttributes().getWavelength());
+ Assert.assertNull(updatedTerminationPoint1.getXpdrNetworkAttributes().getWavelength());
+ Assert.assertNull(updatedTerminationPoint1.getXpdrPortAttributes().getWavelength());
+ break;
+ case SRGRXPP:
+ case SRGTXPP:
+ case SRGTXRXPP:
+ Assert.assertTrue(updatedTerminationPoint1.getCtpAttributes().getUsedWavelengths().isEmpty());
+ Assert.assertTrue(updatedTerminationPoint1.getCpAttributes().getUsedWavelengths().isEmpty());
+ Assert.assertTrue(updatedTerminationPoint1.getTxTtpAttributes().getUsedWavelengths().isEmpty());
+ Assert.assertTrue(updatedTerminationPoint1.getRxTtpAttributes().getUsedWavelengths().isEmpty());
+ Assert.assertFalse(updatedTerminationPoint1.getPpAttributes().getUsedWavelength().isEmpty());
+ Assert.assertNull(updatedTerminationPoint1.getXpdrClientAttributes().getWavelength());
+ Assert.assertNull(updatedTerminationPoint1.getXpdrNetworkAttributes().getWavelength());
+ Assert.assertNull(updatedTerminationPoint1.getXpdrPortAttributes().getWavelength());
+ break;
+ case XPONDERCLIENT:
+ Assert.assertTrue(updatedTerminationPoint1.getCtpAttributes().getUsedWavelengths().isEmpty());
+ Assert.assertTrue(updatedTerminationPoint1.getCpAttributes().getUsedWavelengths().isEmpty());
+ Assert.assertTrue(updatedTerminationPoint1.getTxTtpAttributes().getUsedWavelengths().isEmpty());
+ Assert.assertTrue(updatedTerminationPoint1.getRxTtpAttributes().getUsedWavelengths().isEmpty());
+ Assert.assertTrue(updatedTerminationPoint1.getPpAttributes().getUsedWavelength().isEmpty());
+ Assert.assertNotNull(updatedTerminationPoint1.getXpdrClientAttributes());
+ Assert.assertNull(updatedTerminationPoint1.getXpdrNetworkAttributes().getWavelength());
+ Assert.assertNull(updatedTerminationPoint1.getXpdrPortAttributes().getWavelength());
+ break;
+ case XPONDERNETWORK:
+ Assert.assertTrue(updatedTerminationPoint1.getCtpAttributes().getUsedWavelengths().isEmpty());
+ Assert.assertTrue(updatedTerminationPoint1.getCpAttributes().getUsedWavelengths().isEmpty());
+ Assert.assertTrue(updatedTerminationPoint1.getTxTtpAttributes().getUsedWavelengths().isEmpty());
+ Assert.assertTrue(updatedTerminationPoint1.getRxTtpAttributes().getUsedWavelengths().isEmpty());
+ Assert.assertTrue(updatedTerminationPoint1.getPpAttributes().getUsedWavelength().isEmpty());
+ Assert.assertNull(updatedTerminationPoint1.getXpdrClientAttributes().getWavelength());
+ Assert.assertNotNull(updatedTerminationPoint1.getXpdrNetworkAttributes());
+ Assert.assertNull(updatedTerminationPoint1.getXpdrPortAttributes().getWavelength());
+ break;
+ case XPONDERPORT:
+ Assert.assertTrue(updatedTerminationPoint1.getCtpAttributes().getUsedWavelengths().isEmpty());
+ Assert.assertTrue(updatedTerminationPoint1.getCpAttributes().getUsedWavelengths().isEmpty());
+ Assert.assertTrue(updatedTerminationPoint1.getTxTtpAttributes().getUsedWavelengths().isEmpty());
+ Assert.assertTrue(updatedTerminationPoint1.getRxTtpAttributes().getUsedWavelengths().isEmpty());
+ Assert.assertTrue(updatedTerminationPoint1.getPpAttributes().getUsedWavelength().isEmpty());
+ Assert.assertNull(updatedTerminationPoint1.getXpdrClientAttributes().getWavelength());
+ Assert.assertNull(updatedTerminationPoint1.getXpdrNetworkAttributes().getWavelength());
+ Assert.assertNotNull(updatedTerminationPoint1.getXpdrPortAttributes());
+ break;
+ default:
+ Assert.assertTrue(updatedTerminationPoint1.getCtpAttributes().getUsedWavelengths().isEmpty());
+ Assert.assertTrue(updatedTerminationPoint1.getCpAttributes().getUsedWavelengths().isEmpty());
+ Assert.assertTrue(updatedTerminationPoint1.getTxTtpAttributes().getUsedWavelengths().isEmpty());
+ Assert.assertTrue(updatedTerminationPoint1.getRxTtpAttributes().getUsedWavelengths().isEmpty());
+ Assert.assertTrue(updatedTerminationPoint1.getPpAttributes().getUsedWavelength().isEmpty());
+ Assert.assertNull(updatedTerminationPoint1.getXpdrClientAttributes().getWavelength());
+ Assert.assertNull(updatedTerminationPoint1.getXpdrNetworkAttributes().getWavelength());
+ Assert.assertNull(updatedTerminationPoint1.getXpdrPortAttributes().getWavelength());
+ break;
+ }
+ switch (updatedNode1.getNodeType()) {
+ case DEGREE:
+ Assert.assertNull(updatedNode1.getDegreeAttributes());
+ Assert.assertFalse(updatedNode1.getSrgAttributes().getAvailableWavelengths().isEmpty());
+ break;
+ case SRG:
+ Assert.assertNull(updatedNode1.getSrgAttributes());
+ Assert.assertFalse(updatedNode1.getDegreeAttributes().getAvailableWavelengths().isEmpty());
+ break;
+ default:
+ Assert.assertFalse(updatedNode1.getDegreeAttributes().getAvailableWavelengths().isEmpty());
+ Assert.assertFalse(updatedNode1.getSrgAttributes().getAvailableWavelengths().isEmpty());
+ break;
+ }
+
+ }
+}
import java.util.concurrent.ExecutionException;
import java.util.concurrent.Executors;
-
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
serviceDeleteInputBuilder.setServiceName("service 1");
serviceDeleteInputBuilder.setServiceHandlerHeader((new ServiceHandlerHeaderBuilder())
.setRequestId("request1").build());
- ListenableFuture<ServiceDeleteOutput> serviceDeleteOutput =
- this.rendererServiceOperations.serviceDelete(serviceDeleteInputBuilder.build());
+ ListenableFuture<ServiceDeleteOutput> serviceDeleteOutput
+ = this.rendererServiceOperations.serviceDelete(serviceDeleteInputBuilder.build());
ServiceDeleteOutput output = serviceDeleteOutput.get();
Assert.assertEquals(ResponseCodes.RESPONSE_FAILED,
output.getConfigurationResponseCommon().getResponseCode());
Mockito.doNothing().when(this.openRoadmInterfaces).postEquipmentState(Mockito.anyString(),
Mockito.anyString(), Mockito.anyBoolean());
NotificationPublishService notificationPublishService = new NotificationPublishServiceMock();
+
this.olmService = Mockito.spy(this.olmService);
this.deviceRenderer = Mockito.spy(this.deviceRenderer);
this.rendererServiceOperations = new RendererServiceOperationsImpl(this.deviceRenderer, this.olmService,
- getDataBroker(), this.networkModelWavelengthService, notificationPublishService);
+ getDataBroker(), this.networkModelWavelengthService, notificationPublishService);
+
ServicePathOutputBuilder mockOutputBuilder = new ServicePathOutputBuilder().setResult("success")
.setSuccess(true);
Mockito.doReturn(mockOutputBuilder.build()).when(this.deviceRenderer).setupServicePath(Mockito.any(),
@Test
public void serviceImplementationTerminationPointAsResourceNetwork()
- throws InterruptedException, ExecutionException {
+ throws InterruptedException, ExecutionException {
ServiceImplementationRequestInput input = ServiceDataUtils
.buildServiceImplementationRequestInputTerminationPointResource(OpenRoadmInterfacesImpl.NETWORK_TOKEN);
@Test
public void serviceImplementationTerminationPointAsResourceClient()
- throws InterruptedException, ExecutionException {
+ throws InterruptedException, ExecutionException {
ServiceImplementationRequestInput input = ServiceDataUtils
.buildServiceImplementationRequestInputTerminationPointResource(OpenRoadmInterfacesImpl.CLIENT_TOKEN);
@Test
public void serviceImplementationTerminationPointAsResourceNoMapping()
- throws InterruptedException, ExecutionException {
+ throws InterruptedException, ExecutionException {
String[] interfaceTokens = {
OpenRoadmInterfacesImpl.NETWORK_TOKEN,
ServiceImplementationRequestInput input = ServiceDataUtils
.buildServiceImplementationRequestInputTerminationPointResource(tpToken);
ServiceImplementationRequestOutput result =
- this.rendererServiceOperations.serviceImplementation(input).get();
+ this.rendererServiceOperations.serviceImplementation(input).get();
Assert.assertEquals(ResponseCodes.RESPONSE_FAILED,
result.getConfigurationResponseCommon().getResponseCode());
}
import org.opendaylight.yangtools.yang.common.RpcResult;
import org.opendaylight.yangtools.yang.common.RpcResultBuilder;
+
public class OlmServiceStub implements TransportpceOlmService {
@Override public ListenableFuture<RpcResult<CalculateSpanlossCurrentOutput>> calculateSpanlossCurrent(
import org.opendaylight.yangtools.yang.common.RpcResult;
import org.opendaylight.yangtools.yang.common.RpcResultBuilder;
+
public final class MountPointUtils {
public static MountPointStub getMountPoint(List<Ports> ports, DataBroker dataBroker) {
org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev171017.pce.resource
.resource.resource.NodeBuilder nodesBuilder = new NodeBuilder();
org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev171017.pce.resource
- .resource.resource.Node node1 = nodesBuilder.setNodeId("XPONDER-1-2").build();
+ .resource.resource.Node node1 = nodesBuilder
+ .setNodeId("XPONDER-1-2").build();
org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev171017.pce.resource
- .resource.resource.Node node2 = nodesBuilder.setNodeId("XPONDER-1-2").build();
+ .resource.resource.Node node2 = nodesBuilder
+ .setNodeId("XPONDER-1-2").build();
AToZ atoZ = new AToZBuilder().setId("1").withKey(new AToZKey("1")).setResource(new ResourceBuilder()
.setResource(node1).build()).build();
AToZ atoZ2 = new AToZBuilder().setId("1").withKey(new AToZKey("1")).setResource(new ResourceBuilder()
Integer atozId = 1;
for (String nodeId : nodeIds) {
for (String otherNodeId : nodeIds) {
- TerminationPoint terminationPoint = terminationPointBuilder.setTpNodeId(nodeId + '-' + tpId)
+ TerminationPoint terminationPoint = terminationPointBuilder
+ .setTpNodeId(nodeId + '-'
+ + tpId)
.setTpId(tpId).build();
AToZ atoZ = new AToZBuilder().setId(atozId.toString())
.withKey(new AToZKey(atozId.toString())).setResource(new ResourceBuilder()
Integer ztoaId = 1;
for (String nodeId : nodeIds) {
for (String otherNodeId : nodeIds) {
- TerminationPoint terminationPoint = terminationPointBuilder.setTpNodeId(nodeId + '-' + tpId)
+ TerminationPoint terminationPoint = terminationPointBuilder
+ .setTpNodeId(nodeId + '-'
+ + tpId)
.setTpId(tpId).build();
ZToA ztoA = new ZToABuilder().setId(ztoaId.toString())
.withKey(new ZToAKey(ztoaId.toString())).setResource(new ResourceBuilder()
private static PathDescription createPathDescriptionLinkResource() {
List<AToZ> atoZList = new ArrayList<AToZ>();
+// org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev171017.pce.resource
+// .resource.resource.NodeBuilder nodesBuilder = new NodeBuilder();
Link link1 = new LinkBuilder().setLinkId("link 1").build();
Link link2 = new LinkBuilder().setLinkId("link 2").build();
AToZ atoZ = new AToZBuilder().setId("1").withKey(new AToZKey("1")).setResource(new ResourceBuilder()
.setPortSubSlot("port subslot").setPortType("port type").build())
.build());
}
-
-
-
}
import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.device.rev170228.RendererRollbackInputBuilder;
import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.device.rev170228.ServicePathInput;
import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.device.rev170228.ServicePathInputBuilder;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev171017.ServiceImplementationRequestInput;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev171017.ServiceImplementationRequestInputBuilder;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev171017.service.implementation.request.input.PathDescription;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev171017.service.implementation.request.input.PathDescriptionBuilder;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev171017.service.implementation.request.input.ServiceAEndBuilder;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev171017.service.implementation.request.input.ServiceZEndBuilder;
import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev161014.ServiceFormat;
import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev161014.service.port.PortBuilder;
-import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev171017.path.description.AToZDirection;
-import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev171017.path.description.AToZDirectionBuilder;
-import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev171017.path.description.ZToADirection;
-import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev171017.path.description.ZToADirectionBuilder;
-import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev171017.path.description.atoz.direction.AToZ;
-import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev171017.path.description.atoz.direction.AToZBuilder;
-import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev171017.path.description.atoz.direction.AToZKey;
-import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev171017.path.description.ztoa.direction.ZToA;
-import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev171017.path.description.ztoa.direction.ZToABuilder;
-import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev171017.path.description.ztoa.direction.ZToAKey;
-import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev171017.pce.resource.ResourceBuilder;
-import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev171017.pce.resource.resource.resource.Link;
-import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev171017.pce.resource.resource.resource.LinkBuilder;
-import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev171017.pce.resource.resource.resource.NodeBuilder;
-import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev171017.pce.resource.resource.resource.TerminationPoint;
-import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev171017.pce.resource.resource.resource.TerminationPointBuilder;
-import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev171016.service.endpoint.sp.RxDirectionBuilder;
-import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev171016.service.endpoint.sp.TxDirectionBuilder;
-import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev171016.service.handler.header.ServiceHandlerHeaderBuilder;
+import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev170426.path.description.AToZDirection;
+import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev170426.path.description.AToZDirectionBuilder;
+import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev170426.path.description.ZToADirection;
+import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev170426.path.description.ZToADirectionBuilder;
+import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev170426.path.description.atoz.direction.AToZ;
+import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev170426.path.description.atoz.direction.AToZBuilder;
+import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev170426.path.description.atoz.direction.AToZKey;
+import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev170426.path.description.ztoa.direction.ZToA;
+import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev170426.path.description.ztoa.direction.ZToABuilder;
+import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev170426.path.description.ztoa.direction.ZToAKey;
+import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev170426.pce.resource.ResourceBuilder;
+import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev170426.pce.resource.resource.resource.Link;
+import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev170426.pce.resource.resource.resource.LinkBuilder;
+import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev170426.pce.resource.resource.resource.NodeBuilder;
+import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev170426.pce.resource.resource.resource.TerminationPoint;
+import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev170426.pce.resource.resource.resource.TerminationPointBuilder;
+import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev170426.pce.resource.resource.resource.link.LinkIdentifierBuilder;
+import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev170426.pce.resource.resource.resource.node.NodeIdentifierBuilder;
+import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev170426.pce.resource.resource.resource.termination.point.TerminationPointIdentifierBuilder;
+import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev170426.service.endpoint.sp.RxDirectionBuilder;
+import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev170426.service.endpoint.sp.TxDirectionBuilder;
+import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev170426.service.handler.header.ServiceHandlerHeaderBuilder;
+import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.servicepath.rev170426.ServiceImplementationRequestInput;
+import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.servicepath.rev170426.ServiceImplementationRequestInputBuilder;
+import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.servicepath.rev170426.service.implementation.request.input.PathDescription;
+import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.servicepath.rev170426.service.implementation.request.input.PathDescriptionBuilder;
+import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.servicepath.rev170426.service.implementation.request.input.ServiceAEndBuilder;
+import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.servicepath.rev170426.service.implementation.request.input.ServiceZEndBuilder;
import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev170907.olm.renderer.input.Nodes;
import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev170907.olm.renderer.input.NodesBuilder;
import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev170907.olm.renderer.input.NodesKey;
private static PathDescription createPathDescriptionInvalidResource() {
List<AToZ> atoZList = new ArrayList<AToZ>();
- org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev171017.pce.resource
+ org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev170426.pce.resource
.resource.resource.NodeBuilder nodesBuilder = new NodeBuilder();
- org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev171017.pce.resource
- .resource.resource.Node node1 = nodesBuilder.setNodeId("XPONDER-1-2").build();
- org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev171017.pce.resource
- .resource.resource.Node node2 = nodesBuilder.setNodeId("XPONDER-1-2").build();
+ org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev170426.pce.resource
+ .resource.resource.Node node1 = nodesBuilder.setNodeIdentifier(new NodeIdentifierBuilder()
+ .setNodeId("XPONDER-1-2").build()).build();
+ org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev170426.pce.resource
+ .resource.resource.Node node2 = nodesBuilder.setNodeIdentifier(new NodeIdentifierBuilder()
+ .setNodeId("XPONDER-1-2").build()).build();
AToZ atoZ = new AToZBuilder().setId("1").withKey(new AToZKey("1")).setResource(new ResourceBuilder()
.setResource(node1).build()).build();
AToZ atoZ2 = new AToZBuilder().setId("1").withKey(new AToZKey("1")).setResource(new ResourceBuilder()
public static PathDescription createPathDescriptionTerminationPointResource(String tpId) {
List<AToZ> atoZList = new ArrayList<AToZ>();
TerminationPointBuilder terminationPointBuilder = new TerminationPointBuilder();
- TerminationPoint terminationPoint = terminationPointBuilder.setTpNodeId("XPONDER-1-2")
- .setTpId("XPONDER-1-2-" + tpId).build();
- TerminationPoint terminationPoint2 = terminationPointBuilder.setTpNodeId("XPONDER-1-2")
- .setTpId("XPONDER-1-2-" + tpId).build();
+ TerminationPoint terminationPoint = terminationPointBuilder
+ .setTerminationPointIdentifier(new TerminationPointIdentifierBuilder().setNodeId("XPONDER-1-2")
+ .setTpId("XPONDER-1-2-" + tpId).build()).build();
+ TerminationPoint terminationPoint2 = terminationPointBuilder
+ .setTerminationPointIdentifier(new TerminationPointIdentifierBuilder().setNodeId("XPONDER-1-2")
+ .setTpId("XPONDER-1-2-" + tpId).build()).build();
AToZ atoZ = new AToZBuilder().setId("1").withKey(new AToZKey("1")).setResource(new ResourceBuilder()
.setResource(terminationPoint).build()).build();
AToZ atoZ2 = new AToZBuilder().setId("2").withKey(new AToZKey("2")).setResource(new ResourceBuilder()
private static PathDescription createPathDescriptionLinkResource() {
List<AToZ> atoZList = new ArrayList<AToZ>();
- Link link1 = new LinkBuilder().setLinkId("link 1").build();
- Link link2 = new LinkBuilder().setLinkId("link 2").build();
+ org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev170426.pce.resource
+ .resource.resource.NodeBuilder nodesBuilder = new NodeBuilder();
+ Link link1 = new LinkBuilder().setLinkIdentifier(new LinkIdentifierBuilder().setLinkId("link 1").build())
+ .build();
+ Link link2 = new LinkBuilder().setLinkIdentifier(new LinkIdentifierBuilder().setLinkId("link 2").build())
+ .build();
AToZ atoZ = new AToZBuilder().setId("1").withKey(new AToZKey("1")).setResource(new ResourceBuilder()
.setResource(link1).build()).build();
AToZ atoZ2 = new AToZBuilder().setId("1").withKey(new AToZKey("1")).setResource(new ResourceBuilder()
import org.opendaylight.transportpce.common.device.DeviceTransactionManager;
import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.Node1;
import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.TerminationPoint1;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.TerminationPoint1Builder;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev150608.Network;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev150608.NetworkId;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev150608.NetworkKey;
public static void putTerminationPoint1ToDatastore(String nodeId, String tpId, TerminationPoint1 terminationPoint1,
DeviceTransactionManager deviceTransactionManager)
throws ExecutionException, InterruptedException {
- TerminationPoint1Builder terminationPoint1Builder = new TerminationPoint1Builder();
TransactionUtils
.writeTransaction(deviceTransactionManager, nodeId, LogicalDatastoreType.CONFIGURATION,
createTerminationPoint1IIDBuilder(nodeId, tpId).build(), terminationPoint1);