Sun WBEM SDK 開発ガイド

例 — ネームスペースの削除

例 4–21 のサンプルプログラムは、指定されたホスト上の指定されたネームスペースを削除します。このプログラムは、5 つの必須文字列引数 (ホスト名、親ネームスペース、子ネームスペース、ユーザー名、パスワード) を受け取ります。このプログラムを実行するユーザーは、削除するネームスペースへの書き込みアクセス権を持つアカウントのユーザー名とパスワードを指定する必要があります。


例 4–21 ネームスペースの削除 (deleteNameSpace)

{
import java.rmi.*;
import com.sun.wbem.client.CIMClient;
import com.sun.wbem.cim.CIMInstance;
import com.sun.wbem.cim.CIMValue;
import com.sun.wbem.cim.CIMProperty;
import com.sun.wbem.cim.CIMNameSpace;
import com.sun.wbem.cim.CIMObjectPath;
import com.sun.wbem.cim.CIMClass;
import com.sun.wbem.cim.CIMException;
import java.util.Enumeration;
 /**
 * このサンプルプログラムは、指定されたホスト上の指定されたネームスペースを
 * 削除する。このプログラムを実行するユーザーは、指定するネームスペースへの
 * 書き込みアクセス権を持つアカウントのユーザー名とパスワードを指定する必要
 * がある
 */
 public class DeleteNameSpace {
    public static void main(String args[]) throws CIMException {
        // CIMClient クラスのインスタンスを初期化する
				CIMClient cc = null;
        // 5 つのコマンド行引数が必要。全部が入力されない場合は、
        // コマンド文字列を出力する
				if(args.length != 5) {
	    		    System.out.println("Usage: DeleteNameSpace host parentNS 
					          childNS username password"); 
	    			  System.exit(1);
				}
				try {
		         /**
						 * ネームスペースオブジェクト (cns) を作成し、
						 * ホスト名と親ネームスペースを格納する
						 */ 
	      			 CIMNameSpace cns = new CIMNameSpace(args[0], args[1]);
	     			/** 
						 * CIM Object Manager に接続し、ネームスペース
						 * オブジェクト (cns) と、コマンド行引数のユーザー名と
	     			 * パスワードを渡す
	     			 */
	     			 cc = new CIMClient(cns, args[3], args[4]);
	   			  /**
						 * もう 1 つネームスペースオブジェクト (cop) を作成し、ホスト名
						 * として null 文字列を、子ネームスペースとしてコマンド行引数の
						 * 文字列をそれぞれ格納する
						 */
		   			 CIMNameSpace cop = new CIMNameSpace("",args[2]);
	 					/**
						 * 親ネームスペースの下にある子ネームスペースを削除する
	     		   */ 
	    			   cc.deleteNameSpace(cop);
				} catch (Exception e) {
	    		    System.out.println("Exception: "+e);
				}
 				// セッションを閉じる
				if(cc != null) {
	   		    cc.close();
				}
   	 }
}