@@ -192,18 +192,6 @@ void init() {
192192 JoinBuilder .JoinType .INNER );
193193 AccountDataCenterVirtualSearch .done ();
194194
195- SearchBuilder <NicVO > nicSearchByNetwork = _nicDao .createSearchBuilder ();
196- nicSearchByNetwork .and ("networkId" , nicSearchByNetwork .entity ().getNetworkId (), SearchCriteria .Op .EQ );
197- nicSearchByNetwork .and ("removed" , nicSearchByNetwork .entity ().getRemoved (), SearchCriteria .Op .NULL );
198- nicSearchByNetwork .and ().op ("ip4Address" , nicSearchByNetwork .entity ().getIPv4Address (), SearchCriteria .Op .NNULL );
199- nicSearchByNetwork .or ("ip6Address" , nicSearchByNetwork .entity ().getIPv6Address (), SearchCriteria .Op .NNULL );
200- nicSearchByNetwork .cp ();
201-
202- UserVmSearch = createSearchBuilder ();
203- UserVmSearch .and ("states" , UserVmSearch .entity ().getState (), SearchCriteria .Op .IN );
204- UserVmSearch .join ("nicSearchByNetwork" , nicSearchByNetwork , UserVmSearch .entity ().getId (), nicSearchByNetwork .entity ().getInstanceId (), JoinBuilder .JoinType .INNER );
205- UserVmSearch .done ();
206-
207195 UserVmByIsoSearch = createSearchBuilder ();
208196 UserVmByIsoSearch .and ("isoId" , UserVmByIsoSearch .entity ().getIsoId (), SearchCriteria .Op .EQ );
209197 UserVmByIsoSearch .done ();
@@ -313,11 +301,25 @@ public List<UserVmVO> listVirtualNetworkInstancesByAcctAndNetwork(long accountId
313301
314302 @ Override
315303 public List <UserVmVO > listByNetworkIdAndStates (long networkId , State ... states ) {
304+ if (UserVmSearch == null ) {
305+ SearchBuilder <NicVO > nicSearch = _nicDao .createSearchBuilder ();
306+ nicSearch .and ("networkId" , nicSearch .entity ().getNetworkId (), SearchCriteria .Op .EQ );
307+ nicSearch .and ("removed" , nicSearch .entity ().getRemoved (), SearchCriteria .Op .NULL );
308+ nicSearch .and ().op ("ip4Address" , nicSearch .entity ().getIPv4Address (), SearchCriteria .Op .NNULL );
309+ nicSearch .or ("ip6Address" , nicSearch .entity ().getIPv6Address (), SearchCriteria .Op .NNULL );
310+ nicSearch .cp ();
311+
312+ UserVmSearch = createSearchBuilder ();
313+ UserVmSearch .and ("states" , UserVmSearch .entity ().getState (), SearchCriteria .Op .IN );
314+ UserVmSearch .join ("nicSearch" , nicSearch , UserVmSearch .entity ().getId (), nicSearch .entity ().getInstanceId (), JoinBuilder .JoinType .INNER );
315+ UserVmSearch .done ();
316+ }
317+
316318 SearchCriteria <UserVmVO > sc = UserVmSearch .create ();
317319 if (states != null && states .length != 0 ) {
318320 sc .setParameters ("states" , (Object [])states );
319321 }
320- sc .setJoinParameters ("nicSearchByNetwork " , "networkId" , networkId );
322+ sc .setJoinParameters ("nicSearch " , "networkId" , networkId );
321323
322324 return listBy (sc );
323325 }
0 commit comments