|
18 | 18 |
|
19 | 19 | import java.util.List; |
20 | 20 |
|
| 21 | +import javax.annotation.PostConstruct; |
21 | 22 | import javax.inject.Inject; |
22 | 23 |
|
23 | 24 | import org.springframework.stereotype.Component; |
@@ -47,8 +48,8 @@ public class FirewallRulesDaoImpl extends GenericDaoBase<FirewallRuleVO, Long> i |
47 | 48 | protected final SearchBuilder<FirewallRuleVO> AllFieldsSearch; |
48 | 49 | protected final SearchBuilder<FirewallRuleVO> NotRevokedSearch; |
49 | 50 | protected final SearchBuilder<FirewallRuleVO> ReleaseSearch; |
50 | | - protected SearchBuilder<FirewallRuleVO> VmSearch; |
51 | | - protected SearchBuilder<FirewallRuleVO> FirewallByPortsAndNetwork; |
| 51 | + protected final SearchBuilder<FirewallRuleVO> VmSearch = createSearchBuilder();; |
| 52 | + protected final SearchBuilder<FirewallRuleVO> FirewallByPortsAndNetwork; |
52 | 53 | protected final SearchBuilder<FirewallRuleVO> SystemRuleSearch; |
53 | 54 | protected final GenericSearchBuilder<FirewallRuleVO, Long> RulesByIpCount; |
54 | 55 | protected final SearchBuilder<FirewallRuleVO> RoutingFirewallRulesSearch; |
@@ -121,6 +122,17 @@ protected FirewallRulesDaoImpl() { |
121 | 122 | RoutingFirewallRulesSearch.done(); |
122 | 123 | } |
123 | 124 |
|
| 125 | + @PostConstruct |
| 126 | + public void init() { |
| 127 | + SearchBuilder<IPAddressVO> IpSearch = _ipDao.createSearchBuilder(); |
| 128 | + IpSearch.and("associatedWithVmId", IpSearch.entity().getAssociatedWithVmId(), SearchCriteria.Op.EQ); |
| 129 | + IpSearch.and("oneToOneNat", IpSearch.entity().isOneToOneNat(), SearchCriteria.Op.NNULL); |
| 130 | + |
| 131 | + VmSearch.and("purpose", VmSearch.entity().getPurpose(), Op.EQ); |
| 132 | + VmSearch.join("ipSearch", IpSearch, VmSearch.entity().getSourceIpAddressId(), IpSearch.entity().getId(), JoinBuilder.JoinType.INNER); |
| 133 | + VmSearch.done(); |
| 134 | + } |
| 135 | + |
124 | 136 | @Override |
125 | 137 | public List<FirewallRuleVO> listSystemRules() { |
126 | 138 | SearchCriteria<FirewallRuleVO> sc = SystemRuleSearch.create(); |
@@ -216,17 +228,6 @@ public boolean revoke(FirewallRuleVO rule) { |
216 | 228 |
|
217 | 229 | @Override |
218 | 230 | public List<FirewallRuleVO> listStaticNatByVmId(long vmId) { |
219 | | - if (VmSearch == null) { |
220 | | - SearchBuilder<IPAddressVO> IpSearch = _ipDao.createSearchBuilder(); |
221 | | - IpSearch.and("associatedWithVmId", IpSearch.entity().getAssociatedWithVmId(), SearchCriteria.Op.EQ); |
222 | | - IpSearch.and("oneToOneNat", IpSearch.entity().isOneToOneNat(), SearchCriteria.Op.NNULL); |
223 | | - |
224 | | - VmSearch = createSearchBuilder(); |
225 | | - VmSearch.and("purpose", VmSearch.entity().getPurpose(), Op.EQ); |
226 | | - VmSearch.join("ipSearch", IpSearch, VmSearch.entity().getSourceIpAddressId(), IpSearch.entity().getId(), JoinBuilder.JoinType.INNER); |
227 | | - VmSearch.done(); |
228 | | - } |
229 | | - |
230 | 231 | SearchCriteria<FirewallRuleVO> sc = VmSearch.create(); |
231 | 232 | sc.setParameters("purpose", Purpose.StaticNat); |
232 | 233 | sc.setJoinParameters("ipSearch", "associatedWithVmId", vmId); |
|
0 commit comments