-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathHealthModel.java
More file actions
135 lines (110 loc) · 3.66 KB
/
Copy pathHealthModel.java
File metadata and controls
135 lines (110 loc) · 3.66 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URLEncoder;
import java.net.URL;
import javafx.scene.image.Image;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import javafx.embed.swing.SwingFXUtils;
import java.io.IOException;
import java.util.Date;
import java.util.Calendar;
import java.text.DecimalFormat;
import java.lang.Math;
import com.google.gson.*;
public class HealthModel
{
private JsonElement jse;
private int index;
public boolean getInfo(String ingred, int count)
{
index = count;
try
{
ingred = ingred.replaceAll(", ", ",").toLowerCase();
ingred = ingred.replaceAll(" ", "%20").toLowerCase();
URL url = new URL("http://www.recipepuppy.com/api/?i=" + ingred);
InputStream is = url.openStream(); // throws an IOException
BufferedReader br = new BufferedReader(new InputStreamReader(is));
jse = new JsonParser().parse(br);
// Close the connection
is.close();
br.close();
}
catch (java.io.UnsupportedEncodingException uee)
{
System.out.println("1");
return false;
}
catch (java.net.MalformedURLException mue)
{
System.out.println("2");
return false;
}
catch (java.io.IOException ioe)
{
System.out.println("3");
return false;
}
catch (java.lang.NullPointerException npe)
{
System.out.println("4");
return false;
}
return isValid();
}
public boolean isValid()
{
try {
String error = jse.getAsJsonObject().get("results").getAsJsonArray().get(0).getAsJsonObject().get("title").getAsString();
return true;
}
catch (java.lang.IllegalStateException npe)
{
System.out.println("5");
return false;
}
catch (java.lang.IndexOutOfBoundsException npe) {
return false;
}
}
public String getTitle()
{
try {
return jse.getAsJsonObject().get("results").getAsJsonArray().get(index).getAsJsonObject().get("title").getAsString();
} catch (java.lang.UnsupportedOperationException npe) {
return "N/A";
}
}
public String getLink()
{
try {
return jse.getAsJsonObject().get("results").getAsJsonArray().get(index).getAsJsonObject().get("href").getAsString();
} catch (java.lang.UnsupportedOperationException npe) {
return "N/A";
}
}
public String getIngred()
{
try {
return jse.getAsJsonObject().get("results").getAsJsonArray().get(index).getAsJsonObject().get("ingredients").getAsString();
} catch (java.lang.UnsupportedOperationException npe) {
return "N/A";
}
}
public Image getImage()
{
BufferedImage image = null;
try {
URL url = new URL(jse.getAsJsonObject().get("results").getAsJsonArray().get(index).getAsJsonObject().get("thumbnail").getAsString());
image = ImageIO.read(url);
} catch (IOException e) {
return new Image("badartistname.png");
} catch (java.lang.UnsupportedOperationException npe) {
return new Image("badartistname.png");
}
Image icon = SwingFXUtils.toFXImage(image, null);
return icon;
}
}