package org.xdams.ajax.command;
import it.highwaytech.db.QueryResult;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang3.StringEscapeUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.ui.ModelMap;
import org.xdams.ajax.bean.AjaxBean;
import org.xdams.conf.master.ConfBean;
import org.xdams.manager.conf.MultiEditingManager;
import org.xdams.user.bean.UserBean;
import org.xdams.utility.request.MyRequest;
import org.xdams.workflow.bean.WorkFlowBean;
import org.xdams.xml.builder.XMLBuilder;
import org.xdams.xmlengine.connection.manager.ConnectionManager;
import org.xdams.xw.XWConnection;
import com.fasterxml.jackson.databind.util.JSONPObject;
public class AjaxCommandVerifyUserName {
private HttpServletRequest req = null;
private HttpServletResponse res = null;
private ModelMap modelMap = null;
public AjaxCommandVerifyUserName(HttpServletRequest req, HttpServletResponse res, ModelMap modelMap) throws FileNotFoundException, IOException {
this.req = req;
this.res = res;
this.modelMap = modelMap;
}
public AjaxBean execute() throws Exception {
AjaxBean ajaxBean = new AjaxBean();
String username = MyRequest.getParameter("username", req.getParameterMap());
String account = MyRequest.getParameter("accountVal", req.getParameterMap());
// System.err.println("aaaaaaaaaaaaaaaaaaaaaaa xpath " + xpath);
// System.err.println("aaaaaaaaaaaaaaaaaaaaaaa nameFileXml " + nameFileXml);
ConfBean confBean = null;
WorkFlowBean workFlowBean = null;
ConnectionManager connectionManager = new ConnectionManager();
XWConnection xwconn = null;
List<String> confControl = new ArrayList<String>();
confControl.add("query");
try {
UserBean userBean = (UserBean) modelMap.get("userBean");
confBean = (ConfBean) modelMap.get("confBean");
workFlowBean = (WorkFlowBean) modelMap.get("workFlowBean");
xwconn = connectionManager.getConnection(workFlowBean.getArchive());
MultiEditingManager editingManager = new MultiEditingManager(req.getParameterMap(), confBean, userBean, workFlowBean);
editingManager.setTheXML(new XMLBuilder("root"));
confBean = editingManager.rewriteMultipleConf(confControl);
if (account.equals("") || username.equals("")) {
ajaxBean.setStrXmlOutput("{\"result\":\"exist\"}");
}else{
String queryUser = "([XML,/user/@id]=\"" + username + "\") AND ([XML,/user/@account]=\"" + account + "\")";
System.out.println("AjaxCommandVerifyUserName.execute(): " + queryUser);
QueryResult queryResult = xwconn.getQRfromPhrase(queryUser);
if (queryResult.elements != 0) {
ajaxBean.setStrXmlOutput("{\"result\":\"exist\"}");
} else {
ajaxBean.setStrXmlOutput("{\"result\":\"notExist\"}");
}
}
} catch (Exception e) {
e.printStackTrace();
ajaxBean.setStrXmlOutput("{\"result\":\"error\"}");
} finally {
connectionManager.closeConnection(xwconn);
}
return ajaxBean;
}
}