public void testQuery() { mQuery = CloudDBZoneQuery.where (new AndroidJavaClass(bookInfoClass)).equalTo("id", 1); executeQuery("author is cedric"); mQuery = CloudDBZoneQuery.where (new AndroidJavaClass(bookInfoClass)).notEqualTo("author", "cedric"); executeQuery("author is not cedric"); mQuery = CloudDBZoneQuery.where (new AndroidJavaClass(bookInfoClass)).greaterThan("price", 11.0); executeQuery("price > 11.0"); mQuery = CloudDBZoneQuery.where (new AndroidJavaClass(bookInfoClass)).greaterThanOrEqualTo("price", 11.0); executeQuery("price >= 11.0"); mQuery = CloudDBZoneQuery.where (new AndroidJavaClass(bookInfoClass)).lessThan("publishTime", new Date((long)1607500800)); executeQuery("publishTime < 1607500800"); mQuery = CloudDBZoneQuery.where (new AndroidJavaClass(bookInfoClass)).lessThanOrEqualTo("price", 24.0); executeQuery("price <= 24.0"); mQuery = CloudDBZoneQuery.where (new AndroidJavaClass(bookInfoClass)).@in("author", new string[] { "cedric" }); executeQuery("cedric in author"); mQuery = CloudDBZoneQuery.where (new AndroidJavaClass(bookInfoClass)).beginsWith("author", "ce"); executeQuery("author beginsWith ce"); mQuery = CloudDBZoneQuery.where (new AndroidJavaClass(bookInfoClass)).endsWith("author", "ic"); executeQuery("author endsWith ic"); mQuery = CloudDBZoneQuery.where (new AndroidJavaClass(bookInfoClass)).contains("author", "dr"); executeQuery("author contains dr"); mQuery = CloudDBZoneQuery.where (new AndroidJavaClass(bookInfoClass)).isNull("author"); executeQuery("author isNull"); mQuery = CloudDBZoneQuery.where (new AndroidJavaClass(bookInfoClass)).isNotNull("author"); executeQuery("author isNotNull"); mQuery = CloudDBZoneQuery.where (new AndroidJavaClass(bookInfoClass)).orderByAsc("author"); executeQuery("author by asc"); mQuery = CloudDBZoneQuery.where (new AndroidJavaClass(bookInfoClass)).orderByDesc("author"); executeQuery("author by desc"); mQuery = CloudDBZoneQuery.where (new AndroidJavaClass(bookInfoClass)).limit(1, 0); executeQuery("limit 1 by 0"); }
public async void ExecuteQueryUnsynced() { if (mCloudDBZone == null) { ShowResultPopup("Please open CloudDBZone first!"); return; } CloudDBZoneQuery query = CloudDBZoneQuery.Where(Java.Lang.Class.ForName("com.company.project.BookInfo")); Task <CloudDBZoneSnapshot> unsyncedQueryTask = mCloudDBZone.ExecuteQueryUnsyncedAsync(query); try { await unsyncedQueryTask; if (unsyncedQueryTask.Result != null) { CloudDBZoneSnapshot snapshot = unsyncedQueryTask.Result; ProcessQueryResult(snapshot); } } catch (Exception e) { ShowResultPopup("Unsynced query is failed:" + e.Message); } }
public void deleteBookInfo() { if (mCloudDBZone == null) { TestTip.Inst.ShowText("CloudDBZone is null, try re-open it"); return; } mQuery = CloudDBZoneQuery.where (new AndroidJavaClass(bookInfoClass)); Task queryTask = mCloudDBZone.executeQuery(mQuery, CloudDBZoneQuery.CloudDBZoneQueryPolicy.POLICY_QUERY_FROM_CLOUD_ONLY); queryTask.addOnSuccessListener(new HmsSuccessListener <CloudDBZoneSnapshot <BookInfo> > ((snapshot) => { mObjectList = snapshot.getSnapshotObjects(); BookInfo bookInfo = mObjectList.get(3); Task deleteTask = mCloudDBZone.executeDelete(bookInfo); deleteTask.addOnSuccessListener(new HmsSuccessListener <int> ((cloudDBZoneResult) => { TestTip.Inst.ShowText("delete " + cloudDBZoneResult + " records"); })).addOnFailureListener(new HmsFailureListener((exception) => { TestTip.Inst.ShowText("delete bookinfo failed: " + exception.toString()); })); List <BookInfo> list = new List <BookInfo> (); list.add(mObjectList.get(4)); list.add(mObjectList.get(5)); Task deleteTask2 = mCloudDBZone.executeDelete(list); deleteTask2.addOnSuccessListener(new HmsSuccessListener <int> ((cloudDBZoneResult) => { TestTip.Inst.ShowText("delete " + cloudDBZoneResult + " records"); })).addOnFailureListener(new HmsFailureListener((exception) => { TestTip.Inst.ShowText("delete bookinfo failed: " + exception.toString()); })); })).addOnFailureListener(new HmsFailureListener((exception) => { TestTip.Inst.ShowText("Query book list from cloud failed: " + exception.toString()); })); }
public async void ExecuteQuery() { if (mCloudDBZone == null) { ShowResultPopup("Please open CloudDBZone first!"); return; } Task <CloudDBZoneSnapshot> queryTask = mCloudDBZone.ExecuteQueryAsync( CloudDBZoneQuery.Where(Java.Lang.Class.ForName("com.company.project.BookInfo")), CloudDBZoneQuery.CloudDBZoneQueryPolicy.PolicyQueryFromCloudOnly); try { await queryTask; if (queryTask.Result != null) { CloudDBZoneSnapshot snapshot = queryTask.Result; ProcessQueryResult(snapshot); } } catch (Exception e) { ShowResultPopup("QueryAllBooks failed: " + e.Message); } }
public async void ExecuteMinimalQuery() { if (mCloudDBZone == null) { ShowResultPopup("Please open CloudDBZone first!"); return; } CloudDBZoneQuery query = CloudDBZoneQuery.Where(Java.Lang.Class.ForName("com.company.project.BookInfo")); Task <Java.Lang.Number> minimalQueryTask = mCloudDBZone.ExecuteMinimalQueryAsync(query, BookEditFields.Price, CloudDBZoneQuery.CloudDBZoneQueryPolicy.PolicyQueryFromCloudOnly); try { await minimalQueryTask; if (minimalQueryTask.Result != null) { ShowResultPopup("Minimum price is " + minimalQueryTask.Result.ToString()); } } catch (Exception e) { ShowResultPopup("Minimum query is failed:" + e.Message); } }
public void SubscribeSnapshot(CloudDBZoneQuery cloudDBZoneQuery, CloudDBZoneQuery.CloudDBZoneQueryPolicy cloudDBZoneQueryPolicy, OnSnapshotListener listener) { if (mCloudDBZone == null) { Debug.Log($"[{TAG}]: CloudDBZone is null, try re-open it"); return; } mCloudDBZone.SubscribeSnapshot(cloudDBZoneQuery, cloudDBZoneQueryPolicy, listener); }
public void SubscribeSnapshot(CloudDBZoneQuery cloudDBZoneQuery, CloudDBZoneQuery.CloudDBZoneQueryPolicy cloudDBZoneQueryPolicy) { if (mCloudDBZone == null) { Debug.LogError($"[{TAG}]: CloudDBZone is null, try re-open it"); return; } mRegister = mCloudDBZone.SubscribeSnapshot(cloudDBZoneQuery, cloudDBZoneQueryPolicy, OnCloudDBZoneSnapshot, OnCloudDBZoneSnapshotException); Debug.Log($"[{TAG}]: SubscribeSnaphot()"); }
public void executeAverageQuery() { if (mCloudDBZone == null) { TestTip.Inst.ShowText("CloudDBZone is null, try re-open it"); return; } mQuery = CloudDBZoneQuery.where (new AndroidJavaClass(bookInfoClass)); Task queryTask = mCloudDBZone.executeAverageQuery(mQuery, "price", CloudDBZoneQuery.CloudDBZoneQueryPolicy.POLICY_QUERY_FROM_CLOUD_ONLY); queryTask.addOnSuccessListener(new HmsSuccessListener <double> ((result) => { TestTip.Inst.ShowText("query average price: " + result); })).addOnFailureListener(new HmsFailureListener((exception) => { TestTip.Inst.ShowText("query average price failed: " + exception.toString()); })); }
public void addSubscription() { if (mCloudDBZone == null) { TestTip.Inst.ShowText("CloudDBZone is null, try re-open it"); return; } try { CloudDBZoneQuery snapshotQuery = CloudDBZoneQuery.where (new AndroidJavaClass(bookInfoClass)) .equalTo("shadowFlag", true); mRegister = mCloudDBZone.subscribeSnapshot(snapshotQuery, CloudDBZoneQuery.CloudDBZoneQueryPolicy.POLICY_QUERY_FROM_CLOUD_ONLY, mSnapshotListener); TestTip.Inst.ShowText("Add subscription success"); } catch (System.Exception e) { TestTip.Inst.ShowText("subscribeSnapshot: " + e.Message); } }
public void executeUnsyncQuery() { if (mCloudDBZone == null) { TestTip.Inst.ShowText("CloudDBZone is null, try re-open it"); return; } var tag = "Unsync"; mQuery = CloudDBZoneQuery.where (new AndroidJavaClass(bookInfoClass)); Task queryTask = mCloudDBZone.executeQueryUnsynced(mQuery); queryTask.addOnSuccessListener(new HmsSuccessListener <CloudDBZoneSnapshot <BookInfo> > ((snapshot) => { TestTip.Inst.ShowText("ExecuteQueryUnsynced."); processQueryResult(snapshot, tag); })).addOnFailureListener(new HmsFailureListener((exception) => { TestTip.Inst.ShowText("ExecuteQueryUnsynced failed: " + exception.toString()); })); }
public void testTransaction() { Transaction.Function f = new Transaction.Function((t) => { try { mQuery = CloudDBZoneQuery.where (new AndroidJavaClass(bookInfoClass)).equalTo("bookName", "testTransaction"); var queryList = t.executeQuery(mQuery); TestTip.Inst.ShowText("Transaction success: " + queryList.toArray().Length); t = t.executeDelete(queryList); TestTip.Inst.ShowText("Transaction success: " + queryList.toArray().Length); } catch (System.Exception e) { TestTip.Inst.ShowText("Transaction fail: " + e.Message); return(false); } return(true); }); TestTip.Inst.ShowText("Run Transaction."); mCloudDBZone.runTransaction(f); }
public void ExecuteQuery(CloudDBZoneQuery query, CloudDBZoneQuery.CloudDBZoneQueryPolicy CloudDBZoneQueryPolicy) { if (mCloudDBZone == null) { Debug.Log($"[{TAG}]: CloudDBZone is null, try re-open it"); return; } mCloudDBZone.ExecuteQuery <BookInfo>(query, CloudDBZoneQueryPolicy) .AddOnSuccessListener(snapshot => { Debug.Log($"[{TAG}]: mCloudDBZone.ExecuteQuery AddOnSuccessListener"); OnExecuteQuerySuccess?.Invoke(snapshot); }).AddOnFailureListener(exception => { OnExecuteQueryFailed?.Invoke(exception); Debug.Log($"[{TAG}]: mCloudDBZone.ExecuteQuery AddOnFailureListener " + exception.WrappedCauseMessage + " - " + exception.WrappedExceptionMessage + " - "); }); }
public void SubscribeSnapshot() { if (mCloudDBZone == null) { ShowResultPopup("Please open CloudDBZone first!"); return; } try { CloudDBZoneQuery snapshotQuery = CloudDBZoneQuery .Where(Java.Lang.Class.ForName("com.company.project.BookInfo")) .EqualTo(BookEditFields.ShadowFlag, true); mRegister = mCloudDBZone.SubscribeSnapshot(snapshotQuery, CloudDBZoneQuery.CloudDBZoneQueryPolicy.PolicyQueryFromCloudOnly, this); ShowResultPopup("SubscribeSnapshot executed successfully."); } catch (Exception e) { ShowResultPopup("subscribeSnapshot failed: " + e.Message); } }
public void ExecuteQueryUnsynced(CloudDBZoneQuery query) { if (mCloudDBZone == null) { Debug.Log($"[{TAG}]: CloudDBZone is null, try re-open it"); return; } mCloudDBZone.ExecuteQueryUnsynced <BookInfo>(query) .AddOnSuccessListener(result => { OnExecuteQueryUnsyncedSuccess?.Invoke(result); Debug.Log($"[{TAG}]: mCloudDBZone.ExecuteQueryUnsynced AddOnSuccessListener " + result); }) .AddOnFailureListener(exception => { OnExecuteQueryUnsyncedFailed?.Invoke(exception); Debug.Log($"[{TAG}]: mCloudDBZone.ExecuteQueryUnsynced AddOnFailureListener " + exception.WrappedCauseMessage + " - " + exception.WrappedExceptionMessage + " - "); }); }
public void ExecuteCountQuery(CloudDBZoneQuery query, string fieldName, CloudDBZoneQuery.CloudDBZoneQueryPolicy CloudDBZoneQueryPolicy) { if (mCloudDBZone == null) { Debug.Log($"[{TAG}]: CloudDBZone is null, try re-open it"); return; } mCloudDBZone.ExecuteCountQuery(query, fieldName, CloudDBZoneQueryPolicy) .AddOnSuccessListener(result => { OnExecuteCountQuerySuccess?.Invoke(result); Debug.Log($"[{TAG}]: mCloudDBZone.ExecuteCountQuery AddOnSuccessListener " + result); }) .AddOnFailureListener(exception => { OnExecuteCountQueryFailed?.Invoke(exception); Debug.Log($"[{TAG}]: mCloudDBZone.ExecuteCountQuery AddOnFailureListener " + exception.WrappedCauseMessage + " - " + exception.WrappedExceptionMessage + " - "); }); }
/// <summary> /// Delete overdue books. /// </summary> public async void RunTransaction() { if (mCloudDBZone == null) { ShowResultPopup("Please open CloudDBZone first!"); return; } CloudDBZoneQuery query = CloudDBZoneQuery.Where(Java.Lang.Class.ForName("com.company.project.BookInfo")). LessThan(BookEditFields.PublishTime, DateUtils.ParseDate("2020-12-04")); Transaction.IFunction function = new TransactionFunction((transaction) => { try { System.Collections.IList bookInfos = transaction.ExecuteQuery(query); IList <CloudDBZoneObject> bookList = new List <CloudDBZoneObject>(); foreach (Java.Lang.Object item in bookInfos) { bookList.Add((CloudDBZoneObject)item); } transaction.ExecuteDelete(bookList); } catch (AGConnectCloudDBException e) { ShowResultPopup("Transaction.IFunction exception: " + e.ErrMsg); } }); try { await mCloudDBZone.RunTransactionAsync(function); ShowResultPopup("RunTransaction executed successfully"); } catch (Exception e) { ShowResultPopup("RunTransaction failed: " + e.Message); } }
public async void ExecuteCountQuery() { if (mCloudDBZone == null) { ShowResultPopup("Please open CloudDBZone first!"); return; } CloudDBZoneQuery query = CloudDBZoneQuery.Where(Java.Lang.Class.ForName("com.company.project.BookInfo")); Task <long> countQueryTask = mCloudDBZone.ExecuteCountQueryAsync(query, BookEditFields.BookID, CloudDBZoneQuery.CloudDBZoneQueryPolicy.PolicyQueryFromCloudOnly); try { await countQueryTask; ShowResultPopup("Count is " + countQueryTask.Result.ToString()); } catch (Exception e) { ShowResultPopup("Count query is failed:" + e.Message); } }
public async void ExecuteAverageQuery() { if (mCloudDBZone == null) { ShowResultPopup("Please open CloudDBZone first!"); return; } CloudDBZoneQuery query = CloudDBZoneQuery.Where(Java.Lang.Class.ForName("com.company.project.BookInfo")); Task <double> averageQueryTask = mCloudDBZone.ExecuteAverageQueryAsync(query, BookEditFields.Price, CloudDBZoneQuery.CloudDBZoneQueryPolicy.PolicyQueryFromCloudOnly); try { await averageQueryTask; ShowResultPopup("Average price is " + averageQueryTask.Result); } catch (Exception e) { ShowResultPopup("Average query is failed: " + e.Message); } }
public void ExecuteCountQuery() { CloudDBZoneQuery mCloudQuery = CloudDBZoneQuery.Where(new AndroidJavaClass(BookInfoClass)); cloudDBManager.ExecuteCountQuery(mCloudQuery, "price", CloudDBZoneQuery.CloudDBZoneQueryPolicy.CLOUDDBZONE_LOCAL_ONLY); }