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