mirror of https://github.com/apache/cloudstack.git
50 lines
1.6 KiB
Java
50 lines
1.6 KiB
Java
/**
|
|
*
|
|
*/
|
|
package com.cloud.vm.dao;
|
|
|
|
import java.util.List;
|
|
|
|
import javax.ejb.Local;
|
|
|
|
import com.cloud.utils.db.GenericDaoBase;
|
|
import com.cloud.utils.db.GenericSearchBuilder;
|
|
import com.cloud.utils.db.SearchBuilder;
|
|
import com.cloud.utils.db.SearchCriteria;
|
|
import com.cloud.utils.db.SearchCriteria.Func;
|
|
import com.cloud.vm.NicVO;
|
|
|
|
@Local(value=NicDao.class)
|
|
public class NicDaoImpl extends GenericDaoBase<NicVO, Long> implements NicDao {
|
|
private final SearchBuilder<NicVO> InstanceSearch;
|
|
private final GenericSearchBuilder<NicVO, String> IpSearch;
|
|
|
|
protected NicDaoImpl() {
|
|
super();
|
|
|
|
InstanceSearch = createSearchBuilder();
|
|
InstanceSearch.and("instance", InstanceSearch.entity().getInstanceId(), SearchCriteria.Op.EQ);
|
|
InstanceSearch.done();
|
|
|
|
IpSearch = createSearchBuilder(String.class);
|
|
IpSearch.select(null, Func.DISTINCT, IpSearch.entity().getIp4Address());
|
|
IpSearch.and("nc", IpSearch.entity().getNetworkConfigurationId(), SearchCriteria.Op.EQ);
|
|
IpSearch.and("address", IpSearch.entity().getIp4Address(), SearchCriteria.Op.NNULL);
|
|
IpSearch.done();
|
|
}
|
|
|
|
@Override
|
|
public List<NicVO> listBy(long instanceId) {
|
|
SearchCriteria<NicVO> sc = InstanceSearch.create();
|
|
sc.setParameters("instance", instanceId);
|
|
return listBy(sc);
|
|
}
|
|
|
|
@Override
|
|
public List<String> listIpAddressInNetworkConfiguration(long networkConfigId) {
|
|
SearchCriteria<String> sc = IpSearch.create();
|
|
sc.setParameters("nc", networkConfigId);
|
|
return customSearch(sc, null);
|
|
}
|
|
}
|