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:39 UTC

[02/18] incubator-taverna-mobile git commit: implemented workflow run history

implemented workflow run history


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

Branch: refs/heads/master
Commit: 50706d4126c3d74765b4871098604b3588fa44d3
Parents: 10e5e42
Author: larrytech7 <la...@gmail.com>
Authored: Sun Jul 19 12:28:31 2015 +0100
Committer: larrytech7 <la...@gmail.com>
Committed: Sun Jul 19 12:28:31 2015 +0100

----------------------------------------------------------------------
 .../activities/WorkflowDetailActivity.java      |  3 +-
 .../taverna/mobile/adapters/RunAdapter.java     |  4 +-
 .../mobile/adapters/WorkflowAdapter.java        |  3 +-
 .../mobile/fragments/WorkflowItemFragment.java  |  7 ---
 .../WorkflowRunHistoryFragment.java             | 32 +++++-------
 .../workflowdetails/WorkflowdetailFragment.java |  9 ++--
 .../taverna/mobile/utils/DetailsLoader.java     | 54 ++++++++++++--------
 7 files changed, 57 insertions(+), 55 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/50706d41/app/src/main/java/org/apache/taverna/mobile/activities/WorkflowDetailActivity.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/activities/WorkflowDetailActivity.java b/app/src/main/java/org/apache/taverna/mobile/activities/WorkflowDetailActivity.java
