Move all the DB view DAOs from cloud-server to cloud-api for future api-server package.

BUG-ID: CLOUDSTACK-527

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
This commit is contained in:
Min Chen 2012-12-12 18:05:04 -08:00 committed by Rohit Yadav
parent 7dbdf786cc
commit 7597a38f7a
32 changed files with 392 additions and 244 deletions

View File

@ -0,0 +1,225 @@
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements. See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership. The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License. You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied. See the License for the
// specific language governing permissions and limitations
// under the License.
package org.apache.cloudstack.api.view;
import java.util.EnumSet;
import java.util.List;
import org.apache.cloudstack.api.ApiConstants.VMDetails;
import org.apache.cloudstack.api.response.DomainRouterResponse;
import org.apache.cloudstack.api.response.EventResponse;
import org.apache.cloudstack.api.response.InstanceGroupResponse;
import org.apache.cloudstack.api.response.ProjectAccountResponse;
import org.apache.cloudstack.api.response.ProjectInvitationResponse;
import org.apache.cloudstack.api.response.ProjectResponse;
import org.apache.cloudstack.api.response.ResourceTagResponse;
import org.apache.cloudstack.api.response.SecurityGroupResponse;
import org.apache.cloudstack.api.response.UserResponse;
import org.apache.cloudstack.api.response.UserVmResponse;
import org.apache.cloudstack.api.view.dao.DomainRouterJoinDao;
import org.apache.cloudstack.api.view.dao.EventJoinDao;
import org.apache.cloudstack.api.view.dao.InstanceGroupJoinDao;
import org.apache.cloudstack.api.view.dao.ProjectAccountJoinDao;
import org.apache.cloudstack.api.view.dao.ProjectInvitationJoinDao;
import org.apache.cloudstack.api.view.dao.ProjectJoinDao;
import org.apache.cloudstack.api.view.dao.ResourceTagJoinDao;
import org.apache.cloudstack.api.view.dao.SecurityGroupJoinDao;
import org.apache.cloudstack.api.view.dao.UserAccountJoinDao;
import org.apache.cloudstack.api.view.dao.UserVmJoinDao;
import org.apache.cloudstack.api.view.vo.DomainRouterJoinVO;
import org.apache.cloudstack.api.view.vo.EventJoinVO;
import org.apache.cloudstack.api.view.vo.InstanceGroupJoinVO;
import org.apache.cloudstack.api.view.vo.ProjectAccountJoinVO;
import org.apache.cloudstack.api.view.vo.ProjectInvitationJoinVO;
import org.apache.cloudstack.api.view.vo.ProjectJoinVO;
import org.apache.cloudstack.api.view.vo.ResourceTagJoinVO;
import org.apache.cloudstack.api.view.vo.SecurityGroupJoinVO;
import org.apache.cloudstack.api.view.vo.UserAccountJoinVO;
import org.apache.cloudstack.api.view.vo.UserVmJoinVO;
import com.cloud.configuration.ConfigurationService;
import com.cloud.event.Event;
import com.cloud.network.router.VirtualRouter;
import com.cloud.network.security.SecurityGroup;
import com.cloud.projects.Project;
import com.cloud.projects.ProjectAccount;
import com.cloud.projects.ProjectInvitation;
import com.cloud.projects.ProjectService;
import com.cloud.server.ResourceTag;
import com.cloud.server.TaggedResourceService;
import com.cloud.user.Account;
import com.cloud.user.ResourceLimitService;
import com.cloud.user.User;
import com.cloud.user.UserAccount;
import com.cloud.uservm.UserVm;
import com.cloud.utils.component.ComponentLocator;
import com.cloud.vm.InstanceGroup;
/**
* @author minc
*
*/
public class DBViewUtils {
private static DomainRouterJoinDao _domainRouterJoinDao;
private static SecurityGroupJoinDao _securityGroupJoinDao;
private static UserVmJoinDao _userVmJoinDao;
private static ResourceTagJoinDao _tagJoinDao;
private static EventJoinDao _eventJoinDao;
private static InstanceGroupJoinDao _vmGroupJoinDao;
private static UserAccountJoinDao _userAccountJoinDao;
private static ProjectJoinDao _projectJoinDao;
private static ProjectAccountJoinDao _projectAccountJoinDao;
private static ProjectInvitationJoinDao _projectInvitationJoinDao;
static {
ComponentLocator locator = ComponentLocator.getLocator("management-server");
_domainRouterJoinDao = locator.getDao(DomainRouterJoinDao.class);
_userVmJoinDao = locator.getDao(UserVmJoinDao.class);
_securityGroupJoinDao = locator.getDao(SecurityGroupJoinDao.class);
_tagJoinDao = locator.getDao(ResourceTagJoinDao.class);
_vmGroupJoinDao = locator.getDao(InstanceGroupJoinDao.class);
_eventJoinDao = locator.getDao(EventJoinDao.class);
_userAccountJoinDao = locator.getDao(UserAccountJoinDao.class);
_projectJoinDao = locator.getDao(ProjectJoinDao.class);
_projectAccountJoinDao = locator.getDao(ProjectAccountJoinDao.class);
_projectInvitationJoinDao = locator.getDao(ProjectInvitationJoinDao.class);
}
public static DomainRouterResponse newDomainRouterResponse(DomainRouterJoinVO vr, Account caller) {
return _domainRouterJoinDao.newDomainRouterResponse(vr, caller);
}
public static DomainRouterResponse fillRouterDetails(DomainRouterResponse vrData, DomainRouterJoinVO vr){
return _domainRouterJoinDao.setDomainRouterResponse(vrData, vr);
}
public static List<DomainRouterJoinVO> newDomainRouterView(VirtualRouter vr){
return _domainRouterJoinDao.newDomainRouterView(vr);
}
public static UserVmResponse newUserVmResponse(String objectName, UserVmJoinVO userVm, EnumSet<VMDetails> details, Account caller) {
return _userVmJoinDao.newUserVmResponse(objectName, userVm, details, caller);
}
public static UserVmResponse fillVmDetails(UserVmResponse vmData, UserVmJoinVO vm){
return _userVmJoinDao.setUserVmResponse(vmData, vm);
}
public static List<UserVmJoinVO> newUserVmView(UserVm... userVms){
return _userVmJoinDao.newUserVmView(userVms);
}
public static SecurityGroupResponse newSecurityGroupResponse(SecurityGroupJoinVO vsg, Account caller) {
return _securityGroupJoinDao.newSecurityGroupResponse(vsg, caller);
}
public static SecurityGroupResponse fillSecurityGroupDetails(SecurityGroupResponse vsgData, SecurityGroupJoinVO sg){
return _securityGroupJoinDao.setSecurityGroupResponse(vsgData, sg);
}
public static List<SecurityGroupJoinVO> newSecurityGroupView(SecurityGroup sg){
return _securityGroupJoinDao.newSecurityGroupView(sg);
}
public static List<SecurityGroupJoinVO> findSecurityGroupViewById(Long sgId){
return _securityGroupJoinDao.searchByIds(sgId);
}
public static ResourceTagResponse newResourceTagResponse(ResourceTagJoinVO vsg, boolean keyValueOnly) {
return _tagJoinDao.newResourceTagResponse(vsg, keyValueOnly);
}
public static ResourceTagJoinVO newResourceTagView(ResourceTag sg){
return _tagJoinDao.newResourceTagView(sg);
}
public static ResourceTagJoinVO findResourceTagViewById(Long tagId){
List<ResourceTagJoinVO> tags = _tagJoinDao.searchByIds(tagId);
if ( tags != null && tags.size() > 0 ){
return tags.get(0);
}
else{
return null;
}
}
public static EventResponse newEventResponse(EventJoinVO ve) {
return _eventJoinDao.newEventResponse(ve);
}
public static EventJoinVO newEventView(Event e){
return _eventJoinDao.newEventView(e);
}
public static InstanceGroupResponse newInstanceGroupResponse(InstanceGroupJoinVO ve) {
return _vmGroupJoinDao.newInstanceGroupResponse(ve);
}
public static InstanceGroupJoinVO newInstanceGroupView(InstanceGroup e){
return _vmGroupJoinDao.newInstanceGroupView(e);
}
public static UserResponse newUserResponse(UserAccountJoinVO usr) {
return _userAccountJoinDao.newUserResponse(usr);
}
public static UserAccountJoinVO newUserView(User usr){
return _userAccountJoinDao.newUserView(usr);
}
public static UserAccountJoinVO newUserView(UserAccount usr){
return _userAccountJoinDao.newUserView(usr);
}
public static ProjectResponse newProjectResponse(ProjectJoinVO proj) {
return _projectJoinDao.newProjectResponse(proj);
}
public static ProjectResponse fillProjectDetails(ProjectResponse rsp, ProjectJoinVO proj){
return _projectJoinDao.setProjectResponse(rsp,proj);
}
public static List<ProjectJoinVO> newProjectView(Project proj){
return _projectJoinDao.newProjectView(proj);
}
public static List<UserAccountJoinVO> findUserViewByAccountId(Long accountId){
return _userAccountJoinDao.searchByAccountId(accountId);
}
public static ProjectAccountResponse newProjectAccountResponse(ProjectAccountJoinVO proj) {
return _projectAccountJoinDao.newProjectAccountResponse(proj);
}
public static ProjectAccountJoinVO newProjectAccountView(ProjectAccount proj) {
return _projectAccountJoinDao.newProjectAccountView(proj);
}
public static ProjectInvitationResponse newProjectInvitationResponse(ProjectInvitationJoinVO proj) {
return _projectInvitationJoinDao.newProjectInvitationResponse(proj);
}
public static ProjectInvitationJoinVO newProjectInvitationView(ProjectInvitation proj) {
return _projectInvitationJoinDao.newProjectInvitationView(proj);
}
}

