Skip to content

Commit 277fee1

Browse files
committed
use AtomicBoolean
1 parent 4cb5198 commit 277fee1

File tree

2 files changed

+20
-27
lines changed

2 files changed

+20
-27
lines changed

server/src/main/java/com/cloud/vm/UserVmManagerImpl.java

Lines changed: 6 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@
4444
import java.util.concurrent.Executors;
4545
import java.util.concurrent.ScheduledExecutorService;
4646
import java.util.concurrent.TimeUnit;
47+
import java.util.concurrent.atomic.AtomicBoolean;
4748
import java.util.regex.Matcher;
4849
import java.util.regex.Pattern;
4950
import java.util.stream.Collectors;
@@ -3984,7 +3985,7 @@ private NetworkVO getDefaultNetwork(DataCenter zone, Account owner, boolean sele
39843985
return defaultNetwork;
39853986
}
39863987

3987-
protected NetworkVO createDefaultNetworkForAccount(DataCenter zone, Account owner, List<NetworkOfferingVO> requiredOfferings)
3988+
private NetworkVO createDefaultNetworkForAccount(DataCenter zone, Account owner, List<NetworkOfferingVO> requiredOfferings)
39883989
throws InsufficientCapacityException, ResourceAllocationException {
39893990
NetworkVO defaultNetwork = null;
39903991
long physicalNetworkId = _networkModel.findPhysicalNetworkId(zone.getId(), requiredOfferings.get(0).getTags(), requiredOfferings.get(0).getTrafficType());
@@ -7591,7 +7592,7 @@ protected void executeStepsToChangeOwnershipOfVm(AssignVMCmd cmd, Account caller
75917592
updateVmOwner(newAccount, vm, domainId, newAccountId);
75927593

75937594
updateVolumesOwner(volumes, oldAccount, newAccount, newAccountId);
7594-
MutableBoolean isNetworkAutoCreated = new MutableBoolean(false);
7595+
AtomicBoolean isNetworkAutoCreated = new AtomicBoolean(false);
75957596
try {
75967597
updateVmNetwork(cmd, caller, vm, newAccount, template, isNetworkAutoCreated);
75977598
} catch (InsufficientCapacityException | ResourceAllocationException e) {
@@ -7662,7 +7663,7 @@ protected void updateVolumesOwner(final List<VolumeVO> volumes, Account oldAccou
76627663
* @throws InsufficientCapacityException
76637664
* @throws ResourceAllocationException
76647665
*/
7665-
protected void updateVmNetwork(AssignVMCmd cmd, Account caller, UserVmVO vm, Account newAccount, VirtualMachineTemplate template, MutableBoolean isNetworkAutoCreated)
7666+
protected void updateVmNetwork(AssignVMCmd cmd, Account caller, UserVmVO vm, Account newAccount, VirtualMachineTemplate template, AtomicBoolean isNetworkAutoCreated)
76667667
throws InsufficientCapacityException, ResourceAllocationException {
76677668

76687669
logger.trace("Updating network for VM [{}].", vm);
@@ -7791,7 +7792,7 @@ protected void updateBasicTypeNetworkForVm(AssignVMCmd cmd, UserVmVO vm, Account
77917792
* @throws InvalidParameterValueException
77927793
*/
77937794
protected void updateAdvancedTypeNetworkForVm(AssignVMCmd cmd, Account caller, UserVmVO vm, Account newAccount, VirtualMachineTemplate template,
7794-
VirtualMachineProfileImpl vmOldProfile, DataCenterVO zone, List<Long> networkIdList, List<Long> securityGroupIdList, MutableBoolean isNetworkAutoCreated)
7795+
VirtualMachineProfileImpl vmOldProfile, DataCenterVO zone, List<Long> networkIdList, List<Long> securityGroupIdList, AtomicBoolean isNetworkAutoCreated)
77957796
throws InsufficientCapacityException, ResourceAllocationException, InvalidParameterValueException {
77967797

77977798
LinkedHashSet<NetworkVO> applicableNetworks = new LinkedHashSet<>();
@@ -7947,7 +7948,7 @@ protected NetworkVO addNicsToApplicableNetworksAndReturnDefaultNetwork(LinkedHas
79477948
* @throws ResourceAllocationException
79487949
*/
79497950
protected void selectApplicableNetworkToCreateVm(Account caller, Account newAccount, DataCenterVO zone,
7950-
Set<NetworkVO> applicableNetworks, MutableBoolean isNetworkAutoCreated)
7951+
Set<NetworkVO> applicableNetworks, AtomicBoolean isNetworkAutoCreated)
79517952
throws InsufficientCapacityException, ResourceAllocationException {
79527953

79537954
logger.trace("Selecting the applicable network to create the VM.");
@@ -9167,12 +9168,4 @@ private void setVncPasswordForKvmIfAvailable(Map<String, String> customParameter
91679168
vm.setVncPassword(customParameters.get(VmDetailConstants.KVM_VNC_PASSWORD));
91689169
}
91699170
}
9170-
9171-
public static class MutableBoolean {
9172-
private boolean value;
9173-
public MutableBoolean(boolean val) { this.value = val; }
9174-
public void set(boolean val) { this.value = val; }
9175-
public boolean get() { return this.value; }
9176-
}
9177-
91789171
}

server/src/test/java/com/cloud/vm/UserVmManagerImplTest.java

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -36,12 +36,10 @@
3636
import static org.mockito.Mockito.when;
3737

3838
import java.util.ArrayList;
39-
import java.util.Collections;
4039
import java.util.HashMap;
4140
import java.util.List;
4241
import java.util.Map;
4342

44-
import com.cloud.network.Networks;
4543
import org.apache.cloudstack.acl.ControlledEntity;
4644
import org.apache.cloudstack.acl.SecurityChecker;
4745
import org.apache.cloudstack.api.BaseCmd.HTTPMethod;
@@ -142,6 +140,8 @@
142140
import java.util.LinkedHashMap;
143141
import java.util.LinkedHashSet;
144142
import java.util.LinkedList;
143+
import java.util.concurrent.atomic.AtomicBoolean;
144+
145145
import com.cloud.domain.DomainVO;
146146
import com.cloud.domain.dao.DomainDao;
147147
import com.cloud.event.UsageEventUtils;
@@ -1975,7 +1975,7 @@ public void updateVmNetworkTestCallsUpdateBasicTypeNetworkForVmIfBasicTypeZone()
19751975
Mockito.doNothing().when(userVmManagerImpl).updateBasicTypeNetworkForVm(Mockito.any(), Mockito.any(), Mockito.any(), Mockito.any(), Mockito.any(), Mockito.any(),
19761976
Mockito.any(), Mockito.any());
19771977

1978-
UserVmManagerImpl.MutableBoolean isNetworkCreated = Mockito.mock(UserVmManagerImpl.MutableBoolean.class);
1978+
AtomicBoolean isNetworkCreated = Mockito.mock(AtomicBoolean.class);
19791979
userVmManagerImpl.updateVmNetwork(assignVmCmdMock, callerAccount, userVmVoMock, accountMock, virtualMachineTemplateMock, isNetworkCreated);
19801980

19811981
Mockito.verify(userVmManagerImpl).updateBasicTypeNetworkForVm(Mockito.any(), Mockito.any(), Mockito.any(), Mockito.any(), Mockito.any(), Mockito.any(),
@@ -1989,7 +1989,7 @@ public void updateVmNetworkTestCallsUpdateAdvancedTypeNetworkForVmIfNotBasicType
19891989
Mockito.doNothing().when(userVmManagerImpl).updateAdvancedTypeNetworkForVm(Mockito.any(), Mockito.any(), Mockito.any(), Mockito.any(), Mockito.any(), Mockito.any(),
19901990
Mockito.any(), Mockito.any(), Mockito.any(), Mockito.any());
19911991

1992-
UserVmManagerImpl.MutableBoolean isNetworkCreated = Mockito.mock(UserVmManagerImpl.MutableBoolean.class);
1992+
AtomicBoolean isNetworkCreated = Mockito.mock(AtomicBoolean.class);
19931993

19941994
userVmManagerImpl.updateVmNetwork(assignVmCmdMock, callerAccount, userVmVoMock, accountMock, virtualMachineTemplateMock, isNetworkCreated);
19951995

@@ -2083,7 +2083,7 @@ public void selectApplicableNetworkToCreateVmTestRequiredOfferingsListHasNoOffer
20832083
NetworkOffering.Availability.Required);
20842084
HashSet<NetworkVO> applicableNetworks = new HashSet<NetworkVO>();
20852085
LinkedList<NetworkOfferingVO> requiredOfferings = new LinkedList<NetworkOfferingVO>();
2086-
UserVmManagerImpl.MutableBoolean isNetworkCreated = new UserVmManagerImpl.MutableBoolean(false);
2086+
AtomicBoolean isNetworkCreated = Mockito.mock(AtomicBoolean.class);
20872087

20882088
Mockito.doReturn(requiredOfferings).when(networkOfferingDaoMock).listByAvailability(NetworkOffering.Availability.Required, false);
20892089

@@ -2106,7 +2106,7 @@ public void selectApplicableNetworkToCreateVmTestFirstOfferingIsNotEnabledThrows
21062106

21072107
Mockito.doReturn(1l).when(networkOfferingVoMock).getId();
21082108

2109-
UserVmManagerImpl.MutableBoolean isNetworkCreated = new UserVmManagerImpl.MutableBoolean(false);
2109+
AtomicBoolean isNetworkCreated = Mockito.mock(AtomicBoolean.class);
21102110
InvalidParameterValueException assertThrows = Assert.assertThrows(expectedInvalidParameterValueException, () -> {
21112111
userVmManagerImpl.selectApplicableNetworkToCreateVm(callerAccount, accountMock, _dcMock, applicableNetworks, isNetworkCreated);
21122112
});
@@ -2129,7 +2129,7 @@ public void selectApplicableNetworkToCreateVmTestVirtualNetworkIsEmptyCallsCreat
21292129

21302130
Mockito.doReturn(networkMock).when(userVmManagerImpl).createApplicableNetworkToCreateVm(Mockito.any(), Mockito.any(), Mockito.any(), Mockito.any());
21312131

2132-
UserVmManagerImpl.MutableBoolean isNetworkCreated = Mockito.mock(UserVmManagerImpl.MutableBoolean.class);
2132+
AtomicBoolean isNetworkCreated = Mockito.mock(AtomicBoolean.class);
21332133
userVmManagerImpl.selectApplicableNetworkToCreateVm(callerAccount, accountMock, _dcMock, applicableNetworks, isNetworkCreated);
21342134

21352135
Mockito.verify(userVmManagerImpl).createApplicableNetworkToCreateVm(callerAccount, accountMock, _dcMock, networkOfferingVoMock);
@@ -2150,7 +2150,7 @@ public void selectApplicableNetworkToCreateVmTestVirtualNetworkHasMultipleNetwor
21502150
virtualNetworks.add(networkMock);
21512151
virtualNetworks.add(networkMock);
21522152

2153-
UserVmManagerImpl.MutableBoolean isNetworkCreated = Mockito.mock(UserVmManagerImpl.MutableBoolean.class);
2153+
AtomicBoolean isNetworkCreated = Mockito.mock(AtomicBoolean.class);
21542154
InvalidParameterValueException assertThrows = Assert.assertThrows(expectedInvalidParameterValueException, () -> {
21552155
userVmManagerImpl.selectApplicableNetworkToCreateVm(callerAccount, accountMock, _dcMock, applicableNetworks, isNetworkCreated);
21562156
});
@@ -2172,7 +2172,7 @@ public void selectApplicableNetworkToCreateVmTestVirtualNetworkHasOneNetworkCall
21722172
Mockito.doReturn(1).when(networkVoListMock).size();
21732173
Mockito.doReturn(networkMock).when(networkVoListMock).get(0);
21742174

2175-
UserVmManagerImpl.MutableBoolean isNetworkCreated = Mockito.mock(UserVmManagerImpl.MutableBoolean.class);
2175+
AtomicBoolean isNetworkCreated = Mockito.mock(AtomicBoolean.class);
21762176
userVmManagerImpl.selectApplicableNetworkToCreateVm(callerAccount, accountMock, _dcMock, applicableNetworks, isNetworkCreated);
21772177

21782178
Mockito.verify(_networkDao).findById(Mockito.anyLong());
@@ -2734,7 +2734,7 @@ public void updateAdvancedTypeNetworkForVmTestSecurityGroupIsEnabledApplicableNe
27342734

27352735
Mockito.doReturn(true).when(networkModel).checkSecurityGroupSupportForNetwork(Mockito.any(), Mockito.any(), Mockito.any(), Mockito.any());
27362736

2737-
UserVmManagerImpl.MutableBoolean isNetworkCreated = Mockito.mock(UserVmManagerImpl.MutableBoolean.class);
2737+
AtomicBoolean isNetworkCreated = Mockito.mock(AtomicBoolean.class);
27382738
InvalidParameterValueException assertThrows = Assert.assertThrows(expectedInvalidParameterValueException, () -> {
27392739
userVmManagerImpl.updateAdvancedTypeNetworkForVm(assignVmCmdMock, callerAccount, userVmVoMock, accountMock, virtualMachineTemplateMock, virtualMachineProfileMock,
27402740
_dcMock, networkIdList, securityGroupIdList, isNetworkCreated);
@@ -2757,7 +2757,7 @@ public void updateAdvancedTypeNetworkForVmTestSecurityGroupIsEnabledApplicableNe
27572757

27582758
Mockito.doReturn(true).when(networkModel).checkSecurityGroupSupportForNetwork(accountMock, _dcMock, networkIdList, securityGroupIdList);
27592759

2760-
UserVmManagerImpl.MutableBoolean isNetworkCreated = Mockito.mock(UserVmManagerImpl.MutableBoolean.class);
2760+
AtomicBoolean isNetworkCreated = Mockito.mock(AtomicBoolean.class);
27612761
userVmManagerImpl.updateAdvancedTypeNetworkForVm(assignVmCmdMock, callerAccount, userVmVoMock, accountMock, virtualMachineTemplateMock, virtualMachineProfileMock, _dcMock,
27622762
networkIdList, securityGroupIdList, isNetworkCreated);
27632763

@@ -2776,7 +2776,7 @@ public void updateAdvancedTypeNetworkForVmTestSecurityGroupIsNotEnabledSecurityG
27762776

27772777
Mockito.doReturn(false).when(networkModel).checkSecurityGroupSupportForNetwork(accountMock, _dcMock, networkIdList, securityGroupIdList);
27782778

2779-
UserVmManagerImpl.MutableBoolean isNetworkCreated = Mockito.mock(UserVmManagerImpl.MutableBoolean.class);
2779+
AtomicBoolean isNetworkCreated = Mockito.mock(AtomicBoolean.class);
27802780
InvalidParameterValueException assertThrows = Assert.assertThrows(expectedInvalidParameterValueException, () -> {
27812781
userVmManagerImpl.updateAdvancedTypeNetworkForVm(assignVmCmdMock, callerAccount, userVmVoMock, accountMock, virtualMachineTemplateMock, virtualMachineProfileMock,
27822782
_dcMock, networkIdList, securityGroupIdList, isNetworkCreated);
@@ -2798,7 +2798,7 @@ public void updateAdvancedTypeNetworkForVmTestSecurityGroupIsNotEnabledApplicabl
27982798
Mockito.doReturn(false).when(networkModel).checkSecurityGroupSupportForNetwork(accountMock, _dcMock, networkIdList, securityGroupIdList);
27992799
Mockito.doReturn(true).when(securityGroupIdList).isEmpty();
28002800

2801-
UserVmManagerImpl.MutableBoolean isNetworkCreated = Mockito.mock(UserVmManagerImpl.MutableBoolean.class);
2801+
AtomicBoolean isNetworkCreated = Mockito.mock(AtomicBoolean.class);
28022802
userVmManagerImpl.updateAdvancedTypeNetworkForVm(assignVmCmdMock, callerAccount, userVmVoMock, accountMock, virtualMachineTemplateMock, virtualMachineProfileMock, _dcMock,
28032803
networkIdList, securityGroupIdList, isNetworkCreated);
28042804

@@ -2822,7 +2822,7 @@ public void updateAdvancedTypeNetworkForVmTestSecurityGroupIsNotEnabledApplicabl
28222822
Mockito.doReturn(networkMock).when(_networkDao).findById(Mockito.anyLong());
28232823
Mockito.doReturn(true).when(userVmManagerImpl).canAccountUseNetwork(accountMock, networkMock);
28242824

2825-
UserVmManagerImpl.MutableBoolean isNetworkCreated = Mockito.mock(UserVmManagerImpl.MutableBoolean.class);
2825+
AtomicBoolean isNetworkCreated = Mockito.mock(AtomicBoolean.class);
28262826
userVmManagerImpl.updateAdvancedTypeNetworkForVm(assignVmCmdMock, callerAccount, userVmVoMock, accountMock, virtualMachineTemplateMock, virtualMachineProfileMock, _dcMock,
28272827
networkIdList, securityGroupIdList, isNetworkCreated);
28282828

0 commit comments

Comments
 (0)