package org.opendaylight.transportpce.tapi.connectivity;
import com.google.common.util.concurrent.ListenableFuture;
-import java.nio.charset.Charset;
+import java.nio.charset.StandardCharsets;
import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
public ListenableFuture<RpcResult<GetConnectivityServiceDetailsOutput>> getConnectivityServiceDetails(
GetConnectivityServiceDetailsInput input) {
// TODO Auto-generated method stub
- Uuid serviceUuid = new Uuid(input.getServiceIdOrName());
+ Uuid serviceUuid = getUuidFromIput(input.getServiceIdOrName());
ConnectivityService service = this.tapiContext.getConnectivityService(serviceUuid);
if (service == null) {
LOG.error("Service {} doesnt exist in tapi context", input.getServiceIdOrName());
public ListenableFuture<RpcResult<GetConnectionDetailsOutput>> getConnectionDetails(
GetConnectionDetailsInput input) {
// TODO Auto-generated method stub
- Uuid connectionUuid = new Uuid(UUID.nameUUIDFromBytes(input.getConnectionIdOrName()
- .getBytes(Charset.forName("UTF-8"))).toString());
+ Uuid connectionUuid = getUuidFromIput(input.getConnectionIdOrName());
Connection connection = this.tapiContext.getConnection(connectionUuid);
if (connection == null) {
LOG.error("Connection {} doesnt exist in tapi context", input.getConnectionIdOrName());
// TODO add try
if (input.getServiceIdOrName() != null) {
try {
- Uuid serviceUuid = new Uuid(input.getServiceIdOrName());
+ Uuid serviceUuid = getUuidFromIput(input.getServiceIdOrName());
this.tapiContext.deleteConnectivityService(serviceUuid);
ListenableFuture<RpcResult<ServiceDeleteOutput>> output =
this.serviceHandler.serviceDelete(new ServiceDeleteInputBuilder()
public ListenableFuture<RpcResult<GetConnectionEndPointDetailsOutput>> getConnectionEndPointDetails(
GetConnectionEndPointDetailsInput input) {
// TODO Auto-generated method stub
- Uuid topoUuid = new Uuid(UUID.nameUUIDFromBytes(input.getTopologyIdOrName()
- .getBytes(Charset.forName("UTF-8"))).toString());
- Uuid nodeUuid = new Uuid(UUID.nameUUIDFromBytes(input.getNodeIdOrName()
- .getBytes(Charset.forName("UTF-8"))).toString());
- Uuid nepUuid = new Uuid(UUID.nameUUIDFromBytes(input.getNepIdOrName()
- .getBytes(Charset.forName("UTF-8"))).toString());
- Uuid cepUuid = new Uuid(UUID.nameUUIDFromBytes(input.getCepIdOrName()
- .getBytes(Charset.forName("UTF-8"))).toString());
+ Uuid topoUuid = getUuidFromIput(input.getTopologyIdOrName());
+ Uuid nodeUuid = getUuidFromIput(input.getNodeIdOrName());
+ Uuid nepUuid = getUuidFromIput(input.getNepIdOrName());
+ Uuid cepUuid = getUuidFromIput(input.getCepIdOrName());
ConnectionEndPoint cep = this.tapiContext.getTapiCEP(topoUuid, nodeUuid, nepUuid, cepUuid);
if (cep == null) {
LOG.error("Cep doesnt exist in tapi context");
return RpcResultBuilder.success(new GetConnectionEndPointDetailsOutputBuilder().setConnectionEndPoint(
new ConnectionEndPointBuilder(cep).build()).build()).buildFuture();
}
+
+ private Uuid getUuidFromIput(String serviceIdOrName) {
+ try {
+ UUID.fromString(serviceIdOrName);
+ LOG.info("Given attribute {} is a UUID", serviceIdOrName);
+ return new Uuid(serviceIdOrName);
+ } catch (IllegalArgumentException e) {
+ LOG.info("Given attribute {} is not a UUID", serviceIdOrName);
+ return new Uuid(UUID.nameUUIDFromBytes(serviceIdOrName.getBytes(StandardCharsets.UTF_8)).toString());
+ }
+ }
}
import com.google.common.util.concurrent.FluentFuture;
import com.google.common.util.concurrent.ListenableFuture;
import java.nio.charset.Charset;
+import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
public ListenableFuture<RpcResult<GetNodeDetailsOutput>> getNodeDetails(GetNodeDetailsInput input) {
// TODO Auto-generated method stub
// TODO -> maybe we get errors when having CEPs?
- Uuid topoUuid = new Uuid(UUID.nameUUIDFromBytes(input.getTopologyIdOrName().getBytes(Charset.forName("UTF-8")))
- .toString());
+ Uuid topoUuid = getUuidFromIput(input.getTopologyIdOrName());
// Node id: if roadm -> ROADM+PHOTONIC_MEDIA. if xpdr -> XPDR-XPDR+DSR/OTSi
- Uuid nodeUuid = new Uuid(UUID.nameUUIDFromBytes(input.getNodeIdOrName().getBytes(Charset.forName("UTF-8")))
- .toString());
+ Uuid nodeUuid = getUuidFromIput(input.getNodeIdOrName());
org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.topology.Node node = this.tapiContext
.getTapiNode(topoUuid, nodeUuid);
if (node == null) {
GetNodeEdgePointDetailsInput input) {
// TODO Auto-generated method stub
// TODO -> maybe we get errors when having CEPs?
- Uuid topoUuid = new Uuid(UUID.nameUUIDFromBytes(input.getTopologyIdOrName().getBytes(Charset.forName("UTF-8")))
- .toString());
+ Uuid topoUuid = getUuidFromIput(input.getTopologyIdOrName());
// Node id: if roadm -> ROADMid+PHOTONIC_MEDIA. if xpdr -> XPDRid-XPDRnbr+DSR/OTSi
- Uuid nodeUuid = new Uuid(UUID.nameUUIDFromBytes(input.getNodeIdOrName().getBytes(Charset.forName("UTF-8")))
- .toString());
+ Uuid nodeUuid = getUuidFromIput(input.getNodeIdOrName());
// NEP id: if roadm -> ROADMid+PHOTONIC_MEDIA/MC/OTSiMC+TPid.
// if xpdr -> XPDRid-XPDRnbr+DSR/eODU/iODU/iOTSi/eOTSi/PHOTONIC_MEDIA+TPid
- Uuid nepUuid = new Uuid(UUID.nameUUIDFromBytes(input.getEpIdOrName().getBytes(Charset.forName("UTF-8")))
- .toString());
+ Uuid nepUuid = getUuidFromIput(input.getEpIdOrName());
OwnedNodeEdgePoint nep = this.tapiContext.getTapiNEP(topoUuid, nodeUuid, nepUuid);
if (nep == null) {
LOG.error("Invalid TAPI nep name");
@Override
public ListenableFuture<RpcResult<GetLinkDetailsOutput>> getLinkDetails(GetLinkDetailsInput input) {
// TODO Auto-generated method stub
- Uuid topoUuid = new Uuid(UUID.nameUUIDFromBytes(input.getTopologyIdOrName().getBytes(Charset.forName("UTF-8")))
- .toString());
+ Uuid topoUuid = getUuidFromIput(input.getTopologyIdOrName());
// Link id: same as OR link id
- Uuid linkUuid = new Uuid(UUID.nameUUIDFromBytes(input.getLinkIdOrName().getBytes(Charset.forName("UTF-8")))
- .toString());
+ Uuid linkUuid = getUuidFromIput(input.getLinkIdOrName());
org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.topology.Link link = this.tapiContext
.getTapiLink(topoUuid, linkUuid);
if (link == null) {
@Override
public ListenableFuture<RpcResult<GetServiceInterfacePointDetailsOutput>>
getServiceInterfacePointDetails(GetServiceInterfacePointDetailsInput input) {
- Uuid sipUuid = new Uuid(input.getSipIdOrName());
+ Uuid sipUuid = getUuidFromIput(input.getSipIdOrName());
Map<ServiceInterfacePointKey, ServiceInterfacePoint> sips =
this.tapiContext.getTapiContext().getServiceInterfacePoint();
if (sips == null || sips.isEmpty()) {
// TODO --> not yet implemented
return null;
}
+
+ private Uuid getUuidFromIput(String serviceIdOrName) {
+ try {
+ UUID.fromString(serviceIdOrName);
+ LOG.info("Given attribute {} is a UUID", serviceIdOrName);
+ return new Uuid(serviceIdOrName);
+ } catch (IllegalArgumentException e) {
+ LOG.info("Given attribute {} is not a UUID", serviceIdOrName);
+ return new Uuid(UUID.nameUUIDFromBytes(serviceIdOrName.getBytes(StandardCharsets.UTF_8)).toString());
+ }
+ }
}