Martin Mucha has posted comments on this change.

Change subject: core: MacPoolManager-->ScopedMacPoolManager
......................................................................


Patch Set 38:

(50 comments)

answers.

http://gerrit.ovirt.org/#/c/26800/38/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmCommand.java
File 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmCommand.java:

Line 889:             
getCompensationContext().snapshotNewEntity(iface.getStatistics());
Line 890:         }
Line 891:     }
Line 892: 
Line 893:     private MacPoolManagerStrategy getMacPool() {
> This is unused
Done
Line 894:         return 
MacPoolPerDc.getInstance().poolForDataCenter(getStoragePoolId());
Line 895:     }
Line 896: 
Line 897:     protected void addVmInit() {


http://gerrit.ovirt.org/#/c/26800/38/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CommandBase.java
File 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CommandBase.java:

Line 2147:             ExecutionContext executionContext) {
Line 2148:         return 
Backend.getInstance().runInternalMultipleActions(actionType, parameters, 
executionContext);
Line 2149:     }
Line 2150: 
Line 2151:     protected MacPoolManagerStrategy getMacPoolForDataCenter() {
> This should be named simply getMacPool since the command shouldn't care whe
Done
Line 2152:         return 
MacPoolPerDc.getInstance().poolForDataCenter(getStoragePoolId());
Line 2153:     }


http://gerrit.ovirt.org/#/c/26800/38/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CommonVmPoolWithVmsCommand.java
File 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CommonVmPoolWithVmsCommand.java:

