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");
 }
Esempio n. 2
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());
            }));
        }
Esempio n. 4
0
        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);
            }
        }
Esempio n. 5
0
        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 + " - ");
            });
        }
Esempio n. 13
0
 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 + " - ");
            });
        }
Esempio n. 16
0
        /// <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);
            }
        }
Esempio n. 17
0
        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);
            }
        }
Esempio n. 18
0
        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);
    }