Return isolation methods as a part of listPhysicalNetworks call

This commit is contained in:
Alena Prokharchyk 2014-04-22 14:41:45 -07:00
parent e24bf73a96
commit 316f23ed5f
4 changed files with 54 additions and 4 deletions

View File

@ -0,0 +1,39 @@
// Copyright 2012 Citrix Systems, Inc. Licensed under the
// Apache License, Version 2.0 (the "License"); you may not use this
// file except in compliance with the License. Citrix Systems, Inc.
// reserves all rights not expressly granted by 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.
//
// Automatically generated by addcopyright.py at 04/03/2012
package com.cloud.network.dao;
import java.util.List;
import com.cloud.utils.db.GenericDao;
public interface PhysicalNetworkIsolationMethodDao extends GenericDao<PhysicalNetworkIsolationMethodVO, Long>{
/**
* @param physicalNetworkId
* @return
*/
List<String> getAllIsolationMethod(long physicalNetworkId);
/**
* @param physicalNetworkId
* @return
*/
String getIsolationMethod(long physicalNetworkId);
/**
* @param physicalNetworkId
* @return
*/
int clearIsolationMethods(long physicalNetworkId);
}

View File

@ -20,7 +20,6 @@ import java.util.List;
import org.springframework.stereotype.Component;
import com.cloud.utils.db.GenericDao;
import com.cloud.utils.db.GenericDaoBase;
import com.cloud.utils.db.GenericSearchBuilder;
import com.cloud.utils.db.SearchBuilder;
@ -28,8 +27,7 @@ import com.cloud.utils.db.SearchCriteria;
import com.cloud.utils.db.SearchCriteria.Op;
@Component
public class PhysicalNetworkIsolationMethodDaoImpl extends GenericDaoBase<PhysicalNetworkIsolationMethodVO, Long> implements
GenericDao<PhysicalNetworkIsolationMethodVO, Long> {
public class PhysicalNetworkIsolationMethodDaoImpl extends GenericDaoBase<PhysicalNetworkIsolationMethodVO, Long> implements PhysicalNetworkIsolationMethodDao {
private final GenericSearchBuilder<PhysicalNetworkIsolationMethodVO, String> IsolationMethodSearch;
private final SearchBuilder<PhysicalNetworkIsolationMethodVO> AllFieldsSearch;
@ -47,6 +45,7 @@ public class PhysicalNetworkIsolationMethodDaoImpl extends GenericDaoBase<Physic
AllFieldsSearch.done();
}
@Override
public List<String> getAllIsolationMethod(long physicalNetworkId) {
SearchCriteria<String> sc = IsolationMethodSearch.create();
sc.setParameters("physicalNetworkId", physicalNetworkId);
@ -54,6 +53,7 @@ public class PhysicalNetworkIsolationMethodDaoImpl extends GenericDaoBase<Physic
return customSearch(sc, null);
}
@Override
public String getIsolationMethod(long physicalNetworkId) {
SearchCriteria<String> sc = IsolationMethodSearch.create();
sc.setParameters("physicalNetworkId", physicalNetworkId);
@ -61,6 +61,7 @@ public class PhysicalNetworkIsolationMethodDaoImpl extends GenericDaoBase<Physic
return customSearch(sc, null).get(0);
}
@Override
public int clearIsolationMethods(long physicalNetworkId) {
SearchCriteria<PhysicalNetworkIsolationMethodVO> sc = AllFieldsSearch.create();
sc.setParameters("physicalNetworkId", physicalNetworkId);

View File

@ -181,6 +181,7 @@ import com.cloud.network.dao.NetworkRuleConfigDao;
import com.cloud.network.dao.NetworkRuleConfigVO;
import com.cloud.network.dao.NetworkVO;
import com.cloud.network.dao.PhysicalNetworkDao;
import com.cloud.network.dao.PhysicalNetworkIsolationMethodDao;
import com.cloud.network.dao.PhysicalNetworkServiceProviderDao;
import com.cloud.network.dao.PhysicalNetworkServiceProviderVO;
import com.cloud.network.dao.PhysicalNetworkTrafficTypeDao;
@ -409,6 +410,7 @@ public class ApiDBUtils {
static ResourceMetaDataService s_resourceDetailsService;
static HostGpuGroupsDao s_hostGpuGroupsDao;
static VGPUTypesDao s_vgpuTypesDao;
static PhysicalNetworkIsolationMethodDao s_pNtwkIsolatinoMethodsDao;
@Inject
private ManagementServer ms;
@ -631,6 +633,8 @@ public class ApiDBUtils {
private HostGpuGroupsDao hostGpuGroupsDao;
@Inject
private VGPUTypesDao vgpuTypesDao;
@Inject
private PhysicalNetworkIsolationMethodDao pNtwkIsolatinoMethodsDao;
@PostConstruct
void init() {
@ -745,6 +749,7 @@ public class ApiDBUtils {
s_resourceDetailsService = resourceDetailsService;
s_hostGpuGroupsDao = hostGpuGroupsDao;
s_vgpuTypesDao = vgpuTypesDao;
s_pNtwkIsolatinoMethodsDao = pNtwkIsolatinoMethodsDao;
}
// ///////////////////////////////////////////////////////////
@ -1835,4 +1840,9 @@ public class ApiDBUtils {
public static List<ResourceTagJoinVO> listResourceTagViewByResourceUUID(String resourceUUID, ResourceObjectType resourceType) {
return s_tagJoinDao.listBy(resourceUUID, resourceType);
}
public static List<String> getIsolationMethodsForPhysicalNtwk(long pNtwkId) {
return s_pNtwkIsolatinoMethodsDao.getAllIsolationMethod(pNtwkId);
}
}

View File

@ -2197,7 +2197,7 @@ public class ApiResponseHelper implements ResponseGenerator {
if (result.getBroadcastDomainRange() != null) {
response.setBroadcastDomainRange(result.getBroadcastDomainRange().toString());
}
response.setIsolationMethods(result.getIsolationMethods());
response.setIsolationMethods(ApiDBUtils.getIsolationMethodsForPhysicalNtwk(result.getId()));
response.setTags(result.getTags());
if (result.getState() != null) {
response.setState(result.getState().toString());