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