diff --git a/awsapi/src/com/cloud/bridge/service/controller/s3/S3BucketAction.java b/awsapi/src/com/cloud/bridge/service/controller/s3/S3BucketAction.java index 62d9d65641c..10ecea8802a 100644 --- a/awsapi/src/com/cloud/bridge/service/controller/s3/S3BucketAction.java +++ b/awsapi/src/com/cloud/bridge/service/controller/s3/S3BucketAction.java @@ -25,6 +25,7 @@ import java.io.Reader; import java.io.StringWriter; import java.io.Writer; import java.util.ArrayList; +import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.List; @@ -73,6 +74,7 @@ import com.cloud.bridge.service.core.s3.S3DeleteObjectRequest; import com.cloud.bridge.service.core.s3.S3Engine; import com.cloud.bridge.service.core.s3.S3GetBucketAccessControlPolicyRequest; import com.cloud.bridge.service.core.s3.S3Grant; +import com.cloud.bridge.service.core.s3.S3ListAllMyBucketsEntry; import com.cloud.bridge.service.core.s3.S3ListAllMyBucketsRequest; import com.cloud.bridge.service.core.s3.S3ListAllMyBucketsResponse; import com.cloud.bridge.service.core.s3.S3ListBucketObjectEntry; @@ -528,10 +530,27 @@ private void executeMultiObjectDelete(HttpServletRequest request, HttpServletRes // The content-type literally should be "application/xml; charset=UTF-8" // but any compliant JVM supplies utf-8 by default - MTOMAwareResultStreamWriter resultWriter = new MTOMAwareResultStreamWriter ("ListAllMyBucketsResult", outputStream ); - resultWriter.startWrite(); - resultWriter.writeout(allBuckets); - resultWriter.stopWrite(); +// MTOMAwareResultStreamWriter resultWriter = new MTOMAwareResultStreamWriter ("ListAllMyBucketsResult", outputStream ); +// resultWriter.startWrite(); +// resultWriter.writeout(allBuckets); +// resultWriter.stopWrite(); + StringBuffer xml = new StringBuffer(); + xml.append( "" ); + xml.append(""); + xml.append(""); + xml.append(engineResponse.getOwner().getID()).append(""); + xml.append("").append(engineResponse.getOwner().getDisplayName()).append(""); + xml.append("").append(""); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ"); + for (S3ListAllMyBucketsEntry entry :engineResponse.getBuckets()) { + xml.append("").append("").append(entry.getName()).append(""); + xml.append("").append(sdf.format(entry.getCreationDate().getTime())).append(""); + xml.append(""); + } + xml.append("").append(""); + response.setStatus(200); + response.setContentType("text/xml; charset=UTF-8"); + S3RestServlet.endResponse(response, xml.toString()); }