2 * Copyright © 2024 Smartoptics 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
9 package org.opendaylight.transportpce.renderer.provisiondevice.transaction.delete;
11 import java.util.ArrayList;
12 import java.util.List;
13 import org.eclipse.jdt.annotation.NonNull;
14 import org.opendaylight.transportpce.common.crossconnect.CrossConnect;
15 import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfaceException;
16 import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfaces;
17 import org.slf4j.Logger;
18 import org.slf4j.LoggerFactory;
20 public class DeleteService implements Delete {
22 private final CrossConnect crossConnect;
23 private final OpenRoadmInterfaces openRoadmInterfaces;
25 private final Subscriber subscriber;
27 private static final Logger LOG = LoggerFactory.getLogger(DeleteService.class);
30 CrossConnect crossConnect,
31 OpenRoadmInterfaces openRoadmInterfaces,
32 Subscriber subscriber) {
33 this.crossConnect = crossConnect;
34 this.openRoadmInterfaces = openRoadmInterfaces;
35 this.subscriber = subscriber;
39 public @NonNull List<String> deleteCrossConnect(String deviceId, String connectionNumber,
41 List<String> result = crossConnect.deleteCrossConnect(deviceId, connectionNumber, isOtn);
44 subscriber.result(false, deviceId, connectionNumber);
45 return new ArrayList<>();
48 subscriber.result(true, deviceId, connectionNumber);
54 public boolean deleteInterface(String nodeId, String interfaceId) {
56 openRoadmInterfaces.deleteInterface(nodeId, interfaceId);
58 subscriber.result(true, nodeId, interfaceId);
60 } catch (OpenRoadmInterfaceException e) {
61 LOG.error("Failed rolling back {} {}", nodeId, interfaceId);
62 subscriber.result(false, nodeId, interfaceId);