Merge "Fix Dependency Injection IdManager appears to have to have a LockManager"
[genius.git] / itm / itm-impl / src / main / java / org / opendaylight / genius / itm / cli / TepDelete.java
1 /*
2  * Copyright (c) 2016 Ericsson India Global Services Pvt Ltd. and others.  All rights reserved.
3  *
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
7  */
8 package org.opendaylight.genius.itm.cli;
9
10 import org.apache.karaf.shell.commands.Argument;
11 import org.apache.karaf.shell.commands.Command;
12 import org.apache.karaf.shell.console.OsgiCommandSupport;
13 import org.opendaylight.genius.itm.api.IITMProvider;
14 import org.slf4j.Logger;
15 import org.slf4j.LoggerFactory;
16
17 import java.math.BigInteger;
18
19 @Command(scope = "tep", name = "delete", description = "deleting a tunnel end point")
20 public class TepDelete extends OsgiCommandSupport {
21
22     @Argument(index = 0, name = "dpnId", description = "DPN-ID", required = false, multiValued = false)
23     private BigInteger dpnId;
24     @Argument(index = 1, name = "portName", description = "port-number", required = false, multiValued = false)
25     private String portName;
26     @Argument(index = 2, name = "vlanId", description = "vlan-id", required = false, multiValued = false)
27     private Integer vlanId;
28     @Argument(index = 3, name = "ipAddress", description = "ip-address", required = false, multiValued = false)
29     private String ipAddress;
30     @Argument(index = 4, name = "subnetMask", description = "subnet-Mask", required = false, multiValued = false)
31     private String subnetMask;
32     @Argument(index = 5, name = "gatewayIp", description = "gateway-ip", required = false, multiValued = false)
33     private String gatewayIp;
34     @Argument(index = 6, name = "transportZone", description = "transport_zone", required = false, multiValued = false)
35     private String transportZone;
36
37     private static final Logger logger = LoggerFactory.getLogger(TepDelete.class);
38     private IITMProvider itmProvider;
39
40     public void setItmProvider(IITMProvider itmProvider) {
41         this.itmProvider = itmProvider;
42     }
43     @Override
44     protected Object doExecute() throws Exception {
45
46         if (dpnId == null || portName == null || vlanId == null || ipAddress == null || subnetMask == null
47                         || transportZone == null) {
48             session.getConsole().println("Insufficient Arguments");
49             session.getConsole().println("Correct Usage : exec tep-delete dpnId portName vlanId ipAddress subnetMask gatewayIp transportZone");
50             return null;
51         }
52         itmProvider.deleteVtep(dpnId, portName, vlanId, ipAddress, subnetMask, gatewayIp, transportZone, session);
53         logger.trace("Executing delete TEP command");
54
55         return null;
56
57     }
58 }