Source:
protected void postInitStorageDomains() { if (getModel().getDisks() == null) { return; } StoragePool dataCenter = getModel().getSelectedDataCenter(); AsyncDataProvider.getPermittedStorageDomainsByStoragePoolId(new AsyncQuery(this, new INewAsyncCallback() { @Override public void onSuccess(Object target, Object returnValue) { VmModelBehaviorBase behavior = (VmModelBehaviorBase) target; ArrayList<StorageDomain> storageDomains = (ArrayList<StorageDomain>) returnValue; ArrayList<StorageDomain> activeStorageDomains = filterStorageDomains(storageDomains); boolean provisioning = (Boolean) behavior.getModel().getProvisioning().getEntity(); ArrayList<DiskModel> disks = (ArrayList<DiskModel>) behavior.getModel().getDisks(); Collections.sort(activeStorageDomains, new NameableComparator()); for (DiskModel diskModel : disks) { ArrayList<StorageDomain> availableDiskStorageDomains; diskModel.getQuota().setItems(behavior.getModel().getQuota().getItems()); ArrayList<Guid> storageIds = ((DiskImage) diskModel.getDisk()).getStorageIds(); ArrayList<StorageDomain> activeDiskStorageDomains = Linq.getStorageDomainsByIds(storageIds, activeStorageDomains); availableDiskStorageDomains = provisioning ? activeStorageDomains : activeDiskStorageDomains; Collections.sort(availableDiskStorageDomains, new NameableComparator()); diskModel.getStorageDomain().setItems(availableDiskStorageDomains); diskModel.getStorageDomain().setChangeProhibitionReason( constants.noActiveTargetStorageDomainAvailableMsg()); diskModel.getStorageDomain().setIsChangable(!availableDiskStorageDomains.isEmpty()); } } }, getModel().getHash()), dataCenter.getId(), ActionGroup.CREATE_VM); }

Target:
protected void postInitStorageDomains() { if (getModel().getDisks() == null) { return; } StoragePool dataCenter = (StoragePool) getModel().getSelectedDataCenter(); AsyncDataProvider.getPermittedStorageDomainsByStoragePoolId(new AsyncQuery(this, new INewAsyncCallback() { @Override public void onSuccess(Object target, Object returnValue) { VmModelBehaviorBase behavior = (VmModelBehaviorBase) target; ArrayList<StorageDomain> storageDomains = (ArrayList<StorageDomain>) returnValue; ArrayList<StorageDomain> activeStorageDomains = filterStorageDomains(storageDomains); boolean provisioning = (Boolean) behavior.getModel().getProvisioning().getEntity(); ArrayList<DiskModel> disks = (ArrayList<DiskModel>) behavior.getModel().getDisks(); Collections.sort(activeStorageDomains, new NameableComparator()); for (DiskModel diskModel : disks) { ArrayList<StorageDomain> availableDiskStorageDomains; diskModel.getQuota().setItems(behavior.getModel().getQuota().getItems()); ArrayList<Guid> storageIds = ((DiskImage) diskModel.getDisk()).getStorageIds(); ArrayList<StorageDomain> activeDiskStorageDomains = Linq.getStorageDomainsByIds(storageIds, activeStorageDomains); availableDiskStorageDomains = provisioning ? activeStorageDomains : activeDiskStorageDomains; Collections.sort(availableDiskStorageDomains, new NameableComparator()); diskModel.getStorageDomain().setItems(availableDiskStorageDomains); diskModel.getStorageDomain().setChangeProhibitionReason( constants.noActiveTargetStorageDomainAvailableMsg()); diskModel.getStorageDomain().setIsChangable(!availableDiskStorageDomains.isEmpty()); } } }, getModel().getHash()), dataCenter.getId(), ActionGroup.CREATE_VM); }