//here is a sample of code I wrote and tested with success:
public void handleSubmission(BLTHContext blthContext) throws Exception {
blthContext.logWarningMessage("GUIPH01 BLTHRelationShip 1 Starting to handle submission.", false);
ManagedObject managedObject = blthContext.getSubject();
if (managedObject != null) {
blthContext.logWarningMessage("GUIPH01 BLTHRelationShip 2 managedObject not null.", false);
ImsManagedObjectDefinition moDefinition = managedObject.getProvider().getManagedObjectDefinition();
Vector moAttrDefinitions = moDefinition.getAttributeDefinitions();
Iterator attrDefIter = moAttrDefinitions.iterator();
while (attrDefIter.hasNext()) {
ImsManagedObjectAttrDefinition moAttrDefinition = (ImsManagedObjectAttrDefinition) attrDefIter.next();
if (moAttrDefinition.isRelationshipAttribute()) {
blthContext.logWarningMessage("GUIPH01 BLTHRelationShip 3 Relationship Attribute found.", false);
if (managedObject.containsKey(moAttrDefinition.getPhysicalName())) {
Relationship relationship = (Relationship) managedObject.getExtendedAttribute(moAttrDefinition.getPhysicalName());
blthContext.logWarningMessage("GUIPH01 BLTHRelationShip 4, " + relationship.getAttributeDefinition().getPhysicalName() + " is found.", false);
for (Iterator iterator = relationship.getAdded().iterator(); iterator.hasNext();)
{
ManagedObject relatedObject = (ManagedObject)iterator.next();
blthContext.logWarningMessage("GUIPH01 BLTHRelationShip 5, " + relatedObject.getFriendlyName() + " is found.", false);
}
}
}
}
}
}