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/08/24 13:08:44 UTC

[05/38] incubator-taverna-mobile git commit: Fixed marking workflow twice as favorite

Fixed marking workflow twice as favorite


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

Branch: refs/heads/master
Commit: 18150f2ca0fea7f8a81cd632b53cd0f23171c7e4
Parents: ec11baf
Author: larrytech7 <la...@gmail.com>
Authored: Mon Jul 27 22:08:54 2015 +0100
Committer: larrytech7 <la...@gmail.com>
Committed: Mon Jul 27 22:08:54 2015 +0100

----------------------------------------------------------------------
 .../mobile/adapters/WorkflowAdapter.java        | 38 ++++++++++----------
 .../taverna/mobile/utils/Workflow_DB.java       |  9 ++++-
 2 files changed, 28 insertions(+), 19 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/18150f2c/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 5660464..7ef234e 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
@@ -75,20 +75,20 @@ import java.util.List;
  */
 public class WorkflowAdapter extends RecyclerView.Adapter<WorkflowAdapter.ViewHolder>{
     private Context context;
-    private List<Workflow> workflow; //workflow data to bind to the UI
+    private List<Workflow> workflowList; //workflow data to bind to the UI
     private WorkflowAdapter.ViewHolder mViewHolder;
     public static final String WORKFLOW_FAVORITE_KEY = "WORKFLOW_FAVORITES"; //workflow key used to save workflows when marked as favorites
     public Workflow_DB favDB;
 
     public WorkflowAdapter(Context c, List<Workflow> wk) {
         context = c;
-        workflow = wk;
+        workflowList = wk;
         favDB = new Workflow_DB(context, WORKFLOW_FAVORITE_KEY);
     }
 
     public WorkflowAdapter(Context c){
         context = c;
-        workflow = new ArrayList<Workflow>();
+        workflowList = new ArrayList<Workflow>();
         favDB = new Workflow_DB(context, WORKFLOW_FAVORITE_KEY);
     }
 
@@ -108,21 +108,20 @@ public class WorkflowAdapter extends RecyclerView.Adapter<WorkflowAdapter.ViewHo
     public void onBindViewHolder(final ViewHolder viewHolder, int i) {
 
         final int j = i; //position of workflow item that has workflow data
-        final Context c = this.context;
 
-        final long wid = workflow.get(i).getId();
-        final String author = workflow.get(i).getWorkflow_author();
-        final String title = workflow.get(i).getWorkflow_title();
-        String description  = workflow.get(i).getWorkflow_description();
-        final String uri = workflow.get(i).getWorkflow_details_url();
+        final long wid = workflowList.get(i).getId();
+        final String author = workflowList.get(i).getWorkflow_author();
+        final String title = workflowList.get(i).getWorkflow_title();
+        String description  = workflowList.get(i).getWorkflow_description();
+        final String uri = workflowList.get(i).getWorkflow_details_url();
         final String desc_full = description;
 
-        if(description.length() > 80) description = description.substring(0, 79);
+        if(description.length() > 80) description = description.substring(0, 79)+" ...";
         viewHolder.author_name.setHint(author);
         viewHolder.wk_title.setHint(title);
-        viewHolder.wk_description.setText( description+" ... ");
+        viewHolder.wk_description.setText(description);
         Linkify.addLinks(viewHolder.wk_description, Linkify.WEB_URLS);
-        final String wkflow_url = workflow.get(j).getWorkflow_remote_url();
+
         final Intent it = new Intent();
         System.out.println("Workflow_uri:"+uri);
         it.setClass(context, WorkflowDetailActivity.class);
@@ -147,12 +146,13 @@ public class WorkflowAdapter extends RecyclerView.Adapter<WorkflowAdapter.ViewHo
                 mfav.add(wid); mfav.add(author);mfav.add(title);mfav.add(desc_full); mfav.add(SimpleDateFormat.getDateTimeInstance().format(new Date()).toString());
                 mfav.add(uri);
                 mfav.add(viewHolder.author_name.getText());
+                /*
                 try {
                     favDB.put(mfav);
                 } catch (JSONException e) {
                     e.printStackTrace();
                 }
-                //boolean saved =  favDB.save();
+                */
                 int saved =
                 favDB.insert(mfav);
                 if(saved >0) {
@@ -160,6 +160,8 @@ public class WorkflowAdapter extends RecyclerView.Adapter<WorkflowAdapter.ViewHo
                     viewHolder.btn_mark_workflow.setCompoundDrawables(context.getResources().getDrawable(android.R.drawable.btn_star_big_on),null,null,null);
                     //refresh fragment since data has changed
                     FavoriteFragment.newInstance(0);
+                }else if(saved == -1){
+                    Toast.makeText(context,"sorry!, this workflow has already been marked as favorite",Toast.LENGTH_SHORT).show();
                 }else
                     Toast.makeText(context,"Error!, please try again",Toast.LENGTH_SHORT).show();
             }
@@ -181,24 +183,24 @@ public class WorkflowAdapter extends RecyclerView.Adapter<WorkflowAdapter.ViewHo
     }
 
     public void setData(List<Workflow> workflowList){
-        this.workflow = workflowList;
+        this.workflowList = workflowList;
     }
     @Override
     public long getItemId(int i) {
-        return workflow.get(i).getId();
+        return workflowList.get(i).getId();
     }
 
     @Override
     public int getItemCount() {
-        return workflow.size();
+        return workflowList.size();
     }
 
     public Workflow getItem(int position){
-        return workflow.get(position);
+        return workflowList.get(position);
     }
 
     public void addWorkflow(Workflow wk){
-        workflow.add(wk);
+        workflowList.add(wk);
     }
 
     public static class ViewHolder extends RecyclerView.ViewHolder {

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/18150f2c/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 1786e8e..0394841 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
@@ -230,7 +230,14 @@ public class Workflow_DB {
             else
                 jsonArray = new JSONArray();
 
-            String newItemId = generateRandomId(); //generate an entity id to be used for the new entity
+            String newItemId = item.get(0).toString(); //use the workflow id as an entity key for the new entity
+
+            //verify if this workflow item has already been marked as favorite
+            for(int k=0; k<jsonArray.length(); k++){
+                if (jsonArray.get(k).toString().equalsIgnoreCase(newItemId))
+                    return -1;
+            }
+
             jsonArray.put(jsonArray.length(),newItemId); //add new entity id
             JSONArray newEntity = new JSONArray();
             for(Object entity: item){