View File

@ -0,0 +1,43 @@
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements. See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership. The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License. You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied. See the License for the
// specific language governing permissions and limitations
// under the License.
package org.apache.cloudstack.api.view;
import org.apache.cloudstack.api.response.ControlledViewEntityResponse;
import org.apache.cloudstack.api.view.vo.ControlledViewEntity;
import com.cloud.user.Account;
/**
* Some helper routine in generating response from db view.
* @author minc
*
*/
public class ViewResponseHelper {
public static void populateOwner(ControlledViewEntityResponse response, ControlledViewEntity object) {
if (object.getAccountType() == Account.ACCOUNT_TYPE_PROJECT) {
response.setProjectId(object.getProjectUuid());
response.setProjectName(object.getProjectName());
} else {
response.setAccountName(object.getAccountName());
}
response.setDomainId(object.getDomainUuid());
response.setDomainName(object.getDomainName());
}
}

View File

@ -14,7 +14,7 @@
// KIND, either express or implied. See the License for the
// specific language governing permissions and limitations
// under the License.
package com.cloud.vm.dao;
package org.apache.cloudstack.api.view.dao;
import java.util.List;

View File

@ -14,7 +14,7 @@
// KIND, either express or implied. See the License for the
// specific language governing permissions and limitations
// under the License.
package com.cloud.vm.dao;
package org.apache.cloudstack.api.view.dao;
import java.util.ArrayList;
import java.util.List;
@ -23,9 +23,10 @@ import javax.ejb.Local;
import org.apache.log4j.Logger;
import com.cloud.api.ApiResponseHelper;
import org.apache.cloudstack.api.response.DomainRouterResponse;
import org.apache.cloudstack.api.response.NicResponse;
import org.apache.cloudstack.api.view.ViewResponseHelper;
import org.apache.cloudstack.api.view.vo.DomainRouterJoinVO;
import com.cloud.network.Networks.TrafficType;
import com.cloud.network.router.VirtualRouter;
@ -132,7 +133,7 @@ public class DomainRouterJoinDaoImpl extends GenericDaoBase<DomainRouterJoinVO,
routerResponse.setServiceOfferingName(router.getServiceOfferingName());
// populate owner.
ApiResponseHelper.populateOwner(routerResponse, router);
ViewResponseHelper.populateOwner(routerResponse, router);
routerResponse.setDomainId(router.getDomainUuid());

View File

@ -14,7 +14,7 @@
// KIND, either express or implied. See the License for the
// specific language governing permissions and limitations
// under the License.
package com.cloud.event.dao;
package org.apache.cloudstack.api.view.dao;
import java.util.List;

View File

@ -14,17 +14,17 @@
// KIND, either express or implied. See the License for the
// specific language governing permissions and limitations
// under the License.
package com.cloud.event.dao;
package org.apache.cloudstack.api.view.dao;
import java.util.ArrayList;
import java.util.List;
import javax.ejb.Local;
import org.apache.log4j.Logger;
import com.cloud.api.ApiResponseHelper;
import org.apache.cloudstack.api.response.EventResponse;
import org.apache.cloudstack.api.view.ViewResponseHelper;
import org.apache.cloudstack.api.view.vo.EventJoinVO;
import com.cloud.event.Event;
import com.cloud.event.Event.State;
@ -94,7 +94,7 @@ public class EventJoinDaoImpl extends GenericDaoBase<EventJoinVO, Long> implemen
responseEvent.setState(event.getState());
responseEvent.setUsername(event.getUserName());
ApiResponseHelper.populateOwner(responseEvent, event);
ViewResponseHelper.populateOwner(responseEvent, event);
responseEvent.setObjectName("event");
return responseEvent;
}

View File

@ -14,7 +14,7 @@
// KIND, either express or implied. See the License for the
// specific language governing permissions and limitations
// under the License.
package com.cloud.vm.dao;
package org.apache.cloudstack.api.view.dao;
import java.util.List;

View File

@ -14,7 +14,7 @@
// KIND, either express or implied. See the License for the
// specific language governing permissions and limitations
// under the License.
package com.cloud.vm.dao;
package org.apache.cloudstack.api.view.dao;
import java.util.List;
@ -22,8 +22,8 @@ import javax.ejb.Local;
import org.apache.log4j.Logger;
import com.cloud.api.ApiResponseHelper;
import org.apache.cloudstack.api.response.InstanceGroupResponse;
import org.apache.cloudstack.api.view.ViewResponseHelper;
import org.apache.cloudstack.api.view.vo.InstanceGroupJoinVO;
import com.cloud.utils.db.GenericDaoBase;
@ -63,7 +63,7 @@ public class InstanceGroupJoinDaoImpl extends GenericDaoBase<InstanceGroupJoinVO
groupResponse.setName(group.getName());
groupResponse.setCreated(group.getCreated());
ApiResponseHelper.populateOwner(groupResponse, group);
ViewResponseHelper.populateOwner(groupResponse, group);
groupResponse.setObjectName("instancegroup");
return groupResponse;

View File

@ -14,7 +14,7 @@
// KIND, either express or implied. See the License for the
// specific language governing permissions and limitations
// under the License.
package com.cloud.projects.dao;
package org.apache.cloudstack.api.view.dao;
import java.util.List;

View File

@ -14,7 +14,7 @@
// KIND, either express or implied. See the License for the
// specific language governing permissions and limitations
// under the License.
package com.cloud.projects.dao;
package org.apache.cloudstack.api.view.dao;
import java.util.List;

View File

@ -14,7 +14,7 @@
// KIND, either express or implied. See the License for the
// specific language governing permissions and limitations
// under the License.
package com.cloud.projects.dao;
package org.apache.cloudstack.api.view.dao;
import org.apache.cloudstack.api.response.ProjectInvitationResponse;
import org.apache.cloudstack.api.view.vo.ProjectInvitationJoinVO;

View File

@ -14,7 +14,7 @@
// KIND, either express or implied. See the License for the
// specific language governing permissions and limitations
// under the License.
package com.cloud.projects.dao;
package org.apache.cloudstack.api.view.dao;
import java.util.List;
@ -25,9 +25,8 @@ import org.apache.log4j.Logger;
import org.apache.cloudstack.api.response.ProjectInvitationResponse;
import org.apache.cloudstack.api.view.vo.ProjectInvitationJoinVO;
import com.cloud.api.ApiDBUtils;
import com.cloud.projects.ProjectInvitation;
import com.cloud.user.Account;
import com.cloud.utils.db.GenericDaoBase;
import com.cloud.utils.db.SearchBuilder;
import com.cloud.utils.db.SearchCriteria;

