i have achieved this using role A and role B as shown below.
public static ArrayList<WTChangeRequest2> getRoleBchangeRequest(WTChangeRequest2 roleA) throws WTException
{
System.out.println("get roleB CR");
ArrayList<WTChangeRequest2> changerequests = new ArrayList<WTChangeRequest2>();
QueryResult results = PersistenceHelper.manager.navigate(roleA, ChangeProcessLink.ROLE_BOBJECT_ROLE, ChangeProcessLink.class, true);
boolean found = false;
//System.out.println("get roleB CR results "+results);
while (results.hasMoreElements()) {
Object o = results.nextElement();
//System.out.println(o);
if (o instanceof WTChangeRequest2)
{
found = true;
changerequests.add((WTChangeRequest2) o);
}
}
if (found) return changerequests;
return null;
}
public static ArrayList<WTChangeRequest2> getRoleAchangeRequest(WTChangeRequest2 roleB) throws WTException
{
System.out.println("get roleA CR");
ArrayList<WTChangeRequest2> changerequests = new ArrayList<WTChangeRequest2>();
//public QueryResult navigate( Persistable obj, String role, Class linkClass, boolean onlyOtherSide )
// throws WTException;
QueryResult results = PersistenceHelper.manager.navigate(roleB, ChangeProcessLink.ROLE_AOBJECT_ROLE, ChangeProcessLink.class, true);
boolean found = false;
//System.out.println("get roleA CR results "+results);
while (results.hasMoreElements()) {
Object o = results.nextElement();
System.out.println("o"+o);
if (o instanceof WTChangeRequest2)
{
found = true;
changerequests.add((WTChangeRequest2) o);
}
}
if (found) return changerequests;
return null;
}