The sample program in Example 6-9 uses the enumNameSpace method in the CIM Client class to print the names of the namespace and all the namespaces contained within the namespace.
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 java.util.Enumeration;
/ **
* This program takes a namespace argument and calls the
* enumNameSpace CIM Client interface to get a list of the
* namespaces within the namespace specified by the CIMObjectPath.
* and all the namespaces contained in the namespace
* (CIMClient.DEEP). The program then prints the name of the specified
* namespace (CIMClient.SHALLOW).
/**
public class EnumNameSpace {
// EnumNameSpace takes a string of arguments
public static void main (String args[ ]) {
CIMClient cc = null;
try {
// Create a namespace object for the namespace passed as an argument
CIMNameSpace cns = new CIMNameSpace(args[0], "");
// Connect to the CIM Object Manager in the namespace passed as an argument
CIMClient cc = new CIMClient(cns);
// Create an object path to store the namespace name on the current host
CIMObjectPath cop = new CIMObjectPath("",args[1]);
// Enumerate the namespace and all namespaces it contains
// (deep is set to CIMClient.DEEP)
Enumeration e = cc.enumNameSpace(cop, CIMClient.DEEP);
// Iterate through the list of namespaces and print each name.
for (; e.hasMoreElements();
System.out.println(e.nextElement()));
System.out.println("++++++");
// Iterate through the list of namespaces (CIMClient.SHALLOW) and
// print each name.
e = cc.enumNamesSpace(cop, CIMClient.SHALLOW);
for (; e.hasMoreElements();
System.out.println(e.nextElement()));
}
// Catch and print any exception returned
catch (Exception e) {
System.out.println("Exception: "+e);
}
// If the client connection is open, close it.
if(cc != null) {
cc.close();
}
}
}
|