78 lines
3.1 KiB
Java
78 lines
3.1 KiB
Java
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 + "]");
|
||
}
|
||
}
|