package org.operamasks.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import net.sf.json.JSONArray;
import org.operamasks.data.TreeNode;
import org.operamasks.data.TreeNodeService;
public class OmTreeServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException,
IOException {
doPost(request, response);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("utf-8");
response.setContentType("text/html");
String method = request.getParameter("method");
String content = request.getParameter("content");
if("position".equals(method)){
getPositon(request, response);
}else if("children".equals(content)){
getChildren(request, response);
}else if("simpleModel".equals(method)){
getSimpleModel(request, response);
}
else{
PrintWriter writer = response.getWriter();
String result =
"["+
"{"text": "Folder 1"," +
""expanded": true," +
""children":" +
"[" +
"{"+
""text": "file 1.1"" +
"}," +
"{" +
""text": "file 1.2"" +
"}" +
"]" +
"}," +
"{" +
""text": "Folder 2"," +
""hasChildren": true" +
"}," +
"{" +
""text": "file 3"" +
"}" +
"]";
writer.write(result.toString());
writer.flush();
}
}
private void getSimpleModel(HttpServletRequest request,
HttpServletResponse response) throws IOException {
// TODO Auto-generated method stub
PrintWriter writer = response.getWriter();
TreeNodeService service =new TreeNodeService();
List<TreeNode> nodes = service.getNodes();
writer.write(JSONArray.fromObject(nodes).toString());
}
private void getChildren(HttpServletRequest request,
HttpServletResponse response) throws IOException {
PrintWriter writer = response.getWriter();
String result =
"["+
"{"text": "file 2.1"" +
"}," +
"{"text": "file 2.2"" +
"}" +"]";
writer.write(result.toString());
writer.flush();
}
private void getPositon(HttpServletRequest request,
HttpServletResponse response) throws IOException {
PrintWriter writer = response.getWriter();
String result =
"["+
"{"text": "研发"," +
""expanded": true," +
""children":" +
"[" +
"{"+
""text": "开发平台部"," +
""children":" +
"[" +
"{"+
""text": "部门经理"" +
"}," +
"{" +
""text": "产品经理"" +
"}," +
"{"+
""text": "开发工程师"" +
"}" +
"]" +
"}," +
"{" +
""text": "基础平台部"," +
""children":" +
"[" +
"{"+
""text": "部门经理"" +
"}," +
"{" +
""text": "产品经理"" +
"}," +
"{"+
""text": "开发工程师"" +
"}" +
"]" +
"}," +
"{"+
""text": "工具平台部"," +
""children":" +
"[" +
"{"+
""text": "部门经理"" +
"}," +
"{" +
""text": "产品经理"" +
"}," +
"{"+
""text": "开发工程师"" +
"}" +
"]" +
"}," +
"{" +
""text": "测试部"," +
""children":" +
"[" +
"{"+
""text": "部门经理"" +
"}," +
"{" +
""text": "测试人员"" +
"}" +
"]" +
"}" +
"]" +
"}," +
"{" +
""text": "销售"," +
""expanded": true," +
""children":" +
"[" +
"{"+
""text": "销售总监"" +
"}," +
"{" +
""text": "市场分析员"" +
"}," +
"{"+
""text": "销售人员"" +
"}" +
"]" +
"}," +
"{" +
""text": "人事"," +
""expanded": true," +
""children":" +
"[" +
"{"+
""text": "人力资源总监"" +
"}," +
"{" +
""text": "薪酬管理员"" +
"}," +
"{"+
""text": "招聘人员"" +
"}" +
"]" +
"}" +
"]";
writer.write(result.toString());
writer.flush();
}
}