public AggregatorResponse getTasks(AggregatorRequest request) throws Exception { AggregatorResponse response; try { URL wsdlLocation = new URL(PropertyUtil.getServiceWSDL()); QName serviceName = new QName(PropertyUtil.getServiceNamespace(), PropertyUtil.getServiceName()); tasklistaggregatorService = new Tasklistaggregator_client_ep(wsdlLocation, serviceName); GetTasksInput payload = new GetTasksInput(); payload.setUser(request.getUser()); TaskListAggregator taskListAggregatorPort = tasklistaggregatorService.getTaskListAggregator_pt(); GetTasksOutput getTasksOutput = taskListAggregatorPort.getTasks(payload); if (getTasksOutput != null) { response = readResponse(getTasksOutput); } else { throw new Exception("Null response"); } } catch (TaskListAggregatorFaultMessage serviceError) { LogUtility.logSevere("Service fault: " + serviceError.getFaultInfo().getErrorMessage()); throw new Exception(serviceError.getFaultInfo().getErrorMessage()); } catch (Exception e) { LogUtility.logSevere("Service error: " + e.getMessage()); throw new Exception(e.getMessage()); } return response; }
private AggregatorResponse readResponse(GetTasksOutput getTasksOutput) { LogUtility.logFine( XmlUtil.convertJAXBToXML( getTasksOutput, "au.com.leighton.portal.aggregatedtasklist.model.service.tasklistaggregator.types")); AggregatorResponse response = new AggregatorResponse(); int id = 0; if (getTasksOutput.getTasks() != null) { for (Task task : getTasksOutput.getTasks().getTask()) { AggregatorTask aggregatorTask = new AggregatorTask(id++); String system = task.getSystem(); // Map "TLW" to "Our Way" for the system if (AggregatorContants.tlwSoaCompositeLabel.equals(system)) { system = AggregatorContants.tlwTaskLabel; } aggregatorTask.setSystem(system); aggregatorTask.setSubject(task.getSubject().getValue()); if ((aggregatorTask.getSubject() == null) || (aggregatorTask.getSubject().trim().length() == 0)) { aggregatorTask.setSubject(PropertyUtil.getDefaultSubjectText()); } if (task.getDueDate() != null && task.getDueDate().getValue() != null && task.getDueDate().getValue().toGregorianCalendar() != null) { aggregatorTask.setDueDate(task.getDueDate().getValue().toGregorianCalendar().getTime()); } aggregatorTask.setUrl(task.getUrl()); response.getTasks().add(aggregatorTask); } } if (getTasksOutput.getErrors() != null) { for (Error error : getTasksOutput.getErrors().getError()) { AggregatorError aggregatorError = new AggregatorError(); String system = error.getSystem(); // Map "TLW" to "Our Way" for the system if (AggregatorContants.tlwSoaCompositeLabel.equals(system)) { system = AggregatorContants.tlwTaskLabel; } aggregatorError.setSystem(system); aggregatorError.setDescription(error.getDescription()); response.getErrors().add(aggregatorError); } } return response; }