* @创建时间 2013-7-7 下午6:55:38
*/
public List
return ldapTemplate.search(buildDn(t), getFilter(t).encode(), getContextMapper(t));
}
/**
* 根据实体类型查找所有实体
* @param t
* @return 返回实体集合
* @创建人 PengBo
* @创建时间 2013-7-7 下午6:56:13
*/
public List
return ldapTemplate.search(buildDn(t), getObjectclass(t).encode(), getContextMapper(t));
}
/**
* 根据实体的分页属性进行查获早分页信息
* @param basePage
* @return
* @创建人 PengBo
* @创建时间 2013-7-7 下午6:57:00
*/
public Page
int totalRow = findByFilter(t).size();
basePage.setContent(getAllPageMap(null,t,(basePage.getPageSize()*basePage.getPage())));
basePage.setTotalRow(totalRow);
basePage.setTotalPage((totalRow+basePage.getPageSize()-1)/basePage.getPageSize());
return basePage;
}
/**
* 根据传入记录数查处所需要的信息
* @param cookie
* @param t
* @param pageSize
* @return
* @创建人 PengBo
* @创建时间 2013-7-10 上午9:23:46
*/
private List
PagedResultsDirContextProcessor control = new PagedResultsDirContextProcessor (pageSize, cookie);
SearchControls searchControls = new SearchControls();
searchControls.setSearchScope(SearchControls.SUBTREE_SCOPE);
List
return mList;
}
/**
* @param map
* @return
* @创建人 PengBo
* @创建时间 2013-7-7 下午6:59:38
*/
private AndFilter getObjectclass(T t){
Map
AndFilter filter = new AndFilter();
for(String mkey:map.keySet()){ //根据实体只获得他对应的objectclass的值
if ("objectclass".equals(mkey)) {
filter.and(new EqualsFilter(mkey, (String) map.get(mkey)));
}
}
return filter;
}
/**
* 根据条件模糊查找的条件方法
* @param t
* @return
* @创建人 PengBo
* @创建时间 2013-7-7 下午7:00:10
*/
private AndFilter getFilter(T t) {
AndFilter filter = new AndFilter();
Map
for(String mkey:map.keySet()){
if ("objectclass".equals(mkey)) {
filter.and(new EqualsFilter(mkey, (String) map.get(mkey)));
}
if(StringUtils.isNotBlank(map.get(mkey)) && !"objectclass".equals(mkey))
filter.and(new WhitespaceWildcardsFilter(mkey, (String) map.get(mkey)));
}
return filter;
}
/**
* 根据条件精确查找的条件方法
* @param t
* @return
* @创建人 PengBo
* @创建时间 2013-7-8 下午3:10:43
*/
private AndFilter getEqualFilter(T t) {
AndFilter filter = new AndFilter();
Map
for(String mkey:map.keySet()){
if ("objectclass".equals(mkey)) {
filter.and(new EqualsFilter(mkey, (String) map.get(mkey)));
}
if(StringUtils.isNotBlank(map.get(mkey)) && !"objectc