ALF-4127 - F86 Provide target log to source repository

implemented with unit test.

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@21836 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Mark Rogers
2010-08-17 12:16:54 +00:00
parent f3ce6ac130
commit e0372702d3
16 changed files with 510 additions and 59 deletions

View File

@@ -563,7 +563,65 @@ public class HttpClientTransmitterImpl implements TransferTransmitter
}
}
/**
*
*/
public void getTransferReport(Transfer transfer, OutputStream result)
{
TransferTarget target = transfer.getTransferTarget();
PostMethod getReportRequest = new PostMethod();
MultipartRequestEntity requestEntity;
try
{
HostConfiguration hostConfig = getHostConfig(target);
HttpState httpState = getHttpState(target);
try
{
getReportRequest.setPath(target.getEndpointPath() + "/report");
//Put the transferId on the query string
getReportRequest.setQueryString(
new NameValuePair[] {new NameValuePair("transferId", transfer.getTransferId())});
int responseStatus = httpClient.executeMethod(hostConfig, getReportRequest, httpState);
checkResponseStatus("getReport", responseStatus, getReportRequest);
InputStream is = getReportRequest.getResponseBodyAsStream();
InputStreamReader reader = new InputStreamReader(is);
BufferedReader br = new BufferedReader(reader);
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(result));
String s = br.readLine();
while(s != null)
{
bw.write(s);
s = br.readLine();
}
bw.close();
return;
}
catch (RuntimeException e)
{
throw e;
}
catch (Exception e)
{
String error = "Failed to execute HTTP request to target";
log.debug(error, e);
throw new TransferException(MSG_HTTP_REQUEST_FAILED, new Object[]{"sendManifest", target.toString(), e.toString()}, e);
}
}
finally
{
getReportRequest.releaseConnection();
}
}
public void setContentService(ContentService contentService)
{
this.contentService = contentService;
@@ -573,8 +631,4 @@ public class HttpClientTransmitterImpl implements TransferTransmitter
{
return contentService;
}
} // end of class