An Apache Cordova adapter for PawSQLite
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

72 lines
1.7 KiB

package org.n0m.pawsqlite;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import java.io.StringWriter;
import java.io.PrintWriter;
import org.apache.cordova.CallbackContext;
public class CallbackWrapper {
private CallbackContext callbackContext;
CallbackWrapper(CallbackContext callbackContext) {
this.callbackContext = callbackContext;
}
public void error(String name) {
error(name, null, null);
}
public void error(String name, String message) {
error(name, message, null);
}
public void error(String name, Exception e) {
String message = null;
if (e != null) {
message = e.getMessage();
}
error(name, message, e);
}
public void error(String name, String message, Exception e) {
try {
JSONObject response = new JSONObject();
response.put("name", name);
if (message != null) {
response.put("message", message);
}
if (e != null) {
StringWriter stringWriter = new StringWriter();
e.printStackTrace(new PrintWriter(stringWriter));
response.put("trace", stringWriter.toString());
}
callbackContext.error(response);
} catch (JSONException jsonException) {
callbackContext.error("Encountered error and unable to generate " +
"response");
}
}
public void success() {
JSONObject response = new JSONObject();
success(response);
}
public void success(JSONObject response) {
if (!response.has("success")) {
try {
response.put("success", true);
} catch (JSONException e) {
// Will never happen
}
}
callbackContext.success(response);
}
}