1 /*
2 * CDDL HEADER START
3 *
4 * The contents of this file are subject to the terms of the
5 * Common Development and Distribution License, Version 1.0 only
6 * (the "License"). You may not use this file except in compliance
7 * with the License.
8 *
9 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10 * or http://www.opensolaris.org/os/licensing.
11 * See the License for the specific language governing permissions
12 * and limitations under the License.
13 *
14 * When distributing Covered Code, include this CDDL HEADER in each
15 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16 * If applicable, add the following below this CDDL HEADER, with the
17 * fields enclosed by brackets "[]" replaced with your own identifying
18 * information: Portions Copyright [yyyy] [name of copyright owner]
19 *
20 * CDDL HEADER END
21 */
22 /*
23 * ident "%Z%%M% %I% %E% SMI"
24 *
25 * Copyright (c) 2001 by Sun Microsystems, Inc.
26 * All rights reserved.
27 */
28 package com.sun.dhcpmgr.cli.pntadm;
29
30 import com.sun.dhcpmgr.data.Network;
31 import com.sun.dhcpmgr.bridge.NoEntryException;
32 import com.sun.dhcpmgr.bridge.NoDefaultsException;
33
34 import java.lang.IllegalArgumentException;
35
36 /**
37 * The main class for the "list network tables" functionality
38 * of pntadm.
39 */
40 public class ListNetworkTables extends PntAdmFunction {
41
42 /**
43 * The valid options associated with listing network tables.
44 */
45 static final int supportedOptions[] = {
46 PntAdm.RESOURCE,
47 PntAdm.RESOURCE_CONFIG,
48 PntAdm.PATH
49 };
50
51 /**
52 * Constructs a ListNetworkTables object.
53 */
54 public ListNetworkTables() {
55
56 validOptions = supportedOptions;
57
58 } // constructor
59
60 /**
61 * Returns the option flag for this function.
62 * @returns the option flag for this function.
63 */
64 public int getFunctionFlag() {
65 return (PntAdm.LIST_NETWORK_TABLES);
66 }
67
68 /**
69 * Executes the "list network tables" functionality.
70 * @return PntAdm.SUCCESS, PntAdm.ENOENT, PntAdm.WARNING, or
71 * PntAdm.CRITICAL
72 */
73 public int execute()
74 throws IllegalArgumentException {
75
76 int returnCode = PntAdm.SUCCESS;
77
78 // Get the list of networks.
79 //
80 Network [] networks = null;
81 try {
82 networks = getNetMgr().getNetworks(getDhcpDatastore());
83 } catch (NoEntryException e) {
84 // No network tables
85 } catch (Throwable e) {
86 printErrMessage(getMessage(e));
87 return (PntAdm.WARNING);
88 }
89
90 if (networks != null) {
91 for (int i = 0; i < networks.length; i++) {
92 System.out.println(networks[i].toString());
93 }
94 }
95
96 return (returnCode);
97
98 } // execute
99
100 } // ListNetworkTables