You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by we...@apache.org on 2014/08/22 12:36:48 UTC
git commit: updated refs/heads/master to 09b09c1
Repository: cloudstack
Updated Branches:
refs/heads/master 656fc69f3 -> 09b09c18c
CLOUDSTACK-7398 SecurityGroup Rule related tags cleanup on rule deletion
Signed-off-by: Ilia Shakitko <i....@tech.leaseweb.com>
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/09b09c18
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/09b09c18
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/09b09c18
Branch: refs/heads/master
Commit: 09b09c18cfb58e88ac44b7084f0c4171c19b79e5
Parents: 656fc69
Author: Ilia Shakitko <i....@tech.leaseweb.com>
Authored: Fri Aug 22 10:55:44 2014 +0200
Committer: Wei Zhou <w....@leaseweb.com>
Committed: Fri Aug 22 12:35:54 2014 +0200
----------------------------------------------------------------------
.../security/dao/SecurityGroupRuleDaoImpl.java | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/09b09c18/engine/schema/src/com/cloud/network/security/dao/SecurityGroupRuleDaoImpl.java
----------------------------------------------------------------------
diff --git a/engine/schema/src/com/cloud/network/security/dao/SecurityGroupRuleDaoImpl.java b/engine/schema/src/com/cloud/network/security/dao/SecurityGroupRuleDaoImpl.java
index 564ec08..f6ea339 100644
--- a/engine/schema/src/com/cloud/network/security/dao/SecurityGroupRuleDaoImpl.java
+++ b/engine/schema/src/com/cloud/network/security/dao/SecurityGroupRuleDaoImpl.java
@@ -23,6 +23,8 @@ import javax.ejb.Local;
import javax.inject.Inject;
import javax.naming.ConfigurationException;
+import com.cloud.server.ResourceTag.ResourceObjectType;
+import com.cloud.tags.dao.ResourceTagDao;
import org.springframework.stereotype.Component;
import com.cloud.network.security.SecurityGroupRuleVO;
@@ -32,6 +34,8 @@ import com.cloud.utils.db.GenericDaoBase;
import com.cloud.utils.db.JoinBuilder;
import com.cloud.utils.db.SearchBuilder;
import com.cloud.utils.db.SearchCriteria;
+import com.cloud.utils.db.TransactionLegacy;
+import com.cloud.utils.db.DB;
@Component
@Local(value = {SecurityGroupRuleDao.class})
@@ -39,6 +43,8 @@ public class SecurityGroupRuleDaoImpl extends GenericDaoBase<SecurityGroupRuleVO
@Inject
SecurityGroupDao _securityGroupDao;
+ @Inject
+ ResourceTagDao _tagsDao;
protected SearchBuilder<SecurityGroupRuleVO> securityGroupIdSearch;
protected SearchBuilder<SecurityGroupRuleVO> securityGroupIdAndTypeSearch;
@@ -174,4 +180,18 @@ public class SecurityGroupRuleDaoImpl extends GenericDaoBase<SecurityGroupRuleVO
sc.setParameters("allowedNetworkId", allowedGroupId);
return findOneIncludingRemovedBy(sc);
}
+
+ @Override
+ @DB
+ public boolean remove(Long id) {
+ TransactionLegacy txn = TransactionLegacy.currentTxn();
+ txn.start();
+ SecurityGroupRuleVO entry = findById(id);
+ if (entry != null) {
+ _tagsDao.removeByIdAndType(id, ResourceObjectType.SecurityGroupRule);
+ }
+ boolean result = super.remove(id);
+ txn.commit();
+ return result;
+ }
}