Allon Mureinik has uploaded a new change for review. Change subject: engine: Iterate maps with entrySet() ......................................................................
engine: Iterate maps with entrySet() Used entrySet() to replace keySet() and get(key) iterations, in order to improve performance in these sections. This patch addresses the WMI_WRONG_MAP_ITERATOR FindBugs warning throughout the code. Change-Id: Ia17710ae5dcf61779cabb892638d3d8f6ac95d86 Signed-off-by: Allon Mureinik <amure...@redhat.com> --- M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/quota/QuotaManager.java M backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/CommonVmPoolWithVmsCommandTestAbstract.java M backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/OvfDataUpdaterTest.java M backend/manager/modules/compat/src/main/java/org/ovirt/engine/core/compat/backendcompat/XmlNamespaceManager.java M backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/BaseConditionFieldAutoCompleter.java M backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/CreateVDSCommand.java M backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/SysprepHandler.java M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/uicommon/TimerFactory.java M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/OrderedMultiSelectionModel.java M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/tree/AbstractSubTabTree.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/ImportVmModel.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/key_value/KeyValueModel.java 12 files changed, 57 insertions(+), 61 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/54/18654/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/quota/QuotaManager.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/quota/QuotaManager.java index 000a558..158d9b0 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/quota/QuotaManager.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/quota/QuotaManager.java @@ -209,16 +209,16 @@ } quota.getGlobalQuotaStorage().setStorageSizeGBUsage(value); } - for (Guid quotaId : newUsedSpecificStorageSize.keySet()) { - Quota quota = quotaMap.get(quotaId); + for (Map.Entry<Guid, Map<Guid, Double>> guidMapEntry : newUsedSpecificStorageSize.entrySet()) { + Quota quota = quotaMap.get(guidMapEntry.getKey()); for (QuotaStorage quotaStorage : quota.getQuotaStorages()) { - if (newUsedSpecificStorageSize.get(quotaId).containsKey(quotaStorage.getStorageId())) { - double value = newUsedSpecificStorageSize.get(quotaId) + if (guidMapEntry.getValue().containsKey(quotaStorage.getStorageId())) { + double value = guidMapEntry.getValue() .get(quotaStorage.getStorageId()); if (value < 0) { log.errorFormat("Quota id {0} cached storage size is negative, removing from cache", - quotaId); - quotaMap.remove(quotaId); + guidMapEntry.getKey()); + quotaMap.remove(guidMapEntry.getKey()); continue; } quotaStorage.setStorageSizeGBUsage(value); diff --git a/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/CommonVmPoolWithVmsCommandTestAbstract.java b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/CommonVmPoolWithVmsCommandTestAbstract.java index 0fd64ac..c82ff8e 100644 --- a/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/CommonVmPoolWithVmsCommandTestAbstract.java +++ b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/CommonVmPoolWithVmsCommandTestAbstract.java @@ -281,9 +281,7 @@ vmTemplate.getDiskList().add(diskImage); } Map<Guid, DiskImage> diskImageTemplate = getDiskImageTempalteList(); - for (Guid key : diskImageTemplate.keySet()) { - vmTemplate.getDiskTemplateMap().put(key, diskImageTemplate.get(key)); - } + vmTemplate.getDiskTemplateMap().putAll(diskImageTemplate); } private static List<DiskImage> getDiskImageList() { diff --git a/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/OvfDataUpdaterTest.java b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/OvfDataUpdaterTest.java index 5c1d328..45e2284 100644 --- a/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/OvfDataUpdaterTest.java +++ b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/OvfDataUpdaterTest.java @@ -345,18 +345,16 @@ entry.getValue().getKey()); } - for (Guid id : storagePoolUpdateOvfGenerationsInDb.keySet()) { + for (Map.Entry<Guid, Long> guidLongEntry : storagePoolUpdateOvfGenerationsInDb.entrySet()) { boolean isCorrectVersion = false; - if (vms.get(id) != null) { + if (vms.get(guidLongEntry.getKey()) != null) { isCorrectVersion = - storagePoolUpdateOvfGenerationsInDb - .get(id) - .equals(vms.get(id).getDbGeneration()); - } else if (templates.get(id) != null) { + guidLongEntry.getValue() + .equals(vms.get(guidLongEntry.getKey()).getDbGeneration()); + } else if (templates.get(guidLongEntry.getKey()) != null) { isCorrectVersion = - storagePoolUpdateOvfGenerationsInDb - .get(id) - .equals(templates.get(id).getDbGeneration()); + guidLongEntry.getValue() + .equals(templates.get(guidLongEntry.getKey()).getDbGeneration()); } assertTrue("wrong new ovf version persisted for vm/template", isCorrectVersion); } diff --git a/backend/manager/modules/compat/src/main/java/org/ovirt/engine/core/compat/backendcompat/XmlNamespaceManager.java b/backend/manager/modules/compat/src/main/java/org/ovirt/engine/core/compat/backendcompat/XmlNamespaceManager.java index 3da9c08..acc0f59 100644 --- a/backend/manager/modules/compat/src/main/java/org/ovirt/engine/core/compat/backendcompat/XmlNamespaceManager.java +++ b/backend/manager/modules/compat/src/main/java/org/ovirt/engine/core/compat/backendcompat/XmlNamespaceManager.java @@ -27,9 +27,9 @@ @Override public String getPrefix(String namespaceURI) { - for (String prefix : prefixToUri.keySet()) { - if (prefixToUri.get(prefix).equals(namespaceURI)) - return prefix; + for (Map.Entry<String, String> stringStringEntry : prefixToUri.entrySet()) { + if (stringStringEntry.getValue().equals(namespaceURI)) + return stringStringEntry.getKey(); } return null; @@ -39,9 +39,9 @@ public Iterator getPrefixes(String namespaceURI) { List<String> prefixes = new LinkedList<String>(); - for (String prefix : prefixToUri.keySet()) { - if (prefixToUri.get(prefix).equals(namespaceURI)) - prefixes.add(prefix); + for (Map.Entry<String, String> stringStringEntry : prefixToUri.entrySet()) { + if (stringStringEntry.getValue().equals(namespaceURI)) + prefixes.add(stringStringEntry.getKey()); } return prefixes.iterator(); diff --git a/backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/BaseConditionFieldAutoCompleter.java b/backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/BaseConditionFieldAutoCompleter.java index af9026b..d1509ff 100644 --- a/backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/BaseConditionFieldAutoCompleter.java +++ b/backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/BaseConditionFieldAutoCompleter.java @@ -156,8 +156,8 @@ } else if ("!=".equals(relations)) { relations = "NOT " + getLikeSyntax(caseSensitive); } - for (String field : columnNameDict.keySet()) { - if (typeDict.get(field) == String.class && !notFreeTextSearchableFieldsList.contains(field)) { + for (Map.Entry<String, String> stringStringEntry : columnNameDict.entrySet()) { + if (typeDict.get(stringStringEntry.getKey()) == String.class && !notFreeTextSearchableFieldsList.contains(stringStringEntry.getKey())) { if (firstTime) { firstTime = false; } else { @@ -165,7 +165,7 @@ } sb.append(StringFormat.format(" %1$s.%2$s %3$s %4$s", tableName, - columnNameDict.get(field), + stringStringEntry.getValue(), relations, value)); } diff --git a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/CreateVDSCommand.java b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/CreateVDSCommand.java index be20919..4c65953 100644 --- a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/CreateVDSCommand.java +++ b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/CreateVDSCommand.java @@ -39,11 +39,11 @@ final String SEP = ","; StringBuilder info = new StringBuilder(); String sep = ""; - for (String o : createInfo.keySet()) { + for (Map.Entry<String, Object> stringObjectEntry : createInfo.entrySet()) { info.append(sep); - info.append(o); + info.append(stringObjectEntry.getKey()); info.append(EQUAL); - info.append(createInfo.get(o)); + info.append(stringObjectEntry.getValue()); sep = SEP; } log.infoFormat("{0} {1}", getClass().getName(), info.toString()); diff --git a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/SysprepHandler.java b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/SysprepHandler.java index e8f59cc..23bfaef 100644 --- a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/SysprepHandler.java +++ b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/SysprepHandler.java @@ -265,9 +265,9 @@ // the "Afghanistan Standard Time" is the vm Key that we get from the method getTimezoneKey() // "175" is the timezone keys that xp/2003 excpect to get, vista/7/2008 gets "Afghanistan Standard Time" public static String getTimezoneIndexByKey(String key) { - for (String s : timeZoneIndex.keySet()) { - if (getTimezoneKey(s).equals(key)) { - return timeZoneIndex.get(s).toString(); + for (Map.Entry<String, Integer> stringIntegerEntry : timeZoneIndex.entrySet()) { + if (getTimezoneKey(stringIntegerEntry.getKey()).equals(key)) { + return stringIntegerEntry.getValue().toString(); } } log.errorFormat("getTimezoneIndexByKey: cannot find timezone key '{0}'", key); diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/uicommon/TimerFactory.java b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/uicommon/TimerFactory.java index a5e6711..3d7a3a5 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/uicommon/TimerFactory.java +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/uicommon/TimerFactory.java @@ -22,17 +22,17 @@ } public static void cancelAllTimers() { - for (String name : timerList.keySet()) { - logger.fine("Cancelling the timer '" + name + "'"); //$NON-NLS-1$ //$NON-NLS-2$ - timerList.get(name).cancel(); + for (Map.Entry<String, Timer> stringTimerEntry : timerList.entrySet()) { + logger.fine("Cancelling the timer '" + stringTimerEntry.getKey() + "'"); //$NON-NLS-1$ //$NON-NLS-2$ + stringTimerEntry.getValue().cancel(); } } public static void cancelTimer(String timerName) { - for (String name : timerList.keySet()) { - if (name.equals(timerName)) { - logger.fine("Cancelling the timer '" + name + "'"); //$NON-NLS-1$ //$NON-NLS-2$ - timerList.get(name).cancel(); + for (Map.Entry<String, Timer> stringTimerEntry : timerList.entrySet()) { + if (stringTimerEntry.getKey().equals(timerName)) { + logger.fine("Cancelling the timer '" + stringTimerEntry.getKey() + "'"); //$NON-NLS-1$ //$NON-NLS-2$ + stringTimerEntry.getValue().cancel(); } } } diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/OrderedMultiSelectionModel.java b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/OrderedMultiSelectionModel.java index e2eafd9..d993261 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/OrderedMultiSelectionModel.java +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/OrderedMultiSelectionModel.java @@ -122,9 +122,9 @@ } if (!visibleKeys.containsAll(selectedKeys)) { - for (Object selectedKey : selectedKeys) { - if (!visibleKeys.contains(selectedKey)) - selectionChanges.put(selectedSet.get(selectedKey), false); + for (Map.Entry<Object, T> objectTEntry : selectedSet.entrySet()) { + if (!visibleKeys.contains(objectTEntry.getKey())) + selectionChanges.put(objectTEntry.getValue(), false); } } diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/tree/AbstractSubTabTree.java b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/tree/AbstractSubTabTree.java index f4c772e..64d9e63 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/tree/AbstractSubTabTree.java +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/tree/AbstractSubTabTree.java @@ -157,9 +157,9 @@ } private boolean getItemOldState(Object userObject) { - for (Object oldUserObject : oldItemStatesMap.keySet()) { - if (oldUserObject != null && userObject != null && oldUserObject.equals(userObject)) { - return oldItemStatesMap.get(oldUserObject); + for (Map.Entry<Object, Boolean> objectBooleanEntry : oldItemStatesMap.entrySet()) { + if (objectBooleanEntry.getKey() != null && userObject != null && objectBooleanEntry.getKey().equals(userObject)) { + return objectBooleanEntry.getValue(); } } return false; diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/ImportVmModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/ImportVmModel.java index f365d01..dc4e3da 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/ImportVmModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/ImportVmModel.java @@ -263,8 +263,8 @@ private void checkIfDefaultStorageApplicableForAllDisks() { boolean isDefaultStorageApplicableForAllDisks = true; StorageDomain defaultStorage = (StorageDomain) getStorage().getSelectedItem(); - for (Guid diskGuid : diskImportDataMap.keySet()) { - ImportDiskData importData = diskImportDataMap.get(diskGuid); + for (Entry<Guid, ImportDiskData> guidImportDiskDataEntry : diskImportDataMap.entrySet()) { + ImportDiskData importData = guidImportDiskDataEntry.getValue(); if (defaultStorage != null && !importData.getStorageDomains().contains(defaultStorage)) { isDefaultStorageApplicableForAllDisks = false; @@ -344,14 +344,14 @@ } } - for (Guid templateId : templateDiskMap.keySet()) { - for (Disk disk : templateDiskMap.get(templateId)) { + for (Entry<Guid, List<Disk>> guidListEntry : templateDiskMap.entrySet()) { + for (Disk disk : guidListEntry.getValue()) { DiskImage diskImage = (DiskImage) disk; if (diskImage.getParentId() != null && !Guid.Empty.equals(diskImage.getParentId())) { ArrayList<StorageDomain> storageDomains = templateDisksStorageDomains.get(diskImage.getParentId()); if (storageDomains == null) { - missingTemplateDiskMap.put(templateId, templateDiskMap.get(templateId)); + missingTemplateDiskMap.put(guidListEntry.getKey(), guidListEntry.getValue()); } } } @@ -384,9 +384,9 @@ for (Entry<VmTemplate, List<DiskImage>> entry : dictionary.entrySet()) { tempMap.put(entry.getKey().getId(), null); } - for (Guid templateId : missingTemplateDiskMap.keySet()) { - if (tempMap.containsKey(templateId)) { - for (Disk disk : missingTemplateDiskMap.get(templateId)) { + for (Entry<Guid, List<Disk>> guidListEntry : missingTemplateDiskMap.entrySet()) { + if (tempMap.containsKey(guidListEntry.getKey())) { + for (Disk disk : guidListEntry.getValue()) { addDiskImportData(disk.getId(), filteredStorageDomains, ((DiskImage) disk).getVolumeType(), diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/key_value/KeyValueModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/key_value/KeyValueModel.java index ae0de1d..357b021 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/key_value/KeyValueModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/key_value/KeyValueModel.java @@ -116,17 +116,17 @@ } } - for (String key : keyValueMap_used.keySet()) { + for (Map.Entry<String, String> stringStringEntry : keyValueMap_used.entrySet()) { lineModel = new KeyValueLineModel(this); - lineModel.getKeys().setItems(getAvailbleKeys(key)); - lineModel.getKeys().setSelectedItem(key); - if (allRegExKeys.containsKey(key)) { + lineModel.getKeys().setItems(getAvailbleKeys(stringStringEntry.getKey())); + lineModel.getKeys().setSelectedItem(stringStringEntry.getKey()); + if (allRegExKeys.containsKey(stringStringEntry.getKey())) { lineModel.getValue().setIsAvailable(false); lineModel.getValues().setIsAvailable(true); - lineModel.getValues().setItems(allRegExKeys.get(key)); - lineModel.getValues().setSelectedItem(keyValueMap_used.get(key)); + lineModel.getValues().setItems(allRegExKeys.get(stringStringEntry.getKey())); + lineModel.getValues().setSelectedItem(stringStringEntry.getValue()); } else { - lineModel.getValue().setEntity(keyValueMap_used.get(key)); + lineModel.getValue().setEntity(stringStringEntry.getValue()); } list.add(lineModel); } -- To view, visit http://gerrit.ovirt.org/18654 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ia17710ae5dcf61779cabb892638d3d8f6ac95d86 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Allon Mureinik <amure...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches