protected void inItem() { if (endOfInstanceItem()) { refineBuilderBeforeAddingInstance(); instances.add(builder.build()); builder = builderProvider.get(); } }
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(); }
protected void refineBuilderBeforeAddingInstance() { String region = getRequest() != null ? AWSUtils.findRegionInArgsOrNull(getRequest()) : null; // Eucalyptus if (builder.getIpAddress() == null && builder.getDnsName() != null && builder.getDnsName().matches(".*[0-9]$")) { builder.ipAddress(builder.getDnsName()); builder.dnsName(null); } if (builder.getPrivateIpAddress() == null && builder.getPrivateDnsName() != null && builder.getPrivateDnsName().matches(".*[0-9]$")) { builder.privateIpAddress(builder.getPrivateDnsName()); builder.privateDnsName(null); } builder.region((region == null) ? defaultRegion.get() : region); builder.groupNames(groupNames); }