View File

@ -14,7 +14,7 @@
// KIND, either express or implied. See the License for the
// specific language governing permissions and limitations
// under the License.
package com.cloud.projects.dao;
package org.apache.cloudstack.api.view.dao;
import java.util.List;

View File

@ -14,7 +14,7 @@
// KIND, either express or implied. See the License for the
// specific language governing permissions and limitations
// under the License.
package com.cloud.projects.dao;
package org.apache.cloudstack.api.view.dao;
import java.util.List;
@ -22,8 +22,9 @@ import javax.ejb.Local;
import org.apache.log4j.Logger;
import com.cloud.api.ApiDBUtils;
import org.apache.cloudstack.api.response.ProjectResponse;
import org.apache.cloudstack.api.view.DBViewUtils;
import org.apache.cloudstack.api.view.vo.ProjectJoinVO;
import org.apache.cloudstack.api.view.vo.ResourceTagJoinVO;
import com.cloud.projects.Project;
@ -68,9 +69,9 @@ public class ProjectJoinDaoImpl extends GenericDaoBase<ProjectJoinVO, Long> impl
// update tag information
Long tag_id = proj.getTagId();
if (tag_id != null && tag_id.longValue() > 0) {
ResourceTagJoinVO vtag = ApiDBUtils.findResourceTagViewById(tag_id);
ResourceTagJoinVO vtag = DBViewUtils.findResourceTagViewById(tag_id);
if ( vtag != null ){
response.addTag(ApiDBUtils.newResourceTagResponse(vtag, false));
response.addTag(DBViewUtils.newResourceTagResponse(vtag, false));
}
}
@ -83,9 +84,9 @@ public class ProjectJoinDaoImpl extends GenericDaoBase<ProjectJoinVO, Long> impl
// update tag information
Long tag_id = proj.getTagId();
if (tag_id != null && tag_id.longValue() > 0) {
ResourceTagJoinVO vtag = ApiDBUtils.findResourceTagViewById(tag_id);
ResourceTagJoinVO vtag = DBViewUtils.findResourceTagViewById(tag_id);
if ( vtag != null ){
rsp.addTag(ApiDBUtils.newResourceTagResponse(vtag, false));
rsp.addTag(DBViewUtils.newResourceTagResponse(vtag, false));
}
}
return rsp;

View File

@ -14,7 +14,7 @@
// KIND, either express or implied. See the License for the
// specific language governing permissions and limitations
// under the License.
package com.cloud.tags.dao;
package org.apache.cloudstack.api.view.dao;
import java.util.List;

View File

@ -14,17 +14,17 @@
// KIND, either express or implied. See the License for the
// specific language governing permissions and limitations
// under the License.
package com.cloud.tags.dao;
package org.apache.cloudstack.api.view.dao;
import java.util.ArrayList;
import java.util.List;
import javax.ejb.Local;
import org.apache.log4j.Logger;
import com.cloud.api.ApiResponseHelper;
import org.apache.cloudstack.api.response.ResourceTagResponse;
import org.apache.cloudstack.api.view.ViewResponseHelper;
import org.apache.cloudstack.api.view.vo.ResourceTagJoinVO;
import com.cloud.server.ResourceTag;
import com.cloud.utils.db.GenericDaoBase;
@ -67,7 +67,7 @@ public class ResourceTagJoinDaoImpl extends GenericDaoBase<ResourceTagJoinVO, Lo
response.setResourceType(resourceTag.getResourceType().toString());
response.setResourceId(resourceTag.getResourceUuid());
ApiResponseHelper.populateOwner(response, resourceTag);
ViewResponseHelper.populateOwner(response, resourceTag);
response.setDomainId(resourceTag.getDomainUuid());
response.setDomainName(resourceTag.getDomainName());

View File

@ -14,7 +14,7 @@
// KIND, either express or implied. See the License for the
// specific language governing permissions and limitations
// under the License.
package com.cloud.network.security.dao;
package org.apache.cloudstack.api.view.dao;
import java.util.List;
@ -34,4 +34,3 @@ public interface SecurityGroupJoinDao extends GenericDao<SecurityGroupJoinVO, Lo
List<SecurityGroupJoinVO> searchByIds(Long... ids);
}

View File

