*/
package org.opendaylight.transportpce.servicehandler.impl;
-import java.time.LocalDateTime;
+import java.time.OffsetDateTime;
+import java.time.ZoneOffset;
import java.time.format.DateTimeFormatter;
import java.util.Optional;
import java.util.concurrent.ExecutionException;
ReadOnlyTransaction rtx = this.db.newReadOnlyTransaction();
Optional<Services> servicesObject;
try {
- servicesObject = rtx.read(LogicalDatastoreType.CONFIGURATION, servicesIID).get().toJavaUtil();
+ servicesObject = rtx.read(LogicalDatastoreType.OPERATIONAL, servicesIID).get().toJavaUtil();
if (servicesObject.isPresent()) {
ServiceDeleteInputBuilder deleteInputBldr = new ServiceDeleteInputBuilder();
- DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyy-MM-dd'T'HH:mm:ssX");
- LocalDateTime now = LocalDateTime.now();
- DateAndTime datetime = new DateAndTime(dtf.format(now));
+ DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ssxxx");
+ OffsetDateTime offsetDateTime = OffsetDateTime.now(ZoneOffset.UTC);
+ DateAndTime datetime = new DateAndTime(dtf.format(offsetDateTime));
deleteInputBldr.setServiceDeleteReqInfo(new ServiceDeleteReqInfoBuilder()
.setServiceName(input.getServiceName()).setDueDate(datetime)
.setTailRetention(TailRetention.No).build());
.setStatusMessage("Success");
return RpcResultBuilder.success(output).buildFuture();
}
- } catch (InterruptedException | ExecutionException e) {
+ } catch (InterruptedException | ExecutionException | NullPointerException e) {
LOG.info("Exception caught" , e);
}
ServiceRerouteOutputBuilder output = new ServiceRerouteOutputBuilder()
import java.util.Optional;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.Future;
+
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev161014.service.lgx.LgxBuilder;
import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev161014.service.port.Port;
import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev161014.service.port.PortBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev161014.RpcStatus;
import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev161014.State;
import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev161014.ServiceCreateInput;
import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev161014.ServiceCreateInputBuilder;
import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev161014.ServiceDeleteInput;
import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev161014.ServiceDeleteInputBuilder;
import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev161014.ServiceDeleteOutput;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev161014.ServiceRerouteInput;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev161014.ServiceRerouteInputBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev161014.ServiceRerouteOutput;
import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev161014.service.delete.input.ServiceDeleteReqInfo;
import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev161014.service.delete.input.ServiceDeleteReqInfoBuilder;
import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev161014.service.list.Services;
builtInput.setServiceAEnd(serviceAEnd);
builtInput.setServiceZEnd(serviceZEnd);
builtInput.setSdncRequestHeader(new SdncRequestHeaderBuilder().setRequestId("request 1")
- .setRpcAction(RpcActions.ServiceCreate).build());
+ .setRpcAction(RpcActions.ServiceCreate).setNotificationUrl("notification url").build());
return builtInput.build();
}
deleteInputBldr.setSdncRequestHeader(sdncBuilder.build());
return deleteInputBldr.build();
}
+
+
+ @Test
+ public void rerouteServiceIsNotePresent() throws ExecutionException, InterruptedException {
+
+ ServiceRerouteInput input = buildServiceRerouteInput();
+ ServiceRerouteOutput result = serviceHandler.serviceReroute(input).get().getResult();
+ Assert.assertEquals(result.getStatus(), RpcStatus.Failed);
+ Assert.assertEquals(result.getStatusMessage(), "Failure");
+
+ }
+
+ @Test
+ public void rerouteServiceIfservicesIIDIswildCarded() throws ExecutionException, InterruptedException {
+
+ ServiceCreateInput createInput = buildServiceCreateInput();
+ ServiceCreateOutput createOutput = serviceHandler.serviceCreate(createInput).get().getResult();
+ ServiceRerouteInput input = buildServiceRerouteInput();
+ ServiceRerouteOutput result = serviceHandler.serviceReroute(input).get().getResult();
+ Assert.assertEquals(org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev161014.RpcStatus.Successful,
+ result.getStatus());
+ Assert.assertEquals("Success", result.getStatusMessage());
+
+ }
+
+ private ServiceRerouteInput buildServiceRerouteInput() {
+ ServiceRerouteInputBuilder builder = new ServiceRerouteInputBuilder();
+ builder.setServiceName("service 1");
+ return builder.build();
+ }
}