Repository: cloudstack Updated Branches: refs/heads/4.4-forward 1053952b2 -> d47a11a7e
Return isolation methods as a part of listPhysicalNetworks call Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/d47a11a7 Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/d47a11a7 Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/d47a11a7 Branch: refs/heads/4.4-forward Commit: d47a11a7ebcc71af08c958c0d072e011a88720a9 Parents: 1053952 Author: Alena Prokharchyk <alena.prokharc...@citrix.com> Authored: Tue Apr 22 14:41:45 2014 -0700 Committer: Alena Prokharchyk <alena.prokharc...@citrix.com> Committed: Tue Apr 22 16:13:33 2014 -0700 ---------------------------------------------------------------------- .../dao/PhysicalNetworkIsolationMethodDao.java | 39 ++++++++++++++++++++ .../PhysicalNetworkIsolationMethodDaoImpl.java | 7 ++-- server/src/com/cloud/api/ApiDBUtils.java | 10 +++++ server/src/com/cloud/api/ApiResponseHelper.java | 2 +- 4 files changed, 54 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cloudstack/blob/d47a11a7/engine/schema/src/com/cloud/network/dao/PhysicalNetworkIsolationMethodDao.java ---------------------------------------------------------------------- diff --git a/engine/schema/src/com/cloud/network/dao/PhysicalNetworkIsolationMethodDao.java b/engine/schema/src/com/cloud/network/dao/PhysicalNetworkIsolationMethodDao.java new file mode 100644 index 0000000..a4e1bd5 --- /dev/null +++ b/engine/schema/src/com/cloud/network/dao/PhysicalNetworkIsolationMethodDao.java @@ -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); + +} http://git-wip-us.apache.org/repos/asf/cloudstack/blob/d47a11a7/engine/schema/src/com/cloud/network/dao/PhysicalNetworkIsolationMethodDaoImpl.java ---------------------------------------------------------------------- diff --git a/engine/schema/src/com/cloud/network/dao/PhysicalNetworkIsolationMethodDaoImpl.java b/engine/schema/src/com/cloud/network/dao/PhysicalNetworkIsolationMethodDaoImpl.java index 11b4399..a22548a 100644 --- a/engine/schema/src/com/cloud/network/dao/PhysicalNetworkIsolationMethodDaoImpl.java +++ b/engine/schema/src/com/cloud/network/dao/PhysicalNetworkIsolationMethodDaoImpl.java @@ -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); http://git-wip-us.apache.org/repos/asf/cloudstack/blob/d47a11a7/server/src/com/cloud/api/ApiDBUtils.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/api/ApiDBUtils.java b/server/src/com/cloud/api/ApiDBUtils.java index 2da107f..ca25d66 100755 --- a/server/src/com/cloud/api/ApiDBUtils.java +++ b/server/src/com/cloud/api/ApiDBUtils.java @@ -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); + } + } http://git-wip-us.apache.org/repos/asf/cloudstack/blob/d47a11a7/server/src/com/cloud/api/ApiResponseHelper.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/api/ApiResponseHelper.java b/server/src/com/cloud/api/ApiResponseHelper.java index 1155d1f..74ccf29 100755 --- a/server/src/com/cloud/api/ApiResponseHelper.java +++ b/server/src/com/cloud/api/ApiResponseHelper.java @@ -2465,7 +2465,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());