You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by bo...@apache.org on 2012/06/07 22:20:54 UTC
[15/50] [abbrv] android commit: Missed this error in the merge commit
Missed this error in the merge commit
Project: http://git-wip-us.apache.org/repos/asf/incubator-cordova-android/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-cordova-android/commit/43df9f6b
Tree: http://git-wip-us.apache.org/repos/asf/incubator-cordova-android/tree/43df9f6b
Diff: http://git-wip-us.apache.org/repos/asf/incubator-cordova-android/diff/43df9f6b
Branch: refs/heads/master
Commit: 43df9f6b9c5961594d8c2549876d0997deaca3ec
Parents: fd12f57
Author: Joe Bowser <bo...@apache.org>
Authored: Tue May 29 15:49:04 2012 -0700
Committer: Joe Bowser <bo...@apache.org>
Committed: Tue May 29 15:49:04 2012 -0700
----------------------------------------------------------------------
framework/src/org/apache/cordova/Storage.java | 396 ++++++++++----------
1 files changed, 198 insertions(+), 198 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-cordova-android/blob/43df9f6b/framework/src/org/apache/cordova/Storage.java
----------------------------------------------------------------------
diff --git a/framework/src/org/apache/cordova/Storage.java b/framework/src/org/apache/cordova/Storage.java
index 59041cf..40521f6 100755
--- a/framework/src/org/apache/cordova/Storage.java
+++ b/framework/src/org/apache/cordova/Storage.java
@@ -37,203 +37,203 @@ import android.database.sqlite.*;
*/
public class Storage extends Plugin {
- // Data Definition Language
- private static final String ALTER = "alter";
- private static final String CREATE = "create";
- private static final String DROP = "drop";
- private static final String TRUNCATE = "truncate";
-
- SQLiteDatabase myDb = null; // Database object
- String path = null; // Database path
- String dbName = null; // Database name
-
- /**
- * Constructor.
- */
- public Storage() {
- }
-
- /**
- * Executes the request and returns PluginResult.
- *
- * @param action
- * The action to execute.
- * @param args
- * JSONArry of arguments for the plugin.
- * @param callbackId
- * The callback id used when calling back into JavaScript.
- * @return A PluginResult object with a status and message.
- */
- public PluginResult execute(String action, JSONArray args, String callbackId) {
- PluginResult.Status status = PluginResult.Status.OK;
- String result = "";
-
- try {
- if (action.equals("openDatabase")) {
- this.openDatabase(args.getString(0), args.getString(1),
- args.getString(2), args.getLong(3));
- } else if (action.equals("executeSql")) {
- String[] s = null;
- if (args.isNull(1)) {
- s = new String[0];
- } else {
- JSONArray a = args.getJSONArray(1);
- int len = a.length();
- s = new String[len];
- for (int i = 0; i < len; i++) {
- s[i] = a.getString(i);
- }
- }
- this.executeSql(args.getString(0), s, args.getString(2));
- }
- return new PluginResult(status, result);
- } catch (JSONException e) {
- return new PluginResult(PluginResult.Status.JSON_EXCEPTION);
- }
- }
-
- /**
- * Identifies if action to be executed returns a value and should be run
- * synchronously.
- *
- * @param action
- * The action to execute
- * @return T=returns value
- */
- public boolean isSynch(String action) {
- return true;
- }
-
- /**
- * Clean up and close database.
- */
- @Override
- public void onDestroy() {
- if (this.myDb != null) {
- this.myDb.close();
- this.myDb = null;
- }
- }
-
- // --------------------------------------------------------------------------
- // LOCAL METHODS
- // --------------------------------------------------------------------------
-
- /**
- * Open database.
- *
- * @param db
- * The name of the database
- * @param version
- * The version
- * @param display_name
- * The display name
- * @param size
- * The size in bytes
- */
- public void openDatabase(String db, String version, String display_name,
- long size) {
-
- // If database is open, then close it
- if (this.myDb != null) {
- this.myDb.close();
- }
-
- // If no database path, generate from application package
- if (this.path == null) {
- this.path = this.ctx.getApplicationContext().getDir("database", Context.MODE_PRIVATE).getPath();
- }
-
- this.dbName = this.path + File.pathSeparator + db + ".db";
- this.myDb = SQLiteDatabase.openOrCreateDatabase(this.dbName, null);
- }
-
- /**
- * Execute SQL statement.
- *
- * @param query
- * The SQL query
- * @param params
- * Parameters for the query
- * @param tx_id
- * Transaction id
- */
- public void executeSql(String query, String[] params, String tx_id) {
- try {
- if (isDDL(query)) {
- this.myDb.execSQL(query);
- this.sendJavascript("cordova.require('cordova/plugin/android/storage').completeQuery('" + tx_id + "', '');");
- }
- else {
- Cursor myCursor = this.myDb.rawQuery(query, params);
- this.processResults(myCursor, tx_id);
- myCursor.close();
- }
- }
- catch (SQLiteException ex) {
- ex.printStackTrace();
- System.out.println("Storage.executeSql(): Error=" + ex.getMessage());
-
- // Send error message back to JavaScript
- this.sendJavascript("cordova.require('cordova/plugin/android/storage').failQuery('" + ex.getMessage() + "','" + tx_id + "');");
- }
- }
-
- /**
- * Checks to see the the query is a Data Definintion command
- *
- * @param query to be executed
- * @return true if it is a DDL command, false otherwise
- */
- private boolean isDDL(String query) {
- String cmd = query.toLowerCase();
- if (cmd.startsWith(DROP) || cmd.startsWith(CREATE) || cmd.startsWith(ALTER) || cmd.startsWith(TRUNCATE)) {
- return true;
- }
- return false;
- }
-
- /**
- * Process query results.
- *
- * @param cur
- * Cursor into query results
- * @param tx_id
- * Transaction id
- */
- public void processResults(Cursor cur, String tx_id) {
-
- String result = "[]";
- // If query result has rows
-
- if (cur.moveToFirst()) {
- JSONArray fullresult = new JSONArray();
- String key = "";
- String value = "";
- int colCount = cur.getColumnCount();
-
- // Build up JSON result object for each row
- do {
- JSONObject row = new JSONObject();
- try {
- for (int i = 0; i < colCount; ++i) {
- key = cur.getColumnName(i);
- value = cur.getString(i);
- row.put(key, value);
- }
- fullresult.put(row);
-
- } catch (JSONException e) {
- e.printStackTrace();
- }
-
- } while (cur.moveToNext());
-
- result = fullresult.toString();
- }
-
- // Let JavaScript know that there are no more rows
- this.sendJavascript("cordova.require('cordova/plugin/android/storage').completeQuery('" + tx_id + "', " + result + ");");
- }
+ // Data Definition Language
+ private static final String ALTER = "alter";
+ private static final String CREATE = "create";
+ private static final String DROP = "drop";
+ private static final String TRUNCATE = "truncate";
+
+ SQLiteDatabase myDb = null; // Database object
+ String path = null; // Database path
+ String dbName = null; // Database name
+
+ /**
+ * Constructor.
+ */
+ public Storage() {
+ }
+
+ /**
+ * Executes the request and returns PluginResult.
+ *
+ * @param action
+ * The action to execute.
+ * @param args
+ * JSONArry of arguments for the plugin.
+ * @param callbackId
+ * The callback id used when calling back into JavaScript.
+ * @return A PluginResult object with a status and message.
+ */
+ public PluginResult execute(String action, JSONArray args, String callbackId) {
+ PluginResult.Status status = PluginResult.Status.OK;
+ String result = "";
+
+ try {
+ if (action.equals("openDatabase")) {
+ this.openDatabase(args.getString(0), args.getString(1),
+ args.getString(2), args.getLong(3));
+ } else if (action.equals("executeSql")) {
+ String[] s = null;
+ if (args.isNull(1)) {
+ s = new String[0];
+ } else {
+ JSONArray a = args.getJSONArray(1);
+ int len = a.length();
+ s = new String[len];
+ for (int i = 0; i < len; i++) {
+ s[i] = a.getString(i);
+ }
+ }
+ this.executeSql(args.getString(0), s, args.getString(2));
+ }
+ return new PluginResult(status, result);
+ } catch (JSONException e) {
+ return new PluginResult(PluginResult.Status.JSON_EXCEPTION);
+ }
+ }
+
+ /**
+ * Identifies if action to be executed returns a value and should be run
+ * synchronously.
+ *
+ * @param action
+ * The action to execute
+ * @return T=returns value
+ */
+ public boolean isSynch(String action) {
+ return true;
+ }
+
+ /**
+ * Clean up and close database.
+ */
+ @Override
+ public void onDestroy() {
+ if (this.myDb != null) {
+ this.myDb.close();
+ this.myDb = null;
+ }
+ }
+
+ // --------------------------------------------------------------------------
+ // LOCAL METHODS
+ // --------------------------------------------------------------------------
+
+ /**
+ * Open database.
+ *
+ * @param db
+ * The name of the database
+ * @param version
+ * The version
+ * @param display_name
+ * The display name
+ * @param size
+ * The size in bytes
+ */
+ public void openDatabase(String db, String version, String display_name,
+ long size) {
+
+ // If database is open, then close it
+ if (this.myDb != null) {
+ this.myDb.close();
+ }
+
+ // If no database path, generate from application package
+ if (this.path == null) {
+ this.path = this.ctx.getActivity().getDir("database", Context.MODE_PRIVATE).getPath();
+ }
+
+ this.dbName = this.path + File.pathSeparator + db + ".db";
+ this.myDb = SQLiteDatabase.openOrCreateDatabase(this.dbName, null);
+ }
+
+ /**
+ * Execute SQL statement.
+ *
+ * @param query
+ * The SQL query
+ * @param params
+ * Parameters for the query
+ * @param tx_id
+ * Transaction id
+ */
+ public void executeSql(String query, String[] params, String tx_id) {
+ try {
+ if (isDDL(query)) {
+ this.myDb.execSQL(query);
+ this.sendJavascript("cordova.require('cordova/plugin/android/storage').completeQuery('" + tx_id + "', '');");
+ }
+ else {
+ Cursor myCursor = this.myDb.rawQuery(query, params);
+ this.processResults(myCursor, tx_id);
+ myCursor.close();
+ }
+ }
+ catch (SQLiteException ex) {
+ ex.printStackTrace();
+ System.out.println("Storage.executeSql(): Error=" + ex.getMessage());
+
+ // Send error message back to JavaScript
+ this.sendJavascript("cordova.require('cordova/plugin/android/storage').failQuery('" + ex.getMessage() + "','" + tx_id + "');");
+ }
+ }
+
+ /**
+ * Checks to see the the query is a Data Definintion command
+ *
+ * @param query to be executed
+ * @return true if it is a DDL command, false otherwise
+ */
+ private boolean isDDL(String query) {
+ String cmd = query.toLowerCase();
+ if (cmd.startsWith(DROP) || cmd.startsWith(CREATE) || cmd.startsWith(ALTER) || cmd.startsWith(TRUNCATE)) {
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ * Process query results.
+ *
+ * @param cur
+ * Cursor into query results
+ * @param tx_id
+ * Transaction id
+ */
+ public void processResults(Cursor cur, String tx_id) {
+
+ String result = "[]";
+ // If query result has rows
+
+ if (cur.moveToFirst()) {
+ JSONArray fullresult = new JSONArray();
+ String key = "";
+ String value = "";
+ int colCount = cur.getColumnCount();
+
+ // Build up JSON result object for each row
+ do {
+ JSONObject row = new JSONObject();
+ try {
+ for (int i = 0; i < colCount; ++i) {
+ key = cur.getColumnName(i);
+ value = cur.getString(i);
+ row.put(key, value);
+ }
+ fullresult.put(row);
+
+ } catch (JSONException e) {
+ e.printStackTrace();
+ }
+
+ } while (cur.moveToNext());
+
+ result = fullresult.toString();
+ }
+
+ // Let JavaScript know that there are no more rows
+ this.sendJavascript("cordova.require('cordova/plugin/android/storage').completeQuery('" + tx_id + "', " + result + ");");
+ }
}