private void verifyDomainLevelAffinityGroupName(boolean domainLevel, long domainId, String affinityGroupName) { if (domainLevel && _affinityGroupDao.findDomainLevelGroupByName(domainId, affinityGroupName) != null) { throw new InvalidParameterValueException("Unable to create affinity group, a group with name " + affinityGroupName + " already exists under the domain."); } }
private AffinityGroup createDedicatedAffinityGroup(String affinityGroupName, final Long domainId, final Long accountId) { if (affinityGroupName == null) { // default to a groupname with account/domain information affinityGroupName = "ZoneDedicatedGrp-domain-" + domainId + (accountId != null ? "-acct-" + accountId : ""); } AffinityGroup group = null; String accountName = null; if (accountId != null) { final AccountVO account = _accountDao.findById(accountId); accountName = account.getAccountName(); group = _affinityGroupDao.findByAccountAndName(accountId, affinityGroupName); if (group != null) { return group; } } else { // domain level group group = _affinityGroupDao.findDomainLevelGroupByName(domainId, affinityGroupName); if (group != null) { return group; } } group = _affinityGroupService.createAffinityGroup(accountName, null, domainId, affinityGroupName, "ExplicitDedication", "dedicated resources group"); return group; }
private AffinityGroupVO getAffinityGroupByName(String account, Long projectId, Long domainId, String affinityGroupName) { AffinityGroupVO group = null; if(account == null && domainId != null){ group = _affinityGroupDao.findDomainLevelGroupByName(domainId, affinityGroupName); }else{ Long accountId = _accountMgr.finalyzeAccountId(account, domainId, projectId, true); if(accountId == null){ Account caller = CallContext.current().getCallingAccount(); group = _affinityGroupDao.findByAccountAndName(caller.getAccountId(), affinityGroupName); }else{ group = _affinityGroupDao.findByAccountAndName(accountId, affinityGroupName); } } return group; }