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 2015/07/27 12:05:51 UTC

[14/18] incubator-taverna-mobile git commit: fixed workflow mark as favorite. Workflows can now be marked and saved into the dataabase without conflicts

fixed workflow mark as favorite. Workflows can now be marked and saved into the dataabase without conflicts


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/6feace8b
Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/tree/6feace8b
Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/diff/6feace8b

Branch: refs/heads/master
Commit: 6feace8bbcdc9cae4cc0c77c1979f4c0a45c4412
Parents: bce8711
Author: larrytech7 <la...@gmail.com>
Authored: Fri Jul 24 16:23:44 2015 +0100
Committer: larrytech7 <la...@gmail.com>
Committed: Fri Jul 24 16:23:44 2015 +0100

----------------------------------------------------------------------
 .../mobile/adapters/WorkflowAdapter.java        |  6 ++--
 .../taverna/mobile/utils/Workflow_DB.java       | 38 ++++++++++++++++++--
 2 files changed, 40 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/6feace8b/app/src/main/java/org/apache/taverna/mobile/adapters/WorkflowAdapter.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/adapters/WorkflowAdapter.java b/app/src/main/java/org/apache/taverna/mobile/adapters/WorkflowAdapter.java
index e89f6f0..81239c5 100644
--- a/app/src/main/java/org/apache/taverna/mobile/adapters/WorkflowAdapter.java
+++ b/app/src/main/java/org/apache/taverna/mobile/adapters/WorkflowAdapter.java
@@ -151,8 +151,10 @@ public class WorkflowAdapter extends RecyclerView.Adapter<WorkflowAdapter.ViewHo
                 } catch (JSONException e) {
                     e.printStackTrace();
                 }
-                boolean saved =  favDB.save();
-                if(saved) {
+                //boolean saved =  favDB.save();
+                int saved =
+                favDB.insert(mfav);
+                if(saved >0) {
                     Toast.makeText(context, "Workflow marked as favorite", Toast.LENGTH_SHORT).show();
                     viewHolder.btn_mark_workflow.setCompoundDrawables(context.getResources().getDrawable(android.R.drawable.btn_star_big_on),null,null,null);
                     //refresh fragment since data has changed

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/6feace8b/app/src/main/java/org/apache/taverna/mobile/utils/Workflow_DB.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/utils/Workflow_DB.java b/app/src/main/java/org/apache/taverna/mobile/utils/Workflow_DB.java
index a82f214..1786e8e 100644
--- a/app/src/main/java/org/apache/taverna/mobile/utils/Workflow_DB.java
+++ b/app/src/main/java/org/apache/taverna/mobile/utils/Workflow_DB.java
@@ -81,7 +81,6 @@ public class Workflow_DB {
 			jarray.put(item);
 		}
 		dataobj.put(item_id, jarray);
-		Log.d(LIBTAG, ""+dataobj.toString(2));
 		return this;
 	}
 	
@@ -95,7 +94,7 @@ public class Workflow_DB {
 				msharedpreference = PreferenceManager.getDefaultSharedPreferences(context);
 				//read key and get existing data
 				List<ArrayList<Object>> results = new ArrayList<ArrayList<Object>>();
-				JSONObject mainJson = new JSONObject(msharedpreference.getString(ENTITY_KEY, ENTITY_KEY+":{}"));
+				JSONObject mainJson = new JSONObject(msharedpreference.getString(ENTITY_KEY, "{"+ENTITY_KEY+":{}}"));
 				
 				Log.i(ENTITY_KEY, mainJson.toString(2));
 				
@@ -213,6 +212,41 @@ public class Workflow_DB {
 		else
 			return false;
 	}
+
+    /**
+     *
+     * @return the number of entities inserted
+     */
+    public int insert(ArrayList<Object> item){
+        long start = System.currentTimeMillis();
+        msharedpreference = PreferenceManager.getDefaultSharedPreferences(context);
+        try {
+            JSONObject jsonObject = new JSONObject(msharedpreference.getString(ENTITY_KEY, "{"+ENTITY_KEY+":{}}")); //main json db
+            System.out.println(jsonObject.toString(1));
+
+            JSONArray jsonArray;
+            if(jsonObject.has("ids"))
+                jsonArray = jsonObject.optJSONArray("ids");
+            else
+                jsonArray = new JSONArray();
+
+            String newItemId = generateRandomId(); //generate an entity id to be used for the new entity
+            jsonArray.put(jsonArray.length(),newItemId); //add new entity id
+            JSONArray newEntity = new JSONArray();
+            for(Object entity: item){
+                newEntity.put(entity);
+            }
+            jsonObject.put("ids", jsonArray);
+            jsonObject.put(newItemId, newEntity);
+            msharedpreference.edit().putString(ENTITY_KEY, jsonObject.toString()).commit();
+            long end = System.currentTimeMillis();
+            System.out.println("Insert benchmark length = "+(end - start));
+            return 1;
+        } catch (JSONException e) {
+            e.printStackTrace();
+        }
+        return 0;
+    }
 	
 	/**
 	 * save the ids of all entity entries