Liron Aravot has posted comments on this change. Change subject: exporting OvfDataUpdater logic to commands ......................................................................
Patch Set 2: (12 comments) http://gerrit.ovirt.org/#/c/33157/2/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/OvfDataUpdater.java File backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/OvfDataUpdater.java: Line 73: log.infoFormat("Attempting to update ovfs in domain in Data Center {0}", Line 74: pool.getName()); Line 75: Line 76: Set<Guid> domainsToUpdate = (Set<Guid>) returnValueBase.getActionReturnValue(); Line 77: if (domainsToUpdate != null) { > when can this be null? it's the action return value, i prefer to check it just in case of some uncareful change Line 78: for (Guid id : domainsToUpdate) { Line 79: performOvfUpdateForDomain(pool.getId(), id); Line 80: } Line 81: } http://gerrit.ovirt.org/#/c/33157/2/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/OvfUpdateProcessHelper.java File backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/OvfUpdateProcessHelper.java: Line 36: * Adds the given vm metadata to the given map Line 37: */ Line 38: protected String buildMetadataDictionaryForVm(VM vm, Line 39: Map<Guid, KeyValuePairCompat<String, List<Guid>>> metaDictionary, Line 40: ArrayList<DiskImage> allVmImages) { > 1. This doesn't look like engine's code-style wrt indentation This code was just moved from OvfDataUpdater Line 41: String vmMeta = generateVmMetadata(vm, allVmImages); Line 42: metaDictionary.put( Line 43: vm.getId(), Line 44: new KeyValuePairCompat<String, List<Guid>>(vmMeta, LinqUtils.transformToList(vm.getDiskMap().values(), Line 67: @Override Line 68: public Guid eval(DiskImage diskImage) { Line 69: return diskImage.getId(); Line 70: } Line 71: }))); > This is the second time you repeat the same function - please extract it to This code was just moved from OvfDataUpdater Line 72: return templateMeta; Line 73: } Line 74: Line 75: /** Line 94: return ImagesHandler.getAllImageSnapshots(diskImage.getImageId()); Line 95: } Line 96: Line 97: Line 98: protected ArrayList<DiskImage> getVmImagesFromDb(VM vm) { > Why return an ArrayList and not a List (or Collection, for that matter)? This code was just moved from OvfDataUpdater Line 99: ArrayList<DiskImage> allVmImages = new ArrayList<>(); Line 100: List<DiskImage> filteredDisks = ImagesHandler.filterImageDisks(vm.getDiskList(), false, true, true); Line 101: Line 102: for (DiskImage diskImage : filteredDisks) { Line 148: * Update the information contained in the given meta dictionary table in the given storage pool/storage domain. Line 149: */ Line 150: protected boolean executeUpdateVmInSpmCommand(Guid storagePoolId, Line 151: Map<Guid, KeyValuePairCompat<String, List<Guid>>> metaDictionary, Line 152: Guid storageDomainId) { > formatting? it's formatted, gerrit foobar Line 153: UpdateVMVDSCommandParameters tempVar = new UpdateVMVDSCommandParameters(storagePoolId, metaDictionary); Line 154: tempVar.setStorageDomainId(storageDomainId); Line 155: return Backend.getInstance().getResourceManager().RunVdsCommand(VDSCommandType.UpdateVM, tempVar) Line 156: .getSucceeded(); http://gerrit.ovirt.org/#/c/33157/2/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ProcessDownVmCommand.java File backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ProcessDownVmCommand.java: Line 107 Line 108 Line 109 Line 110 Line 111 > What does this have to do with the patch? as i needed it higher in the hirerchy i moved it, so there's no need for that override anymore. http://gerrit.ovirt.org/#/c/33157/2/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ProcessOvfUpdateForStoragePoolCommand.java File backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ProcessOvfUpdateForStoragePoolCommand.java: Line 62: return ovfUpdateProcessHelper; Line 63: } Line 64: Line 65: protected int loadConfigValue() { Line 66: return Config.<Integer> getValue(ConfigValues.OvfItemsCountPerUpdate); > Why is this needed? this code was just moved from OvfDataUpdater, let's refactor it in seperate patch to ease the review. Line 67: } Line 68: Line 69: @Override Line 70: protected void executeCommand() { http://gerrit.ovirt.org/#/c/33157/2/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/ProcessOvfUpdateForStoragePoolCommandTest.java File backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/ProcessOvfUpdateForStoragePoolCommandTest.java: Line 68: import org.ovirt.engine.core.utils.MockConfigRule; Line 69: Line 70: @RunWith(MockitoJUnitRunner.class) Line 71: public class ProcessOvfUpdateForStoragePoolCommandTest { Line 72: private final int ITEMS_COUNT_PER_UPDATE = 100; > should be static. Done Line 73: private ProcessOvfUpdateForStoragePoolCommand<StoragePoolParametersBase> command; Line 74: Line 75: @Mock Line 76: private StoragePoolDAO storagePoolDAO; Line 116: @Before Line 117: public void setUp() { Line 118: command = Mockito.spy(new ProcessOvfUpdateForStoragePoolCommand<>(new StoragePoolParametersBase())); Line 119: ovfUpdateProcessHelper = Mockito.spy(new OvfUpdateProcessHelper()); Line 120: doReturn(ITEMS_COUNT_PER_UPDATE).when(command).loadConfigValue(); > This should be done with MockConfigRule too this code was moved from OvfDataUpdater test, i'll make changes in further patches. Line 121: doReturn(new ArrayList<DiskImage>()).when(ovfUpdateProcessHelper).getAllImageSnapshots(any(DiskImage.class)); Line 122: doReturn(false).when(command).ovfOnAnyDomainSupported(any(StoragePool.class)); Line 123: doCallRealMethod().when(command).executeCommand(); Line 124: // init members Line 118: command = Mockito.spy(new ProcessOvfUpdateForStoragePoolCommand<>(new StoragePoolParametersBase())); Line 119: ovfUpdateProcessHelper = Mockito.spy(new OvfUpdateProcessHelper()); Line 120: doReturn(ITEMS_COUNT_PER_UPDATE).when(command).loadConfigValue(); Line 121: doReturn(new ArrayList<DiskImage>()).when(ovfUpdateProcessHelper).getAllImageSnapshots(any(DiskImage.class)); Line 122: doReturn(false).when(command).ovfOnAnyDomainSupported(any(StoragePool.class)); > Consider using a more fine-grained matcher than any this code was moved from OvfDataUpdater test, i'll make changes in further patches. Line 123: doCallRealMethod().when(command).executeCommand(); Line 124: // init members Line 125: initMembers(); Line 126: Line 169: executedUpdatedMetadataForStoragePool = new HashMap<>(); Line 170: executedRemovedIds = new HashSet<>(); Line 171: executedUpdatedOvfGenerationIdsInDb = new HashMap<>(); Line 172: Line 173: for (int i=0; i<2; i++) { > formatting Done Line 174: Guid domainId = Guid.newGuid(); Line 175: StorageDomainOvfInfo ovfInfo = new StorageDomainOvfInfo(domainId, null, null, StorageDomainOvfInfoStatus.UPDATED, null); Line 176: StorageDomain domain = new StorageDomain(); Line 177: domain.setId(domainId); http://gerrit.ovirt.org/#/c/33157/2/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/dbbroker/auditloghandling/AuditLogableBase.java File backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/dbbroker/auditloghandling/AuditLogableBase.java: Line 650: } Line 651: Line 652: public SnapshotDao getVmNetwork() { Line 653: return getDbFacade().getSnapshotDao(); Line 654: } > How is this related to the patch? the dao's are needed in the added command in this patch. Line 655: Line 656: public VmDynamicDAO getVmDynamicDAO() { Line 657: return getDbFacade().getVmDynamicDao(); Line 658: } -- To view, visit http://gerrit.ovirt.org/33157 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: comment Gerrit-Change-Id: I6780aedf2d215d08c4bed0ff4f7520c45f753f66 Gerrit-PatchSet: 2 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Liron Aravot <lara...@redhat.com> Gerrit-Reviewer: Allon Mureinik <amure...@redhat.com> Gerrit-Reviewer: Daniel Erez <de...@redhat.com> Gerrit-Reviewer: Liron Aravot <lara...@redhat.com> Gerrit-Reviewer: Maor Lipchuk <mlipc...@redhat.com> Gerrit-Reviewer: automat...@ovirt.org Gerrit-Reviewer: oVirt Jenkins CI Server Gerrit-HasComments: Yes _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches