blob: df5f33505ce13be506740fba6cd8cc9e9952b9bd [file] [log] [blame]
Brian O'Connora4cab072014-10-03 18:46:39 -07001package org.onlab.onos.cli.net;
2
3import org.apache.karaf.shell.commands.Argument;
4import org.apache.karaf.shell.commands.Command;
5import org.onlab.onos.cli.AbstractShellCommand;
6import org.onlab.onos.net.intent.Intent;
7import org.onlab.onos.net.intent.IntentId;
8import org.onlab.onos.net.intent.IntentService;
9
Thomas Vachuska4926c1b2014-10-21 00:44:10 -070010import java.math.BigInteger;
11
Brian O'Connora4cab072014-10-03 18:46:39 -070012/**
13 * Removes host-to-host connectivity intent.
14 */
tom6db1f0a2014-10-07 09:12:29 -070015@Command(scope = "onos", name = "remove-intent",
16 description = "Removes the specified intent")
17public class IntentRemoveCommand extends AbstractShellCommand {
Brian O'Connora4cab072014-10-03 18:46:39 -070018
19 @Argument(index = 0, name = "id", description = "Intent ID",
20 required = true, multiValued = false)
21 String id = null;
22
23 @Override
24 protected void execute() {
25 IntentService service = get(IntentService.class);
26
Thomas Vachuska4926c1b2014-10-21 00:44:10 -070027 if (id.startsWith("0x")) {
Brian O'Connora4cab072014-10-03 18:46:39 -070028 id = id.replaceFirst("0x", "");
29 }
Brian O'Connora4cab072014-10-03 18:46:39 -070030
Thomas Vachuska4926c1b2014-10-21 00:44:10 -070031 IntentId intentId = IntentId.valueOf(new BigInteger(id, 16).longValue());
Brian O'Connora4cab072014-10-03 18:46:39 -070032 Intent intent = service.getIntent(intentId);
33 if (intent != null) {
34 service.withdraw(intent);
35 }
36 }
37}