public static void printChangeSummary(ChangeSummary chngSum) {
if (chngSum == null) {
System.out.println("ChangeSummary is not in existence!");
return;
}
for (Iterator it = chngSum.getChangedDataObjects().iterator(); it.hasNext();) {
DataObject changedObject = (DataObject) it.next();
System.out.println();
if (chngSum.isCreated(changedObject)) {//is the changed object newly created
System.out.println("Created: " + changedObject);
if (changedObject.getContainer()!=null){
System.out.println("\t--- to be contained in : "
+ changedObject.getContainer().getType().getName()
+ " ---");
}else{
System.out.println("\t--- created object has no container --- ");
}
printAnnotatedDataObject("newly created",changedObject, 2);
} else if (chngSum.isDeleted(changedObject)) {
System.out.println("Deleted: " + changedObject);
if (chngSum.getOldContainer(changedObject) != null){
System.out.println("\t--- originally contained in : " + chngSum.getOldContainer(changedObject).getType().getName() + " ---");
}else{
System.out.println("\t--- deleted object has no container ---");
}
// a potential bug in Tuscany SDO, this shows nothing in ProcessPO.java
printAnnotatedDataObject("deleted",changedObject, 2);
// drill down to deleted property
System.out.println("\t--- deleted property information --- ");
// a potential bug in Tuscany SDO, this section shows nothing in ReviewPO.java
for (Iterator settingIt = chngSum.getOldValues(changedObject).iterator(); settingIt.hasNext();) {
printDeletedProperty((ChangeSummary.Setting) settingIt.next());
}
System.out.println("\t--- deleted property information --- ");
} else if (chngSum.isModified(changedObject)) {
System.out.println("Updated: " + changedObject);
// print out the updated object
printAnnotatedDataObject("after update", changedObject, 2);
// drill down to changed property
System.out.println("\t--- property update information --- ");
for (Iterator settingIt = chngSum.getOldValues(changedObject).iterator(); settingIt.hasNext();) {
ChangeSummary.Setting changeSetting = (ChangeSummary.Setting) settingIt.next();
printUpdatedProperty(changeSetting, changedObject,chngSum);
}
System.out.println("\t--- property update information --- ");
} else
System.out.println("Should never come here!");
}
}