in providers/azureblob/src/main/java/org/jclouds/azureblob/xml/ContainerNameEnumerationResultsHandler.java [113:190]
public void endElement(String uri, String name, String qName) {
if (inMetadata && !qName.equals("Metadata")) {
currentMetadata.put(qName, currentText.toString());
} else if (qName.equals("Metadata")) {
inMetadata = false;
} else if (qName.equals("MaxResults")) {
maxResults = Integer.parseInt(currentText.toString());
} else if (qName.equals("Marker")) {
marker = currentText.toString();
marker = (marker.equals("")) ? null : marker;
} else if (qName.equals("Prefix")) {
prefix = currentText.toString();
prefix = (prefix.equals("")) ? null : prefix;
} else if (qName.equals("Delimiter")) {
delimiter = currentText.toString();
delimiter = (delimiter.equals("")) ? null : delimiter;
} else if (qName.equals("NextMarker")) {
nextMarker = currentText.toString();
nextMarker = (nextMarker.equals("")) ? null : nextMarker;
} else if (qName.equals("BlobType")) {
currentBlobType = BlobType.fromValue(currentText.toString());
} else if (qName.equals("AccessTier")) {
currentAccessTier = AccessTier.fromValue(currentText.toString());
} else if (qName.equals("LeaseStatus")) {
currentLeaseStatus = LeaseStatus.fromValue(currentText.toString());
} else if (qName.equals("Blob")) {
URI currentUrl = uriBuilder(containerUrl).appendPath(Strings2.urlEncode(currentName)).build();
BlobProperties md = new BlobPropertiesImpl(currentBlobType, currentAccessTier, currentName, containerUrl.getPath().replace("/",
""), currentUrl, currentLastModified, currentETag, currentSize, currentContentType,
currentContentMD5, currentContentEncoding, currentContentLanguage, currentExpires,
currentLeaseStatus, currentMetadata);
blobMetadata.add(md);
currentBlobType = null;
currentAccessTier = null;
currentName = null;
currentLastModified = null;
currentETag = null;
currentSize = -1;
currentContentType = null;
currentContentEncoding = null;
currentContentLanguage = null;
currentContentMD5 = null;
currentLeaseStatus = null;
currentExpires = null;
currentMetadata = Maps.newHashMap();
} else if (qName.equals("Last-Modified")) {
currentLastModified = dateParser.rfc822DateParse(currentText.toString());
} else if (qName.equals("Etag")) {
currentETag = currentText.toString();
} else if (qName.equals("Name")) {
if (inBlob)
currentName = currentText.toString();
else if (inBlobPrefix)
blobPrefixes.add(currentText.toString());
} else if (qName.equals("Content-Length")) {
currentSize = Long.parseLong(currentText.toString());
} else if (qName.equals("Content-MD5")) {
if (!currentText.toString().equals(""))
currentContentMD5 = base64().decode(currentText.toString());
} else if (qName.equals("Content-Type")) {
currentContentType = currentText.toString();
} else if (qName.equals("Content-Encoding")) {
currentContentEncoding = currentText.toString();
if (currentContentEncoding.equals(""))
currentContentEncoding = null;
} else if (qName.equals("Content-Language")) {
currentContentLanguage = currentText.toString();
if (currentContentLanguage.equals(""))
currentContentLanguage = null;
} else if (qName.equals("Expires")) {
String expiration = currentText.toString();
if (expiration.equals("")) {
currentExpires = null;
} else {
currentExpires = contentMetadataCodec.parseExpires(expiration);
}
}
}