/**
* Copyright 2023 Open Text
* The only warranties for products and services of Open Text and its
* affiliates and licensors (“Open Text”) are as may be set forth in the
* express warranty statements accompanying such products and services.
* Nothing herein should be construed as constituting an additional warranty.
* Open Text shall not be liable for technical or editorial errors or
* omissions contained herein.
* The information contained herein is subject to change without notice.
*/
import com.hp.ucmdb.generated.UcmdbFault;
import com.hp.ucmdb.generated.UcmdbServiceStub;
import java.net.MalformedURLException;
import java.rmi.RemoteException;
public class ClassModelDemo extends Demo{
public static void main(String[] args) throws RemoteException, UcmdbFault, MalformedURLException {
UcmdbServiceStub serviceStub = getStub();
getClassAncestorsDemo(serviceStub);
getCmdbClassDefinitionDemo(serviceStub);
getAllClassesHierarchyDemo(serviceStub);
}
public static void getAllClassesHierarchyDemo(UcmdbServiceStub serviceStub) {
System.out.println("start get all classes hierarchy");
UcmdbServiceStub.GetAllClassesHierarchyE requestE = new UcmdbServiceStub.GetAllClassesHierarchyE();
UcmdbServiceStub.GetAllClassesHierarchy request =
new UcmdbServiceStub.GetAllClassesHierarchy();
request.setCmdbContext(context);
requestE.setGetAllClassesHierarchy(request);
try {
UcmdbServiceStub.GetAllClassesHierarchyResponseE responseE =
serviceStub.getAllClassesHierarchy(requestE);
UcmdbServiceStub.GetAllClassesHierarchyResponse response = responseE.getGetAllClassesHierarchyResponse();
UcmdbServiceStub.UcmdbClassModelHierarchy hierarchy =
response.getClassesHierarchy();
for(UcmdbServiceStub.UcmdbClassHierarchyNode node:hierarchy.getClassHierarchyNode())
{ System.out.println("CI type:" + node.getClassNames().getClassName() + " with parent "+ node.getClassParentName());}
System.out.println("end get all classes hierarchy");
} catch (RemoteException e) {
//handle exception
} catch (UcmdbFault e) {
//handle exception
}
}
public static void getClassAncestorsDemo(UcmdbServiceStub serviceStub) {
UcmdbServiceStub.GetClassAncestorsE getClassAncestorsE = new UcmdbServiceStub.GetClassAncestorsE();
UcmdbServiceStub.GetClassAncestors getClassAncestors = new UcmdbServiceStub.GetClassAncestors();
getClassAncestors.setCmdbContext(context);
getClassAncestors.setClassName("unix");
getClassAncestorsE.setGetClassAncestors(getClassAncestors);
try {
UcmdbServiceStub.GetClassAncestorsResponseE responseE =
serviceStub.getClassAncestors(getClassAncestorsE);
UcmdbServiceStub.GetClassAncestorsResponse response = responseE.getGetClassAncestorsResponse();
UcmdbServiceStub.UcmdbClassModelHierarchy hierarchy = response.getClassHierarchy();
for (int i = 0; i < hierarchy.getClassHierarchyNode().length; i++) {
System.out.println("### Level " + i + " class is " + hierarchy.getClassHierarchyNode()[i].getClassParentName());
}
} catch (RemoteException e) {
//handle exception
} catch (UcmdbFault e) {
//handle exception
}
}
public static void getCmdbClassDefinitionDemo(UcmdbServiceStub serviceStub) {
UcmdbServiceStub.GetCmdbClassDefinitionE getCmdbClassDefinitionE =
new UcmdbServiceStub.GetCmdbClassDefinitionE();
UcmdbServiceStub.GetCmdbClassDefinition getCmdbClassDefinition =
new UcmdbServiceStub.GetCmdbClassDefinition();
getCmdbClassDefinition.setCmdbContext(context);
getCmdbClassDefinition.setClassName("node");
getCmdbClassDefinitionE.setGetCmdbClassDefinition(getCmdbClassDefinition);
try {
UcmdbServiceStub.GetCmdbClassDefinitionResponseE responseE =
serviceStub.getCmdbClassDefinition(getCmdbClassDefinitionE);
UcmdbServiceStub.GetCmdbClassDefinitionResponse response = responseE.getGetCmdbClassDefinitionResponse();
UcmdbServiceStub.UcmdbClass ucmdbClass = response.getUcmdbClass();
System.out.println("$$$ Class " + ucmdbClass.getDisplayLabel() + " has description " + ucmdbClass.getDescription());
} catch (RemoteException e) {
System.out.println(e.toString());
} catch (UcmdbFault e) {
System.out.println(e.toString());
//handle exception
}
}
}