private Optional<OperatingSystem> tryExtractOperatingSystemFrom(VirtualGuestBlockDeviceTemplateGroup image) { if (image.getGlobalIdentifier() == null) return Optional.absent(); return FluentIterable.from(image.getChildren()) .transformAndConcat(new BlockDeviceTemplateGroupToBlockDeviceTemplateIterable()) .filter(new IsBootableDevice()) .transformAndConcat(new BlockDeviceTemplateToDiskImageSoftware()) .transform(new DiskImageSoftwareToSoftwareDescription()) .filter(new IsOperatingSystem()) .transform(new SoftwareDescriptionToOperatingSystem(image.getGlobalIdentifier())) .first(); }
private Optional<OperatingSystem> tryExtractOperatingSystemFrom(VirtualGuestBlockDeviceTemplateGroup image) { if (image.getGlobalIdentifier() == null) return Optional.absent(); return FluentIterable.from(image.getChildren()) .transformAndConcat(new BlockDeviceTemplateGroupToBlockDeviceTemplateIterable()) .filter(new IsBootableDevice()) .transformAndConcat(new BlockDeviceTemplateToDiskImageSoftware()) .transform(new DiskImageSoftwareToSoftwareDescription()) .filter(new IsOperatingSystem()) .transform(new SoftwareDescriptionToOperatingSystem(image.getGlobalIdentifier())) .first(); }
private Optional<OperatingSystem> tryExtractOperatingSystemFrom(VirtualGuestBlockDeviceTemplateGroup image) { if (image.getGlobalIdentifier() == null) return Optional.absent(); return FluentIterable.from(image.getChildren()) .transformAndConcat(new BlockDeviceTemplateGroupToBlockDeviceTemplateIterable()) .filter(new IsBootableDevice()) .transformAndConcat(new BlockDeviceTemplateToDiskImageSoftware()) .transform(new DiskImageSoftwareToSoftwareDescription()) .filter(new IsOperatingSystem()) .transform(new SoftwareDescriptionToOperatingSystem(image.getGlobalIdentifier())) .first(); }