import com.hp.ucmdb.generated.UcmdbFault;
import com.hp.ucmdb.generated.UcmdbServiceStub;
import java.rmi.RemoteException;
import java.util.ArrayList;
import java.util.List;
public class UpdateDemo extends Demo {
public static void main(String[] args) {
UcmdbServiceStub serviceStub = getStub();
getAddCIsAndRelationsDemo(serviceStub);
getUpdateCIsAndRelationsDemo(serviceStub);
getDeleteCIsAndRelationsDemo(serviceStub);
}
public static void getDeleteCIsAndRelationsDemo(UcmdbServiceStub serviceStub) {
UcmdbServiceStub.DeleteCIsAndRelationsE requestE = new UcmdbServiceStub.DeleteCIsAndRelationsE();
UcmdbServiceStub.DeleteCIsAndRelations request = new UcmdbServiceStub.DeleteCIsAndRelations();
request.setCmdbContext(context);
UcmdbServiceStub.CIsAndRelationsUpdates updates = new UcmdbServiceStub.CIsAndRelationsUpdates();
UcmdbServiceStub.CIs cis = new UcmdbServiceStub.CIs();
List<UcmdbServiceStub.CI> listCI = new ArrayList<UcmdbServiceStub.CI>();
UcmdbServiceStub.CI ci = new UcmdbServiceStub.CI();
UcmdbServiceStub.ID id = new UcmdbServiceStub.ID();
id.setString("temp1");
id.setTemp(true);
ci.setID(id);
ci.setType("node");
UcmdbServiceStub.CIProperties props = new UcmdbServiceStub.CIProperties();
UcmdbServiceStub.StrProps strProps = new UcmdbServiceStub.StrProps();
UcmdbServiceStub.StrProp strProp1 = new UcmdbServiceStub.StrProp();
strProp1.setName("name");
String value1 = "blabla";
strProp1.setValue(value1);
strProps.addStrProp(strProp1);
props.setStrProps(strProps);
ci.setProps(props);
listCI.add(ci);
Object[] ciArray = listCI.toArray(new UcmdbServiceStub.CI[listCI.size()]);
cis.setCI((UcmdbServiceStub.CI[]) ciArray);
updates.setCIsForUpdate(cis);
request.setCIsAndRelationsUpdates(updates);
requestE.setDeleteCIsAndRelations(request);
try {
serviceStub.deleteCIsAndRelations(requestE);
} catch (RemoteException e) {
//handle exception
} catch (UcmdbFault e) {
//handle exception
}
}
public static void getUpdateCIsAndRelationsDemo(UcmdbServiceStub serviceStub) {
UcmdbServiceStub.UpdateCIsAndRelationsE requestE = new UcmdbServiceStub.UpdateCIsAndRelationsE();
UcmdbServiceStub.UpdateCIsAndRelations request = new UcmdbServiceStub.UpdateCIsAndRelations();
request.setCmdbContext(context);
UcmdbServiceStub.CIsAndRelationsUpdates updates = new UcmdbServiceStub.CIsAndRelationsUpdates();
UcmdbServiceStub.CIs cis = new UcmdbServiceStub.CIs();
List<UcmdbServiceStub.CI> listCI = new ArrayList<UcmdbServiceStub.CI>();
UcmdbServiceStub.CI ci = new UcmdbServiceStub.CI();
UcmdbServiceStub.ID id = new UcmdbServiceStub.ID();
//id of an existing CI
id.setString("4337dd3bf548f766b1ddf4df7319b38d");
id.setTemp(true);
ci.setID(id);
//here I updated the type
ci.setType("router");
UcmdbServiceStub.CIProperties props = new UcmdbServiceStub.CIProperties();
UcmdbServiceStub.StrProps strProps = new UcmdbServiceStub.StrProps();
//setting a property that CI must have, this property is used to identify the CI
//here we set name to 'newName'
//if there is an CI with the following attributes and the above id then its type will be updated to router
UcmdbServiceStub.StrProp nameProp = new UcmdbServiceStub.StrProp();
nameProp.setName("name");
String hostKeyValue = "newName";
nameProp.setValue(hostKeyValue);
strProps.addStrProp(nameProp);
props.setStrProps(strProps);
ci.setProps(props);
listCI.add(ci);
Object[] ciArray = listCI.toArray(new UcmdbServiceStub.CI[listCI.size()]);
cis.setCI((UcmdbServiceStub.CI[]) ciArray);
updates.setCIsForUpdate(cis);
request.setCIsAndRelationsUpdates(updates);
requestE.setUpdateCIsAndRelations(request);
try {
UcmdbServiceStub.UpdateCIsAndRelationsResponseE responseE = serviceStub.updateCIsAndRelations(requestE);
UcmdbServiceStub.UpdateCIsAndRelationsResponse response = responseE.getUpdateCIsAndRelationsResponse();
UcmdbServiceStub.ClientIDToCmdbID[] ids = response.getCreatedIDsMap();
for (int i = 0; i < ids.length; i++) {
UcmdbServiceStub.ClientIDToCmdbID idMap = ids[i];
System.out.println(idMap.getCmdbID().toString() + " is the id");
//do something
}
System.out.println("end update CIS");
} catch (RemoteException e) {
} catch (UcmdbFault e) {
System.out.println(e.toString());
}
}
public static void getAddCIsAndRelationsDemo(UcmdbServiceStub serviceStub) {
UcmdbServiceStub.AddCIsAndRelationsE requestE = new UcmdbServiceStub.AddCIsAndRelationsE();
UcmdbServiceStub.AddCIsAndRelations request = new UcmdbServiceStub.AddCIsAndRelations();
request.setCmdbContext(context);
request.setUpdateExisting(true);
UcmdbServiceStub.CIsAndRelationsUpdates updates = new UcmdbServiceStub.CIsAndRelationsUpdates();
UcmdbServiceStub.CIs cis = new UcmdbServiceStub.CIs();
List<UcmdbServiceStub.CI> listCI = new ArrayList<UcmdbServiceStub.CI>();
UcmdbServiceStub.CI ci = new UcmdbServiceStub.CI();
UcmdbServiceStub.ID id = new UcmdbServiceStub.ID();
id.setString("temp1");
id.setTemp(true);
ci.setID(id);
ci.setType("node");
UcmdbServiceStub.CIProperties props = new UcmdbServiceStub.CIProperties();
UcmdbServiceStub.StrProps strProps = new UcmdbServiceStub.StrProps();
UcmdbServiceStub.StrProp strProp = new UcmdbServiceStub.StrProp();
strProp.setName("name");
String value = "newCI";
strProp.setValue(value);
strProps.addStrProp(strProp);
props.setStrProps(strProps);
ci.setProps(props);
listCI.add(ci);
Object[] ciArray = listCI.toArray(new UcmdbServiceStub.CI[listCI.size()]);
cis.setCI((UcmdbServiceStub.CI[]) ciArray);
updates.setCIsForUpdate(cis);
request.setCIsAndRelationsUpdates(updates);
requestE.setAddCIsAndRelations(request);
try {
UcmdbServiceStub.AddCIsAndRelationsResponseE responseE = serviceStub.addCIsAndRelations(requestE);
UcmdbServiceStub.AddCIsAndRelationsResponse response = responseE.getAddCIsAndRelationsResponse();
UcmdbServiceStub.ClientIDToCmdbID[] ids = response.getCreatedIDsMap();
for (int i = 0; i < ids.length; i++) {
UcmdbServiceStub.ClientIDToCmdbID idMap = ids[i];
System.out.println(idMap.getCmdbID().toString());
//do something
}
} catch (RemoteException e) {
//handle exception
} catch (UcmdbFault e) {
//handle exception
}
}
}