1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.jboss.as.quickstarts.temperatureconverter.ejb;
18
19 import static org.jboss.as.quickstarts.temperatureconverter.ejb.Scale.CELSIUS;
20 import static org.jboss.as.quickstarts.temperatureconverter.ejb.Scale.FAHRENHEIT;
21
22 import javax.ejb.Stateless;
23 import javax.faces.application.FacesMessage;
24 import javax.faces.context.FacesContext;
25
26
27
28
29
30
31 @Stateless
32 public class TemperatureConvertEJB {
33
34
35
36
37
38
39
40 public Temperature convert(Temperature source) {
41
42
43 if (source.getScale() == CELSIUS) {
44
45 if (source.getTemperature() < Temperature.ABSOLUTE_ZERO_C) {
46 FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("Below Absolute Zero!"));
47 } else if (source.getTemperature() == Temperature.ABSOLUTE_ZERO_C) {
48 FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("Absolute Zero!"));
49 }
50 return new Temperature((source.getTemperature() * 9 / 5) + 32, FAHRENHEIT);
51 } else if (source.getScale() == FAHRENHEIT) {
52
53 if (source.getTemperature() < Temperature.ABSOLUTE_ZERO_F) {
54 FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("Below Absolute Zero!"));
55 } else if (source.getTemperature() == Temperature.ABSOLUTE_ZERO_F) {
56 FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("Absolute Zero!"));
57 }
58 return new Temperature((source.getTemperature() - 32) * 5 / 9, CELSIUS);
59 } else {
60 throw new IllegalStateException("This is embarrassing - this error should NOT occur!");
61 }
62
63 }
64 }