package org.wso2.iot.firealarm.access;
import org.wso2.iot.firealarm.access.api.FirealarmClient;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
public class OperationServlet extends HttpServlet {
protected void doPost(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
String token = (String) request.getSession(true).getAttribute("token");
request.setAttribute("errMsg", null);
if (token == null) {
request.setAttribute("errMsg", "Invalid Credential / Unauthorized Access");
request.getRequestDispatcher("index.jsp").forward(request, response);
}
String operation = request.getParameter("operation");
String protocol = request.getParameter("protocol");
String username = (String) request.getSession(true).getAttribute("username");
if (operation.equals("bulb")) {
String deviceId = request.getParameter("deviceId");
String state = request.getParameter("state");
FirealarmClient fc = new FirealarmClient();
String resp = fc.switchBulb(token, username, deviceId, state, protocol);
response.getWriter().print(resp);
} else if (operation.equals("temp")) {
String deviceId = request.getParameter("deviceId");
FirealarmClient fc = new FirealarmClient();
String temperature = fc.getTemperature(token, username, deviceId, protocol);
if (temperature != null) {
// request.setAttribute("tempReply",temperature);
// request.getRequestDispatcher("control.jsp").forward(request,response);
try {
response.getWriter().print("Temperature is " + Double.parseDouble
(temperature) +
" C");
} catch (NumberFormatException e) {
response.getWriter().print(temperature);
}
} else {
// request.setAttribute("errMsg","Connection Failed try again later");
// request.setAttribute("tempReply",null);
// request.getRequestDispatcher("control.jsp").forward(request,response);
response.getWriter().print("Connection Failure,Try again later");
}
} else if (operation.equals("humid")) {
String deviceId = request.getParameter("deviceId");
FirealarmClient fc = new FirealarmClient();
String humidity = fc.getHumidity(token, username, deviceId, protocol);
if (humidity != null) {
// request.setAttribute("tempReply",temperature);
// request.getRequestDispatcher("control.jsp").forward(request,response);
try {
response.getWriter().print("Humidity is " + Double.parseDouble(humidity) +
"%");
} catch (NumberFormatException e) {
response.getWriter().print(humidity);
}
} else {
// request.setAttribute("errMsg","Connection Failed try again later");
// request.setAttribute("tempReply",null);
// request.getRequestDispatcher("control.jsp").forward(request,response);
response.getWriter().print("Connection Failure,Try again later");
}
}
}
protected void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
String token = (String) request.getSession(true).getAttribute("token");
request.setAttribute("errMsg", null);
if (token == null) {
request.setAttribute("errMsg", "Invalid Credential / Unauthorized Access");
request.getRequestDispatcher("index.jsp").forward(request, response);
}
request.getRequestDispatcher("control.jsp").forward(request, response);
}
}