package com.oreilly.demo.android.pa.clientserver.server.servlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.json.JSONObject;
import com.oreilly.demo.android.pa.clientserver.server.ServerStatic;
import com.oreilly.demo.android.pa.clientserver.server.dataobjects.User;
public class AddUserServlet extends BaseServlet {
private static final long serialVersionUID = 3314034629918477254L;
@Override
protected void response(HttpServletRequest req, HttpServletResponse res) {
if(res == null) return;
if(ServerStatic.getConfig().getUserData() == null) {
res.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
res.setContentLength(0);
return;
}
String username = req.getParameter("username");
String password = req.getParameter("password");
if(username == null || password == null) {
res.setStatus(HttpServletResponse.SC_FORBIDDEN);
res.setContentLength(0);
return;
}
User user = ServerStatic.getConfig().getUserData().getUser(username);
if(user != null) {
res.setStatus(HttpServletResponse.SC_FORBIDDEN);
res.setContentLength(0);
return;
}
user = new User();
user.username = username;
user.password = password;
user.name = req.getParameter("name");
user.phone = req.getParameter("phone");
ServerStatic.getConfig().getUserData().addUser(user);
try {
ServerStatic.getConfig().getUserData().saveData();
} catch (Exception e) {
e.printStackTrace();
}
res.setStatus(HttpServletResponse.SC_OK);
try {
JSONObject json = new JSONObject();
json.put("id", user.id);
byte[] b = json.toString().getBytes();
res.getOutputStream().write(b);
res.setContentLength(b.length);
} catch (Throwable t) {
res.setContentLength(0);
}
}
@Override
public String getPath() {
return "/adduser/*";
}
}