You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@taverna.apache.org by ia...@apache.org on 2016/07/05 14:27:27 UTC
[39/50] incubator-taverna-mobile git commit: add favourite workflow
in DB and data layer
add favourite workflow in DB and data layer
Project: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/commit/526e74db
Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/tree/526e74db
Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/diff/526e74db
Branch: refs/heads/master
Commit: 526e74dbaf001f425d281d8ec074c3d9db45b47e
Parents: 7fa84c7
Author: Sagar <ku...@gmail.com>
Authored: Mon Jul 4 18:16:19 2016 +0530
Committer: Sagar <ku...@gmail.com>
Committed: Mon Jul 4 18:16:19 2016 +0530
----------------------------------------------------------------------
.../apache/taverna/mobile/data/DataManager.java | 16 +++++
.../taverna/mobile/data/local/DBHelper.java | 71 ++++++++++++++++++--
2 files changed, 82 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/526e74db/app/src/main/java/org/apache/taverna/mobile/data/DataManager.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/data/DataManager.java b/app/src/main/java/org/apache/taverna/mobile/data/DataManager.java
index 78c2e89..ce414ad 100644
--- a/app/src/main/java/org/apache/taverna/mobile/data/DataManager.java
+++ b/app/src/main/java/org/apache/taverna/mobile/data/DataManager.java
@@ -99,4 +99,20 @@ public class DataManager {
return mBaseApiManager.getTavernaApi().getLicenseDetail(id, options);
}
+ /**
+ * @return Is Workflow toggle Favourite or not
+ */
+
+ public Observable<Boolean> setFavoriteWorkflow(String id) {
+ return mDBHelper.setFavouriteWorkflow(id);
+ }
+
+ /**
+ * @return Is Workflow Favourite or not
+ */
+
+ public Observable<Boolean> getFavoriteWorkflow(String id) {
+ return mDBHelper.getFavouriteWorkflow(id);
+ }
+
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/526e74db/app/src/main/java/org/apache/taverna/mobile/data/local/DBHelper.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/data/local/DBHelper.java b/app/src/main/java/org/apache/taverna/mobile/data/local/DBHelper.java
index 7f3d538..3570f03 100644
--- a/app/src/main/java/org/apache/taverna/mobile/data/local/DBHelper.java
+++ b/app/src/main/java/org/apache/taverna/mobile/data/local/DBHelper.java
@@ -28,6 +28,7 @@ public class DBHelper {
if (subscriber.isUnsubscribed()) return;
for (Workflow workflow : workflows.getWorkflowList()) {
if (!workflow.exists()) {
+ workflow.setFavourite(false);
workflow.save();
} else {
@@ -54,27 +55,31 @@ public class DBHelper {
workflow1.setDescription(workflow.getDescription());
}
- if (workflow.getUpdatedAt() != null ) {
+ if (workflow.getUpdatedAt() != null) {
workflow1.setUpdatedAt(workflow.getUpdatedAt());
}
- if (workflow.getSvgUri() != null ) {
+ if (workflow.getSvgUri() != null) {
workflow1.setSvgUri(workflow.getSvgUri());
}
- if (workflow.getLicenseType() != null ) {
+ if (workflow.getLicenseType() != null) {
workflow1.setLicenseType(workflow.getLicenseType());
}
- if (workflow.getContentUri() != null ) {
+ if (workflow.getContentUri() != null) {
workflow1.setContentUri(workflow.getContentUri());
}
- if (workflow.getContentType() != null ) {
+ if (workflow.getContentType() != null) {
workflow1.setContentUri(workflow.getContentType());
}
+ if (workflow.getElementId() != null) {
+ workflow1.setElementId(workflow.getElementId());
+ }
+ workflow1.setFavourite(workflow1.isFavourite());
workflow1.setTitle(workflow.getTitle());
workflow1.setType(workflow.getType());
workflow1.setUploader(workflow.getUploader());
@@ -109,5 +114,61 @@ public class DBHelper {
}
+ public Observable<Boolean> setFavouriteWorkflow(final String id) {
+ return Observable.create(new Observable.OnSubscribe<Boolean>() {
+ @Override
+ public void call(Subscriber<? super Boolean> subscriber) {
+ if (subscriber.isUnsubscribed()) return;
+ subscriber.onNext(updateFavouriteWorkflow(id));
+ subscriber.onCompleted();
+ }
+ });
+ }
+
+
+ public Observable<Boolean> getFavouriteWorkflow(final String id) {
+ return Observable.create(new Observable.OnSubscribe<Boolean>() {
+ @Override
+ public void call(Subscriber<? super Boolean> subscriber) {
+ if (subscriber.isUnsubscribed()) return;
+ Workflow workflow1 = SQLite.select()
+ .from(Workflow.class)
+ .where(Workflow_Table.id.eq(id))
+ .querySingle();
+
+ if (workflow1 != null) {
+
+ subscriber.onNext(workflow1.isFavourite());
+ subscriber.onCompleted();
+ }else{
+
+ subscriber.onError(null);
+ }
+
+
+
+ }
+ });
+ }
+
+ public boolean updateFavouriteWorkflow(String id) {
+
+ Workflow workflow1 = SQLite.select()
+ .from(Workflow.class)
+ .where(Workflow_Table.id.eq(id))
+ .querySingle();
+
+ if (workflow1 != null) {
+ workflow1.setFavourite(!workflow1.isFavourite());
+ workflow1.save();
+ return true;
+ }
+
+ return false;
+ }
+
+
+
+
}