here is the code - this gets the attachments out of task
private Context getUserContext(String aUserId)
{
ServiceClientFactory _factory;
Context _context = null;
try
{
Context _adminContext = UMLocalUtils.getSystemContext();
_factory = ServiceClientFactory.createInstance(_adminContext);
AuthenticationManagerServiceClient _am = new AuthenticationManagerServiceClient(_factory);
DirectoryManagerServiceClient _dm = new DirectoryManagerServiceClient(_factory);
Principal _pm = _dm.findPrincipal(aUserId);
if(_pm != null && _pm.getPrincipalType().contains(Principal.PRINCIPALTYPE_USER))
{
String _userName = _pm.getCanonicalName();
String _domain = _pm.getDomainName();
AuthResult _ar = _am.getAuthResultOnBehalfOfUser(_userName, _domain, _adminContext);
_context = new Context();
_context.initPrincipal(_ar);
}
} catch (Exception e)
{
}
return _context;
}
public java.util.List taskAttachments(long taskId) {
// TODO Auto-generated method stub
//ServiceClient myServiceClient = _Factory.getServiceClient();
List listOfDocuments = new ArrayList();
createServiceClientFactory();
System.out.println("The taskId is"+taskId);
try{
TaskManagerClientFactory tmClientFactory = new TaskManagerClientFactory();
TaskManager tm = TaskManagerClientFactory.getTaskManager(_Factory);
TaskInfo taskInfo = tm.getTaskInfo(taskId);
ParticipantInfo participant = taskInfo.getAssignedTo();
String taskUserId = participant.getSpecifiedUserId();
System.out.println("*** The task user id is "+taskUserId);
Context _context = getUserContext(taskUserId);
ServiceClientFactory _userFactory = ServiceClientFactory.createInstance(_context);
tm.setContext(_context);
AttachmentInfo attachInfo[] = (AttachmentInfo[])tm.getAllAttachments(taskId);
for(int i=0;i<attachInfo.length;i++)
{
System.out.println("****The file name is "+ attachInfo[i].getFileName());
Document doc = tm.readAttachmentDocument(taskId,attachInfo[i].getId());
listOfDocuments.add(i,doc);
System.out.println("****The isze of list is "+listOfDocuments.size());
}
return listOfDocuments;
}
catch(Exception e)
{
e.printStackTrace();
}
return null;
}