blob: cfb476746d0c7998e921f25b29604755a8e7c82a [file] [log] [blame]
package org.eclipse.uomo.examples.units.android.web;
import static org.eclipse.uomo.units.SI.CELSIUS;
import static org.eclipse.uomo.units.impl.system.USCustomary.FAHRENHEIT;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.eclipse.uomo.units.*;
import org.eclipse.uomo.units.impl.quantity.TemperatureAmount;
import javax.measure.Quantity;
import org.unitsofmeasurement.quantity.Temperature;
import javax.measure.UnitConverter;
/**
* Servlet implementation class UnitConverterServlet
* @param <Q>
*/
public class UnitConverterServlet<Q extends Quantity<Q>> extends HttpServlet {
private static final long serialVersionUID = 1L;
private final Quantity<Temperature> amount;
private UnitConverter converter;
/**
* Default constructor.
*/
public UnitConverterServlet() {
amount = new TemperatureAmount(0, CELSIUS);
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
* response)
*/
public void doGet(HttpServletRequest in, HttpServletResponse output)
throws ServletException, IOException {
output.setContentType("text/html");
PrintWriter out = output.getWriter();
out.println("<html><head><title>Temperature Conversion</title></head>");
out.println("<body>");
out.println("<h1> " + FAHRENHEIT + " to " + CELSIUS + " conversion</h1>");
if (in.getParameter("t_in") != null) {
String supplied_temp = in.getParameter("t_in");
double base_temp = -999;
TemperatureAmount base_temp_amt = null;
boolean valid = false;
try {
base_temp = Double.parseDouble(supplied_temp);
base_temp_amt = new TemperatureAmount(base_temp, FAHRENHEIT);
valid = true;
} catch (NumberFormatException e) {
out.println("<h4><font color=red>"
+ "Invalid Temperature Supplied</font></h4)<br>");
}
if (valid) {
out.println("<h4>Temperature " + base_temp_amt
//+ " "+ FAHRENHEIT
+ " converts to "
//+ ((((double) base_temp - 32.0d) / 9.0d) * 5.0d)
//+ " " + CELSIUS
+ base_temp_amt.to(CELSIUS)
+ " </h4>");
}
}
out.println("<form>Enter " + FAHRENHEIT + ": ");
out.println("<input name=t_in>");
out.println("<input type=submit></form><br>");
out.println("<a href=index.jsp>Return to home page of this webapp</a><br><br>");
out.println("</body></html>");
out.close();
}
}