blob: 90a00c7a403bbb13146ff86a055b1cabd8171f93 [file] [log] [blame]
kmcpeakeb172d5f2015-12-10 11:30:43 +00001/*
Brian O'Connor5ab426f2016-04-09 01:19:45 -07002 * Copyright 2015-present Open Networking Laboratory
kmcpeakeb172d5f2015-12-10 11:30:43 +00003 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16package org.onosproject.faultmanagement.alarms.cli;
17
18import java.util.Set;
19import org.apache.commons.lang3.builder.ToStringBuilder;
20import org.apache.commons.lang3.builder.ToStringStyle;
21import org.apache.karaf.shell.commands.Command;
22import org.onosproject.cli.AbstractShellCommand;
23import org.onosproject.incubator.net.faultmanagement.alarm.Alarm;
24import org.onosproject.incubator.net.faultmanagement.alarm.AlarmService;
25
26/**
27 * Lists alarms across all devices.
28 */
29@Command(scope = "onos", name = "alarm-list",
30 description = "Lists active alarms across all devices.")
31public class GetAllAlarms extends AbstractShellCommand {
32
33 @Override
34 protected void execute() {
35 printAlarms(AbstractShellCommand.get(AlarmService.class).getAlarms());
36 }
37
38 void printAlarms(Set<Alarm> alarms) {
39 alarms.stream().forEach((alarm) -> {
40 print(ToStringBuilder.reflectionToString(alarm, ToStringStyle.SHORT_PREFIX_STYLE));
41 });
42 }
43}