Line 303:         return checkFreeSpaceAndTypeOnDestDomains();
Line 304:     }
Line 305: 
Line 306:     protected boolean verifyAddVM() {
Line 307:         final MacPoolManagerStrategy macPool = getMacPoolForVm();
> This generates a null pointer exception when in MacPoolPerDc.poolForVm() wh
replaced with getMacPool() method.
Line 308:         final List<String> reasons = 
getReturnValue().getCanDoActionMessages();
Line 309:         final int nicsCount = getParameters().getVmsCount()
Line 310:                 * 
getVmNicDao().getAllForTemplate(getVmTemplateId()).size();
Line 311:         final int priority = 
getParameters().getVmStaticData().getPriority();


http://gerrit.ovirt.org/#/c/26800/38/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportVmCommand.java
File 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportVmCommand.java:

Line 106:     private List<DiskImage> imageList;
Line 107: 
Line 108:     private final List<String> macsAdded = new ArrayList<String>();
Line 109:     private final SnapshotsManager snapshotsManager = new 
SnapshotsManager();
Line 110:     protected MacPoolManagerStrategy macPool;
> As far as I can see this field isn't used, so you should delete it.
Done
Line 111: 
Line 112:     public ImportVmCommand(T parameters) {
Line 113:         super(parameters);
Line 114:     }


Line 195: 
Line 196:         if (getParameters().isImportAsNewEntity()) {
Line 197:             initImportClonedVm();
Line 198: 
Line 199:             final VM vm = getVm();
> No need to extract to variable
Done
Line 200:             if (vm.getInterfaces().size() > 
getMacPoolForVm().getAvailableMacsCount()) {
Line 201:                 
addCanDoActionMessage(VdcBllMessages.MAC_POOL_NOT_ENOUGH_MAC_ADDRESSES);
Line 202:                 return false;
Line 203:             }


http://gerrit.ovirt.org/#/c/26800/38/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/MoveOrCopyTemplateCommand.java
File 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/MoveOrCopyTemplateCommand.java:

Line 387:         }
Line 388:         return permissionCheckSubject;
Line 389:     }
Line 390: 
Line 391:     protected void fillMacAddressIfMissing(VmNic iface) {
> I see this is only called from ImportVmCommand
replaced with getMacPool()
Line 392:         final MacPoolManagerStrategy pool = getMacPoolForVmNic(iface);
Line 393:         if (StringUtils.isEmpty(iface.getMacAddress())
Line 394:                 && (pool.getAvailableMacsCount() >= 1)) {
Line 395:             iface.setMacAddress(pool.allocateNewMac());


Line 422:     protected MacPoolManagerStrategy getMacPoolForVmNic(VmNic iface) {
Line 423:         return MacPoolPerDc.getInstance().poolForVmNic(iface);
Line 424:     }
Line 425: 
Line 426:     protected MacPoolManagerStrategy getMacPoolForDataCenter() {
> This is already available from CommandBase
Done
Line 427:         return 
MacPoolPerDc.getInstance().poolForDataCenter(getParameters().getStoragePoolId());
Line 428:     }
Line 429: 
Line 430:     /**


http://gerrit.ovirt.org/#/c/26800/38/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VmCommand.java
File 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VmCommand.java:

Line 228:     }
Line 229: 
Line 230:     protected void removeVmNetwork() {
Line 231:         if (getInterfaces() != null) {
Line 232:             final MacPoolManagerStrategy macPool = getMacPoolForVm();
> I wouldn't define this outside the loop, it has no real added value.
Done
Line 233:             for (VmNic iface : getInterfaces()) {
Line 234:                 macPool.freeMac(iface.getMacAddress());
Line 235:             }
Line 236:         }


Line 235:             }
Line 236:         }
Line 237:     }
Line 238: 
Line 239:     protected MacPoolManagerStrategy getMacPoolForVm() {
> This should be named simply getMacPool since the command shouldn't care whe
replace with getMacPool
Line 240:         return MacPoolPerDc.getInstance().poolForVm(getVm());
Line 241:     }
Line 242: 
Line 243:     protected Set<String> removeVmSnapshots() {


Line 541:         return returnValue;
Line 542:     }
Line 543: 
Line 544:     protected boolean canRunActionOnNonManagedVm() {
Line 545:         ValidationResult nonManagedVmValidationResult = 
VmHandler.canRunActionOnNonManagedVm(getVm(), getActionType());
> Although a nice change, it's unrelated to this patch and should go in a sep
Done
Line 546:         if (!nonManagedVmValidationResult.isValid()) {
Line 547:             return 
failCanDoAction(nonManagedVmValidationResult.getMessage());
Line 548:         }
Line 549:         return true;


http://gerrit.ovirt.org/#/c/26800/38/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VmHandler.java
File 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VmHandler.java:

Line 77:     /**
Line 78:      * Initialize static list containers, for identity and permission 
check. The initialization should be executed
Line 79:      * before calling ObjectIdentityChecker.
Line 80:      *
Line 81:      * @see Backend#initHandlers
> Although a nice change, it's unrelated to this patch and should go in a sep
Done
Line 82:      */
Line 83:     public static void init() {
Line 84:         Class<?>[] inspectedClassNames = new Class<?>[] {
Line 85:                 VmBase.class,


Line 145:      * @return
Line 146:      */
Line 147:     public static boolean verifyAddVm(List<String> reasons,
Line 148:             int nicsCount,
Line 149:             int vmPriority, MacPoolManagerStrategy macPool) {
> As per the formatting, this addition should be in a separate line.
Done
Line 150:         boolean returnValue = true;
Line 151:         if (macPool.getAvailableMacsCount() < nicsCount) {
Line 152:             if (reasons != null) {
Line 153:                 
reasons.add(VdcBllMessages.MAC_POOL_NOT_ENOUGH_MAC_ADDRESSES.toString());


Line 400:      */
Line 401:     public static void updateVmGuestAgentVersion(final VM vm) {
Line 402:         if (vm.getAppList() != null) {
Line 403:             final String[] parts = vm.getAppList().split("[,]", -1);
Line 404:             if (parts.length != 0) {
> Although a nice change, it's unrelated to this patch and should go in a sep
Done
Line 405:                 final List<String> possibleAgentAppNames = 
Config.<List<String>> getValue(ConfigValues.AgentAppName);
Line 406:                 final Map<String, String> spiceDriversInGuest =
Line 407:                         Config.<Map<String, String>> 
getValue(ConfigValues.SpiceDriverNameInGuest);
Line 408:                 final String spiceDriverInGuest =


http://gerrit.ovirt.org/#/c/26800/38/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/VmInterfaceManager.java
File 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/VmInterfaceManager.java:

Line 44:     private Log log = LogFactory.getLog(getClass());
Line 45: 
Line 46:     /**
Line 47:      * Add a {@link VmNic} to the VM. Allocates a MAC from the
Line 48:      * {@link 
org.ovirt.engine.core.bll.network.macpoolmanager.MacPoolManagerStrategy} if 
necessary, otherwise, if
> No need for FQCN since you're importing org.ovirt.engine.core.bll.network.m
Done
Line 49:      * {@code ConfigValues.HotPlugEnabled} is true, forces adding the 
MAC address to the
Line 50:      * {@link 
org.ovirt.engine.core.bll.network.macpoolmanager.MacPoolManagerStrategy}. If
Line 51:      * HotPlug is not enabled tries to add the {@link VmNic}'s MAC 
address to the
Line 52:      * {@link 
org.ovirt.engine.core.bll.network.macpoolmanager.MacPoolManagerStrategy}, and 
throws a


Line 49:      * {@code ConfigValues.HotPlugEnabled} is true, forces adding the 
MAC address to the
Line 50:      * {@link 
org.ovirt.engine.core.bll.network.macpoolmanager.MacPoolManagerStrategy}. If
Line 51:      * HotPlug is not enabled tries to add the {@link VmNic}'s MAC 
address to the
Line 52:      * {@link 
org.ovirt.engine.core.bll.network.macpoolmanager.MacPoolManagerStrategy}, and 
throws a
Line 53:      * {@link VdcBLLException} if it fails.
> Although a nice change, it's unrelated to this patch and should go in a sep
Done
Line 54:      *
Line 55:      * @param iface
Line 56:      *            The interface to save.
Line 57:      * @param compensationContext


Line 56:      *            The interface to save.
Line 57:      * @param compensationContext
Line 58:      *            Used to snapshot the saved entities.
Line 59:      * @param reserveExistingMac
Line 60:      *            Used to denote if we want to reserve the NIC's MAC 
address in the {@link 
org.ovirt.engine.core.bll.network.macpoolmanager.MacPoolManagerStrategy}
> No need for FQCN since you're importing org.ovirt.engine.core.bll.network.m
Done
Line 61:      * @param clusterCompatibilityVersion
Line 62:      *            the compatibility version of the cluster
Line 63:      * @return <code>true</code> if the MAC wasn't used, 
<code>false</code> if it was.
Line 64:      */


Line 68:             int osId,
Line 69:             Version clusterCompatibilityVersion) {
Line 70: 
Line 71:         if (reserveExistingMac) {
Line 72:             final MacPoolManagerStrategy macPoolManager = 
getMacPoolManager(iface.getVmId());
> Should be named just macPool.
Done
Line 73:             final String ifaceMacAddress = iface.getMacAddress();
Line 74: 
Line 75:             if (FeatureSupported.hotPlug(clusterCompatibilityVersion)
Line 76:                 && getOsRepository().hasNicHotplugSupport(osId, 
clusterCompatibilityVersion)) {


Line 69:             Version clusterCompatibilityVersion) {
Line 70: 
Line 71:         if (reserveExistingMac) {
Line 72:             final MacPoolManagerStrategy macPoolManager = 
getMacPoolManager(iface.getVmId());
Line 73:             final String ifaceMacAddress = iface.getMacAddress();
> There's no real value to extract this to variable
Done
Line 74: 
Line 75:             if (FeatureSupported.hotPlug(clusterCompatibilityVersion)
Line 76:                 && getOsRepository().hasNicHotplugSupport(osId, 
clusterCompatibilityVersion)) {
Line 77:                 macPoolManager.forceAddMac(ifaceMacAddress);


Line 119:         });
Line 120:     }
Line 121: 
Line 122:     /**
Line 123:      * Remove all {@link VmNic}s from the VM, and remove the Mac 
addresses from {@link 
org.ovirt.engine.core.bll.network.macpoolmanager.MacPoolManagerStrategy}.
> No need for FQCN since you're importing org.ovirt.engine.core.bll.network.m
Done
Line 124:      *
Line 125:      * @param vmId
Line 126:      *            The ID of the VM to remove from.
Line 127:      */


Line 129:         List<VmNic> interfaces = getVmNicDao().getAllForVm(vmId);
Line 130:         if (interfaces != null) {
Line 131:             removeFromExternalNetworks(interfaces);
Line 132: 
Line 133:             final MacPoolManagerStrategy macPool = 
getMacPoolManager(vmId);
> No need to extract to variable.
Done
Line 134:             for (VmNic iface : interfaces) {
Line 135:                 macPool.freeMac(iface.getMacAddress());
Line 136:                 getVmNicDao().remove(iface.getId());
Line 137:                 getVmNetworkStatisticsDao().remove(iface.getId());


Line 233:         AuditLogDirector.log(logable, auditLogType);
Line 234:     }
Line 235: 
Line 236:     protected MacPoolManagerStrategy getMacPoolManager(Guid vmId) {
Line 237:         return MacPoolPerDc.getInstance().poolForVm(vmId);
> It would make sense to inject the MacPool to this class (either via getter 
Done
Line 238:     }
Line 239: 
Line 240:     protected VmNetworkStatisticsDao getVmNetworkStatisticsDao() {
Line 241:         return DbFacade.getInstance().getVmNetworkStatisticsDao();


http://gerrit.ovirt.org/#/c/26800/38/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/macpoolmanager/ObjectCounter.java
File 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/macpoolmanager/ObjectCounter.java:

Line 45:      * decrements number of its occurrences, removing instance if 
possible(count reaches zero).
Line 46:      *
Line 47:      * @param key instance to remove.
Line 48:      *
Line 49:      * @return true if instance was removed  && count decremented.
> Although a nice change, it's unrelated to this patch and should go in a sep
Done
Line 50:      */
Line 51:     public void remove(T key) {
Line 52:         Counter counter = map.get(key);
Line 53:         if (counter == null) {


http://gerrit.ovirt.org/#/c/26800/38/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/macpoolmanager/Range.java
File 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/macpoolmanager/Range.java:

Line 48:         if (!usedMacs.get(arrayIndex)) {
Line 49:             availableMacsCount--;
Line 50:             usedMacs.set(arrayIndex, true);
Line 51:             return true;
Line 52: 
> No need to add newline..
Done
Line 53:         }
Line 54: 
Line 55:         if (allowDuplicates) {
Line 56:             return macDuplicityCount.add(arrayIndex);


http://gerrit.ovirt.org/#/c/26800/38/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/vm/AbstractVmInterfaceCommand.java
File 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/vm/AbstractVmInterfaceCommand.java:

Line 54:     protected void setActionMessageParameters() {
Line 55:         addCanDoActionMessage(VdcBllMessages.VAR__TYPE__INTERFACE);
Line 56:     }
Line 57: 
Line 58:     protected boolean addMacToPool(String macAddress, 
MacPoolManagerStrategy macPool) {
> You should use the pool available from the inherited getMacPool function
Done
Line 59:         if (macPool.addMac(macAddress)) {
Line 60:             return true;
Line 61:         } else {
Line 62:             throw new 
VdcBLLException(VdcBllErrors.MAC_ADDRESS_IS_IN_USE);


Line 62:             throw new 
VdcBLLException(VdcBllErrors.MAC_ADDRESS_IS_IN_USE);
Line 63:         }
Line 64:     }
Line 65: 
Line 66:     protected ValidationResult macAvailable(MacPoolManagerStrategy 
macPool) {
> Same here..
Done
Line 67:         Boolean allowDupMacs = Config.<Boolean> 
getValue(ConfigValues.AllowDuplicateMacAddresses);
Line 68:         return macPool.isMacInUse(getMacAddress()) && !allowDupMacs
Line 69:                 ? new 
ValidationResult(VdcBllMessages.NETWORK_MAC_ADDRESS_IN_USE)
Line 70:                 : ValidationResult.VALID;


http://gerrit.ovirt.org/#/c/26800/38/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/vm/AddVmInterfaceCommand.java
File 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/vm/AddVmInterfaceCommand.java:

Line 35:     }
Line 36: 
Line 37:     @Override
Line 38:     protected void executeVmCommand() {
Line 39:         final VmNetworkInterface anInterface = getInterface();
> There is no added value to extract this to a variable
Done
Line 40:         final VmStatic vmStatic = 
getVmStaticDAO().get(getParameters().getVmId());
Line 41:         addCustomValue("InterfaceType",
Line 42:                 
(VmInterfaceType.forValue(anInterface.getType()).getDescription()).toString());
Line 43:         this.setVmName(vmStatic.getName());


Line 36: 
Line 37:     @Override
Line 38:     protected void executeVmCommand() {
Line 39:         final VmNetworkInterface anInterface = getInterface();
Line 40:         final VmStatic vmStatic = 
getVmStaticDAO().get(getParameters().getVmId());
> Should be named just VM
Done
Line 41:         addCustomValue("InterfaceType",
Line 42:                 
(VmInterfaceType.forValue(anInterface.getType()).getDescription()).toString());
Line 43:         this.setVmName(vmStatic.getName());
Line 44: 


Line 43:         this.setVmName(vmStatic.getName());
Line 44: 
Line 45:         boolean succeeded = false;
Line 46:         boolean macAddedToPool = false;
Line 47:         final String macAddress = getMacAddress();
> There is no added value to extract this to a variable
Done
Line 48:         final MacPoolManagerStrategy pool = getMacPoolManager();
Line 49: 
Line 50:         try {
Line 51:             if (StringUtils.isEmpty(macAddress)) {


Line 44: 
Line 45:         boolean succeeded = false;
Line 46:         boolean macAddedToPool = false;
Line 47:         final String macAddress = getMacAddress();
Line 48:         final MacPoolManagerStrategy pool = getMacPoolManager();
> There is no added value to extract this to a variable
Done
Line 49: 
Line 50:         try {
Line 51:             if (StringUtils.isEmpty(macAddress)) {
Line 52: 


Line 82:             }
Line 83:         }
Line 84:     }
Line 85: 
Line 86:     protected MacPoolManagerStrategy getMacPoolManager() {
> No need for this method, you can use the one you inherited.
Done
Line 87:         return MacPoolPerDc.getInstance().poolForVm(getVm());
Line 88:     }
Line 89: 
Line 90:     private void addInterfaceDeviceToDb() {


Line 153:         if (StringUtils.isNotEmpty(getMacAddress())) {
Line 154:             if (!validate(macAvailable(getMacPoolManager()))) {
Line 155:                 return false;
Line 156:             }
Line 157:         } else if (getMacPoolManager().getAvailableMacsCount() <= 0){
> No need to delete the space between the brackets
Done
Line 158:             
addCanDoActionMessage(VdcBllMessages.MAC_POOL_NOT_ENOUGH_MAC_ADDRESSES);
Line 159:             return false;
Line 160:         }
Line 161: 


http://gerrit.ovirt.org/#/c/26800/38/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/vm/RemoveVmInterfaceCommand.java
File 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/vm/RemoveVmInterfaceCommand.java:

Line 30:     }
Line 31: 
Line 32:     @Override
Line 33:     protected void executeVmCommand() {
Line 34:         
setVmName(getVmStaticDAO().get(getParameters().getVmId()).getName());
> Although a nice change, it's unrelated to this patch and should go in a sep
Done
Line 35:         VmNic iface = 
getVmNicDao().get(getParameters().getInterfaceId());
Line 36: 
Line 37:         if (iface != null) {
Line 38:             new ExternalNetworkManager(iface).deallocateIfExternal();


Line 61:             }
Line 62:         });
Line 63:     }
Line 64: 
Line 65:     protected MacPoolManagerStrategy getMacPoolForVmNic(VmNic iface) {
> You should use the method you inherited.
Done
Line 66:         return MacPoolPerDc.getInstance().poolForVmNic(iface);
Line 67:     }
Line 68: 
Line 69:     @Override


http://gerrit.ovirt.org/#/c/26800/38/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/vm/UpdateVmInterfaceCommand.java
File 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/vm/UpdateVmInterfaceCommand.java:

Line 74:                 
(VmInterfaceType.forValue(getInterface().getType()).getDescription()).toString());
Line 75: 
Line 76:         boolean succeeded = false;
Line 77:         boolean macAddedToPool = false;
Line 78:         final MacPoolManagerStrategy macPool = getMacPoolForVm();
> There's no real value to define this in a variable.
Done
Line 79: 
Line 80:         try {
Line 81:             if (isVnicProfileChanged(oldIface, getInterface())) {
Line 82:                 Network newNetwork = 
NetworkHelper.getNetworkByVnicProfileId(getInterface().getVnicProfileId());


Line 161:             
addCanDoActionMessage(VdcBllMessages.ACTION_TYPE_FAILED_VM_NOT_EXIST);
Line 162:             return false;
Line 163:         }
Line 164: 
Line 165:         final MacPoolManagerStrategy macPool = getMacPoolForVm();
> Not sure why you defined this here, in any case it doesn't have any value.
Done
Line 166: 
Line 167:         if (!canRunActionOnNonManagedVm()) {
Line 168:             return false;
Line 169:         }


http://gerrit.ovirt.org/#/c/26800/38/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/RemoveStoragePoolCommand.java
File 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/RemoveStoragePoolCommand.java:

Line 87: 
Line 88:         removeDataCenter();
Line 89: 
Line 90:         getMacPoolForDataCenter().freeMacs(macsToRemove);
Line 91:         MacPoolPerDc.getInstance().removePool(getStoragePoolId());
> Not sure how this line makes any sense...
What's the problem?
this line is removing pool for given datacenter. It's record  was removed from 
DB, all related MACs was removed from pool, so there's empty pool left, which 
should also be removed.
Line 92:         setSucceeded(true);
Line 93:     }
Line 94: 
Line 95:     private void removeDataCenter() {


http://gerrit.ovirt.org/#/c/26800/38/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/StorageHandlingCommandBase.java
File 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/StorageHandlingCommandBase.java:

Line 581:     }
Line 582: 
Line 583:     /** @return The supported storage domain formats, delimited by 
commas (","). */
Line 584:     protected String getSupportedStorageFormats(Version version) {
Line 585:         return Config.getValue(ConfigValues.SupportedStorageFormats, 
version.toString());
> Although a nice change, it's unrelated to this patch and should go in a sep
Done
Line 586:     }
Line 587: 
Line 588:     /* Overidden DAO access methods, for easier testing */
Line 589: 


http://gerrit.ovirt.org/#/c/26800/38/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/ImportVmCommandTest.java
File 
backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/ImportVmCommandTest.java:

Line 63: 
Line 64:     @ClassRule
Line 65:     public static MockConfigRule mcr = new MockConfigRule(
Line 66:             mockConfig(ConfigValues.VirtIoScsiEnabled, 
Version.v3_2.toString(), false),
Line 67:             mockConfig(ConfigValues.MacPoolRanges, 
"00:1a:4a:15:c0:00-00:1a:4a:15:c0:ff"),
> Not sure why you need to mock all these config values
Done
Line 68:             mockConfig(ConfigValues.MaxMacsCountInPool, 100000),
Line 69:             mockConfig(ConfigValues.AllowDuplicateMacAddresses, 
false));
Line 70: 
Line 71:     @Rule


Line 75:     OsRepository osRepository;
Line 76: 
Line 77:     @BeforeClass
Line 78:     public static void setUpBeforeClass() throws Exception {
Line 79:         
ScopedMacPoolManagerUtilTest.initializeWithSoleSharedMacPoolUsedByEveryone();
> This can be accomplished much more simply by spying on the command.
Done
Line 80:     }
Line 81: 
Line 82:     @Before
Line 83:     public void setUp() {


Line 210:     }
Line 211: 
Line 212:     /**
Line 213:      * Checking that other fields in
Line 214:      * {@link org.ovirt.engine.core.common.businessentities.VmStatic}
> Although a nice change, it's unrelated to this patch and should go in a sep
Done
Line 215:      * don't get validated when importing a VM.
Line 216:      */
Line 217:     @Test
Line 218:     public void testOtherFieldsNotValidatedInImport() {


http://gerrit.ovirt.org/#/c/26800/38/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/ImportVmTemplateCommandTest.java
File 
backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/ImportVmTemplateCommandTest.java:

Line 57: public class ImportVmTemplateCommandTest {
Line 58: 
Line 59:     @ClassRule
Line 60:     public static MockConfigRule mcr = new MockConfigRule(
Line 61:             mockConfig(ConfigValues.VirtIoScsiEnabled, 
Version.v3_2.toString(), false));
> Although a nice change, it's unrelated to this patch and should go in a sep
Done
Line 62: 
Line 63:     @Before
Line 64:     public void setUpBeforeClass() throws Exception {
Line 65:         
ScopedMacPoolManagerUtilTest.initializeWithSoleSharedMacPoolUsedByEveryone();


Line 61:             mockConfig(ConfigValues.VirtIoScsiEnabled, 
Version.v3_2.toString(), false));
Line 62: 
Line 63:     @Before
Line 64:     public void setUpBeforeClass() throws Exception {
Line 65:         
ScopedMacPoolManagerUtilTest.initializeWithSoleSharedMacPoolUsedByEveryone();
> This can be accomplished much more simply by spying on the command.
Done
Line 66:     }
Line 67: 
Line 68:     @Test
Line 69:     public void insufficientDiskSpace() {


http://gerrit.ovirt.org/#/c/26800/38/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/network/VmInterfaceManagerTest.java
File 
backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/network/VmInterfaceManagerTest.java:

Line 89:     @SuppressWarnings("unchecked")
Line 90:     public void setupMocks() {
Line 91:         MockitoAnnotations.initMocks(this);
Line 92: 
Line 93:         
doReturn(macPoolManagerStrategy).when(vmInterfaceManager).getMacPoolManager(Mockito.any(Guid.class));
> Mockito.any is already imported statically so you can just use "any" and on
Done
Line 94:         
doReturn(vmNetworkStatisticsDAO).when(vmInterfaceManager).getVmNetworkStatisticsDao();
Line 95:         
doReturn(vmNetworkInterfaceDAO).when(vmInterfaceManager).getVmNetworkInterfaceDao();
Line 96:         doReturn(vmNicDao).when(vmInterfaceManager).getVmNicDao();
Line 97:         doReturn(vmDAO).when(vmInterfaceManager).getVmDAO();


Line 167:         
when(vmNetworkInterfaceDAO.getAllForVm(vm.getId())).thenReturn(vm.getInterfaces());
Line 168:     }
Line 169: 
Line 170:     /**
Line 171:      * Verify that {@link VmInterfaceManager#add} delegated correctly 
to {@link 
org.ovirt.engine.core.bll.network.macpoolmanager.MacPoolManagerStrategy} & DAOs.
> No need for FQCN since you import org.ovirt.engine.core.bll.network.macpool
Done
Line 172:      *
Line 173:      * @param iface
Line 174:      *            The interface to check for.
Line 175:      * @param addMacVerification


Line 172:      *
Line 173:      * @param iface
Line 174:      *            The interface to check for.
Line 175:      * @param addMacVerification
Line 176:      *            Mode to check (times(1), never(), etc) for {@link 
org.ovirt.engine.core.bll.network.macpoolmanager.MacPoolManagerStrategy#addMac(String)}.
> No need for FQCN since you import org.ovirt.engine.core.bll.network.macpool
Done
Line 177:      */
Line 178:     protected void verifyAddDelegatedCorrectly(VmNic iface, 
VerificationMode addMacVerification) {
Line 179:         verify(macPoolManagerStrategy, 
addMacVerification).forceAddMac(iface.getMacAddress());
Line 180:         verify(vmNicDao).save(iface);


Line 181:         verify(vmNetworkStatisticsDAO).save(iface.getStatistics());
Line 182:     }
Line 183: 
Line 184:     /**
Line 185:      * Verify that {@link VmInterfaceManager#removeAll} delegated 
correctly to {@link 
org.ovirt.engine.core.bll.network.macpoolmanager.MacPoolManagerStrategy} & DAOs.
> No need for FQCN since you import org.ovirt.engine.core.bll.network.macpool
Done
Line 186:      *
Line 187:      * @param iface
Line 188:      *            The interface to check for.
Line 189:      */


Line 199:     protected VmNic createNewInterface() {
Line 200:         VmNic iface = new VmNic();
Line 201:         iface.setId(Guid.newGuid());
Line 202: 
Line 203:         final long from = 
MacAddressRangeUtils.macToLong("00:1A:4A:01:00:00");
> Not sure, whats the rationale here?
Done
Line 204:         final int MAX_MACS_IN_POOL = 100000;
Line 205: 
Line 206:         final int rndInt = 
RandomUtils.instance().nextInt(MAX_MACS_IN_POOL);
Line 207:         long macLong = from + rndInt;


http://gerrit.ovirt.org/#/c/26800/38/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/network/macpoolmanager/ScopedMacPoolManagerUtilTest.java
File 
backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/network/macpoolmanager/ScopedMacPoolManagerUtilTest.java:

Line 15: import org.ovirt.engine.core.dal.dbbroker.DbFacadeLocator;
Line 16: import org.ovirt.engine.core.dao.MacPoolDao;
Line 17: import org.ovirt.engine.core.dao.StoragePoolDAO;
Line 18: 
Line 19: public class ScopedMacPoolManagerUtilTest {
> This is not necessary if you simply spy on the commands..
Done
Line 20:     private ScopedMacPoolManagerUtilTest() {
Line 21:     }
Line 22: 
Line 23:     public static void initializeWithSoleSharedMacPoolUsedByEveryone() 
{


http://gerrit.ovirt.org/#/c/26800/38/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VmStatic.java
File 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VmStatic.java:

Line 133:         return super.getName();
Line 134:     }
Line 135: 
Line 136:     public Guid getVmtGuid() {
Line 137:         return vmtGuid;
> Although a nice change, it's unrelated to this patch and should go in a sep
Done
Line 138:     }
Line 139: 
Line 140:     public void setVmtGuid(Guid value) {
Line 141:         vmtGuid = value;


Line 136:     public Guid getVmtGuid() {
Line 137:         return vmtGuid;
Line 138:     }
Line 139: 
Line 140:     public void setVmtGuid(Guid value) {
> Although a nice change, it's unrelated to this patch and should go in a sep
Done
Line 141:         vmtGuid = value;
Line 142:     }
Line 143: 
Line 144:     public boolean isInitialized() {


-- 
To view, visit http://gerrit.ovirt.org/26800
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I779f4d031409fbc422077ddf291fa34f955f3206
Gerrit-PatchSet: 38
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Martin Mucha <mmu...@redhat.com>
Gerrit-Reviewer: Lior Vernia <lver...@redhat.com>
Gerrit-Reviewer: Martin Mucha <mmu...@redhat.com>
Gerrit-Reviewer: Mike Kolesnik <mkole...@redhat.com>
Gerrit-Reviewer: Moti Asayag <masa...@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

Reply via email to