-
Notifications
You must be signed in to change notification settings - Fork 2
/
WolframRequest.java
66 lines (54 loc) · 2.19 KB
/
WolframRequest.java
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
package me.atom.windowsj;
import com.wolfram.alpha.WAEngine;
import com.wolfram.alpha.WAException;
import com.wolfram.alpha.WAPlainText;
import com.wolfram.alpha.WAPod;
import com.wolfram.alpha.WAQuery;
import com.wolfram.alpha.WAQueryResult;
import com.wolfram.alpha.WASubpod;
public class WolframRequest {
/**
* The App ID you registered on Wolfram Alpha
**/
private static String appid = "YOUR APPID";
public static void query(String ask) {
String input = ask;
WAEngine engine = new WAEngine();
engine.setAppID(appid);
engine.addFormat("plaintext");
WAQuery query = engine.createQuery();
query.setInput(input);
String answer = "";
try {
WAQueryResult queryResult = engine.performQuery(query);
if (queryResult.isError()) {
System.out.println("Query error");
System.out.println(" error code: " + queryResult.getErrorCode());
System.out.println(" error message: " + queryResult.getErrorMessage());
} else if (!queryResult.isSuccess()) {
System.out.println("Query was not understood; no results available.");
} else {
for (WAPod pod : queryResult.getPods()) {
if (!pod.isError()) {
if (pod.getTitle() == "Response") {
answer += (pod.getTitle());
answer += "\n";
}
for (WASubpod subpod : pod.getSubpods()) {
for (Object element : subpod.getContents()) {
if (element instanceof WAPlainText) {
answer += ((WAPlainText) element).getText();
System.out.println("");
}
}
}
}
}
}
DialogWindow.print(answer);
System.out.print(answer);
} catch (WAException e) {
DialogWindow.printError();
}
}
}