apzl_leasing/src_tenwa/com/tenwa/workflow/RewriteRunJavaMethodServlet.java
2018-06-03 22:26:41 +08:00

78 lines
3.1 KiB
Java
Raw Blame History

package com.tenwa.workflow;
import com.amarsoft.are.ARE;
import com.amarsoft.awe.RuntimeContext;
import com.amarsoft.awe.util.JavaMethodReturn;
import com.amarsoft.context.ASUser;
import java.io.IOException;
import java.io.PrintWriter;
import java.net.URLDecoder;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
public class RewriteRunJavaMethodServlet extends HttpServlet{
private static final long serialVersionUID = 1L;
private String sDataSource = "als";
public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
doGet(request, response);
}
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
JavaMethodReturn ret = new JavaMethodReturn();
response.setContentType("text/html; charset=GBK");
response.setHeader("Cache-Control", "no-store");
response.setHeader("Pragma", "no-cache");
response.setDateHeader("Expires", 0L);
response.setCharacterEncoding("utf-8");
HttpSession session = request.getSession();
Map<String,String> model =QueryUtil.getRequestParameterMapByAjax(request);
Map<String,Object> modelput=new HashMap<String,Object>();
modelput.putAll(model);
PrintWriter out = response.getWriter();
RuntimeContext CurARC = (RuntimeContext)session.getAttribute("CurARC");
if (CurARC == null) {
ret.setCode("AWES0003");
ret.setResult("/Frame/page/sys/SessionExpire.jsp");
out.print(ret.getReturnText());
out.flush();
out.close();
return;
}
String sClassName = request.getParameter("ClassName");
String sMethodName = request.getParameter("MethodName");
String sArgs = request.getParameter("Args");
if (sArgs == null) sArgs = "";
else
{
sArgs = URLDecoder.decode(sArgs, "UTF-8").replace("<EFBFBD><EFBFBD>", "+").replace("<EFBFBD><EFBFBD>", "%");
}String sArgsObject = request.getParameter("ArgsObject");
ASUser CurUser = CurARC.getUser();
modelput.put("userId", CurUser.getUserID());
modelput.put("request", request);
if ("Sqlca".equalsIgnoreCase(sArgsObject)) {
ret = RewriteJavaMethod.runSqlca(sClassName, sMethodName, sArgs, this.sDataSource, CurUser,modelput);
}
else if ("TransDadai".equalsIgnoreCase(sArgsObject)) {
ret = RewriteJavaMethod.runTrans(sClassName, sMethodName, sArgs, CurUser,modelput);
}
else {
ret = RewriteJavaMethod.run(sClassName, sMethodName, sArgs, CurUser,modelput);
}
out.print(ret.getReturnText());
out.flush();
out.close();
}
public void init()throws ServletException{
super.init();
this.sDataSource = getInitParameter("DataSource");
if ((this.sDataSource == null) || ("".equals(this.sDataSource))) this.sDataSource = "als";
ARE.getLog().debug("[RED] RewriteRunJavaMethodServlet InitParameter : DataSource[" + this.sDataSource + "]");
}
}