调用摘要获取工具获取摘要信息时,如果返回的信息为空,可能是工具安装不正确,给界面抛出异常信息;如果有返回信息但是不包含摘要部分,返回结果中digest属性的值为""。

This commit is contained in:
zhangdongxu
2018-08-30 16:19:39 +08:00
parent db526cc949
commit 03d961e73f
2 changed files with 7 additions and 4 deletions

View File

@@ -360,7 +360,7 @@ public class ConfigSourcesController extends BaseRestController {
logger.info("摘要获取开始:---------------"); logger.info("摘要获取开始:---------------");
String digestStr = configSourcesService.getDigestGen(request.getRealPath(File.separator), tempFilePath); String digestStr = configSourcesService.getDigestGen(request.getRealPath(File.separator), tempFilePath);
logger.info("摘要获取结束:---------------:"+digestStr); logger.info("摘要获取结束:---------------:"+digestStr);
resultObject.put("digest", digestStr); resultObject.put("digest", null==digestStr?"":digestStr);
resultObject.put("rawLen", file.getSize()); resultObject.put("rawLen", file.getSize());
FileUtils.deleteFile(tempFilePath); FileUtils.deleteFile(tempFilePath);
} catch (Exception e) { } catch (Exception e) {
@@ -368,7 +368,7 @@ public class ConfigSourcesController extends BaseRestController {
e.printStackTrace(); e.printStackTrace();
logger.error(RestBusinessCode.GetFileDigestFailure.getValue()+":"+e.getMessage()+",请检查摘要获取工具是否安装成功"); logger.error(RestBusinessCode.GetFileDigestFailure.getValue()+":"+e.getMessage()+",请检查摘要获取工具是否安装成功");
thread.setExceptionInfo("摘要获取过程中出现异常:"+e.getMessage()+",请检查摘要获取工具是否安装成功"); thread.setExceptionInfo("摘要获取过程中出现异常:"+e.getMessage()+",请检查摘要获取工具是否安装成功");
throw new ServiceRuntimeException(thread, System.currentTimeMillis() - start, RestBusinessCode.GetFileDigestFailure.getValue()+":"+e.getMessage()+",请检查摘要获取工具是否安装成功", throw new ServiceRuntimeException(thread, System.currentTimeMillis() - start, RestBusinessCode.GetFileDigestFailure.getErrorReason()+":"+e.getMessage()+",请检查摘要获取工具是否安装成功",
RestBusinessCode.GetFileDigestFailure.getValue()); RestBusinessCode.GetFileDigestFailure.getValue());
} }
return serviceResponse(thread, System.currentTimeMillis() - start, request, response, "摘要获取成功", resultObject); return serviceResponse(thread, System.currentTimeMillis() - start, request, response, "摘要获取成功", resultObject);

View File

@@ -759,7 +759,7 @@ public class ConfigSourcesService extends BaseService {
// System.out.println("----------------chmodCommod:"+chmodCommond); // System.out.println("----------------chmodCommod:"+chmodCommond);
String commondStr = realPath + digestGenToolPath + " -f " + filePath; // 执行 String commondStr = realPath + digestGenToolPath + " -f " + filePath; // 执行
// 执行摘要获取命令 digest -f /home/aa.txt // 执行摘要获取命令 digest -f /home/aa.txt
// System.out.println("------------commondStr:"+commondStr); logger.info("------------commondStr:"+commondStr);
Runtime.getRuntime().exec(chmodCommond); Runtime.getRuntime().exec(chmodCommond);
Process p = Runtime.getRuntime().exec(commondStr); Process p = Runtime.getRuntime().exec(commondStr);
byte[] b = new byte[1024]; byte[] b = new byte[1024];
@@ -771,7 +771,10 @@ public class ConfigSourcesService extends BaseService {
if (!StringUtil.isBlank(content)) { if (!StringUtil.isBlank(content)) {
content = StringUtil.stripAll(content); content = StringUtil.stripAll(content);
} }
// System.out.println("-------------------->>"+content); logger.info("摘要工具获取到的内容-------------------->>"+content);
if (StringUtil.isEmpty(content)) {
throw new Exception("调用摘要工具获取到的内容为空");
}
String[] digestGenReslt = content.split(" "); String[] digestGenReslt = content.split(" ");
if (digestGenReslt.length >= 4 && !StringUtil.isEmpty(digestGenReslt[3])) { if (digestGenReslt.length >= 4 && !StringUtil.isEmpty(digestGenReslt[3])) {
return digestGenReslt[3]; return digestGenReslt[3];