index b0ccb12..b292244 100644
--- a/app/src/main/java/org/apache/taverna/mobile/activities/WorkflowDetailActivity.java
+++ b/app/src/main/java/org/apache/taverna/mobile/activities/WorkflowDetailActivity.java
@@ -108,7 +108,8 @@ public class WorkflowDetailActivity extends ActionBarActivity {
                 case 1:
                 return WorkflowdetailFragment.newInstance(position + 1);
                 case 2:
-                   return WorkflowRunHistoryFragment.newInstance("workflow",WorkflowdetailFragment.WORKFLO_ID);
+                    //System.out.println(""+getIntent().getStringExtra("wtitle"));
+                   return WorkflowRunHistoryFragment.newInstance(getIntent().getStringExtra("wtitle"));
                 case 3:
                     return WorkflowLicenceFragment.newInstance("","");
                 case 4:

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/50706d41/app/src/main/java/org/apache/taverna/mobile/adapters/RunAdapter.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/adapters/RunAdapter.java b/app/src/main/java/org/apache/taverna/mobile/adapters/RunAdapter.java
index 74152df..fbc5c30 100644
--- a/app/src/main/java/org/apache/taverna/mobile/adapters/RunAdapter.java
+++ b/app/src/main/java/org/apache/taverna/mobile/adapters/RunAdapter.java
@@ -130,8 +130,8 @@ public class RunAdapter extends RecyclerView.Adapter<RunAdapter.RunHolder> {
      */
     @Override
     public int getItemCount() {
-        return 0;
-///        return runList.size();
+        //return 0;
+        return runList.size();
     }
 
     public static class RunHolder extends RecyclerView.ViewHolder {

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/50706d41/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 4f57766..e89f6f0 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
@@ -127,7 +127,8 @@ public class WorkflowAdapter extends RecyclerView.Adapter<WorkflowAdapter.ViewHo
         it.setClass(context, WorkflowDetailActivity.class);
 //        it.putExtra("workflowid", workflow.get(i).getId());
         it.putExtra("uri",uri);
-        WorkflowdetailFragment.WORKFLO_ID = workflow.get(i).getId();
+        it.putExtra("wtitle", title); //pass this workflow's title to the detail activity so the corresponding run can be fetched
+        WorkflowdetailFragment.WORKFLO_ID = title;//workflow.get(i).getId();
 
         viewHolder.btn_view_workflow.setOnClickListener(new View.OnClickListener() {
             @Override

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/50706d41/app/src/main/java/org/apache/taverna/mobile/fragments/WorkflowItemFragment.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/fragments/WorkflowItemFragment.java b/app/src/main/java/org/apache/taverna/mobile/fragments/WorkflowItemFragment.java
index a2e2a4d..e4ac78b 100644
--- a/app/src/main/java/org/apache/taverna/mobile/fragments/WorkflowItemFragment.java
+++ b/app/src/main/java/org/apache/taverna/mobile/fragments/WorkflowItemFragment.java
@@ -242,13 +242,6 @@ public class WorkflowItemFragment extends Fragment implements SwipeRefreshLayout
         super.onDetach();
     }
 
-    public void setEmptyText(CharSequence emptyText) {
-        View emptyView = mListView.getChildAt(2);
-
-        if (emptyView instanceof TextView) {
-            ((TextView) emptyView).setText(emptyText);
-        }
-    }
 //handle a request to query for given workflows
     private void performSearch(String search){
         WorkflowAdapter ladapter = new WorkflowAdapter(getActivity());

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/50706d41/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/WorkflowRunHistoryFragment.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/WorkflowRunHistoryFragment.java b/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/WorkflowRunHistoryFragment.java
index e163c9f..d879105 100644
--- a/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/WorkflowRunHistoryFragment.java
+++ b/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/WorkflowRunHistoryFragment.java
@@ -50,32 +50,27 @@ import java.util.List;
  * create an instance of this fragment.
  */
 public class WorkflowRunHistoryFragment extends Fragment implements LoaderManager.LoaderCallbacks<Workflow>{
-    // TODO: Rename parameter arguments, choose names that match
+
     // the fragment initialization parameters, e.g. ARG_ITEM_NUMBER
-    private static final String ARG_PARAM1 = "param1";
     private static final String ARG_PARAM2 = "param2";
     private ProgressDialog progressDialog;
     private RecyclerView mRecyclerView;
     private RunAdapter runAdapter;
 
-    // TODO: Rename and change types of parameters
-    private String mParam1;
-    private static long workflowID;
+    private static String workflowID; //represents a run name that matches the given workflow
 
     /**
      * Use this factory method to create a new instance of
      * this fragment using the provided parameters.
      *
-     * @param param1 Parameter 1.
      * @param param2 Parameter 2.
      * @return A new instance of fragment WorkflowRunHistoryFragment.
      */
-    // TODO: Rename and change types and number of parameters
-    public static WorkflowRunHistoryFragment newInstance(String param1, long param2) {
+    public static WorkflowRunHistoryFragment newInstance(String param2) {
         WorkflowRunHistoryFragment fragment = new WorkflowRunHistoryFragment();
         Bundle args = new Bundle();
-        args.putString(ARG_PARAM1, param1);
-        args.putLong(ARG_PARAM2, param2);
+        workflowID = param2;
+        args.putString(ARG_PARAM2, param2);
         fragment.setArguments(args);
         return fragment;
     }
@@ -100,10 +95,7 @@ public class WorkflowRunHistoryFragment extends Fragment implements LoaderManage
         progressDialog.setCancelable(true);
 
         runAdapter = new RunAdapter(getActivity(),runsList );
-        if (getArguments() != null) {
-            mParam1 = getArguments().getString(ARG_PARAM1);
-            workflowID = getArguments().getLong(ARG_PARAM2);
-        }
+       // System.out.println("WorkflowTitle->Run->"+workflowID);
     }
 
     @Override
@@ -114,7 +106,7 @@ public class WorkflowRunHistoryFragment extends Fragment implements LoaderManage
         mRecyclerView = (RecyclerView) rootView.findViewById(android.R.id.list);
         mRecyclerView.setHasFixedSize(true);
         mRecyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
-  //      getActivity().getLoaderManager().initLoader(1,savedInstanceState,this);
+        getActivity().getLoaderManager().initLoader(0,savedInstanceState,this).forceLoad();
         return rootView;
     }
 
@@ -129,7 +121,7 @@ public class WorkflowRunHistoryFragment extends Fragment implements LoaderManage
         super.onResume();
         mRecyclerView.setAdapter(runAdapter);
         mRecyclerView.setScrollingTouchSlop(RecyclerView.TOUCH_SLOP_PAGING);
-
+        //getActivity().getLoaderManager().initLoader(1,null,this);
     }
 
     @Override
@@ -139,17 +131,17 @@ public class WorkflowRunHistoryFragment extends Fragment implements LoaderManage
 
     @Override
     public Loader<Workflow> onCreateLoader(int i, Bundle bundle) {
-        progressDialog.show();
+        //progressDialog.show();
         return new DetailsLoader(getActivity(),
                 DetailsLoader.LOAD_TYPE.TYPE_RUN_HISTORY,
-                ""+workflowID);
+                workflowID);
     }
 
     @Override
     public void onLoadFinished(Loader<Workflow> workflowLoader, Workflow workflow) {
         runAdapter.setRunList(workflow.getWorkflow_runs());
-        mRecyclerView.swapAdapter(runAdapter, false);
-        progressDialog.dismiss();
+        mRecyclerView.setAdapter(runAdapter);
+       // progressDialog.dismiss();
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/50706d41/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/WorkflowdetailFragment.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/WorkflowdetailFragment.java b/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/WorkflowdetailFragment.java
index bfcce62..d809c85 100644
--- a/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/WorkflowdetailFragment.java
+++ b/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/WorkflowdetailFragment.java
@@ -103,7 +103,7 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
     public AlertDialog runDialog;
     public AlertDialog.Builder alertDialogBuilder;
     private static String download_url;
-    public static long WORKFLO_ID;
+    public static String WORKFLO_ID = "";
     public static Context cont;
     private static boolean LOAD_STATE = false;
     private static boolean DROPUPLOAD = false;
@@ -127,6 +127,7 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
         fragment.setArguments(args);
         return fragment;
     }
+
     public static WorkflowdetailFragment getInstance(){
         return WorkflowdetailFragment.getInstance();
     }
@@ -140,12 +141,12 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
         AppKeyPair appKeys = new AppKeyPair(BOX_APP_KEY, BOX_APP_SECRET);
         AndroidAuthSession session = new AndroidAuthSession(appKeys);
         mDBApi = new DropboxAPI<AndroidAuthSession>(session);
-        long workflowid = getActivity().getIntent().getLongExtra("workflowid", 0);
+    //    long workflowid = getActivity().getIntent().getLongExtra("workflowid", 0);
         rootView = inflater.inflate(R.layout.fragment_workflow_detail, container, false);
         progressDialog = new ProgressDialog(getActivity());
         progressDialog.setMessage(getActivity().getResources().getString(R.string.loading));
         progressDialog.setCancelable(false);
-        WORKFLO_ID = workflowid;
+     //   WORKFLO_ID = workflowid;
         zoomin = AnimationUtils.loadAnimation(getActivity(), R.anim.zoomin);
         zoomout = AnimationUtils.loadAnimation(getActivity(), R.anim.zoomout);
 
@@ -277,7 +278,7 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
         final TextView desc = (TextView) rootView.findViewById(R.id.wdescription);
         final TextView createdat = (TextView) rootView.findViewById(R.id.wcreatedat);
         final ImageView preview = (ImageView) rootView.findViewById(R.id.wkf_image);
-
+        WORKFLO_ID = wk.getWorkflow_title();
         ((Activity)cont).runOnUiThread(new Runnable() {
             @Override
             public void run() {

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/50706d41/app/src/main/java/org/apache/taverna/mobile/utils/DetailsLoader.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/utils/DetailsLoader.java b/app/src/main/java/org/apache/taverna/mobile/utils/DetailsLoader.java
index 9b36a7f..81fdb68 100644
--- a/app/src/main/java/org/apache/taverna/mobile/utils/DetailsLoader.java
+++ b/app/src/main/java/org/apache/taverna/mobile/utils/DetailsLoader.java
@@ -62,29 +62,51 @@ public class DetailsLoader extends AsyncTaskLoader<Workflow> {
     private Workflow workflow;
     private Context context;
 
-    public DetailsLoader(Context context, LOAD_TYPE load_type, String detailsRUI) {
+    public DetailsLoader(Context context, LOAD_TYPE load_type, String dataParam) {
         super(context);
         this.context = context;
         this.lt = load_type;
-        this.uri = detailsRUI;
+        this.uri = dataParam;
         this.workflow = new Workflow();
     }
 
     @Override
     public Workflow loadInBackground() {
+        HttpURLConnection connection = null;
+        InputStream dis = null;
         //start a network request to fetch user's workflow details
         try {
             Log.i("LOADER STARTED", "loading data");
             //for password protected urls use the user's credentials
             Authenticator.setDefault(new TavernaPlayerAPI.Authenticator("taverna", "taverna"));
+            TavernaPlayerAPI tavernaPlayerAPI = new TavernaPlayerAPI();
             URL workflowurl;
 
             switch (this.lt){
                 case TYPE_WORKFLOW_DETAIL:
                     workflowurl = new URL(this.uri);
+                    connection = (HttpURLConnection) workflowurl.openConnection();
+                    connection.setRequestProperty("Accept", "application/json");
+                    connection.setRequestMethod("GET");
+                    connection.connect(); //send request
+
+                    Log.i("RESPONSE CODE", "" + connection.getResponseCode());
+                    Log.i("RESPONSE Messsage", ""+connection.getResponseMessage());
+                    dis = connection.getInputStream();
                     break;
                 case TYPE_RUN_HISTORY:
                     workflowurl = new URL(new TavernaPlayerAPI(this.context).PLAYER_RUN_URL);
+                    connection = (HttpURLConnection) workflowurl.openConnection();
+                    String userpass = tavernaPlayerAPI.getPlayerUserName(this.context) + ":" + tavernaPlayerAPI.getPlayerUserPassword(this.context);
+                    String basicAuth = "Basic " + Base64.encodeToString(userpass.getBytes(), Base64.DEFAULT);
+
+                    connection.setRequestProperty ("Authorization", basicAuth);
+                    connection.setRequestProperty("Accept", "application/json");
+                    connection.setRequestMethod("GET");
+                    connection.connect(); //send request
+                    Log.i("RESPONSE CODE", "" + connection.getResponseCode());
+                    Log.i("RESPONSE Messsage. Run", ""+connection.getResponseMessage());
+                    dis = connection.getInputStream();
                     break;
                 case TYPE_POLICY:
                     workflowurl = new URL(new TavernaPlayerAPI(this.context).SERVER_BASE_URL);
@@ -96,20 +118,6 @@ public class DetailsLoader extends AsyncTaskLoader<Workflow> {
                     workflowurl = new URL(new TavernaPlayerAPI(this.context).PLAYER_WORKFLOW_URL);
                     break;
             }
-            HttpURLConnection connection = (HttpURLConnection) workflowurl.openConnection();
-            String userpass = "icep603@gmail.com" + ":" + "creationfox";
-            String basicAuth = "Basic " + Base64.encodeToString(userpass.getBytes(), Base64.DEFAULT);
-
-         //   connection.setRequestProperty ("Authorization", basicAuth);
-           // connection.setRequestProperty("Accept", "application/json");
-            connection.setRequestMethod("GET");
-            // connection.setDoInput(true);
-            //  connection.setDoOutput(true);
-            connection.connect(); //send request
-            Log.i("RESPONSE Code", "" + connection.getResponseCode());
-            Log.i("RESPONSE Messsage", ""+connection.getResponseMessage());
-
-            InputStream dis = connection.getInputStream();
 
             switch(this.lt) {
                 case TYPE_WORKFLOW_DETAIL: {
@@ -140,6 +148,7 @@ public class DetailsLoader extends AsyncTaskLoader<Workflow> {
                 //br.close();
                     return workflow;
                 case TYPE_RUN_HISTORY:{
+                    System.out.println("Downloading run history");
                     BufferedReader br = new BufferedReader(new InputStreamReader(dis));
                     StringBuffer sb = new StringBuffer();
                     String jsonData = "";
@@ -148,7 +157,7 @@ public class DetailsLoader extends AsyncTaskLoader<Workflow> {
                     }
                     workflow = new Workflow(this.context);
                     JSONArray jsonArray = new JSONArray(sb.toString());
-                    Log.i("JSON ", jsonArray.toString(2));
+                    Log.i("RUN JSON ", jsonArray.toString(2));
                     for(int j=0; j< jsonArray.length();j++){
                         JSONObject jsonObject = jsonArray.getJSONObject(j);
                         long id = jsonObject.getLong("id");
@@ -157,7 +166,13 @@ public class DetailsLoader extends AsyncTaskLoader<Workflow> {
                         String started = jsonObject.getString("start_time");
                         String ended = jsonObject.getString("finish_time");
                         String state = jsonObject.getString("state");
-                        if(workflow_id == Integer.parseInt(this.uri)) {
+                        StringBuffer nm = new StringBuffer(), ur = new StringBuffer();
+                        for(String n: name.toLowerCase().split(" "))
+                            nm.append(n);
+                        for (String p: this.uri.toLowerCase().split(" "))
+                            ur.append(p);
+
+                        if(nm.toString().equals(ur.toString())) {
                             Runs mrun = new Runs(name,started,ended,state);
                             mrun.setRun_id(id);
                             mrun.setRun_workflow_id(workflow_id);
@@ -165,7 +180,6 @@ public class DetailsLoader extends AsyncTaskLoader<Workflow> {
                             workflow.addWorkflowRun(mrun);
                         }
                     }
-
                 }
                     return workflow;
                 case TYPE_POLICY:{
@@ -216,7 +230,7 @@ public class DetailsLoader extends AsyncTaskLoader<Workflow> {
 
     @Override
     protected void onStopLoading() {
-        Log.i("Loading State","loading stopped");
+        Log.i("Loading detailComponent","loading stopped");
     }
 
     @Override