kopia lustrzana https://github.com/gaul/s3proxy
Add writeSimpleElement helper
rodzic
9a5d17fd62
commit
ea1a42dcd8
|
@ -486,19 +486,13 @@ final class S3ProxyHandler extends AbstractHandler {
|
||||||
"http://www.w3.org/2001/XMLSchema-instance");
|
"http://www.w3.org/2001/XMLSchema-instance");
|
||||||
xml.writeAttribute("xsi:type", "CanonicalUser");
|
xml.writeAttribute("xsi:type", "CanonicalUser");
|
||||||
|
|
||||||
xml.writeStartElement("ID");
|
writeSimpleElement(xml, "ID", FAKE_OWNER_ID);
|
||||||
xml.writeCharacters(FAKE_OWNER_ID);
|
writeSimpleElement(xml, "DisplayName",
|
||||||
xml.writeEndElement();
|
FAKE_OWNER_DISPLAY_NAME);
|
||||||
|
|
||||||
xml.writeStartElement("DisplayName");
|
|
||||||
xml.writeCharacters(FAKE_OWNER_DISPLAY_NAME);
|
|
||||||
xml.writeEndElement();
|
|
||||||
|
|
||||||
xml.writeEndElement();
|
xml.writeEndElement();
|
||||||
|
|
||||||
xml.writeStartElement("Permission");
|
writeSimpleElement(xml, "Permission", "FULL_CONTROL");
|
||||||
xml.writeCharacters("FULL_CONTROL");
|
|
||||||
xml.writeEndElement();
|
|
||||||
|
|
||||||
xml.writeEndElement();
|
xml.writeEndElement();
|
||||||
|
|
||||||
|
@ -510,16 +504,12 @@ final class S3ProxyHandler extends AbstractHandler {
|
||||||
"http://www.w3.org/2001/XMLSchema-instance");
|
"http://www.w3.org/2001/XMLSchema-instance");
|
||||||
xml.writeAttribute("xsi:type", "Group");
|
xml.writeAttribute("xsi:type", "Group");
|
||||||
|
|
||||||
xml.writeStartElement("URI");
|
writeSimpleElement(xml, "URI",
|
||||||
xml.writeCharacters(
|
|
||||||
"http://acs.amazonaws.com/groups/global/AllUsers");
|
"http://acs.amazonaws.com/groups/global/AllUsers");
|
||||||
xml.writeEndElement();
|
|
||||||
|
|
||||||
xml.writeEndElement();
|
xml.writeEndElement();
|
||||||
|
|
||||||
xml.writeStartElement("Permission");
|
writeSimpleElement(xml, "Permission", "READ");
|
||||||
xml.writeCharacters("READ");
|
|
||||||
xml.writeEndElement();
|
|
||||||
|
|
||||||
xml.writeEndElement();
|
xml.writeEndElement();
|
||||||
}
|
}
|
||||||
|
@ -576,19 +566,13 @@ final class S3ProxyHandler extends AbstractHandler {
|
||||||
"http://www.w3.org/2001/XMLSchema-instance");
|
"http://www.w3.org/2001/XMLSchema-instance");
|
||||||
xml.writeAttribute("xsi:type", "CanonicalUser");
|
xml.writeAttribute("xsi:type", "CanonicalUser");
|
||||||
|
|
||||||
xml.writeStartElement("ID");
|
writeSimpleElement(xml, "ID", FAKE_OWNER_ID);
|
||||||
xml.writeCharacters(FAKE_OWNER_ID);
|
writeSimpleElement(xml, "DisplayName",
|
||||||
xml.writeEndElement();
|
FAKE_OWNER_DISPLAY_NAME);
|
||||||
|
|
||||||
xml.writeStartElement("DisplayName");
|
|
||||||
xml.writeCharacters(FAKE_OWNER_DISPLAY_NAME);
|
|
||||||
xml.writeEndElement();
|
|
||||||
|
|
||||||
xml.writeEndElement();
|
xml.writeEndElement();
|
||||||
|
|
||||||
xml.writeStartElement("Permission");
|
writeSimpleElement(xml, "Permission", "FULL_CONTROL");
|
||||||
xml.writeCharacters("FULL_CONTROL");
|
|
||||||
xml.writeEndElement();
|
|
||||||
|
|
||||||
xml.writeEndElement();
|
xml.writeEndElement();
|
||||||
|
|
||||||
|
@ -600,16 +584,12 @@ final class S3ProxyHandler extends AbstractHandler {
|
||||||
"http://www.w3.org/2001/XMLSchema-instance");
|
"http://www.w3.org/2001/XMLSchema-instance");
|
||||||
xml.writeAttribute("xsi:type", "Group");
|
xml.writeAttribute("xsi:type", "Group");
|
||||||
|
|
||||||
xml.writeStartElement("URI");
|
writeSimpleElement(xml, "URI",
|
||||||
xml.writeCharacters(
|
|
||||||
"http://acs.amazonaws.com/groups/global/AllUsers");
|
"http://acs.amazonaws.com/groups/global/AllUsers");
|
||||||
xml.writeEndElement();
|
|
||||||
|
|
||||||
xml.writeEndElement();
|
xml.writeEndElement();
|
||||||
|
|
||||||
xml.writeStartElement("Permission");
|
writeSimpleElement(xml, "Permission", "READ");
|
||||||
xml.writeCharacters("READ");
|
|
||||||
xml.writeEndElement();
|
|
||||||
|
|
||||||
xml.writeEndElement();
|
xml.writeEndElement();
|
||||||
}
|
}
|
||||||
|
@ -659,9 +639,7 @@ final class S3ProxyHandler extends AbstractHandler {
|
||||||
for (StorageMetadata metadata : blobStore.list()) {
|
for (StorageMetadata metadata : blobStore.list()) {
|
||||||
xml.writeStartElement("Bucket");
|
xml.writeStartElement("Bucket");
|
||||||
|
|
||||||
xml.writeStartElement("Name");
|
writeSimpleElement(xml, "Name", metadata.getName());
|
||||||
xml.writeCharacters(metadata.getName());
|
|
||||||
xml.writeEndElement();
|
|
||||||
|
|
||||||
Date creationDate = metadata.getCreationDate();
|
Date creationDate = metadata.getCreationDate();
|
||||||
if (creationDate == null) {
|
if (creationDate == null) {
|
||||||
|
@ -670,10 +648,10 @@ final class S3ProxyHandler extends AbstractHandler {
|
||||||
// s3cmd which require one.
|
// s3cmd which require one.
|
||||||
creationDate = new Date(0);
|
creationDate = new Date(0);
|
||||||
}
|
}
|
||||||
xml.writeStartElement("CreationDate");
|
writeSimpleElement(xml, "CreationDate",
|
||||||
xml.writeCharacters(blobStore.getContext().utils().date()
|
blobStore.getContext().utils().date()
|
||||||
.iso8601DateFormat(creationDate).trim());
|
.iso8601DateFormat(creationDate).trim());
|
||||||
xml.writeEndElement();
|
|
||||||
xml.writeEndElement();
|
xml.writeEndElement();
|
||||||
}
|
}
|
||||||
xml.writeEndElement();
|
xml.writeEndElement();
|
||||||
|
@ -842,49 +820,32 @@ final class S3ProxyHandler extends AbstractHandler {
|
||||||
xml.writeStartElement("ListBucketResult");
|
xml.writeStartElement("ListBucketResult");
|
||||||
xml.writeDefaultNamespace(AWS_XMLNS);
|
xml.writeDefaultNamespace(AWS_XMLNS);
|
||||||
|
|
||||||
xml.writeStartElement("Name");
|
writeSimpleElement(xml, "Name", containerName);
|
||||||
xml.writeCharacters(containerName);
|
|
||||||
xml.writeEndElement();
|
|
||||||
|
|
||||||
if (prefix == null) {
|
if (prefix == null) {
|
||||||
xml.writeEmptyElement("Prefix");
|
xml.writeEmptyElement("Prefix");
|
||||||
} else {
|
} else {
|
||||||
xml.writeStartElement("Prefix");
|
writeSimpleElement(xml, "Prefix", prefix);
|
||||||
xml.writeCharacters(prefix);
|
|
||||||
xml.writeEndElement();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
xml.writeStartElement("MaxKeys");
|
writeSimpleElement(xml, "MaxKeys", String.valueOf(maxKeys));
|
||||||
xml.writeCharacters(String.valueOf(maxKeys));
|
|
||||||
xml.writeEndElement();
|
|
||||||
|
|
||||||
if (marker == null) {
|
if (marker == null) {
|
||||||
xml.writeEmptyElement("Marker");
|
xml.writeEmptyElement("Marker");
|
||||||
} else {
|
} else {
|
||||||
xml.writeStartElement("Marker");
|
writeSimpleElement(xml, "Marker", marker);
|
||||||
xml.writeCharacters(marker);
|
|
||||||
xml.writeEndElement();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (delimiter != null) {
|
if (delimiter != null) {
|
||||||
xml.writeStartElement("Delimiter");
|
writeSimpleElement(xml, "Delimiter", delimiter);
|
||||||
xml.writeCharacters(delimiter);
|
|
||||||
xml.writeEndElement();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
String nextMarker = set.getNextMarker();
|
String nextMarker = set.getNextMarker();
|
||||||
if (nextMarker != null) {
|
if (nextMarker != null) {
|
||||||
xml.writeStartElement("IsTruncated");
|
writeSimpleElement(xml, "IsTruncated", "true");
|
||||||
xml.writeCharacters("true");
|
writeSimpleElement(xml, "NextMarker", nextMarker);
|
||||||
xml.writeEndElement();
|
|
||||||
|
|
||||||
xml.writeStartElement("NextMarker");
|
|
||||||
xml.writeCharacters(nextMarker);
|
|
||||||
xml.writeEndElement();
|
|
||||||
} else {
|
} else {
|
||||||
xml.writeStartElement("IsTruncated");
|
writeSimpleElement(xml, "IsTruncated", "false");
|
||||||
xml.writeCharacters("false");
|
|
||||||
xml.writeEndElement();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Set<String> commonPrefixes = new TreeSet<>();
|
Set<String> commonPrefixes = new TreeSet<>();
|
||||||
|
@ -910,37 +871,28 @@ final class S3ProxyHandler extends AbstractHandler {
|
||||||
|
|
||||||
xml.writeStartElement("Contents");
|
xml.writeStartElement("Contents");
|
||||||
|
|
||||||
xml.writeStartElement("Key");
|
writeSimpleElement(xml, "Key", metadata.getName());
|
||||||
xml.writeCharacters(metadata.getName());
|
|
||||||
xml.writeEndElement();
|
|
||||||
|
|
||||||
Date lastModified = metadata.getLastModified();
|
Date lastModified = metadata.getLastModified();
|
||||||
if (lastModified != null) {
|
if (lastModified != null) {
|
||||||
xml.writeStartElement("LastModified");
|
writeSimpleElement(xml, "LastModified",
|
||||||
xml.writeCharacters(blobStore.getContext().utils().date()
|
blobStore.getContext().utils().date()
|
||||||
.iso8601DateFormat(lastModified));
|
.iso8601DateFormat(lastModified));
|
||||||
xml.writeEndElement();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
String eTag = metadata.getETag();
|
String eTag = metadata.getETag();
|
||||||
if (eTag != null) {
|
if (eTag != null) {
|
||||||
xml.writeStartElement("ETag");
|
|
||||||
String blobStoreType = getBlobStoreType(blobStore);
|
String blobStoreType = getBlobStoreType(blobStore);
|
||||||
if (blobStoreType.equals("google-cloud-storage")) {
|
if (blobStoreType.equals("google-cloud-storage")) {
|
||||||
eTag = BaseEncoding.base16().lowerCase().encode(
|
eTag = BaseEncoding.base16().lowerCase().encode(
|
||||||
BaseEncoding.base64().decode(eTag));
|
BaseEncoding.base64().decode(eTag));
|
||||||
}
|
}
|
||||||
xml.writeCharacters("\"" + eTag + "\"");
|
writeSimpleElement(xml, "ETag", "\"" + eTag + "\"");
|
||||||
xml.writeEndElement();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
xml.writeStartElement("Size");
|
writeSimpleElement(xml, "Size",
|
||||||
xml.writeCharacters(String.valueOf(metadata.getSize()));
|
String.valueOf(metadata.getSize()));
|
||||||
xml.writeEndElement();
|
writeSimpleElement(xml, "StorageClass", "STANDARD");
|
||||||
|
|
||||||
xml.writeStartElement("StorageClass");
|
|
||||||
xml.writeCharacters("STANDARD");
|
|
||||||
xml.writeEndElement();
|
|
||||||
|
|
||||||
writeOwnerStanza(xml);
|
writeOwnerStanza(xml);
|
||||||
|
|
||||||
|
@ -950,9 +902,7 @@ final class S3ProxyHandler extends AbstractHandler {
|
||||||
for (String commonPrefix : commonPrefixes) {
|
for (String commonPrefix : commonPrefixes) {
|
||||||
xml.writeStartElement("CommonPrefixes");
|
xml.writeStartElement("CommonPrefixes");
|
||||||
|
|
||||||
xml.writeStartElement("Prefix");
|
writeSimpleElement(xml, "Prefix", commonPrefix);
|
||||||
xml.writeCharacters(commonPrefix);
|
|
||||||
xml.writeEndElement();
|
|
||||||
|
|
||||||
xml.writeEndElement();
|
xml.writeEndElement();
|
||||||
}
|
}
|
||||||
|
@ -987,9 +937,9 @@ final class S3ProxyHandler extends AbstractHandler {
|
||||||
xml.writeDefaultNamespace(AWS_XMLNS);
|
xml.writeDefaultNamespace(AWS_XMLNS);
|
||||||
for (String blobName : blobNames) {
|
for (String blobName : blobNames) {
|
||||||
xml.writeStartElement("Deleted");
|
xml.writeStartElement("Deleted");
|
||||||
xml.writeStartElement("Key");
|
|
||||||
xml.writeCharacters(blobName);
|
writeSimpleElement(xml, "Key", blobName);
|
||||||
xml.writeEndElement();
|
|
||||||
xml.writeEndElement();
|
xml.writeEndElement();
|
||||||
}
|
}
|
||||||
// TODO: emit error stanza
|
// TODO: emit error stanza
|
||||||
|
@ -1119,15 +1069,6 @@ final class S3ProxyHandler extends AbstractHandler {
|
||||||
xml.writeStartElement("CopyObjectResult");
|
xml.writeStartElement("CopyObjectResult");
|
||||||
xml.writeDefaultNamespace(AWS_XMLNS);
|
xml.writeDefaultNamespace(AWS_XMLNS);
|
||||||
|
|
||||||
xml.writeStartElement("LastModified");
|
|
||||||
xml.writeCharacters(blobStore.getContext().utils().date()
|
|
||||||
.iso8601DateFormat(blobMetadata.getLastModified()));
|
|
||||||
xml.writeEndElement();
|
|
||||||
|
|
||||||
xml.writeStartElement("ETag");
|
|
||||||
xml.writeCharacters("\"" + eTag + "\"");
|
|
||||||
xml.writeEndElement();
|
|
||||||
|
|
||||||
xml.writeEndElement();
|
xml.writeEndElement();
|
||||||
xml.flush();
|
xml.flush();
|
||||||
} catch (XMLStreamException xse) {
|
} catch (XMLStreamException xse) {
|
||||||
|
@ -1258,17 +1199,9 @@ final class S3ProxyHandler extends AbstractHandler {
|
||||||
xml.writeStartElement("InitiateMultipartUploadResult");
|
xml.writeStartElement("InitiateMultipartUploadResult");
|
||||||
xml.writeDefaultNamespace(AWS_XMLNS);
|
xml.writeDefaultNamespace(AWS_XMLNS);
|
||||||
|
|
||||||
xml.writeStartElement("Bucket");
|
writeSimpleElement(xml, "Bucket", containerName);
|
||||||
xml.writeCharacters(containerName);
|
writeSimpleElement(xml, "Key", blobName);
|
||||||
xml.writeEndElement();
|
writeSimpleElement(xml, "UploadId", uploadId);
|
||||||
|
|
||||||
xml.writeStartElement("Key");
|
|
||||||
xml.writeCharacters(blobName);
|
|
||||||
xml.writeEndElement();
|
|
||||||
|
|
||||||
xml.writeStartElement("UploadId");
|
|
||||||
xml.writeCharacters(uploadId);
|
|
||||||
xml.writeEndElement();
|
|
||||||
|
|
||||||
xml.writeEndElement();
|
xml.writeEndElement();
|
||||||
xml.flush();
|
xml.flush();
|
||||||
|
@ -1338,29 +1271,20 @@ final class S3ProxyHandler extends AbstractHandler {
|
||||||
xml.writeStartElement("CompleteMultipartUploadResult");
|
xml.writeStartElement("CompleteMultipartUploadResult");
|
||||||
xml.writeDefaultNamespace(AWS_XMLNS);
|
xml.writeDefaultNamespace(AWS_XMLNS);
|
||||||
|
|
||||||
xml.writeStartElement("Location");
|
|
||||||
// TODO: bogus value
|
// TODO: bogus value
|
||||||
xml.writeCharacters("http://Example-Bucket.s3.amazonaws.com/" +
|
writeSimpleElement(xml, "Location",
|
||||||
blobName);
|
"http://Example-Bucket.s3.amazonaws.com/" + blobName);
|
||||||
xml.writeEndElement();
|
|
||||||
|
|
||||||
xml.writeStartElement("Bucket");
|
writeSimpleElement(xml, "Bucket", containerName);
|
||||||
xml.writeCharacters(containerName);
|
writeSimpleElement(xml, "Key", blobName);
|
||||||
xml.writeEndElement();
|
|
||||||
|
|
||||||
xml.writeStartElement("Key");
|
|
||||||
xml.writeCharacters(blobName);
|
|
||||||
xml.writeEndElement();
|
|
||||||
|
|
||||||
if (eTag != null) {
|
if (eTag != null) {
|
||||||
xml.writeStartElement("ETag");
|
|
||||||
String blobStoreType = getBlobStoreType(blobStore);
|
String blobStoreType = getBlobStoreType(blobStore);
|
||||||
if (blobStoreType.equals("google-cloud-storage")) {
|
if (blobStoreType.equals("google-cloud-storage")) {
|
||||||
eTag = BaseEncoding.base16().lowerCase().encode(
|
eTag = BaseEncoding.base16().lowerCase().encode(
|
||||||
BaseEncoding.base64().decode(eTag));
|
BaseEncoding.base64().decode(eTag));
|
||||||
}
|
}
|
||||||
xml.writeCharacters("\"" + eTag + "\"");
|
writeSimpleElement(xml, "ETag", "\"" + eTag + "\"");
|
||||||
xml.writeEndElement();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
xml.writeEndElement();
|
xml.writeEndElement();
|
||||||
|
@ -1402,54 +1326,29 @@ final class S3ProxyHandler extends AbstractHandler {
|
||||||
xml.writeStartElement("ListPartsResult");
|
xml.writeStartElement("ListPartsResult");
|
||||||
xml.writeDefaultNamespace(AWS_XMLNS);
|
xml.writeDefaultNamespace(AWS_XMLNS);
|
||||||
|
|
||||||
xml.writeStartElement("Bucket");
|
writeSimpleElement(xml, "Bucket", containerName);
|
||||||
xml.writeCharacters(containerName);
|
writeSimpleElement(xml, "Key", blobName);
|
||||||
xml.writeEndElement();
|
writeSimpleElement(xml, "UploadId", uploadId);
|
||||||
|
|
||||||
xml.writeStartElement("Key");
|
|
||||||
xml.writeCharacters(blobName);
|
|
||||||
xml.writeEndElement();
|
|
||||||
|
|
||||||
xml.writeStartElement("UploadId");
|
|
||||||
xml.writeCharacters(uploadId);
|
|
||||||
xml.writeEndElement();
|
|
||||||
|
|
||||||
// TODO: bogus values
|
// TODO: bogus values
|
||||||
xml.writeStartElement("Initiator");
|
xml.writeStartElement("Initiator");
|
||||||
|
|
||||||
xml.writeStartElement("ID");
|
writeSimpleElement(xml, "ID", FAKE_INITIATOR_ID);
|
||||||
xml.writeCharacters(FAKE_INITIATOR_ID);
|
writeSimpleElement(xml, "DisplayName",
|
||||||
xml.writeEndElement();
|
FAKE_INITIATOR_DISPLAY_NAME);
|
||||||
|
|
||||||
xml.writeStartElement("DisplayName");
|
|
||||||
xml.writeCharacters(FAKE_INITIATOR_DISPLAY_NAME);
|
|
||||||
xml.writeEndElement();
|
|
||||||
|
|
||||||
xml.writeEndElement();
|
xml.writeEndElement();
|
||||||
|
|
||||||
writeOwnerStanza(xml);
|
writeOwnerStanza(xml);
|
||||||
|
|
||||||
xml.writeStartElement("StorageClass");
|
writeSimpleElement(xml, "StorageClass", "STANDARD");
|
||||||
xml.writeCharacters("STANDARD");
|
|
||||||
xml.writeEndElement();
|
|
||||||
|
|
||||||
// TODO: pagination
|
// TODO: pagination
|
||||||
/*
|
/*
|
||||||
xml.writeStartElement("PartNumberMarker");
|
writeSimpleElement(xml, "PartNumberMarker", "1");
|
||||||
xml.writeCharacters("1");
|
writeSimpleElement(xml, "NextPartNumberMarker", "3");
|
||||||
xml.writeEndElement();
|
writeSimpleElement(xml, "MaxParts", "2");
|
||||||
|
writeSimpleElement(xml, "IsTruncated", "true");
|
||||||
xml.writeStartElement("NextPartNumberMarker");
|
|
||||||
xml.writeCharacters("3");
|
|
||||||
xml.writeEndElement();
|
|
||||||
|
|
||||||
xml.writeStartElement("MaxParts");
|
|
||||||
xml.writeCharacters("2");
|
|
||||||
xml.writeEndElement();
|
|
||||||
|
|
||||||
xml.writeStartElement("IsTruncated");
|
|
||||||
xml.writeCharacters("true");
|
|
||||||
xml.writeEndElement();
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
PageSet<? extends StorageMetadata> pageSet = blobStore.list(
|
PageSet<? extends StorageMetadata> pageSet = blobStore.list(
|
||||||
|
@ -1465,35 +1364,28 @@ final class S3ProxyHandler extends AbstractHandler {
|
||||||
partName);
|
partName);
|
||||||
xml.writeStartElement("Part");
|
xml.writeStartElement("Part");
|
||||||
|
|
||||||
xml.writeStartElement("PartNumber");
|
writeSimpleElement(xml, "PartNumber",
|
||||||
xml.writeCharacters(partName.substring(
|
partName.substring((uploadId + ".").length()));
|
||||||
(uploadId + ".").length()));
|
|
||||||
xml.writeEndElement();
|
|
||||||
|
|
||||||
Date lastModified = sm.getLastModified();
|
Date lastModified = sm.getLastModified();
|
||||||
if (lastModified != null) {
|
if (lastModified != null) {
|
||||||
xml.writeStartElement("LastModified");
|
writeSimpleElement(xml, "LastModified",
|
||||||
xml.writeCharacters(blobStore.getContext().utils().date()
|
blobStore.getContext().utils().date()
|
||||||
.iso8601DateFormat(lastModified));
|
.iso8601DateFormat(lastModified));
|
||||||
xml.writeEndElement();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
String eTag = sm.getETag();
|
String eTag = sm.getETag();
|
||||||
if (eTag != null) {
|
if (eTag != null) {
|
||||||
xml.writeStartElement("ETag");
|
|
||||||
String blobStoreType = getBlobStoreType(blobStore);
|
String blobStoreType = getBlobStoreType(blobStore);
|
||||||
if (blobStoreType.equals("google-cloud-storage")) {
|
if (blobStoreType.equals("google-cloud-storage")) {
|
||||||
eTag = BaseEncoding.base16().lowerCase().encode(
|
eTag = BaseEncoding.base16().lowerCase().encode(
|
||||||
BaseEncoding.base64().decode(eTag));
|
BaseEncoding.base64().decode(eTag));
|
||||||
}
|
}
|
||||||
xml.writeCharacters("\"" + eTag + "\"");
|
writeSimpleElement(xml, "ETag", "\"" + eTag + "\"");
|
||||||
xml.writeEndElement();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
xml.writeStartElement("Size");
|
writeSimpleElement(xml, "Size", String.valueOf(
|
||||||
xml.writeCharacters(String.valueOf(
|
|
||||||
metadata.getContentMetadata().getContentLength()));
|
metadata.getContentMetadata().getContentLength()));
|
||||||
xml.writeEndElement();
|
|
||||||
|
|
||||||
xml.writeEndElement();
|
xml.writeEndElement();
|
||||||
}
|
}
|
||||||
|
@ -1626,23 +1518,14 @@ final class S3ProxyHandler extends AbstractHandler {
|
||||||
xml.writeStartDocument();
|
xml.writeStartDocument();
|
||||||
xml.writeStartElement("Error");
|
xml.writeStartElement("Error");
|
||||||
|
|
||||||
xml.writeStartElement("Code");
|
writeSimpleElement(xml, "Code", code.getErrorCode());
|
||||||
xml.writeCharacters(code.getErrorCode());
|
writeSimpleElement(xml, "Message", message);
|
||||||
xml.writeEndElement();
|
|
||||||
|
|
||||||
xml.writeStartElement("Message");
|
|
||||||
xml.writeCharacters(message);
|
|
||||||
xml.writeEndElement();
|
|
||||||
|
|
||||||
if (element != null) {
|
if (element != null) {
|
||||||
xml.writeStartElement(element);
|
writeSimpleElement(xml, element, characters);
|
||||||
xml.writeCharacters(characters);
|
|
||||||
xml.writeEndElement();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
xml.writeStartElement("RequestId");
|
writeSimpleElement(xml, "RequestId", FAKE_REQUEST_ID);
|
||||||
xml.writeCharacters(FAKE_REQUEST_ID);
|
|
||||||
xml.writeEndElement();
|
|
||||||
|
|
||||||
xml.writeEndElement();
|
xml.writeEndElement();
|
||||||
xml.flush();
|
xml.flush();
|
||||||
|
@ -1824,14 +1707,16 @@ final class S3ProxyHandler extends AbstractHandler {
|
||||||
throws XMLStreamException {
|
throws XMLStreamException {
|
||||||
xml.writeStartElement("Owner");
|
xml.writeStartElement("Owner");
|
||||||
|
|
||||||
xml.writeStartElement("ID");
|
writeSimpleElement(xml, "ID", FAKE_OWNER_ID);
|
||||||
xml.writeCharacters(FAKE_OWNER_ID);
|
writeSimpleElement(xml, "DisplayName", FAKE_OWNER_DISPLAY_NAME);
|
||||||
xml.writeEndElement();
|
|
||||||
|
|
||||||
xml.writeStartElement("DisplayName");
|
|
||||||
xml.writeCharacters(FAKE_OWNER_DISPLAY_NAME);
|
|
||||||
xml.writeEndElement();
|
xml.writeEndElement();
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void writeSimpleElement(XMLStreamWriter xml,
|
||||||
|
String elementName, String characters) throws XMLStreamException {
|
||||||
|
xml.writeStartElement(elementName);
|
||||||
|
xml.writeCharacters(characters);
|
||||||
xml.writeEndElement();
|
xml.writeEndElement();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Ładowanie…
Reference in New Issue