/**
* 查询HDFS文件及目录
*
* @param mapping
* @param form
* @param request
* @param response
* @return
* @throws Exception
*/
public ActionForward pageQueryHDFSFile(ActionMapping mapping,
ActionForm form, HttpServletRequest request,
HttpServletResponse response) throws Exception {
PageArgument pageArg = this.getPageInfo(request);
String filePath = "";
filePath = request.getParameter("filePath");
IBassBigDataDriverService driverService = (IBassBigDataDriverService) IAMBeanFactory
.getInstance().getBean("BassBigDataDriverService");
JSONObject jsonObject = driverService.queryHDFSFile(filePath);
String result = jsonObject.getString("result");
JSONArray array = JSONArray.parseArray(result);
JSONObject paegInfoJSON = new JSONObject();
paegInfoJSON.put("totalRowNum", array.size());
paegInfoJSON.put("pageNum", pageArg.getCurPage());
paegInfoJSON.put("pageSize", pageArg.getPageSize());
JSONObject retVal = new JSONObject();
retVal.put("pageInfo", paegInfoJSON);
retVal.put("data", getPageQueryList(pageArg, array));
printJSON(response, retVal.toJSONString());
return null;
}
/**
* 获取分页查询结果
*
* @param pageArg
* @param array
* @return
*/
public List getPageQueryList(PageArgument pageArg, JSONArray array) {
List list = new ArrayList();
int curPage = pageArg.getCurPage();
int pageSize = pageArg.getPageSize();
int startNum = curPage * 10 - 10;
int endNum = startNum + pageSize;
if (startNum + endNum <= array.size()) {
for (int i = startNum; i < array.size(); i++) {
list.add(array.get(i));
}
} else {
for (int i = startNum; i < array.size(); i++) {
list.add(array.get(i));
}
}
return list;
}
/**
* 获取查询结果总页数
*
* @param count
* 查询结果总记录数
* @param pageSize
* 每页显示记录数
* @return 查询结果总页数
*/
private int getTotalPageNum(int count, int pageSize) {
int tmp = count / pageSize;
if (tmp == 0) {
return 1;
}
int tmp2 = count % pageSize;
if (tmp2 > 0) {
tmp = tmp + 1;
}
return tmp;
}