/** * Retrieves encryption extension installed in the virtual machine, if the extension is * not installed then return an empty observable. * * @return an observable that emits the encryption extension installed in the virtual machine */ private Observable<VirtualMachineExtension> getEncryptionExtensionInstalledInVMAsync() { return virtualMachine.listExtensionsAsync() // firstOrDefault() is used intentionally here instead of first() to ensure // this method return empty observable if matching extension is not found. // .firstOrDefault(null, new Func1<VirtualMachineExtension, Boolean>() { @Override public Boolean call(final VirtualMachineExtension extension) { return extension.publisherName().equalsIgnoreCase(encryptionExtensionPublisher) && extension.typeName().equalsIgnoreCase(encryptionExtensionType()); } }).flatMap(new Func1<VirtualMachineExtension, Observable<VirtualMachineExtension>>() { @Override public Observable<VirtualMachineExtension> call(VirtualMachineExtension extension) { if (extension == null) { return Observable.empty(); } return Observable.just(extension); } }); }
/** * Retrieves encryption extension installed in the virtual machine, if the extension is * not installed then return an empty observable. * * @return an observable that emits the encryption extension installed in the virtual machine */ private Observable<VirtualMachineExtension> getEncryptionExtensionInstalledInVMAsync() { return virtualMachine.listExtensionsAsync() // firstOrDefault() is used intentionally here instead of first() to ensure // this method return empty observable if matching extension is not found. // .firstOrDefault(null, new Func1<VirtualMachineExtension, Boolean>() { @Override public Boolean call(final VirtualMachineExtension extension) { return extension.publisherName().equalsIgnoreCase(encryptionExtensionPublisher) && extension.typeName().equalsIgnoreCase(encryptionExtensionType()); } }).flatMap(new Func1<VirtualMachineExtension, Observable<VirtualMachineExtension>>() { @Override public Observable<VirtualMachineExtension> call(VirtualMachineExtension extension) { if (extension == null) { return Observable.empty(); } return Observable.just(extension); } }); }