2 * Copyright © 2017 Orange, Inc. and others. All rights reserved.
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
10 package org.opendaylight.transportpce.stubpce;
12 import java.util.ArrayList;
13 import java.util.List;
15 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev170426.path.description.AToZDirection;
16 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev170426.path.description.AToZDirectionBuilder;
17 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev170426.path.description.ZToADirection;
18 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev170426.path.description.ZToADirectionBuilder;
19 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev170426.path.description.atoz.direction.AToZ;
20 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev170426.path.description.atoz.direction.AToZBuilder;
21 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev170426.path.description.atoz.direction.AToZKey;
22 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev170426.path.description.ztoa.direction.ZToA;
23 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev170426.path.description.ztoa.direction.ZToABuilder;
24 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev170426.path.description.ztoa.direction.ZToAKey;
25 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev170426.pce.resource.Resource;
26 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev170426.pce.resource.ResourceBuilder;
27 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev170426.pce.resource.resource.resource.Link;
28 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev170426.pce.resource.resource.resource.LinkBuilder;
29 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev170426.pce.resource.resource.resource.Node;
30 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev170426.pce.resource.resource.resource.NodeBuilder;
31 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev170426.response.parameters.sp.response.parameters.PathDescriptionBuilder;
32 import org.slf4j.Logger;
33 import org.slf4j.LoggerFactory;
38 * - path-computation-request
39 * - cancel-resource-reserve.
40 * @author Martial Coulibaly ( martial.coulibaly@gfi.com ) on behalf of Orange
43 public class SendingPceRPCs {
46 private static final Logger LOG = LoggerFactory.getLogger(SendingPceRPCs.class);
47 /* define procedure success (or not ). */
48 private Boolean success;
49 /* define type of request<br>
50 * <code>true</code> pathcomputation <br>
51 * <code>false</code> cancelresourcereserve .*/
52 private AToZDirection atozdirection;
53 private ZToADirection ztoadirection;
54 private PathDescriptionBuilder pathDescription;
57 public SendingPceRPCs() {
61 setPathDescription(null);
64 public void cancelResourceReserve() {
65 LOG.info("Wait for 10s til beginning the PCE cancelResourceReserve request");
67 Thread.sleep(10000); //sleep for 10s
68 } catch (InterruptedException e) {
69 LOG.error(e.toString());
71 LOG.info("cancelResourceReserve ...");
74 public void pathComputation() {
75 LOG.info("Wait for 10s til beginning the PCE pathComputation request");
77 Thread.sleep(10000); //sleep for 10s
78 } catch (InterruptedException e) {
79 LOG.error(e.toString());
81 LOG.info("PathComputation ...");
85 setPathDescription(new PathDescriptionBuilder()
86 .setAToZDirection(atozdirection)
87 .setZToADirection(ztoadirection));
90 public void buildAToZ() {
91 Link atoB = new LinkBuilder()
94 Link btoZ = new LinkBuilder()
98 Node roadmA = new NodeBuilder()
101 Node roadmB = new NodeBuilder()
104 Node roadmZ = new NodeBuilder()
110 AToZKey roadmAKey = new AToZKey("RoadmA");
111 Resource roadmAResource = new ResourceBuilder()
114 AToZ atoz = new AToZBuilder()
117 .setResource(roadmAResource)
120 AToZKey atoBKey = new AToZKey("AtoB");
121 Resource atozResource = new ResourceBuilder()
124 AToZ atob = new AToZBuilder()
127 .setResource(atozResource)
130 AToZKey roadmBKey = new AToZKey("RoadmB");
131 Resource roadmBResource = new ResourceBuilder()
134 AToZ roadmb = new AToZBuilder()
137 .setResource(roadmBResource)
140 AToZKey btoZKey = new AToZKey("BtoZ");
141 Resource botzResource = new ResourceBuilder()
144 AToZ btoz = new AToZBuilder()
147 .setResource(botzResource)
150 AToZKey roadmZKey = new AToZKey("RoadmZ");
151 Resource roadmZResource = new ResourceBuilder()
154 AToZ roadmz = new AToZBuilder()
157 .setResource(roadmZResource)
160 List<AToZ> atozList = new ArrayList<AToZ>();
163 atozList.add(roadmb);
165 atozList.add(roadmz);
167 atozdirection = new AToZDirectionBuilder()
169 .setAToZWavelengthNumber((long)200)
174 public void buildZToA() {
176 Link btoA = new LinkBuilder()
179 Link ztoB = new LinkBuilder()
183 Node roadmA = new NodeBuilder()
186 Node roadmB = new NodeBuilder()
189 Node roadmZ = new NodeBuilder()
195 ZToAKey roadmZKey = new ZToAKey("RoadmZ");
196 Resource roadmZResource = new ResourceBuilder()
199 ZToA ztoa = new ZToABuilder()
202 .setResource(roadmZResource)
205 ZToAKey ztoBKey = new ZToAKey("ZtoB");
206 Resource ztoBResource = new ResourceBuilder()
209 ZToA ztob = new ZToABuilder()
212 .setResource(ztoBResource)
215 ZToAKey roadmBKey = new ZToAKey("RoadmB");
216 Resource roadmBResource = new ResourceBuilder()
219 ZToA roadmb = new ZToABuilder()
222 .setResource(roadmBResource)
225 ZToAKey btoAKey = new ZToAKey("BtoA");
226 Resource btoAResource = new ResourceBuilder()
229 ZToA btoa = new ZToABuilder()
232 .setResource(btoAResource)
235 ZToAKey roadmAKey = new ZToAKey("RoadmA");
236 Resource roadmAResource = new ResourceBuilder()
239 ZToA roadma = new ZToABuilder()
242 .setResource(roadmAResource)
245 List<ZToA> ztoaList = new ArrayList<ZToA>();
248 ztoaList.add(roadmb);
250 ztoaList.add(roadma);
252 ztoadirection = new ZToADirectionBuilder()
254 .setZToAWavelengthNumber((long)100)
259 public PathDescriptionBuilder getPathDescription() {
260 return pathDescription;
263 public void setPathDescription(PathDescriptionBuilder pathDescription) {
264 this.pathDescription = pathDescription;
267 public Boolean getSuccess() {
271 public void setSuccess(Boolean success) {
272 this.success = success;