@ -14,19 +14,18 @@
// KIND, either express or implied. See the License for the
// specific language governing permissions and limitations
// under the License.
package com.cloud.network.security.dao;
package org.apache.cloudstack.api.view.dao;
import java.util.ArrayList;
import java.util.List;
import javax.ejb.Local;
import org.apache.log4j.Logger;
import com.cloud.api.ApiDBUtils;
import com.cloud.api.ApiResponseHelper;
import org.apache.cloudstack.api.response.SecurityGroupResponse;
import org.apache.cloudstack.api.response.SecurityGroupRuleResponse;
import org.apache.cloudstack.api.view.DBViewUtils;
import org.apache.cloudstack.api.view.ViewResponseHelper;
import org.apache.cloudstack.api.view.vo.ResourceTagJoinVO;
import org.apache.cloudstack.api.view.vo.SecurityGroupJoinVO;
import com.cloud.network.security.SecurityGroup;
@ -64,7 +63,7 @@ public class SecurityGroupJoinDaoImpl extends GenericDaoBase<SecurityGroupJoinVO
sgResponse.setName(vsg.getName());
sgResponse.setDescription(vsg.getDescription());
ApiResponseHelper.populateOwner(sgResponse, vsg);
ViewResponseHelper.populateOwner(sgResponse, vsg);
Long rule_id = vsg.getRuleId();
if (rule_id != null && rule_id.longValue() > 0) {
@ -103,9 +102,9 @@ public class SecurityGroupJoinDaoImpl extends GenericDaoBase<SecurityGroupJoinVO
// update tag information
Long tag_id = vsg.getTagId();
if (tag_id != null && tag_id.longValue() > 0) {
ResourceTagJoinVO vtag = ApiDBUtils.findResourceTagViewById(tag_id);
ResourceTagJoinVO vtag = DBViewUtils.findResourceTagViewById(tag_id);
if ( vtag != null ){
sgResponse.addTag(ApiDBUtils.newResourceTagResponse(vtag, false));
sgResponse.addTag(DBViewUtils.newResourceTagResponse(vtag, false));
}
}
sgResponse.setObjectName("securitygroup");
@ -152,9 +151,9 @@ public class SecurityGroupJoinDaoImpl extends GenericDaoBase<SecurityGroupJoinVO
// update tag information
Long tag_id = vsg.getTagId();
if (tag_id != null && tag_id.longValue() > 0 ) {
ResourceTagJoinVO vtag = ApiDBUtils.findResourceTagViewById(tag_id);
ResourceTagJoinVO vtag = DBViewUtils.findResourceTagViewById(tag_id);
if ( vtag != null ){
vsgData.addTag(ApiDBUtils.newResourceTagResponse(vtag, false));
vsgData.addTag(DBViewUtils.newResourceTagResponse(vtag, false));
}
}
return vsgData;

View File

@ -14,7 +14,7 @@
// KIND, either express or implied. See the License for the
// specific language governing permissions and limitations
// under the License.
package com.cloud.user.dao;
package org.apache.cloudstack.api.view.dao;
import java.util.List;

View File

@ -14,7 +14,7 @@
// KIND, either express or implied. See the License for the
// specific language governing permissions and limitations
// under the License.
package com.cloud.user.dao;
package org.apache.cloudstack.api.view.dao;
import java.util.List;
@ -22,20 +22,15 @@ import javax.ejb.Local;
import org.apache.log4j.Logger;
import com.cloud.api.ApiDBUtils;
import com.cloud.api.ApiResponseHelper;
import org.apache.cloudstack.api.response.InstanceGroupResponse;
import org.apache.cloudstack.api.response.UserResponse;
import org.apache.cloudstack.api.view.vo.InstanceGroupJoinVO;
import org.apache.cloudstack.api.view.vo.UserAccountJoinVO;
import com.cloud.user.Account;
import com.cloud.user.User;
import com.cloud.user.UserAccount;
import com.cloud.utils.db.GenericDaoBase;
import com.cloud.utils.db.SearchBuilder;
import com.cloud.utils.db.SearchCriteria;
import com.cloud.vm.InstanceGroup;
@Local(value={UserAccountJoinDao.class})

View File

@ -14,7 +14,7 @@
// KIND, either express or implied. See the License for the
// specific language governing permissions and limitations
// under the License.
package com.cloud.vm.dao;
package org.apache.cloudstack.api.view.dao;
import java.util.EnumSet;
import java.util.List;

View File

@ -14,7 +14,7 @@
// KIND, either express or implied. See the License for the
// specific language governing permissions and limitations
// under the License.
package com.cloud.vm.dao;
package org.apache.cloudstack.api.view.dao;
import java.text.DecimalFormat;
import java.util.ArrayList;
@ -26,11 +26,12 @@ import javax.ejb.Local;
import org.apache.log4j.Logger;
import com.cloud.api.ApiDBUtils;
//import com.cloud.api.ApiDBUtils;
import org.apache.cloudstack.api.ApiConstants.VMDetails;
import org.apache.cloudstack.api.response.NicResponse;
import org.apache.cloudstack.api.response.SecurityGroupResponse;
import org.apache.cloudstack.api.response.UserVmResponse;
import org.apache.cloudstack.api.view.DBViewUtils;
import org.apache.cloudstack.api.view.vo.ResourceTagJoinVO;
import org.apache.cloudstack.api.view.vo.UserVmJoinVO;
import com.cloud.user.Account;
@ -131,6 +132,8 @@ public class UserVmJoinDaoImpl extends GenericDaoBase<UserVmJoinVO, Long> implem
userVmResponse.setPublicIp(userVm.getPublicIpAddress());
userVmResponse.setKeyPairName(userVm.getKeypairName());
/*TODO: we need to invoke cloud-engine API to get Vm statistics or StatsConnector needs
* to put them into DB tables
if (details.contains(VMDetails.all) || details.contains(VMDetails.stats)) {
DecimalFormat decimalFormat = new DecimalFormat("#.##");
// stats calculation
@ -148,6 +151,7 @@ public class UserVmJoinDaoImpl extends GenericDaoBase<UserVmJoinVO, Long> implem
userVmResponse.setNetworkKbsWrite(networkKbWrite.longValue());
}
}
*/
if (details.contains(VMDetails.all) || details.contains(VMDetails.secgrp)) {
Long securityGroupId = userVm.getSecurityGroupId();
@ -198,9 +202,9 @@ public class UserVmJoinDaoImpl extends GenericDaoBase<UserVmJoinVO, Long> implem
// update tag information
long tag_id = userVm.getTagId();
if (tag_id > 0) {
ResourceTagJoinVO vtag = ApiDBUtils.findResourceTagViewById(tag_id);
ResourceTagJoinVO vtag = DBViewUtils.findResourceTagViewById(tag_id);
if ( vtag != null ){
userVmResponse.addTag(ApiDBUtils.newResourceTagResponse(vtag, false));
userVmResponse.addTag(DBViewUtils.newResourceTagResponse(vtag, false));
}
}
userVmResponse.setObjectName(objectName);
@ -253,9 +257,9 @@ public class UserVmJoinDaoImpl extends GenericDaoBase<UserVmJoinVO, Long> implem
long tag_id = uvo.getTagId();
if (tag_id > 0) {
ResourceTagJoinVO vtag = ApiDBUtils.findResourceTagViewById(tag_id);
ResourceTagJoinVO vtag = DBViewUtils.findResourceTagViewById(tag_id);
if ( vtag != null ){
userVmData.addTag(ApiDBUtils.newResourceTagResponse(vtag, false));
userVmData.addTag(DBViewUtils.newResourceTagResponse(vtag, false));
}
}
return userVmData;

View File

@ -33,6 +33,16 @@ import org.apache.cloudstack.api.response.ResourceTagResponse;
import org.apache.cloudstack.api.response.SecurityGroupResponse;
import org.apache.cloudstack.api.response.UserResponse;
import org.apache.cloudstack.api.response.UserVmResponse;
import org.apache.cloudstack.api.view.dao.DomainRouterJoinDao;
import org.apache.cloudstack.api.view.dao.EventJoinDao;
import org.apache.cloudstack.api.view.dao.InstanceGroupJoinDao;
import org.apache.cloudstack.api.view.dao.ProjectAccountJoinDao;
import org.apache.cloudstack.api.view.dao.ProjectInvitationJoinDao;
import org.apache.cloudstack.api.view.dao.ProjectJoinDao;
import org.apache.cloudstack.api.view.dao.ResourceTagJoinDao;
import org.apache.cloudstack.api.view.dao.SecurityGroupJoinDao;
import org.apache.cloudstack.api.view.dao.UserAccountJoinDao;
import org.apache.cloudstack.api.view.dao.UserVmJoinDao;
import org.apache.cloudstack.api.view.vo.DomainRouterJoinVO;
import org.apache.cloudstack.api.view.vo.EventJoinVO;
import org.apache.cloudstack.api.view.vo.InstanceGroupJoinVO;
@ -66,7 +76,6 @@ import com.cloud.dc.dao.VlanDao;
import com.cloud.domain.DomainVO;
import com.cloud.domain.dao.DomainDao;
import com.cloud.event.Event;
import com.cloud.event.dao.EventJoinDao;
import com.cloud.exception.InvalidParameterValueException;
import com.cloud.ha.HighAvailabilityManager;
import com.cloud.host.Host;
@ -112,7 +121,6 @@ import com.cloud.network.security.SecurityGroup;
import com.cloud.network.security.SecurityGroupManager;
import com.cloud.network.security.SecurityGroupVO;
import com.cloud.network.security.dao.SecurityGroupDao;
import com.cloud.network.security.dao.SecurityGroupJoinDao;
import com.cloud.network.vpc.VpcManager;
import com.cloud.offering.NetworkOffering;
import com.cloud.offering.ServiceOffering;
@ -122,9 +130,6 @@ import com.cloud.projects.Project;
import com.cloud.projects.ProjectAccount;
import com.cloud.projects.ProjectInvitation;
import com.cloud.projects.ProjectService;
import com.cloud.projects.dao.ProjectAccountJoinDao;
import com.cloud.projects.dao.ProjectInvitationJoinDao;
import com.cloud.projects.dao.ProjectJoinDao;
import com.cloud.resource.ResourceManager;
import com.cloud.server.Criteria;
import com.cloud.server.ManagementServer;
@ -162,7 +167,6 @@ import com.cloud.storage.dao.VMTemplateHostDao;
import com.cloud.storage.dao.VMTemplateSwiftDao;
import com.cloud.storage.dao.VolumeDao;
import com.cloud.storage.dao.VolumeHostDao;
import com.cloud.tags.dao.ResourceTagJoinDao;
import com.cloud.user.Account;
import com.cloud.user.AccountDetailsDao;
import com.cloud.user.AccountVO;
@ -174,7 +178,6 @@ import com.cloud.user.UserStatisticsVO;
import com.cloud.user.UserVO;
import com.cloud.user.dao.AccountDao;
import com.cloud.user.dao.SSHKeyPairDao;
import com.cloud.user.dao.UserAccountJoinDao;
import com.cloud.user.dao.UserDao;
import com.cloud.user.dao.UserStatisticsDao;
import com.cloud.uservm.UserVm;
@ -194,11 +197,8 @@ import com.cloud.vm.VirtualMachine;
import com.cloud.vm.VmStats;
import com.cloud.vm.dao.ConsoleProxyDao;
import com.cloud.vm.dao.DomainRouterDao;
import com.cloud.vm.dao.DomainRouterJoinDao;
import com.cloud.vm.dao.InstanceGroupJoinDao;
import com.cloud.vm.dao.UserVmDao;
import com.cloud.vm.dao.UserVmDetailsDao;
import com.cloud.vm.dao.UserVmJoinDao;
import com.cloud.vm.dao.VMInstanceDao;
public class ApiDBUtils {
@ -944,127 +944,6 @@ public class ApiDBUtils {
return _counterDao.findById(counterId);
}
///////////////////////////////////////////////////////////////////////
// Newly Added Utility Methods for List API refactoring //
///////////////////////////////////////////////////////////////////////
public static DomainRouterResponse newDomainRouterResponse(DomainRouterJoinVO vr, Account caller) {
return _domainRouterJoinDao.newDomainRouterResponse(vr, caller);
}
public static DomainRouterResponse fillRouterDetails(DomainRouterResponse vrData, DomainRouterJoinVO vr){
return _domainRouterJoinDao.setDomainRouterResponse(vrData, vr);
}
public static List<DomainRouterJoinVO> newDomainRouterView(VirtualRouter vr){
return _domainRouterJoinDao.newDomainRouterView(vr);
}
public static UserVmResponse newUserVmResponse(String objectName, UserVmJoinVO userVm, EnumSet<VMDetails> details, Account caller) {
return _userVmJoinDao.newUserVmResponse(objectName, userVm, details, caller);
}
public static UserVmResponse fillVmDetails(UserVmResponse vmData, UserVmJoinVO vm){
return _userVmJoinDao.setUserVmResponse(vmData, vm);
}
public static List<UserVmJoinVO> newUserVmView(UserVm... userVms){
return _userVmJoinDao.newUserVmView(userVms);
}
public static SecurityGroupResponse newSecurityGroupResponse(SecurityGroupJoinVO vsg, Account caller) {
return _securityGroupJoinDao.newSecurityGroupResponse(vsg, caller);
}
public static SecurityGroupResponse fillSecurityGroupDetails(SecurityGroupResponse vsgData, SecurityGroupJoinVO sg){
return _securityGroupJoinDao.setSecurityGroupResponse(vsgData, sg);
}
public static List<SecurityGroupJoinVO> newSecurityGroupView(SecurityGroup sg){
return _securityGroupJoinDao.newSecurityGroupView(sg);
}
public static List<SecurityGroupJoinVO> findSecurityGroupViewById(Long sgId){
return _securityGroupJoinDao.searchByIds(sgId);
}
public static ResourceTagResponse newResourceTagResponse(ResourceTagJoinVO vsg, boolean keyValueOnly) {
return _tagJoinDao.newResourceTagResponse(vsg, keyValueOnly);
}
public static ResourceTagJoinVO newResourceTagView(ResourceTag sg){
return _tagJoinDao.newResourceTagView(sg);
}
public static ResourceTagJoinVO findResourceTagViewById(Long tagId){
List<ResourceTagJoinVO> tags = _tagJoinDao.searchByIds(tagId);
if ( tags != null && tags.size() > 0 ){
return tags.get(0);
}
else{
return null;
}
}
public static EventResponse newEventResponse(EventJoinVO ve) {
return _eventJoinDao.newEventResponse(ve);
}
public static EventJoinVO newEventView(Event e){
return _eventJoinDao.newEventView(e);
}
public static InstanceGroupResponse newInstanceGroupResponse(InstanceGroupJoinVO ve) {
return _vmGroupJoinDao.newInstanceGroupResponse(ve);
}
public static InstanceGroupJoinVO newInstanceGroupView(InstanceGroup e){
return _vmGroupJoinDao.newInstanceGroupView(e);
}
public static UserResponse newUserResponse(UserAccountJoinVO usr) {
return _userAccountJoinDao.newUserResponse(usr);
}
public static UserAccountJoinVO newUserView(User usr){
return _userAccountJoinDao.newUserView(usr);
}
public static UserAccountJoinVO newUserView(UserAccount usr){
return _userAccountJoinDao.newUserView(usr);
}
public static ProjectResponse newProjectResponse(ProjectJoinVO proj) {
return _projectJoinDao.newProjectResponse(proj);
}
public static ProjectResponse fillProjectDetails(ProjectResponse rsp, ProjectJoinVO proj){
return _projectJoinDao.setProjectResponse(rsp,proj);
}
public static List<ProjectJoinVO> newProjectView(Project proj){
return _projectJoinDao.newProjectView(proj);
}
public static List<UserAccountJoinVO> findUserViewByAccountId(Long accountId){
return _userAccountJoinDao.searchByAccountId(accountId);
}
public static ProjectAccountResponse newProjectAccountResponse(ProjectAccountJoinVO proj) {
return _projectAccountJoinDao.newProjectAccountResponse(proj);
}
public static ProjectAccountJoinVO newProjectAccountView(ProjectAccount proj) {
return _projectAccountJoinDao.newProjectAccountView(proj);
}
public static ProjectInvitationResponse newProjectInvitationResponse(ProjectInvitationJoinVO proj) {
return _projectInvitationJoinDao.newProjectInvitationResponse(proj);
}
public static ProjectInvitationJoinVO newProjectInvitationView(ProjectInvitation proj) {
return _projectInvitationJoinDao.newProjectInvitationView(proj);
}
}

View File

@ -112,6 +112,7 @@ import org.apache.cloudstack.api.response.VpcOfferingResponse;
import org.apache.cloudstack.api.response.VpcResponse;
import org.apache.cloudstack.api.response.VpnUsersResponse;
import org.apache.cloudstack.api.response.ZoneResponse;
import org.apache.cloudstack.api.view.DBViewUtils;
import org.apache.cloudstack.api.view.vo.DomainRouterJoinVO;
import org.apache.cloudstack.api.view.vo.ControlledViewEntity;
import org.apache.cloudstack.api.view.vo.EventJoinVO;
@ -242,8 +243,8 @@ public class ApiResponseHelper implements ResponseGenerator {
@Override
public UserResponse createUserResponse(User user) {
UserAccountJoinVO vUser = ApiDBUtils.newUserView(user);
return ApiDBUtils.newUserResponse(vUser);
UserAccountJoinVO vUser = DBViewUtils.newUserView(user);
return DBViewUtils.newUserResponse(vUser);
}
@ -251,7 +252,7 @@ public class ApiResponseHelper implements ResponseGenerator {
public List<UserResponse> createUserResponse(UserAccountJoinVO... users) {
List<UserResponse> respList = new ArrayList<UserResponse>();
for (UserAccountJoinVO vt : users){
respList.add(ApiDBUtils.newUserResponse(vt));
respList.add(DBViewUtils.newUserResponse(vt));
}
return respList;
}
@ -415,8 +416,8 @@ public class ApiResponseHelper implements ResponseGenerator {
@Override
public UserResponse createUserResponse(UserAccount user) {
UserAccountJoinVO vUser = ApiDBUtils.newUserView(user);
return ApiDBUtils.newUserResponse(vUser);
UserAccountJoinVO vUser = DBViewUtils.newUserView(user);
return DBViewUtils.newUserResponse(vUser);
}
@Override
@ -1170,8 +1171,8 @@ public class ApiResponseHelper implements ResponseGenerator {
@Override
public InstanceGroupResponse createInstanceGroupResponse(InstanceGroup group) {
InstanceGroupJoinVO vgroup = ApiDBUtils.newInstanceGroupView(group);
return ApiDBUtils.newInstanceGroupResponse(vgroup);
InstanceGroupJoinVO vgroup = DBViewUtils.newInstanceGroupView(group);
return DBViewUtils.newInstanceGroupResponse(vgroup);
}
@ -1181,7 +1182,7 @@ public class ApiResponseHelper implements ResponseGenerator {
public List<InstanceGroupResponse> createInstanceGroupResponse(InstanceGroupJoinVO... groups) {
List<InstanceGroupResponse> respList = new ArrayList<InstanceGroupResponse>();
for (InstanceGroupJoinVO vt : groups){
respList.add(ApiDBUtils.newInstanceGroupResponse(vt));
respList.add(DBViewUtils.newInstanceGroupResponse(vt));
}
return respList;
}
@ -1368,14 +1369,14 @@ public class ApiResponseHelper implements ResponseGenerator {
@Override
public List<UserVmResponse> createUserVmResponse(String objectName, EnumSet<VMDetails> details, UserVm... userVms) {
List<UserVmJoinVO> viewVms = ApiDBUtils.newUserVmView(userVms);
List<UserVmJoinVO> viewVms = DBViewUtils.newUserVmView(userVms);
return createUserVmResponse(objectName, details, viewVms.toArray(new UserVmJoinVO[viewVms.size()]));
}
@Override
public List<UserVmResponse> createUserVmResponse(String objectName, UserVm... userVms) {
List<UserVmJoinVO> viewVms = ApiDBUtils.newUserVmView(userVms);
List<UserVmJoinVO> viewVms = DBViewUtils.newUserVmView(userVms);
return createUserVmResponse(objectName, viewVms.toArray(new UserVmJoinVO[viewVms.size()]));
}
@ -1397,10 +1398,10 @@ public class ApiResponseHelper implements ResponseGenerator {
UserVmResponse userVmData = vmDataList.get(userVm.getId());
if ( userVmData == null ){
// first time encountering this vm
userVmData = ApiDBUtils.newUserVmResponse(objectName, userVm, details, caller);
userVmData = DBViewUtils.newUserVmResponse(objectName, userVm, details, caller);
} else{
// update nics, securitygroups, tags for 1 to many mapping fields
userVmData = ApiDBUtils.fillVmDetails(userVmData, userVm);
userVmData = DBViewUtils.fillVmDetails(userVmData, userVm);
}
vmDataList.put(userVm.getId(), userVmData);
}
@ -1410,7 +1411,7 @@ public class ApiResponseHelper implements ResponseGenerator {
@Override
public DomainRouterResponse createDomainRouterResponse(VirtualRouter router) {
List<DomainRouterJoinVO> viewVrs = ApiDBUtils.newDomainRouterView(router);
List<DomainRouterJoinVO> viewVrs = DBViewUtils.newDomainRouterView(router);
List<DomainRouterResponse> listVrs = createDomainRouterResponse(viewVrs.toArray(new DomainRouterJoinVO[viewVrs.size()]));
assert listVrs != null && listVrs.size() == 1 : "There should be one virtual router returned";
return listVrs.get(0);
@ -1425,11 +1426,11 @@ public class ApiResponseHelper implements ResponseGenerator {
DomainRouterResponse vrData = vrDataList.get(vr.getId());
if ( vrData == null ){
// first time encountering this vm
vrData = ApiDBUtils.newDomainRouterResponse(vr, caller);
vrData = DBViewUtils.newDomainRouterResponse(vr, caller);
}
else{
// update nics for 1 to many mapping fields
vrData = ApiDBUtils.fillRouterDetails(vrData, vr);
vrData = DBViewUtils.fillRouterDetails(vrData, vr);
}
vrDataList.put(vr.getId(), vrData);
}
@ -2015,11 +2016,11 @@ public class ApiResponseHelper implements ResponseGenerator {
SecurityGroupResponse vrData = vrDataList.get(vr.getId());
if ( vrData == null ) {
// first time encountering this sg
vrData = ApiDBUtils.newSecurityGroupResponse(vr, caller);
vrData = DBViewUtils.newSecurityGroupResponse(vr, caller);
} else {
// update rules for 1 to many mapping fields
vrData = ApiDBUtils.fillSecurityGroupDetails(vrData, vr);
vrData = DBViewUtils.fillSecurityGroupDetails(vrData, vr);
}
vrDataList.put(vr.getId(), vrData);
}
@ -2028,7 +2029,7 @@ public class ApiResponseHelper implements ResponseGenerator {
@Override
public SecurityGroupResponse createSecurityGroupResponse(SecurityGroup group) {
List<SecurityGroupJoinVO> viewSgs = ApiDBUtils.newSecurityGroupView(group);
List<SecurityGroupJoinVO> viewSgs = DBViewUtils.newSecurityGroupView(group);
List<SecurityGroupResponse> listSgs = createSecurityGroupResponses(viewSgs);
assert listSgs != null && listSgs.size() == 1 : "There should be one security group returned";
return listSgs.get(0);
@ -2121,15 +2122,15 @@ public class ApiResponseHelper implements ResponseGenerator {
public List<EventResponse> createEventResponse(EventJoinVO... events) {
List<EventResponse> respList = new ArrayList<EventResponse>();
for (EventJoinVO vt : events){
respList.add(ApiDBUtils.newEventResponse(vt));
respList.add(DBViewUtils.newEventResponse(vt));
}
return respList;
}
@Override
public EventResponse createEventResponse(Event event) {
EventJoinVO vEvent = ApiDBUtils.newEventView(event);
return ApiDBUtils.newEventResponse(vEvent);
EventJoinVO vEvent = DBViewUtils.newEventView(event);
return DBViewUtils.newEventResponse(vEvent);
}
private List<CapacityVO> sumCapacities(List<? extends Capacity> hostCapacities) {
@ -2383,7 +2384,7 @@ public class ApiResponseHelper implements ResponseGenerator {
Map<Long, Account> allowedSecuriytGroupAccounts = new HashMap<Long, Account>();
if ((securityRules != null) && !securityRules.isEmpty()) {
SecurityGroupJoinVO securityGroup = ApiDBUtils.findSecurityGroupViewById(securityRules.get(0).getSecurityGroupId()).get(0);
SecurityGroupJoinVO securityGroup = DBViewUtils.findSecurityGroupViewById(securityRules.get(0).getSecurityGroupId()).get(0);
response.setId(securityGroup.getUuid());
response.setName(securityGroup.getName());
response.setDescription(securityGroup.getDescription());
@ -2415,7 +2416,7 @@ public class ApiResponseHelper implements ResponseGenerator {
Long allowedSecurityGroupId = securityRule.getAllowedNetworkId();
if (allowedSecurityGroupId != null) {
List<SecurityGroupJoinVO> sgs = ApiDBUtils.findSecurityGroupViewById(allowedSecurityGroupId);
List<SecurityGroupJoinVO> sgs = DBViewUtils.findSecurityGroupViewById(allowedSecurityGroupId);
if (sgs != null && sgs.size() > 0) {
SecurityGroupJoinVO sg = sgs.get(0);
securityGroupData.setSecurityGroupName(sg.getName());
@ -2674,7 +2675,7 @@ public class ApiResponseHelper implements ResponseGenerator {
@Override
public ProjectResponse createProjectResponse(Project project) {
List<ProjectJoinVO> viewPrjs = ApiDBUtils.newProjectView(project);
List<ProjectJoinVO> viewPrjs = DBViewUtils.newProjectView(project);
List<ProjectResponse> listPrjs = createProjectResponse(viewPrjs.toArray(new ProjectJoinVO[viewPrjs.size()]));
assert listPrjs != null && listPrjs.size() == 1 : "There should be one project returned";
return listPrjs.get(0);
@ -2689,11 +2690,11 @@ public class ApiResponseHelper implements ResponseGenerator {
ProjectResponse pData = prjDataList.get(p.getId());
if ( pData == null ){
// first time encountering this vm
pData = ApiDBUtils.newProjectResponse(p);
pData = DBViewUtils.newProjectResponse(p);
}
else{
// update those 1 to many mapping fields
pData = ApiDBUtils.fillProjectDetails(pData, p);
pData = DBViewUtils.fillProjectDetails(pData, p);
}
prjDataList.put(p.getId(), pData);
}
@ -2852,7 +2853,7 @@ public class ApiResponseHelper implements ResponseGenerator {
@Override
public ProjectAccountResponse createProjectAccountResponse(ProjectAccount projectAccount) {
ProjectAccountJoinVO vProj = ApiDBUtils.newProjectAccountView(projectAccount);
ProjectAccountJoinVO vProj = DBViewUtils.newProjectAccountView(projectAccount);
List<ProjectAccountResponse> listProjs = createProjectAccountResponse(vProj);
assert listProjs != null && listProjs.size() == 1 : "There should be one project account returned";
return listProjs.get(0);
@ -2863,9 +2864,9 @@ public class ApiResponseHelper implements ResponseGenerator {
public List<ProjectAccountResponse> createProjectAccountResponse(ProjectAccountJoinVO... projectAccounts) {
List<ProjectAccountResponse> responseList = new ArrayList<ProjectAccountResponse>();
for (ProjectAccountJoinVO proj : projectAccounts){
ProjectAccountResponse resp = ApiDBUtils.newProjectAccountResponse(proj);
ProjectAccountResponse resp = DBViewUtils.newProjectAccountResponse(proj);
// update user list
List<UserAccountJoinVO> users = ApiDBUtils.findUserViewByAccountId(proj.getAccountId());
List<UserAccountJoinVO> users = DBViewUtils.findUserViewByAccountId(proj.getAccountId());
resp.setUsers(createUserResponse(users.toArray(new UserAccountJoinVO[users.size()])));
responseList.add(resp);
}
@ -2874,8 +2875,8 @@ public class ApiResponseHelper implements ResponseGenerator {
@Override
public ProjectInvitationResponse createProjectInvitationResponse(ProjectInvitation invite) {
ProjectInvitationJoinVO vInvite = ApiDBUtils.newProjectInvitationView(invite);
return ApiDBUtils.newProjectInvitationResponse(vInvite);
ProjectInvitationJoinVO vInvite = DBViewUtils.newProjectInvitationView(invite);
return DBViewUtils.newProjectInvitationResponse(vInvite);
}
@ -2884,7 +2885,7 @@ public class ApiResponseHelper implements ResponseGenerator {
public List<ProjectInvitationResponse> createProjectInvitationResponse(ProjectInvitationJoinVO... invites) {
List<ProjectInvitationResponse> respList = new ArrayList<ProjectInvitationResponse>();
for (ProjectInvitationJoinVO v : invites){
respList.add(ApiDBUtils.newProjectInvitationResponse(v));
respList.add(DBViewUtils.newProjectInvitationResponse(v));
}
return respList;
}
@ -3121,8 +3122,8 @@ public class ApiResponseHelper implements ResponseGenerator {
@Override
public ResourceTagResponse createResourceTagResponse(ResourceTag resourceTag, boolean keyValueOnly) {
ResourceTagJoinVO rto = ApiDBUtils.newResourceTagView(resourceTag);
return ApiDBUtils.newResourceTagResponse(rto, keyValueOnly);
ResourceTagJoinVO rto = DBViewUtils.newResourceTagView(resourceTag);
return DBViewUtils.newResourceTagResponse(rto, keyValueOnly);
}
@ -3130,7 +3131,7 @@ public class ApiResponseHelper implements ResponseGenerator {
public List<ResourceTagResponse> createResourceTagResponse(boolean keyValueOnly, ResourceTagJoinVO... tags) {
List<ResourceTagResponse> respList = new ArrayList<ResourceTagResponse>();
for (ResourceTagJoinVO vt : tags){
respList.add(ApiDBUtils.newResourceTagResponse(vt, keyValueOnly));
respList.add(DBViewUtils.newResourceTagResponse(vt, keyValueOnly));
}
return respList;
}

View File

@ -21,6 +21,17 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.cloudstack.api.view.dao.DomainRouterJoinDaoImpl;
import org.apache.cloudstack.api.view.dao.EventJoinDaoImpl;
import org.apache.cloudstack.api.view.dao.InstanceGroupJoinDaoImpl;
import org.apache.cloudstack.api.view.dao.ProjectAccountJoinDaoImpl;
import org.apache.cloudstack.api.view.dao.ProjectInvitationJoinDaoImpl;
import org.apache.cloudstack.api.view.dao.ProjectJoinDaoImpl;
import org.apache.cloudstack.api.view.dao.ResourceTagJoinDaoImpl;
import org.apache.cloudstack.api.view.dao.SecurityGroupJoinDaoImpl;
import org.apache.cloudstack.api.view.dao.UserAccountJoinDaoImpl;
import org.apache.cloudstack.api.view.dao.UserVmJoinDaoImpl;
import com.cloud.agent.manager.ClusteredAgentManagerImpl;
import com.cloud.alert.AlertManagerImpl;
import com.cloud.alert.dao.AlertDaoImpl;
@ -117,7 +128,6 @@ import com.cloud.network.rules.RulesManagerImpl;
import com.cloud.network.rules.dao.PortForwardingRulesDaoImpl;
import com.cloud.network.security.SecurityGroupManagerImpl2;
import com.cloud.network.security.dao.SecurityGroupDaoImpl;
import com.cloud.network.security.dao.SecurityGroupJoinDaoImpl;
import com.cloud.network.security.dao.SecurityGroupRuleDaoImpl;
import com.cloud.network.security.dao.SecurityGroupRulesDaoImpl;
import com.cloud.network.security.dao.SecurityGroupVMMapDaoImpl;
@ -139,8 +149,6 @@ import com.cloud.projects.ProjectManagerImpl;
import com.cloud.projects.dao.ProjectAccountDaoImpl;
import com.cloud.projects.dao.ProjectDaoImpl;
import com.cloud.projects.dao.ProjectInvitationDaoImpl;
import com.cloud.projects.dao.ProjectInvitationJoinDaoImpl;
import com.cloud.projects.dao.ProjectJoinDaoImpl;
import com.cloud.resource.ResourceManagerImpl;
import com.cloud.resourcelimit.ResourceLimitManagerImpl;
import com.cloud.service.dao.ServiceOfferingDaoImpl;
@ -173,7 +181,6 @@ import com.cloud.storage.snapshot.SnapshotSchedulerImpl;
import com.cloud.storage.swift.SwiftManagerImpl;
import com.cloud.storage.upload.UploadMonitorImpl;
import com.cloud.tags.TaggedResourceManagerImpl;
import com.cloud.tags.dao.ResourceTagJoinDaoImpl;
import com.cloud.tags.dao.ResourceTagsDaoImpl;
import com.cloud.template.HyervisorTemplateAdapter;
import com.cloud.template.TemplateAdapter;
@ -185,7 +192,6 @@ import com.cloud.user.DomainManagerImpl;
import com.cloud.user.dao.AccountDaoImpl;
import com.cloud.user.dao.SSHKeyPairDaoImpl;
import com.cloud.user.dao.UserAccountDaoImpl;
import com.cloud.user.dao.UserAccountJoinDaoImpl;
import com.cloud.user.dao.UserDaoImpl;
import com.cloud.user.dao.UserStatisticsDaoImpl;
import com.cloud.user.dao.UserStatsLogDaoImpl;
@ -203,18 +209,13 @@ import com.cloud.vm.ItWorkDaoImpl;
import com.cloud.vm.UserVmManagerImpl;
import com.cloud.vm.dao.ConsoleProxyDaoImpl;
import com.cloud.vm.dao.DomainRouterDaoImpl;
import com.cloud.vm.dao.DomainRouterJoinDaoImpl;
import com.cloud.vm.dao.InstanceGroupDaoImpl;
import com.cloud.vm.dao.InstanceGroupJoinDaoImpl;
import com.cloud.vm.dao.InstanceGroupVMMapDaoImpl;
import com.cloud.vm.dao.NicDaoImpl;
import com.cloud.vm.dao.SecondaryStorageVmDaoImpl;
import com.cloud.vm.dao.UserVmDaoImpl;
import com.cloud.vm.dao.UserVmJoinDaoImpl;
import com.cloud.vm.dao.UserVmDetailsDaoImpl;
import com.cloud.vm.dao.VMInstanceDaoImpl;
import com.cloud.event.dao.EventJoinDaoImpl;
import com.cloud.projects.dao.ProjectAccountJoinDaoImpl;
public class DefaultComponentLibrary extends ComponentLibraryBase implements ComponentLibrary {

View File

@ -46,6 +46,7 @@ import com.cloud.agent.api.SecurityGroupRulesCmd;
import com.cloud.agent.api.SecurityGroupRulesCmd.IpPortAndProto;
import com.cloud.agent.manager.Commands;
import org.apache.cloudstack.api.command.user.securitygroup.RevokeSecurityGroupEgressCmd;
import org.apache.cloudstack.api.view.dao.SecurityGroupJoinDao;
import org.apache.cloudstack.api.view.vo.SecurityGroupJoinVO;
import com.cloud.configuration.Config;
import com.cloud.configuration.dao.ConfigurationDao;
@ -65,7 +66,6 @@ import com.cloud.network.NetworkManager;
import com.cloud.network.security.SecurityGroupWork.Step;
import com.cloud.network.security.SecurityRule.SecurityRuleType;
import com.cloud.network.security.dao.SecurityGroupDao;
import com.cloud.network.security.dao.SecurityGroupJoinDao;
import com.cloud.network.security.dao.SecurityGroupRuleDao;
import com.cloud.network.security.dao.SecurityGroupRulesDao;
import com.cloud.network.security.dao.SecurityGroupVMMapDao;

View File

@ -38,6 +38,9 @@ import javax.mail.URLName;
import javax.mail.internet.InternetAddress;
import javax.naming.ConfigurationException;
import org.apache.cloudstack.api.view.dao.ProjectAccountJoinDao;
import org.apache.cloudstack.api.view.dao.ProjectInvitationJoinDao;
import org.apache.cloudstack.api.view.dao.ProjectJoinDao;
import org.apache.cloudstack.api.view.vo.ProjectAccountJoinVO;
import org.apache.cloudstack.api.view.vo.ProjectInvitationJoinVO;
import org.apache.cloudstack.api.view.vo.ProjectJoinVO;
@ -62,11 +65,8 @@ import com.cloud.projects.Project.ListProjectResourcesCriteria;
import com.cloud.projects.Project.State;
import com.cloud.projects.ProjectAccount.Role;
import com.cloud.projects.dao.ProjectAccountDao;
import com.cloud.projects.dao.ProjectAccountJoinDao;
import com.cloud.projects.dao.ProjectDao;
import com.cloud.projects.dao.ProjectInvitationDao;
import com.cloud.projects.dao.ProjectInvitationJoinDao;
import com.cloud.projects.dao.ProjectJoinDao;
import com.cloud.server.ResourceTag.TaggedResourceType;
import com.cloud.tags.ResourceTagVO;
import com.cloud.tags.dao.ResourceTagDao;

View File

@ -98,6 +98,9 @@ import com.cloud.api.commands.UpdateTemplateOrIsoCmd;
import org.apache.cloudstack.api.command.user.vmgroup.UpdateVMGroupCmd;
import org.apache.cloudstack.api.command.admin.resource.UploadCustomCertificateCmd;
import org.apache.cloudstack.api.response.ExtractResponse;
import org.apache.cloudstack.api.view.dao.DomainRouterJoinDao;
import org.apache.cloudstack.api.view.dao.EventJoinDao;
import org.apache.cloudstack.api.view.dao.InstanceGroupJoinDao;
import org.apache.cloudstack.api.view.vo.DomainRouterJoinVO;
import org.apache.cloudstack.api.view.vo.EventJoinVO;
import org.apache.cloudstack.api.view.vo.InstanceGroupJoinVO;
@ -144,7 +147,6 @@ import com.cloud.event.EventTypes;
import com.cloud.event.EventUtils;
import com.cloud.event.EventVO;
import com.cloud.event.dao.EventDao;
import com.cloud.event.dao.EventJoinDao;
import com.cloud.exception.CloudAuthenticationException;
import com.cloud.exception.ConcurrentOperationException;
import com.cloud.exception.InvalidParameterValueException;
@ -262,9 +264,7 @@ import com.cloud.vm.VirtualMachineProfile;
import com.cloud.vm.VirtualMachineProfileImpl;
import com.cloud.vm.dao.ConsoleProxyDao;
import com.cloud.vm.dao.DomainRouterDao;
import com.cloud.vm.dao.DomainRouterJoinDao;
import com.cloud.vm.dao.InstanceGroupDao;
import com.cloud.vm.dao.InstanceGroupJoinDao;
import com.cloud.vm.dao.NicDao;
import com.cloud.vm.dao.SecondaryStorageVmDao;
import com.cloud.vm.dao.UserVmDao;

View File

@ -27,6 +27,7 @@ import javax.naming.ConfigurationException;
import org.apache.cloudstack.api.command.user.tag.ListTagsCmd;
import org.apache.log4j.Logger;
import org.apache.cloudstack.api.view.dao.ResourceTagJoinDao;
import org.apache.cloudstack.api.view.vo.ResourceTagJoinVO;
import com.cloud.domain.Domain;
import com.cloud.event.ActionEvent;
@ -51,7 +52,6 @@ import com.cloud.storage.dao.SnapshotDao;
import com.cloud.storage.dao.VMTemplateDao;
import com.cloud.storage.dao.VolumeDao;
import com.cloud.tags.dao.ResourceTagDao;
import com.cloud.tags.dao.ResourceTagJoinDao;
import com.cloud.user.Account;
import com.cloud.user.AccountManager;
import com.cloud.user.DomainManager;

View File

@ -43,6 +43,8 @@ import org.apache.commons.codec.binary.Base64;
import org.apache.log4j.Logger;
import com.cloud.acl.ControlledEntity;
import org.apache.cloudstack.api.view.dao.UserAccountJoinDao;
import org.apache.cloudstack.api.view.vo.ControlledViewEntity;
import org.apache.cloudstack.api.view.vo.UserAccountJoinVO;
@ -110,7 +112,6 @@ import com.cloud.template.VirtualMachineTemplate;
import com.cloud.user.Account.State;
import com.cloud.user.dao.AccountDao;
import com.cloud.user.dao.UserAccountDao;
import com.cloud.user.dao.UserAccountJoinDao;
import com.cloud.user.dao.UserDao;
import com.cloud.utils.NumbersUtil;
import com.cloud.utils.Pair;

View File

@ -74,6 +74,7 @@ import org.apache.cloudstack.api.command.user.vm.ResetVMPasswordCmd;
import org.apache.cloudstack.api.command.user.vm.RestoreVMCmd;
import org.apache.cloudstack.api.command.user.vm.UpdateVMCmd;
import org.apache.cloudstack.api.command.user.vm.UpgradeVMCmd;
import org.apache.cloudstack.api.view.dao.UserVmJoinDao;
import org.apache.cloudstack.api.view.vo.UserVmJoinVO;
import com.cloud.async.AsyncJobExecutor;
import com.cloud.async.AsyncJobManager;
@ -230,7 +231,6 @@ import com.cloud.vm.dao.InstanceGroupVMMapDao;
import com.cloud.vm.dao.NicDao;
import com.cloud.vm.dao.UserVmDao;
import com.cloud.vm.dao.UserVmDetailsDao;
import com.cloud.vm.dao.UserVmJoinDao;
import com.cloud.vm.dao.VMInstanceDao;
@Local(value = { UserVmManager.class, UserVmService.class })

View File

@ -23,6 +23,7 @@ import javax.naming.ConfigurationException;
import junit.framework.TestCase;
import org.apache.cloudstack.api.view.dao.SecurityGroupJoinDaoImpl;
import org.junit.After;
import org.junit.Before;
import org.junit.Ignore;
@ -34,7 +35,6 @@ import com.cloud.domain.dao.DomainDaoImpl;
import com.cloud.event.dao.UsageEventDaoImpl;
import com.cloud.network.MockNetworkManagerImpl;
import com.cloud.network.security.dao.SecurityGroupDaoImpl;
import com.cloud.network.security.dao.SecurityGroupJoinDaoImpl;
import com.cloud.network.security.dao.SecurityGroupRuleDaoImpl;
import com.cloud.network.security.dao.SecurityGroupRulesDaoImpl;
import com.cloud.network.security.dao.SecurityGroupVMMapDaoImpl;