1 23 24 29 30 package com.sun.cli.jmx.cmd; 31 32 import javax.management.ObjectName ; 33 34 import com.sun.cli.util.stringifier.ArrayStringifier; 35 36 39 public class TargetCmd extends JMXCmd 40 { 41 public 42 TargetCmd( final CmdEnv env ) 43 { 44 super( env ); 45 } 46 47 int 48 getNumRequiredOperands() 49 { 50 return( 0 ); 52 } 53 54 public String 55 getUsage() 56 { 57 return( CmdStrings.TARGET_HELP.toString() ); 58 } 59 60 61 void 62 displayExistingTarget() 63 { 64 println( "Targets:\n" + envGet( ENV_TARGET ) ); 65 } 66 67 public static String [] 68 getNames( ) 69 { 70 return( new String [] { "target", "t" } ); 71 } 72 73 void 74 warnEmptyTargets( final String [] targets ) 75 throws Exception 76 { 77 for ( int i = 0; i < targets.length; ++i ) 79 { 80 final String target = targets[ i ]; 81 82 final ObjectName [] objects = 83 getProxy().resolveTargets( new String [] { target } ); 84 85 if ( objects.length == 0 ) 86 { 87 println( "WARNING: target " + 88 target + " does not resolve to any objects" ); 89 } 90 } 91 } 92 93 void 94 setTargets( final String [] targets ) 95 throws Exception 96 { 97 putEnvTargets( targets ); 98 warnEmptyTargets( targets ); 99 } 100 101 void 102 executeInternal() 103 throws Exception 104 { 105 final String [] operands = getOperands(); 106 107 assert( operands != null ); 108 109 if ( operands.length == 0 ) 110 { 111 displayExistingTarget(); 112 } 113 else 114 { 115 establishProxy(); 116 setTargets( operands ); 117 } 118 } 119 } 120 121 122 123 | Popular Tags |