public void endElement(String uri, String name, String qName) { if (qName.equals("volumeId")) { if (inAttachmentSet) { volumeId = currentText.toString().trim(); } else { id = currentText.toString().trim(); } } else if (qName.equals("size")) { size = Integer.parseInt(currentText.toString().trim()); } else if (qName.equals("availabilityZone")) { availabilityZone = currentText.toString().trim(); } else if (qName.equals("volumeId")) { if (inAttachmentSet) { volumeId = currentText.toString().trim(); } else { id = currentText.toString().trim(); } } else if (qName.equals("status")) { if (inAttachmentSet) { attachmentStatus = Attachment.Status.fromValue(currentText.toString().trim()); } else { volumeStatus = Volume.Status.fromValue(currentText.toString().trim()); } } else if (qName.equals("createTime")) { createTime = dateCodec.toDate(currentText.toString().trim()); } else if (qName.equals("attachmentSet")) { inAttachmentSet = false; } else if (qName.equals("instanceId")) { instanceId = currentText.toString().trim(); } else if (qName.equals("snapshotId")) { snapshotId = currentText.toString().trim(); if (snapshotId.equals("")) snapshotId = null; } else if (qName.equals("device")) { device = currentText.toString().trim(); } else if (qName.equals("attachTime")) { attachTime = dateCodec.toDate(currentText.toString().trim()); } else if (qName.equals("item")) { if (inAttachmentSet) { attachments.add( new Attachment(region, volumeId, instanceId, device, attachmentStatus, attachTime)); volumeId = null; instanceId = null; device = null; attachmentStatus = null; attachTime = null; } } currentText = new StringBuilder(); }
/** * returns a {@link RetryAfterException} if parameter {@code retryAfter} corresponds to known * formats. * * @see <a href="https://tools.ietf.org/html/rfc2616#section-14.37">Retry-After format</a> */ public Optional<RetryAfterException> tryCreateRetryAfterException( Throwable in, String retryAfter) { checkNotNull(in, "throwable"); checkNotNull(retryAfter, "retryAfter"); if (retryAfter.matches("^[0-9]+$")) return Optional.of(new RetryAfterException(in, Integer.parseInt(retryAfter))); try { long retryTimeMillis = dateCodec.toDate(retryAfter).getTime(); long currentTimeMillis = NANOSECONDS.toMillis(ticker.read()); return Optional.of( new RetryAfterException( in, (int) MILLISECONDS.toSeconds(retryTimeMillis - currentTimeMillis))); } catch (IllegalArgumentException e) { // ignored } return Optional.absent(); }
protected final Date textToIso8601Date() { return dateCodec.toDate(textToStringValue()); }
public void endElement(String uri, String name, String qName) { if (equalsOrSuffix(qName, "item")) { inItem(); itemDepth--; } else if (equalsOrSuffix(qName, "instancesSet")) { inInstancesSet = false; } else if (equalsOrSuffix(qName, "productCodes")) { inProductCodes = false; } else if (equalsOrSuffix(qName, "groupSet")) { inGroupSet = false; } else if (equalsOrSuffix(qName, "groupId")) { groupNames.add(currentOrNull(currentText)); } else if (equalsOrSuffix(qName, "ownerId")) { ownerId = currentOrNull(currentText); } else if (equalsOrSuffix(qName, "requesterId")) { requesterId = currentOrNull(currentText); } else if (equalsOrSuffix(qName, "reservationId")) { reservationId = currentOrNull(currentText); } else if (equalsOrSuffix(qName, "amiLaunchIndex")) { builder.amiLaunchIndex(currentOrNull(currentText)); } else if (equalsOrSuffix(qName, "dnsName")) { String dnsName = currentOrNull(currentText); // Eucalyptus if (!"0.0.0.0".equals(dnsName)) builder.dnsName(dnsName); } else if (equalsOrSuffix(qName, "imageId")) { builder.imageId(currentOrNull(currentText)); } else if (equalsOrSuffix(qName, "instanceId")) { builder.instanceId(currentOrNull(currentText)); } else if (equalsOrSuffix(qName, "name")) { String rawState = currentOrNull(currentText); if (rawState != null) { builder.rawState(rawState); builder.instanceState(InstanceState.fromValue(rawState)); } } else if (equalsOrSuffix(qName, "instanceType")) { builder.instanceType(currentOrNull(currentText)); } else if (equalsOrSuffix(qName, "ipAddress")) { builder.ipAddress(currentOrNull(currentText)); } else if (equalsOrSuffix(qName, "kernelId")) { builder.kernelId(currentOrNull(currentText)); } else if (equalsOrSuffix(qName, "keyName")) { builder.keyName(currentOrNull(currentText)); } else if (equalsOrSuffix(qName, "launchTime")) { builder.launchTime(dateCodec.toDate(currentOrNull(currentText))); } else if (equalsOrSuffix(qName, "availabilityZone")) { builder.availabilityZone(currentOrNull(currentText)); } else if (equalsOrSuffix(qName, "virtualizationType")) { builder.virtualizationType(currentOrNull(currentText)); } else if (equalsOrSuffix(qName, "platform")) { builder.platform(currentOrNull(currentText)); } else if (equalsOrSuffix(qName, "privateDnsName")) { String privateDnsName = currentOrNull(currentText); // Eucalyptus if (!"0.0.0.0".equals(privateDnsName)) builder.privateDnsName(privateDnsName); } else if (equalsOrSuffix(qName, "privateIpAddress")) { builder.privateIpAddress(currentOrNull(currentText)); } else if (equalsOrSuffix(qName, "ramdiskId")) { builder.ramdiskId(currentOrNull(currentText)); } else if (equalsOrSuffix(qName, "reason")) { builder.reason(currentOrNull(currentText)); } else if (equalsOrSuffix(qName, "rootDeviceType")) { builder.rootDeviceType(RootDeviceType.fromValue(currentOrNull(currentText))); } else if (equalsOrSuffix(qName, "rootDeviceName")) { builder.rootDeviceName(currentOrNull(currentText)); } else if (equalsOrSuffix(qName, "deviceName")) { deviceName = currentOrNull(currentText); } else if (equalsOrSuffix(qName, "volumeId")) { volumeId = currentOrNull(currentText); } else if (equalsOrSuffix(qName, "status")) { attachmentStatus = Attachment.Status.fromValue(currentText.toString().trim()); } else if (equalsOrSuffix(qName, "attachTime")) { attachTime = dateCodec.toDate(currentOrNull(currentText)); } else if (equalsOrSuffix(qName, "deleteOnTermination")) { deleteOnTermination = Boolean.parseBoolean(currentText.toString().trim()); } else if (equalsOrSuffix(qName, "ebs")) { builder.device( deviceName, new BlockDevice(volumeId, attachmentStatus, attachTime, deleteOnTermination)); this.deviceName = null; this.volumeId = null; this.attachmentStatus = null; this.attachTime = null; this.deleteOnTermination = true; } currentText = new StringBuilder(); }