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/13 14:54:19 UTC
[01/34] incubator-taverna-mobile git commit: Delete LoginActivity.java
Repository: incubator-taverna-mobile
Updated Branches:
refs/heads/master d7c08b472 -> f760fb161
Delete LoginActivity.java
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/4a7cbb6e
Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/tree/4a7cbb6e
Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/diff/4a7cbb6e
Branch: refs/heads/master
Commit: 4a7cbb6e5f82e5599bf1a26c94bf689a32bf19f8
Parents: f542e6d
Author: Larry Akah <la...@gmail.com>
Authored: Mon Jun 29 15:06:45 2015 +0000
Committer: Larry Akah <la...@gmail.com>
Committed: Mon Jun 29 15:06:45 2015 +0000
----------------------------------------------------------------------
.../apache/com/tavernamobile/LoginActivity.java | 66 --------------------
1 file changed, 66 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/4a7cbb6e/app/src/main/java/mobile/taverna/apache/com/tavernamobile/LoginActivity.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/mobile/taverna/apache/com/tavernamobile/LoginActivity.java b/app/src/main/java/mobile/taverna/apache/com/tavernamobile/LoginActivity.java
deleted file mode 100644
index 2c96a0d..0000000
--- a/app/src/main/java/mobile/taverna/apache/com/tavernamobile/LoginActivity.java
+++ /dev/null
@@ -1,66 +0,0 @@
-package mobile.taverna.apache.com.tavernamobile;
-
-import android.support.v7.app.ActionBarActivity;
-import android.support.v7.app.ActionBar;
-import android.support.v4.app.Fragment;
-import android.os.Bundle;
-import android.view.LayoutInflater;
-import android.view.Menu;
-import android.view.MenuItem;
-import android.view.View;
-import android.view.ViewGroup;
-import android.os.Build;
-
-
-public class LoginActivity extends ActionBarActivity {
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_login);
- if (savedInstanceState == null) {
- getSupportFragmentManager().beginTransaction()
- .add(R.id.container, new PlaceholderFragment())
- .commit();
- }
- }
-
-
- @Override
- public boolean onCreateOptionsMenu(Menu menu) {
- // Inflate the menu; this adds items to the action bar if it is present.
- getMenuInflater().inflate(R.menu.menu_login, menu);
- return true;
- }
-
- @Override
- public boolean onOptionsItemSelected(MenuItem item) {
- // Handle action bar item clicks here. The action bar will
- // automatically handle clicks on the Home/Up button, so long
- // as you specify a parent activity in AndroidManifest.xml.
- int id = item.getItemId();
-
- //noinspection SimplifiableIfStatement
- if (id == R.id.action_settings) {
- return true;
- }
-
- return super.onOptionsItemSelected(item);
- }
-
- /**
- * A placeholder fragment containing a simple view.
- */
- public static class PlaceholderFragment extends Fragment {
-
- public PlaceholderFragment() {
- }
-
- @Override
- public View onCreateView(LayoutInflater inflater, ViewGroup container,
- Bundle savedInstanceState) {
- View rootView = inflater.inflate(R.layout.fragment_login, container, false);
- return rootView;
- }
- }
-}
[16/34] incubator-taverna-mobile git commit: implemented workflow run
on player. Adjusted UI to indicate when no workflows exist or cannot be
retrieved
Posted by ia...@apache.org.
implemented workflow run on player. Adjusted UI to indicate when no workflows exist or cannot be retrieved
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/c8bc8158
Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/tree/c8bc8158
Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/diff/c8bc8158
Branch: refs/heads/master
Commit: c8bc8158441e1a3ea66b0edfb02604a8e5b2e576
Parents: 714c08c
Author: larrytech7 <la...@gmail.com>
Authored: Wed Jul 8 19:50:45 2015 +0100
Committer: larrytech7 <la...@gmail.com>
Committed: Wed Jul 8 19:50:45 2015 +0100
----------------------------------------------------------------------
.../mobile/fragments/WorkflowItemFragment.java | 22 ++++++++++----------
1 file changed, 11 insertions(+), 11 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/c8bc8158/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 2927d76..d04501e 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
@@ -188,18 +188,18 @@ public class WorkflowItemFragment extends Fragment implements SwipeRefreshLayout
@Override
public void onResume() {
super.onResume();
- if(!STATE_ON)
- new WorkflowLoader(getActivity(), swipeRefreshLayout).execute();
-
- if(mListView.getAdapter().getItemCount() == 0){
- mListView.setVisibility(View.GONE);
- noDataText.setVisibility(View.VISIBLE);
- Toast.makeText(cx, cx.getResources().getString(R.string.err_workflow_conn), Toast.LENGTH_LONG).show();
- }else{
- mListView.setVisibility(View.VISIBLE);
- noDataText.setVisibility(View.GONE);
+ if(!STATE_ON) {
+ new WorkflowLoader(getActivity(), swipeRefreshLayout).execute();
+
+ if (mListView.getAdapter().getItemCount() == 0) {
+ mListView.setVisibility(View.GONE);
+ noDataText.setVisibility(View.VISIBLE);
+ Toast.makeText(cx, cx.getResources().getString(R.string.err_workflow_conn), Toast.LENGTH_LONG).show();
+ } else {
+ mListView.setVisibility(View.VISIBLE);
+ noDataText.setVisibility(View.GONE);
+ }
}
-
}
@Override
[22/34] incubator-taverna-mobile git commit: Fixing workflow image
zoom
Posted by ia...@apache.org.
Fixing workflow image zoom
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/54c66d80
Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/tree/54c66d80
Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/diff/54c66d80
Branch: refs/heads/master
Commit: 54c66d8041179c7ac889cfeefafe80b8189b39c2
Parents: 5699f7c
Author: larrytech7 <la...@gmail.com>
Authored: Fri Jul 10 22:19:11 2015 +0100
Committer: larrytech7 <la...@gmail.com>
Committed: Fri Jul 10 22:19:11 2015 +0100
----------------------------------------------------------------------
.../mobile/fragments/workflowdetails/RunFragment.java | 14 ++++++--------
app/src/main/res/anim/zoomin | 13 +++++++------
2 files changed, 13 insertions(+), 14 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/54c66d80/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/RunFragment.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/RunFragment.java b/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/RunFragment.java
index 3dbde9e..a55eed6 100644
--- a/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/RunFragment.java
+++ b/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/RunFragment.java
@@ -170,14 +170,15 @@ public class RunFragment extends Fragment implements View.OnClickListener{
try {
runStartTime.setHint(runInfo.getString("start_time"));
runEndTime.setHint(runInfo.getString("finish_time"));
+ runStateTextView.setText(runInfo.getString("status_message"));
- if(runInfo.getString("state").contains("Pending"))
+ if(runInfo.getString("status_message").contains("Pending"))
status.setImageResource(android.R.drawable.presence_busy);
- else if (runInfo.getString("state").contains("Running"))
+ else if (runInfo.getString("status_message").contains("Running"))
status.setImageResource(android.R.drawable.presence_away);
- else if (runInfo.getString("state").contains("Finished"))
+ else if (runInfo.getString("status_message").contains("Finished"))
status.setImageResource(android.R.drawable.presence_online);
- else if (runInfo.getString("state").contains("Failed"))
+ else if (runInfo.getString("status_message").contains("Failed"))
status.setImageResource(android.R.drawable.presence_offline);
else
status.setImageResource(android.R.drawable.presence_invisible);
@@ -206,12 +207,8 @@ public class RunFragment extends Fragment implements View.OnClickListener{
URL workflowurl = new URL(new TavernaPlayerAPI(this.context).PLAYER_RUN_URL+this.runid);
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.setRequestProperty("Content-Type", "application/json");
connection.setRequestMethod("GET");
connection.connect(); //send request
@@ -228,6 +225,7 @@ public class RunFragment extends Fragment implements View.OnClickListener{
connection.disconnect();
JSONObject runInfo = new JSONObject(sb.toString());
+ // System.out.println(runInfo.toString(2));
updateRun(runInfo);
}catch (IOException ex){
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/54c66d80/app/src/main/res/anim/zoomin
----------------------------------------------------------------------
diff --git a/app/src/main/res/anim/zoomin b/app/src/main/res/anim/zoomin
index 691c50e..e36b773 100644
--- a/app/src/main/res/anim/zoomin
+++ b/app/src/main/res/anim/zoomin
@@ -1,15 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
- android:fillAfter="true" >
+ android:interpolator="@android:anim/linear_interpolator">
<scale
- xmlns:android="http://schemas.android.com/apk/res/android"
- android:duration="20000"
- android:fromXScale="1"
+ android:duration="1500"
+ android:fromXScale="1.0"
android:fromYScale="1"
android:pivotX="50%"
android:pivotY="50%"
- android:toXScale="3"
- android:toYScale="3" >
+ android:toXScale="3.0"
+ android:toYScale="3.0"
+ android:repeatCount="1"
+ android:repeatMode="reverse">
</scale>
</set>
\ No newline at end of file
[24/34] incubator-taverna-mobile git commit: Implementing workflow
run from external storage
Posted by ia...@apache.org.
Implementing workflow run from external storage
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/ca95c34a
Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/tree/ca95c34a
Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/diff/ca95c34a
Branch: refs/heads/master
Commit: ca95c34a1e51c1a2a401d4618e3258f6b2c091c4
Parents: 9c895c8
Author: larrytech7 <la...@gmail.com>
Authored: Sat Jul 11 17:36:40 2015 +0100
Committer: larrytech7 <la...@gmail.com>
Committed: Sat Jul 11 17:36:40 2015 +0100
----------------------------------------------------------------------
.../activities/DashboardMainActivity.java | 2 +
.../fragments/workflowdetails/RunFragment.java | 12 +-
.../workflowdetails/WorkflowdetailFragment.java | 83 +-----
.../apache/taverna/mobile/utils/RunTask.java | 93 ++++++
.../taverna/mobile/utils/WorkflowOpen.java | 289 +++++++++++++++++++
5 files changed, 403 insertions(+), 76 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/ca95c34a/app/src/main/java/org/apache/taverna/mobile/activities/DashboardMainActivity.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/activities/DashboardMainActivity.java b/app/src/main/java/org/apache/taverna/mobile/activities/DashboardMainActivity.java
index e5f245b..8a90059 100644
--- a/app/src/main/java/org/apache/taverna/mobile/activities/DashboardMainActivity.java
+++ b/app/src/main/java/org/apache/taverna/mobile/activities/DashboardMainActivity.java
@@ -54,6 +54,7 @@ import org.apache.taverna.mobile.R;
import org.apache.taverna.mobile.fragments.FavoriteFragment;
import org.apache.taverna.mobile.fragments.NavigationDrawerFragment;
import org.apache.taverna.mobile.fragments.WorkflowItemFragment;
+import org.apache.taverna.mobile.utils.WorkflowOpen;
import java.io.File;
@@ -168,6 +169,7 @@ public class DashboardMainActivity extends ActionBarActivity
if(requestCode == SELECT_WORKFLOW){
String workflowPath = data.getData().getPath();
Toast.makeText(getBaseContext(), "Path: "+workflowPath, Toast.LENGTH_LONG).show();
+ new WorkflowOpen(this).execute(workflowPath);
}
}
}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/ca95c34a/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/RunFragment.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/RunFragment.java b/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/RunFragment.java
index a55eed6..3b232c3 100644
--- a/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/RunFragment.java
+++ b/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/RunFragment.java
@@ -96,6 +96,12 @@ public class RunFragment extends Fragment implements View.OnClickListener{
}
@Override
+ public void onPause() {
+ super.onPause();
+ getActivity().finish();
+ }
+
+ @Override
public void onResume() {
super.onResume();
String runresult = getActivity().getIntent().getStringExtra("runresult");
@@ -147,12 +153,14 @@ public class RunFragment extends Fragment implements View.OnClickListener{
reloadRunResult();
return true;
}
+ if(id == android.R.id.home){
+ getActivity().finish();
+ }
return super.onOptionsItemSelected(item);
}
private void reloadRunResult(){
- //TODO reload the run results when refreshed
Timer t = new Timer();
t.scheduleAtFixedRate(new RunTimerTask(getActivity(), run_id), 0, 5000);
}
@@ -163,7 +171,7 @@ public class RunFragment extends Fragment implements View.OnClickListener{
}
public void updateRun(final JSONObject runInfo){
-
+ if(null != runInfo)
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/ca95c34a/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 54325f4..5a5ee09 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
@@ -62,6 +62,7 @@ import org.apache.taverna.mobile.tavernamobile.TavernaPlayerAPI;
import org.apache.taverna.mobile.tavernamobile.User;
import org.apache.taverna.mobile.tavernamobile.Workflow;
import org.apache.taverna.mobile.utils.DetailsLoader;
+import org.apache.taverna.mobile.utils.RunTask;
import org.apache.taverna.mobile.utils.WorkflowDownloadManager;
import org.json.JSONArray;
import org.json.JSONException;
@@ -99,6 +100,7 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
static Animation zoomin;
static Animation zoomout;
public boolean isZoomIn;
+ public static String workflow_uri ;
/**
* Returns a new instance of this fragment for the given section
@@ -201,8 +203,10 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
@Override
public void onResume() {
super.onResume();
- // if(!LOAD_STATE)
- getActivity().getLoaderManager().initLoader(1, null, this).forceLoad();
+ if(!LOAD_STATE)
+ workflow_uri = getActivity().getIntent().getStringExtra("uri");
+
+ getActivity().getLoaderManager().initLoader(1, null, this).forceLoad();
}
@Override
@@ -216,7 +220,7 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
progressDialog.show();
return new DetailsLoader(getActivity(),
DetailsLoader.LOAD_TYPE.TYPE_WORKFLOW_DETAIL,
- getActivity().getIntent().getStringExtra("uri"));
+ workflow_uri);
}
@Override
@@ -454,6 +458,8 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
new RunTask(ctx).execute(json.toString());
} catch (JSONException e) {
e.printStackTrace();
+ }catch (Exception ex){
+ ex.printStackTrace();
}
}
@@ -583,76 +589,5 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
}
}
- /**
- * creates a new workflow run from the workflow on the player
- */
- private class RunTask extends AsyncTask<String, Void, String>{
-
- private Context context;
-
- private RunTask(Context ctx) {
- this.context = ctx;
- }
-
- @Override
- protected void onPreExecute() {
- super.onPreExecute();
- progressDialog.setMessage("Creating new run for the workflow");
- progressDialog.show();
- }
-
- @Override
- protected String doInBackground(String... params) {
- StringBuffer sb = new StringBuffer();
- try {
-
- URL workflowurl = new URL(new TavernaPlayerAPI(this.context).PLAYER_RUN_URL);
- 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.setRequestProperty("Content-Type", "application/json");
- connection.setRequestMethod("POST");
- connection.connect(); //send request
- DataOutputStream dos = new DataOutputStream(connection.getOutputStream());
- dos.writeBytes(params[0]);//write post data which is a formatted json data representing inputs to a run
-
- dos.flush();
- dos.close();
-
- InputStream dis = connection.getInputStream();
- BufferedReader br = new BufferedReader(new InputStreamReader(dis));
-
- String jsonData = "";
- while ((jsonData = br.readLine()) != null) {
- sb.append(jsonData);
- //
- }
- dis.close();
- br.close();
- Log.i("Run RESPONSE Code", "" + connection.getResponseCode());
- Log.i("Run RESPONSE Messsage", "" + connection.getResponseMessage());
-
- return sb.toString();
-
- }catch (IOException ex){
- ex.printStackTrace();
- }
- return sb.toString();
- }
-
- @Override
- protected void onPostExecute(String s) {
- Log.i("RUN OutPut", s);
- progressDialog.dismiss();
- //TODO startup the runActivity to display the run results
- Intent runIntent = new Intent();
- runIntent.setClass(this.context, RunResult.class);
- runIntent.putExtra("runresult", s);
- startActivity(runIntent);
- }
- }
}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/ca95c34a/app/src/main/java/org/apache/taverna/mobile/utils/RunTask.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/utils/RunTask.java b/app/src/main/java/org/apache/taverna/mobile/utils/RunTask.java
new file mode 100644
index 0000000..14e0939
--- /dev/null
+++ b/app/src/main/java/org/apache/taverna/mobile/utils/RunTask.java
@@ -0,0 +1,93 @@
+package org.apache.taverna.mobile.utils;
+
+import android.app.ProgressDialog;
+import android.content.Context;
+import android.content.Intent;
+import android.os.AsyncTask;
+import android.util.Base64;
+import android.util.Log;
+
+import org.apache.taverna.mobile.activities.RunResult;
+import org.apache.taverna.mobile.tavernamobile.TavernaPlayerAPI;
+
+import java.io.BufferedReader;
+import java.io.DataOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.net.HttpURLConnection;
+import java.net.URL;
+
+/**
+ * Created by root on 7/11/15.
+ */
+public class RunTask extends AsyncTask<String, Void, String> {
+
+ private Context context;
+ private ProgressDialog progressDialog;
+
+ public RunTask(Context ctx) {
+ this.context = ctx;
+ progressDialog = new ProgressDialog(this.context);
+ }
+
+ @Override
+ protected void onPreExecute() {
+ super.onPreExecute();
+ progressDialog.setMessage("Creating new run for the workflow");
+ progressDialog.show();
+ }
+
+ @Override
+ protected String doInBackground(String... params) {
+ StringBuffer sb = new StringBuffer();
+ try {
+
+ URL workflowurl = new URL(new TavernaPlayerAPI(this.context).PLAYER_RUN_URL);
+ 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.setRequestProperty("Content-Type", "application/json");
+ connection.setRequestMethod("POST");
+ // connection.setDoInput(true);
+ // connection.setDoOutput(true);
+ connection.connect(); //send request
+
+ DataOutputStream dos = new DataOutputStream(connection.getOutputStream());
+ dos.writeBytes(params[0]);//write post data which is a formatted json data representing inputs to a run
+
+ dos.flush();
+ dos.close();
+
+ InputStream dis = connection.getInputStream();
+ BufferedReader br = new BufferedReader(new InputStreamReader(dis));
+
+ String jsonData = "";
+ while ((jsonData = br.readLine()) != null) {
+ sb.append(jsonData);
+ //
+ }
+ dis.close();
+ br.close();
+
+ return sb.toString();
+
+ }catch (IOException ex){
+ ex.printStackTrace();
+ }
+ return sb.toString();
+ }
+
+ @Override
+ protected void onPostExecute(String s) {
+ Log.i("RUN OutPut", s);
+// progressDialog.dismiss();
+ Intent runIntent = new Intent();
+ runIntent.setClass(this.context, RunResult.class);
+ runIntent.putExtra("runresult", s);
+ this.context.startActivity(runIntent);
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/ca95c34a/app/src/main/java/org/apache/taverna/mobile/utils/WorkflowOpen.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/utils/WorkflowOpen.java b/app/src/main/java/org/apache/taverna/mobile/utils/WorkflowOpen.java
new file mode 100644
index 0000000..aaa13ff
--- /dev/null
+++ b/app/src/main/java/org/apache/taverna/mobile/utils/WorkflowOpen.java
@@ -0,0 +1,289 @@
+package org.apache.taverna.mobile.utils;
+
+/**
+ * Created by Larry Akah on 7/11/15.
+ */
+
+import android.app.AlertDialog;
+import android.app.ProgressDialog;
+import android.content.Context;
+import android.content.DialogInterface;
+import android.os.AsyncTask;
+import android.util.Base64;
+import android.util.Log;
+import android.widget.EditText;
+import android.widget.LinearLayout;
+import android.widget.ScrollView;
+import android.widget.TextView;
+
+import org.apache.taverna.mobile.R;
+import org.apache.taverna.mobile.tavernamobile.TavernaPlayerAPI;
+import org.json.JSONArray;
+import org.json.JSONException;
+import org.json.JSONObject;
+
+import java.io.BufferedReader;
+import java.io.DataOutputStream;
+import java.io.File;
+import java.io.FileReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.net.HttpURLConnection;
+import java.net.URL;
+
+/**
+ *Read the selected xml file from storage and upload to player to generate workflowRun
+ */
+public class WorkflowOpen extends AsyncTask<String, Void, String> {
+
+ private Context context;
+ private ProgressDialog progressDialog;
+
+ public WorkflowOpen(Context context) {
+ this.context = context;
+ progressDialog = new ProgressDialog(this.context);
+ }
+ @Override
+ protected void onPreExecute() {
+
+ progressDialog.setMessage("Uploading Workflow ... ");
+ progressDialog.show();
+ }
+
+ /**
+ *
+ * @param params path to workflow file to upload to player
+ * @return run framework used to create a new workflow run
+ */
+ @Override
+ protected String doInBackground(String... params) {
+ StringBuffer sb = new StringBuffer();
+ String str = "";
+ try {
+ //prepare connection requests
+ File objectFile = new File(params[0]); //the resource xml file representing the workflow to be uploaded to the player
+ String playerurl = new TavernaPlayerAPI(this.context).PLAYER_BASE_URL+"workflows.json";
+ URL posturl = new URL(playerurl);
+ HttpURLConnection connection = (HttpURLConnection) posturl.openConnection();
+
+ String user = "icep603@gmail.com" + ":" + "creationfox";
+ String basicAuth = "Basic " + Base64.encodeToString(user.getBytes(), Base64.DEFAULT);
+ //read the file from remote resource and encode the stream with a base64 algorithm
+
+ try {
+ BufferedReader br = new BufferedReader(new FileReader(objectFile));
+
+ while ((str = br.readLine()) != null) {
+ sb.append(str);
+ sb.append('\n');
+ }
+ br.close();
+ }
+ catch (IOException e) {
+ e.printStackTrace();
+ }
+
+ String data = "{\"document\":\"data:application/octet-stream;base64," +
+ Base64.encodeToString(sb.toString().getBytes("UTF-8"), Base64.URL_SAFE|Base64.NO_WRAP).replace('-','+')+"\"}";
+ String post = "{\"workflow\":"+data+"}";
+ //clear sb so that we can use it again to fetch results from this post request
+ sb.delete(0,sb.length()-1);
+ System.out.println("BODY=>"+post);
+ connection.setRequestMethod("POST");
+ connection.setRequestProperty("Authorization", basicAuth);
+ connection.setRequestProperty("Accept", "*/*");
+ connection.setRequestProperty("Content-Type", "application/json");
+ connection.setRequestProperty("Content-Encoding", "UTF-8");
+ connection.setUseCaches (false);
+ connection.setDoOutput(true);
+ connection.connect(); //send request
+
+ DataOutputStream dos = new DataOutputStream(connection.getOutputStream());
+
+ dos.writeBytes(post);//write post data which is a formatted json data representing body of workflow
+
+ dos.flush();
+ dos.close();
+
+ InputStream dis = connection.getInputStream();
+ BufferedReader br = new BufferedReader(new InputStreamReader(dis));
+ while ((str = br.readLine())!= null)
+ sb.append(str);
+ System.out.println("Post Response Code: "+connection.getResponseCode());
+ System.out.println("Post response message: "+connection.getResponseMessage());
+ connection.disconnect();
+ }catch (IOException e){
+ e.printStackTrace();
+ sb.append("Error reading remote workflow. Please try again later");
+ }
+
+ return sb.toString();
+ }
+
+ /**
+ * Receives a result from the player as a json describing the workflow that has just been uploaded along with key components that
+ * can be used to generate a run from thw workflow. A run is started that would fetch and build a sample UI for a workflow run to be executed
+ * @param s the json result that describes the uploaded workflow
+ */
+ @Override
+ protected void onPostExecute(String s) {
+ progressDialog.dismiss();
+ System.out.println(s);
+ s = s.substring(1, s.length());
+ try {
+ JSONObject workflowJson = new JSONObject(s);
+ new WorkflowRunTask(this.context).execute(workflowJson.getString("id"));
+
+ } catch (JSONException e) {
+ e.printStackTrace();
+ }
+
+ }
+
+ //create and return a new TextView
+ public TextView createTextView(Context mcontext, String placeholder){
+ TextView tv = new TextView(mcontext);
+ tv.setText(placeholder);
+ tv.setMinLines(2);
+
+ return tv;
+ }
+
+ //create and return a new EdiText view
+ public EditText createEditText(Context ctx, int i){
+ EditText edt;
+ edt = new EditText(ctx);
+ edt.setHint("Enter Value");
+ edt.setMinLines(1);
+ edt.setId(i);
+ return edt;
+ }
+
+ private class WorkflowRunTask extends AsyncTask<String, Void, String>{
+
+ private Context context;
+ private AlertDialog.Builder alertDialogBuilder;
+ private AlertDialog runDialog;
+
+ private WorkflowRunTask(Context context) {
+ this.context = context;
+ }
+
+ @Override
+ protected void onPreExecute() {
+ super.onPreExecute();
+ progressDialog.setMessage(this.context.getResources().getString(R.string.fetchrun));
+ progressDialog.show();
+ }
+
+ @Override
+ protected String doInBackground(String... params) {
+ StringBuffer sb = new StringBuffer();
+ try {
+
+ URL workflowurl = new URL(new TavernaPlayerAPI(this.context).PLAYER_RUN_FRAMEWORK_URL+params[0]);
+ 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.connect(); //send request
+ Log.i("RESPONSE Code", "" + connection.getResponseCode());
+ Log.i("RESPONSE Messsage", "" + connection.getResponseMessage());
+ Log.i("Authorization ", "" + connection.getRequestProperty("Authorization"));
+
+ InputStream dis = connection.getInputStream();
+ BufferedReader br = new BufferedReader(new InputStreamReader(dis));
+
+ String jsonData = "";
+ while ((jsonData = br.readLine()) != null) {
+ sb.append(jsonData);
+ }
+ dis.close();
+ br.close();
+ return sb.toString();
+
+ }catch (IOException ex){
+ ex.printStackTrace();
+ }
+ return sb.toString();
+ }
+
+ @Override
+ protected void onPostExecute(String result) {
+ //show the skeleton to the user in a dialog box
+ final Context ctx = this.context;
+ final LinearLayout ll = new LinearLayout(ctx);
+ ScrollView sv = new ScrollView(ctx);
+ ll.setOrientation(LinearLayout.VERTICAL);
+ sv.addView(ll);
+
+ try {
+ final JSONObject json = new JSONObject(result); //main server response json
+ JSONObject mjson = json.getJSONObject("run"); //main framework response json
+ String name = mjson.getString("name"); //a name that can be configured or edited for the new run to be created
+ ll.addView(createTextView(ctx, name));
+ final JSONArray attr_array = mjson.getJSONArray("inputs_attributes");
+ for(int i=0; i<attr_array.length(); i++){
+ JSONObject obj = attr_array.getJSONObject(i);
+ ll.addView(createTextView(ctx, obj.getString("name")));
+ ll.addView(createEditText(ctx, i));
+ }
+
+ alertDialogBuilder = new AlertDialog.Builder(ctx);
+ alertDialogBuilder.setView(sv);
+ // alertDialogBuilder.setMessage(result);
+ alertDialogBuilder.setIcon(ctx.getResources().getDrawable(R.mipmap.ic_launcher));
+ alertDialogBuilder.setTitle("New Workflow Run");
+ alertDialogBuilder.setPositiveButton("Execute", new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialogInterface, int i) {
+ int n = attr_array.length();
+ for(int j=0; j<n; j++){
+ try {
+ EditText inputText = (EditText) ll.findViewById(j);
+ String value = inputText.getText().toString();//get input entry entered by the user
+ JSONObject jojb = attr_array.getJSONObject(j); //get the input attributes provided by the skeleton
+ jojb.put("value", value); //replace value field in object with the entry provided by the user
+ attr_array.put(j, jojb); //replace the input entry with the new name/input json object
+
+ } catch (JSONException e) {
+ e.printStackTrace();
+ }
+
+ }
+ try {
+ json.put("inputs_attributes", attr_array);
+ Log.i("RUN FRAMEWORK", json.toString(2));
+ //start a run task to execute the run.
+ new RunTask(ctx).execute(json.toString());
+ } catch (JSONException e) {
+ e.printStackTrace();
+ }
+
+ }
+ });
+ alertDialogBuilder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
+
+ @Override
+ public void onClick(DialogInterface dialogInterface, int i) {
+ dialogInterface.dismiss();
+ }
+ });
+
+ runDialog = alertDialogBuilder.create();
+
+ } catch (JSONException e) {
+ e.printStackTrace();
+ }
+ progressDialog.dismiss();
+ runDialog.show();
+ }
+ }
+}
+
+
+
[05/34] incubator-taverna-mobile git commit: Implementing workflow
run creation over Taverna Player
Posted by ia...@apache.org.
Implementing workflow run creation over Taverna Player
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/0a32ce94
Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/tree/0a32ce94
Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/diff/0a32ce94
Branch: refs/heads/master
Commit: 0a32ce94b3084379064f09016350f1a3b44a0671
Parents: 8d1bf18
Author: larrytech7 <la...@gmail.com>
Authored: Thu Jul 2 01:06:37 2015 +0100
Committer: larrytech7 <la...@gmail.com>
Committed: Thu Jul 2 01:06:37 2015 +0100
----------------------------------------------------------------------
app/src/main/res/xml/pref_general.xml | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/0a32ce94/app/src/main/res/xml/pref_general.xml
----------------------------------------------------------------------
diff --git a/app/src/main/res/xml/pref_general.xml b/app/src/main/res/xml/pref_general.xml
index 03a0b11..aebc297 100644
--- a/app/src/main/res/xml/pref_general.xml
+++ b/app/src/main/res/xml/pref_general.xml
@@ -36,7 +36,7 @@
android:key="pref_user"
android:title="@string/playeruser"
android:summary="@string/pref_server_des"
- android:defaultValue="@string/pref_server_default"
+ android:defaultValue="default"
android:selectAllOnFocus="true"
android:inputType="textEmailAddress|textPersonName"
android:singleLine="true"
@@ -45,7 +45,7 @@
android:key="pref_password"
android:title="@string/playerpass"
android:summary="@string/pref_server_des"
- android:defaultValue="@string/pref_server_default"
+ android:defaultValue="default"
android:selectAllOnFocus="true"
android:inputType="textPassword"
android:singleLine="true"
@@ -59,7 +59,7 @@
android:key="myexperimentuser"
android:title="@string/playeruser"
android:summary="@string/pref_server_des"
- android:defaultValue="@string/pref_server_default"
+ android:defaultValue="default"
android:selectAllOnFocus="true"
android:inputType="textEmailAddress|textPersonName"
android:singleLine="true"
@@ -68,7 +68,7 @@
android:key="myexperimentpass"
android:title="@string/playerpass"
android:summary="@string/pref_server_des"
- android:defaultValue="@string/pref_server_default"
+ android:defaultValue="default"
android:selectAllOnFocus="true"
android:inputType="textPassword"
android:singleLine="true"
[33/34] incubator-taverna-mobile git commit: formatting UI
Posted by ia...@apache.org.
formatting UI
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/d540f9e7
Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/tree/d540f9e7
Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/diff/d540f9e7
Branch: refs/heads/master
Commit: d540f9e7c87c4a59cff77b6b48582b4271805342
Parents: 72363e4
Author: larrytech7 <la...@gmail.com>
Authored: Sun Jul 12 13:20:16 2015 +0100
Committer: larrytech7 <la...@gmail.com>
Committed: Sun Jul 12 13:20:16 2015 +0100
----------------------------------------------------------------------
app/src/main/res/layout/fragment_workflow_detail.xml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/d540f9e7/app/src/main/res/layout/fragment_workflow_detail.xml
----------------------------------------------------------------------
diff --git a/app/src/main/res/layout/fragment_workflow_detail.xml b/app/src/main/res/layout/fragment_workflow_detail.xml
index 94d3e94..295054d 100644
--- a/app/src/main/res/layout/fragment_workflow_detail.xml
+++ b/app/src/main/res/layout/fragment_workflow_detail.xml
@@ -97,8 +97,8 @@ limitations under the License.
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_gravity="center"
- android:gravity="right">
+ android:layout_gravity="bottom|center"
+ android:gravity="bottom|right">
<ImageButton
android:layout_width="wrap_content"
[06/34] incubator-taverna-mobile git commit: update brand reference
Posted by ia...@apache.org.
update brand reference
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/40c00964
Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/tree/40c00964
Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/diff/40c00964
Branch: refs/heads/master
Commit: 40c00964a8585d48e550fd20cfbcb1c1a2fd5c56
Parents: 0a32ce9
Author: larrytech7 <la...@gmail.com>
Authored: Thu Jul 2 02:07:28 2015 +0100
Committer: larrytech7 <la...@gmail.com>
Committed: Thu Jul 2 02:07:28 2015 +0100
----------------------------------------------------------------------
app/src/main/res/layout/fragment_login.xml | 8 ++------
app/src/main/res/layout/fragment_navigation_drawer.xml | 2 +-
app/src/main/res/values/strings.xml | 6 +++---
app/src/main/res/xml/pref_general.xml | 13 ++++++++-----
4 files changed, 14 insertions(+), 15 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/40c00964/app/src/main/res/layout/fragment_login.xml
----------------------------------------------------------------------
diff --git a/app/src/main/res/layout/fragment_login.xml b/app/src/main/res/layout/fragment_login.xml
index ad52491..38e1e5f 100644
--- a/app/src/main/res/layout/fragment_login.xml
+++ b/app/src/main/res/layout/fragment_login.xml
@@ -139,13 +139,9 @@ limitations under the License.
android:text="@string/brand"
android:id="@+id/textView7"
android:paddingTop="20dp"
- android:textSize="20dp" />
+ android:textSize="20dp"
+ android:gravity="center|center_horizontal" />
- <ImageView
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:id="@+id/imageView3"
- android:src="@mipmap/ic_poweredby" />
</LinearLayout>
</LinearLayout>
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/40c00964/app/src/main/res/layout/fragment_navigation_drawer.xml
----------------------------------------------------------------------
diff --git a/app/src/main/res/layout/fragment_navigation_drawer.xml b/app/src/main/res/layout/fragment_navigation_drawer.xml
index 2a01c28..90ddd3a 100644
--- a/app/src/main/res/layout/fragment_navigation_drawer.xml
+++ b/app/src/main/res/layout/fragment_navigation_drawer.xml
@@ -58,7 +58,7 @@ limitations under the License.
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="@string/completebrand"
android:id="@+id/textView8"
- android:hint="@string/completebrand"
+ android:hint="@string/brand"
android:layout_gravity="center_horizontal"
android:layout_marginTop="30dp" />
</LinearLayout>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/40c00964/app/src/main/res/values/strings.xml
----------------------------------------------------------------------
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 3bf6202..cd8c074 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -17,7 +17,7 @@ limitations under the License.
<string name="hello_world"> Empty </string>
<string name="action_settings">Settings</string>
<string name="title_activity_flash_screen">Taverna Mobile</string>
- <string name="brand">Powered By</string>
+ <string name="brand">Powered By MyExperiment</string>
<string-array name="menus">
<item >Usage</item>
<item>Quit</item>
@@ -89,10 +89,10 @@ limitations under the License.
View, run and download workflows at a convenience on your android mobile<br/>
device. \n\n <br/><b>Developed at Apache Taverna and Powered by MyExperiment</b><br/></string>
<string name="playerconfig">Configure Player Account</string>
- <string name="playerconfig_summary">Set username/password used to login to Taverna player portal</string>
+ <string name="playerconfig_summary">Username used to login to Taverna player portal</string>
<string name="playeruser">Username/email</string>
<string name="playerpass">Password</string>
<string name="myexperimenttitle">Configure MyExperiment Account</string>
- <string name="myexperimentsummary">Set username/password used to login to MyExperiment</string>
+ <string name="myexperimentsummary">Username used to login to MyExperiment</string>
</resources>
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/40c00964/app/src/main/res/xml/pref_general.xml
----------------------------------------------------------------------
diff --git a/app/src/main/res/xml/pref_general.xml b/app/src/main/res/xml/pref_general.xml
index aebc297..ab27a47 100644
--- a/app/src/main/res/xml/pref_general.xml
+++ b/app/src/main/res/xml/pref_general.xml
@@ -30,12 +30,12 @@
android:maxLines="1" />
<PreferenceCategory
android:icon="@drawable/gear_icon"
- android:summary="@string/playerconfig_summary"
android:title="@string/playerconfig">
<EditTextPreference
android:key="pref_user"
android:title="@string/playeruser"
- android:summary="@string/pref_server_des"
+ android:icon="@mipmap/icuserprofiles"
+ android:summary="@string/playerconfig_summary"
android:defaultValue="default"
android:selectAllOnFocus="true"
android:inputType="textEmailAddress|textPersonName"
@@ -44,7 +44,8 @@
<EditTextPreference
android:key="pref_password"
android:title="@string/playerpass"
- android:summary="@string/pref_server_des"
+ android:icon="@android:drawable/ic_secure"
+ android:summary="Taverna Player Password"
android:defaultValue="default"
android:selectAllOnFocus="true"
android:inputType="textPassword"
@@ -58,7 +59,8 @@
<EditTextPreference
android:key="myexperimentuser"
android:title="@string/playeruser"
- android:summary="@string/pref_server_des"
+ android:icon="@mipmap/icuserprofiles"
+ android:summary="@string/myexperimentsummary"
android:defaultValue="default"
android:selectAllOnFocus="true"
android:inputType="textEmailAddress|textPersonName"
@@ -67,7 +69,8 @@
<EditTextPreference
android:key="myexperimentpass"
android:title="@string/playerpass"
- android:summary="@string/pref_server_des"
+ android:icon="@android:drawable/ic_secure"
+ android:summary="Myexperiment password"
android:defaultValue="default"
android:selectAllOnFocus="true"
android:inputType="textPassword"
[30/34] incubator-taverna-mobile git commit: implementing upload
workflow to dropbox
Posted by ia...@apache.org.
implementing upload workflow to dropbox
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/8e045402
Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/tree/8e045402
Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/diff/8e045402
Branch: refs/heads/master
Commit: 8e04540252d337c54be8c2c806d7c3aec1d71591
Parents: 354b4f4
Author: larrytech7 <la...@gmail.com>
Authored: Sun Jul 12 13:01:48 2015 +0100
Committer: larrytech7 <la...@gmail.com>
Committed: Sun Jul 12 13:01:48 2015 +0100
----------------------------------------------------------------------
.../workflowdetails/WorkflowdetailFragment.java | 22 +++++++++++++-------
1 file changed, 15 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/8e045402/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 786f572..bfcce62 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
@@ -106,7 +106,7 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
public static long WORKFLO_ID;
public static Context cont;
private static boolean LOAD_STATE = false;
- private ZoomControls zoomControls;
+ private static boolean DROPUPLOAD = false;
static Animation zoomin;
static Animation zoomout;
public boolean isZoomIn;
@@ -205,8 +205,13 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
//TODO mark a workflow as important and launch task to store the entry into the local database
break;
case R.id.saveToDropboxButton:
- mDBApi.getSession().startOAuth2Authentication(getActivity());
-
+ String authToken = PreferenceManager.getDefaultSharedPreferences(getActivity()).getString("dropboxauth", "");
+ if (authToken.isEmpty())
+ mDBApi.getSession().startOAuth2Authentication(getActivity());
+ else {
+ mDBApi.getSession().setOAuth2AccessToken(authToken);
+ new WorkflowDriveUpload().execute(download_url);
+ }
break;
case R.id.saveToGoogleDriveButton:
break;
@@ -227,11 +232,12 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
getActivity().getLoaderManager().initLoader(1, null, this).forceLoad();
- if (mDBApi.getSession().authenticationSuccessful()) {
+ if (mDBApi.getSession().authenticationSuccessful() && !DROPUPLOAD) {
try {
// Required to complete auth, sets the access token on the session
mDBApi.getSession().finishAuthentication();
String accessToken = mDBApi.getSession().getOAuth2AccessToken();
+ PreferenceManager.getDefaultSharedPreferences(getActivity()).edit().putString("dropboxauth", accessToken).commit();
new WorkflowDriveUpload().execute(download_url);
} catch (IllegalStateException e) {
Log.i("DbAuthLog", "Error authenticating", e);
@@ -655,7 +661,7 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
});
Log.i("DbExampleLog", "The uploaded file's rev is: " + response.rev);
- metaDataEntry = mDBApi.metadata("/"+Uri.parse(files[0]).getLastPathSegment(), 1, null, false, null);
+ // metaDataEntry = mDBApi.metadata("/"+Uri.parse(files[0]).getLastPathSegment(), 1, null, false, null);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (DropboxException e) {
@@ -671,8 +677,10 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
@Override
protected void onPostExecute(String s) {
- if(null != s)
- Toast.makeText(getActivity(), "File Saved to dropbox: "+s, Toast.LENGTH_LONG).show();
+ if(null != s) {
+ Toast.makeText(getActivity(), "File Saved to dropbox. Reference: " + s, Toast.LENGTH_LONG).show();
+ DROPUPLOAD = true;
+ }
else{
Toast.makeText(getActivity(), "Failed to save to dropbox "+s, Toast.LENGTH_LONG).show();
}
[17/34] incubator-taverna-mobile git commit: implemented workflow run
on player. Adjusted UI to indicate when no workflows exist or cannot be
retrieved
Posted by ia...@apache.org.
implemented workflow run on player. Adjusted UI to indicate when no workflows exist or cannot be retrieved
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/6d7108e0
Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/tree/6d7108e0
Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/diff/6d7108e0
Branch: refs/heads/master
Commit: 6d7108e0b16e1347b1b02ead5c10c95e19e6d657
Parents: c8bc815
Author: larrytech7 <la...@gmail.com>
Authored: Wed Jul 8 22:15:49 2015 +0100
Committer: larrytech7 <la...@gmail.com>
Committed: Wed Jul 8 22:15:49 2015 +0100
----------------------------------------------------------------------
.../apache/taverna/mobile/fragments/WorkflowItemFragment.java | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/6d7108e0/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 d04501e..fd53c44 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
@@ -194,7 +194,7 @@ public class WorkflowItemFragment extends Fragment implements SwipeRefreshLayout
if (mListView.getAdapter().getItemCount() == 0) {
mListView.setVisibility(View.GONE);
noDataText.setVisibility(View.VISIBLE);
- Toast.makeText(cx, cx.getResources().getString(R.string.err_workflow_conn), Toast.LENGTH_LONG).show();
+
} else {
mListView.setVisibility(View.VISIBLE);
noDataText.setVisibility(View.GONE);
@@ -303,7 +303,7 @@ public class WorkflowItemFragment extends Fragment implements SwipeRefreshLayout
if(WorkflowItemFragment.searchAdpater.getItemCount() == 0){
mListView.setVisibility(View.GONE);
noDataText.setVisibility(View.VISIBLE);
- Toast.makeText(cx, cx.getResources().getString(R.string.err_workflow_conn), Toast.LENGTH_LONG).show();
+ // Toast.makeText(cx, cx.getResources().getString(R.string.err_workflow_conn), Toast.LENGTH_LONG).show();
}else{
mListView.setVisibility(View.VISIBLE);
noDataText.setVisibility(View.GONE);
[19/34] incubator-taverna-mobile git commit: implemented workflow run
Results. Results now show up in a new screen
Posted by ia...@apache.org.
implemented workflow run Results. Results now show up in a new screen
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/70c90185
Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/tree/70c90185
Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/diff/70c90185
Branch: refs/heads/master
Commit: 70c90185f42dc73e13431e2c32c4965dbb5a9b96
Parents: ee887f3
Author: larrytech7 <la...@gmail.com>
Authored: Thu Jul 9 17:41:24 2015 +0100
Committer: larrytech7 <la...@gmail.com>
Committed: Thu Jul 9 17:41:24 2015 +0100
----------------------------------------------------------------------
app/src/main/res/values/strings.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/70c90185/app/src/main/res/values/strings.xml
----------------------------------------------------------------------
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index d785370..eda8079 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -56,7 +56,7 @@ limitations under the License.
<string name="workflow_authorhint">Workflow Author </string>
<string name="workflow_component">Workflow component</string>
<string name="favorite_empty"> No Favorites Added Yet</string>
- <string name="workflow_empty"> No <b>Workflows</b> Available. Check your Connection to the Internet</string>
+ <string name="workflow_empty"> No <b>Workflows</b> Available. Check your Connection to the Internet or Pull down to refresh</string>
<string name="wktitle">TITLE</string>
<string name="marked">Marked On</string>
<string name="created">Created :</string>
[20/34] incubator-taverna-mobile git commit: implemented workflow run
Results. Results now show up in a new screen
Posted by ia...@apache.org.
implemented workflow run Results. Results now show up in a new screen
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/45b4e376
Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/tree/45b4e376
Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/diff/45b4e376
Branch: refs/heads/master
Commit: 45b4e376e3b7e473f0c70ab2ba0594d3f6703eb9
Parents: 70c9018
Author: larrytech7 <la...@gmail.com>
Authored: Thu Jul 9 23:52:05 2015 +0100
Committer: larrytech7 <la...@gmail.com>
Committed: Thu Jul 9 23:52:05 2015 +0100
----------------------------------------------------------------------
.../taverna/mobile/fragments/workflowdetails/RunFragment.java | 2 ++
app/src/main/res/layout/fragment_run_result.xml | 1 +
2 files changed, 3 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/45b4e376/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/RunFragment.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/RunFragment.java b/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/RunFragment.java
index c1d8cdf..3622944 100644
--- a/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/RunFragment.java
+++ b/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/RunFragment.java
@@ -3,6 +3,7 @@ package org.apache.taverna.mobile.fragments.workflowdetails;
import android.os.Bundle;
import android.support.v4.app.Fragment;
+import android.text.method.ScrollingMovementMethod;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuInflater;
@@ -110,6 +111,7 @@ public class RunFragment extends Fragment implements View.OnClickListener{
runStartTime.setHint(runStarted);
runEndTime.setHint(runEnded);
runInputsText.setText(runInputs);
+ runInputsText.setMovementMethod(new ScrollingMovementMethod());
downloadOutput.setOnClickListener(this);
downloadLogs.setOnClickListener(this);
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/45b4e376/app/src/main/res/layout/fragment_run_result.xml
----------------------------------------------------------------------
diff --git a/app/src/main/res/layout/fragment_run_result.xml b/app/src/main/res/layout/fragment_run_result.xml
index ee8cc46..bcb77e2 100644
--- a/app/src/main/res/layout/fragment_run_result.xml
+++ b/app/src/main/res/layout/fragment_run_result.xml
@@ -93,6 +93,7 @@
android:text="inputs from run"
android:id="@+id/runinputsTextView"
android:minLines="5"
+ android:scrollbars="vertical"
android:layout_marginTop="10dp"
android:layout_weight="1.5"
android:layout_marginBottom="10dp" />
[02/34] incubator-taverna-mobile git commit: Added author avatar
loading and name on the dashboard. Still unstable though
Posted by ia...@apache.org.
Added author avatar loading and name on the dashboard. Still unstable though
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/f964b0d1
Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/tree/f964b0d1
Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/diff/f964b0d1
Branch: refs/heads/master
Commit: f964b0d10842fb38a6bb7fd727feb8b6b44e830d
Parents: f542e6d
Author: larrytech7 <la...@gmail.com>
Authored: Mon Jun 29 18:56:49 2015 +0100
Committer: larrytech7 <la...@gmail.com>
Committed: Mon Jun 29 18:56:49 2015 +0100
----------------------------------------------------------------------
.../mobile/adapters/WorkflowAdapter.java | 71 +++++++++++-----
.../customviews/WorkflowPreviewImageView.java | 7 ++
.../mobile/fragments/WorkflowItemFragment.java | 89 +++++++++++++++++---
.../workflowdetails/WorkflowdetailFragment.java | 84 ++++++++++++++++--
.../taverna/mobile/tavernamobile/User.java | 21 ++++-
.../taverna/mobile/utils/AvatarLoader.java | 69 +++++++++++++++
.../utils/xmlparsers/AvatarXMLParser.java | 46 ++++++++++
.../xmlparsers/MyExperimentXmlParserRules.java | 41 ++++++++-
.../utils/xmlparsers/WorkflowDetailParser.java | 7 +-
app/src/main/res/anim/zoomin | 15 ++++
app/src/main/res/anim/zoomout | 15 ++++
.../res/layout/fragment_workflow_detail.xml | 14 +++
12 files changed, 431 insertions(+), 48 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/f964b0d1/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 c2c55eb..c8dae51 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
@@ -28,6 +28,7 @@ import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
+import android.os.AsyncTask;
import android.preference.PreferenceManager;
import android.support.v7.widget.RecyclerView;
import android.text.Html;
@@ -42,16 +43,27 @@ import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;
+import com.thebuzzmedia.sjxp.rule.IRule;
+
import org.apache.taverna.mobile.R;
import org.apache.taverna.mobile.activities.DashboardMainActivity;
import org.apache.taverna.mobile.activities.WorkflowDetailActivity;
import org.apache.taverna.mobile.fragments.workflowdetails.WorkflowdetailFragment;
+import org.apache.taverna.mobile.tavernamobile.User;
import org.apache.taverna.mobile.tavernamobile.Workflow;
import org.apache.taverna.mobile.utils.WorkflowDownloadManager;
import org.apache.taverna.mobile.utils.Workflow_DB;
+import org.apache.taverna.mobile.utils.xmlparsers.AvatarXMLParser;
+import org.apache.taverna.mobile.utils.xmlparsers.MyExperimentXmlParserRules;
+import org.apache.taverna.mobile.utils.xmlparsers.WorkflowDetailParser;
import org.json.JSONException;
import java.io.File;
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.HttpURLConnection;
+import java.net.MalformedURLException;
+import java.net.URL;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
@@ -123,34 +135,11 @@ public class WorkflowAdapter extends RecyclerView.Adapter<WorkflowAdapter.ViewHo
viewHolder.btn_view_workflow.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
-// Intent detailsIntent = new Intent(context, WorkflowDetailActivity.class);
-
- //detailsIntent.putExtras(null);
context.startActivity(it);
((Activity) context).overridePendingTransition(android.R.anim.slide_in_left, android.R.anim.fade_out);
}
});
- /*viewHolder.btn_download_workflow.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- try {
-
- //String workflow_name = Uri.parse(wkflow_url).getLastPathSegment();
- WorkflowDownloadManager dm = new WorkflowDownloadManager(c);
- File destinationFile = new File(PreferenceManager.getDefaultSharedPreferences(c)
- .getString(DashboardMainActivity.APP_DIRECTORY_NAME, "/"));
- Log.i("Workflow Name ", destinationFile.getAbsolutePath());
- dm.downloadWorkflow(destinationFile, wkflow_url);
- } catch(NullPointerException np){
- np.printStackTrace();
- }catch (IllegalArgumentException ill){
- ill.printStackTrace();
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- });*/
viewHolder.btn_mark_workflow.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
@@ -177,6 +166,9 @@ public class WorkflowAdapter extends RecyclerView.Adapter<WorkflowAdapter.ViewHo
} catch (JSONException e) {
e.printStackTrace();
}
+ synchronized (this){
+ new DetailLinkLoader().execute(uri);
+ }
}
public void setData(List<Workflow> workflowList){
@@ -226,4 +218,37 @@ public class WorkflowAdapter extends RecyclerView.Adapter<WorkflowAdapter.ViewHo
btn_view_workflow = (Button) v.findViewById(R.id.button_view_workflow);
}
}
+
+ /**
+ * Loads partially details of a given workflow to retrieve author information
+ */
+ private class DetailLinkLoader extends AsyncTask<String, Void, Void>{
+
+ @Override
+ protected Void doInBackground(String ... strings) {
+ URL url = null;
+ HttpURLConnection connection = null;
+ try {
+ url = new URL(strings[0]); //fetch workflow detail
+ connection = (HttpURLConnection) url.openConnection();
+ connection.setDoInput(true);
+ connection.connect();
+ InputStream input = connection.getInputStream();
+ IRule avatarRule = new MyExperimentXmlParserRules.UploaderRule(IRule.Type.ATTRIBUTE,"/workflow/uploader", "resource","uri","id");
+ WorkflowDetailParser detailMinParser = new WorkflowDetailParser(new IRule[]{avatarRule});
+ detailMinParser.parse(input, new User());
+
+ } catch (MalformedURLException e) {
+ e.printStackTrace();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
+
+ @Override
+ protected void onPostExecute(Void aVoid) {
+ super.cancel(true);
+ }
+ }
}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/f964b0d1/app/src/main/java/org/apache/taverna/mobile/customviews/WorkflowPreviewImageView.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/customviews/WorkflowPreviewImageView.java b/app/src/main/java/org/apache/taverna/mobile/customviews/WorkflowPreviewImageView.java
new file mode 100644
index 0000000..c34c680
--- /dev/null
+++ b/app/src/main/java/org/apache/taverna/mobile/customviews/WorkflowPreviewImageView.java
@@ -0,0 +1,7 @@
+package org.apache.taverna.mobile.customviews;
+
+/**
+ * Created by root on 6/29/15.
+ */
+public class WorkflowPreviewImageView {
+}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/f964b0d1/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 10a1f8b..b206f01 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
@@ -28,6 +28,9 @@ import android.app.Activity;
import android.app.ProgressDialog;
import android.app.SearchManager;
import android.content.Context;
+import android.graphics.Bitmap;
+import android.graphics.BitmapFactory;
+import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.widget.SwipeRefreshLayout;
@@ -44,15 +47,22 @@ import android.view.View;
import android.view.ViewGroup;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
+import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
import org.apache.taverna.mobile.R;
import org.apache.taverna.mobile.activities.DashboardMainActivity;
import org.apache.taverna.mobile.adapters.WorkflowAdapter;
+import org.apache.taverna.mobile.tavernamobile.User;
import org.apache.taverna.mobile.tavernamobile.Workflow;
+import org.apache.taverna.mobile.utils.AvatarLoader;
import org.apache.taverna.mobile.utils.WorkflowLoader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.HttpURLConnection;
+import java.net.URL;
import java.util.ArrayList;
import java.util.List;
@@ -87,8 +97,9 @@ public class WorkflowItemFragment extends Fragment implements SwipeRefreshLayout
*/
private WorkflowAdapter workflowAdapter;
private static WorkflowAdapter searchAdpater;
- private View rootView;
+ private static View rootView;
public static Context cx;
+ private static boolean STATE_ON = false;
public static WorkflowItemFragment newInstance(String param1, String param2) {
WorkflowItemFragment fragment = new WorkflowItemFragment();
@@ -166,16 +177,15 @@ public class WorkflowItemFragment extends Fragment implements SwipeRefreshLayout
@Override
public void onResume() {
super.onResume();
- /* //Handle search actions from a system sent intent
- Intent searchIntent = getActivity().getIntent();
- if(searchIntent != null && Intent.ACTION_SEARCH.equals(searchIntent.getAction())){
- //retrieve and process query then display results
- String query = searchIntent.getStringExtra(SearchManager.QUERY);
- //Toast.makeText(getActivity(), "Query = " + query, Toast.LENGTH_SHORT).show();
- performSearch(workflowAdapter,query);
- }else*/
+ if(!STATE_ON)
new WorkflowLoader(getActivity(), swipeRefreshLayout).execute();
- // getActivity().getLoaderManager().initLoader(0,null,this).forceLoad();
+
+ }
+
+ @Override
+ public void onSaveInstanceState(Bundle outState) {
+ super.onSaveInstanceState(outState);
+ STATE_ON = true;
}
@Override
@@ -277,4 +287,63 @@ public class WorkflowItemFragment extends Fragment implements SwipeRefreshLayout
}
});
}
+ public static void startLoadingAvatar(final User author) {
+
+ ((Activity)cx).runOnUiThread(new Runnable() {
+ @Override
+ public void run() {
+ synchronized (this) {
+ new AvatarLoader().execute(author.getDetails_uri());
+ System.out.println(author.getDetails_uri());
+ }
+ }
+ });
+ }
+
+ public static void updateAvatar(final User author) {
+
+ ((Activity)cx).runOnUiThread(new Runnable() {
+ @Override
+ public void run() {
+ synchronized (this) {
+ ((TextView)rootView.findViewById(R.id.workflow_author)).setText(author.getName());
+ new LoadAuthorAvatar((ImageView) rootView.findViewById(R.id.author_profile_image)).execute(author.getAvatar_url());
+ }
+ }
+ });
+ }
+ /**
+ * Load the Author Avatar from a background Task
+ */
+ private static class LoadAuthorAvatar extends AsyncTask<String, Void, Bitmap> {
+ ImageView img;
+
+ public LoadAuthorAvatar(ImageView imageView) {
+ img = imageView;
+ }
+
+ @Override
+ protected Bitmap doInBackground(String... strings) {
+ Bitmap myBitmap = null;
+ try {
+ URL url = new URL(strings[0]);
+ HttpURLConnection connection = null;
+ connection = (HttpURLConnection) url.openConnection();
+ connection.setDoInput(true);
+ connection.connect();
+ InputStream input = connection.getInputStream();
+ myBitmap = BitmapFactory.decodeStream(input);
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ return myBitmap;
+ }
+
+ @Override
+ protected void onPostExecute(Bitmap bitmap) {
+ img.setImageBitmap(bitmap);
+/// img.setBackground();
+ notify();
+ }
+ }
}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/f964b0d1/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 31ab593..8d96e13 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
@@ -46,15 +46,20 @@ import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.util.Base64;
import android.util.Log;
+import android.view.DragEvent;
import android.view.LayoutInflater;
+import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
+import android.view.animation.Animation;
+import android.view.animation.AnimationUtils;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;
+import android.widget.ZoomControls;
import org.apache.taverna.mobile.R;
import org.apache.taverna.mobile.activities.DashboardMainActivity;
@@ -95,6 +100,10 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
private static String download_url;
public static long WORKFLO_ID;
public static Context cont;
+ private static boolean LOAD_STATE = false;
+ private ZoomControls zoomControls;
+ static Animation zoomin;
+ static Animation zoomout;
/**
* Returns a new instance of this fragment for the given section
@@ -120,6 +129,11 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
progressDialog.setMessage(getActivity().getResources().getString(R.string.loading));
progressDialog.setCancelable(false);
WORKFLO_ID = workflowid;
+ zoomin = AnimationUtils.loadAnimation(getActivity(), R.anim.zoomin);
+ zoomout = AnimationUtils.loadAnimation(getActivity(), R.anim.zoomout);
+ zoomControls = (ZoomControls) rootView.findViewById(R.id.zoomControls);
+ zoomControls.setOnZoomInClickListener(this);
+ zoomControls.setOnZoomOutClickListener(this);
Button createRun = (Button) rootView.findViewById(R.id.run_wk);
createRun.setOnClickListener(this);
@@ -163,6 +177,10 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
case R.id.mark_wk:
//TODO mark a workflow as important and launch task to store the entry into the local database
break;
+ case R.id.zoomControls:
+ zoomin.startNow();
+ Toast.makeText(getActivity(), "Zooming", Toast.LENGTH_SHORT).show();
+ break;
}
}
@@ -175,8 +193,14 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
@Override
public void onResume() {
super.onResume();
- getActivity().getLoaderManager().initLoader(1, null, this).forceLoad();
+ if(!LOAD_STATE)
+ getActivity().getLoaderManager().initLoader(1, null, this).forceLoad();
+ }
+ @Override
+ public void onSaveInstanceState(Bundle outState) {
+ super.onSaveInstanceState(outState);
+ LOAD_STATE = true;
}
@Override
@@ -212,26 +236,71 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
}
public static void setWorkflowDetails(final Workflow wk){
+
((Activity)cont).runOnUiThread(new Runnable() {
@Override
public void run() {
- //update UI with code here
+ //load necessary widgets
TextView author = (TextView) rootView.findViewById(R.id.wkf_author);
+ TextView updated = (TextView) rootView.findViewById(R.id.wupdatedat);
+ TextView type = (TextView) rootView.findViewById(R.id.wtype);
+ TextView title = (TextView) rootView.findViewById(R.id.wtitle);
+ TextView desc = (TextView) rootView.findViewById(R.id.wdescription);
+ TextView createdat = (TextView) rootView.findViewById(R.id.wcreatedat);
+ final ImageView preview = (ImageView) rootView.findViewById(R.id.wkf_image);
+
+ //set widget data
User uploader = wk.getUploader();
author.setText("Uploader ->" + uploader != null?uploader.getName():"Unknown");
- TextView title = (TextView) rootView.findViewById(R.id.wtitle);
title.setText(wk.getWorkflow_title());
- TextView desc = (TextView) rootView.findViewById(R.id.wdescription);
desc.setText(wk.getWorkflow_description());
- TextView createdat = (TextView) rootView.findViewById(R.id.wcreatedat);
createdat.setText("Created : " + wk.getWorkflow_datecreated());
- TextView updated = (TextView) rootView.findViewById(R.id.wupdatedat);
updated.setText("Workflow Description");
- ImageView preview = (ImageView) rootView.findViewById(R.id.wkf_image);
+ type.setText("Type-> "+wk.getWorkflow_Type());
+
//preview.setImageURI(Uri.parse(wk.getWorkflow_preview()));
new LoadImageThread(preview, wk.getWorkflow_preview()).execute();
download_url =wk.getWorkflow_remote_url();
+ zoomin.setAnimationListener(new Animation.AnimationListener() {
+
+ @Override
+ public void onAnimationStart(Animation arg0) {
+ // TODO Auto-generated method stub
+ preview.startAnimation(zoomout);
+ }
+
+ @Override
+ public void onAnimationRepeat(Animation arg0) {
+ // TODO Auto-generated method stub
+ }
+
+ @Override
+ public void onAnimationEnd(Animation arg0) {
+ preview.startAnimation(zoomout);
+
+ }
+ });
+ zoomout.setAnimationListener(new Animation.AnimationListener() {
+
+ @Override
+ public void onAnimationStart(Animation arg0) {
+ // TODO Auto-generated method stub
+ preview.startAnimation(zoomin);
+ }
+
+ @Override
+ public void onAnimationRepeat(Animation arg0) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void onAnimationEnd(Animation arg0) {
+ preview.startAnimation(zoomin);
+
+ }
+ });
progressDialog.dismiss();
}
});
@@ -267,6 +336,7 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
imageView.setImageBitmap(bitmap);
}
}
+
//create and return a new TextView
public TextView createTextView(Context mcontext, String placeholder){
TextView tv = new TextView(mcontext);
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/f964b0d1/app/src/main/java/org/apache/taverna/mobile/tavernamobile/User.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/tavernamobile/User.java b/app/src/main/java/org/apache/taverna/mobile/tavernamobile/User.java
index e352913..efd578c 100644
--- a/app/src/main/java/org/apache/taverna/mobile/tavernamobile/User.java
+++ b/app/src/main/java/org/apache/taverna/mobile/tavernamobile/User.java
@@ -34,9 +34,6 @@ import java.util.List;
*/
public class User {
- public User() {
- super();
- }
private static final long serialVersionUID = 3467195671046297377L;
@Element(required = false)
protected String id;
@@ -57,7 +54,12 @@ public class User {
@Element(required = false)
protected String website;
protected String details_uri;
+ private String avatar_url;
+ public User(){
+ super();
+// this.setAvatar_url("http://www.myexperiment.org/users/6/pictures/614");
+ }
protected List<Workflow> user_workflows; //a list of workflows owned by this user
public void setId(String id) {
@@ -80,6 +82,14 @@ public class User {
this.details_uri = details_uri;
}
+ public String getAvatar_url() {
+ return this.avatar_url;
+ }
+
+ public void setAvatar_url(String avatar_url) {
+ this.avatar_url = avatar_url;
+ }
+
public String getName() {
return name;
}
@@ -135,4 +145,9 @@ public class User {
public void setWebsite(String website) {
this.website = website;
}
+
+ @Override
+ public String toString(){
+ return "This is the user object";
+ }
}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/f964b0d1/app/src/main/java/org/apache/taverna/mobile/utils/AvatarLoader.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/utils/AvatarLoader.java b/app/src/main/java/org/apache/taverna/mobile/utils/AvatarLoader.java
new file mode 100644
index 0000000..b7f5ee4
--- /dev/null
+++ b/app/src/main/java/org/apache/taverna/mobile/utils/AvatarLoader.java
@@ -0,0 +1,69 @@
+package org.apache.taverna.mobile.utils;
+/**
+ * Apache Taverna Mobile
+ * Copyright 2015 The Apache Software Foundation
+
+ * This product includes software developed at
+ * The Apache Software Foundation (http://www.apache.org/).
+
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+import android.os.AsyncTask;
+
+import com.thebuzzmedia.sjxp.rule.IRule;
+
+import org.apache.taverna.mobile.tavernamobile.User;
+import org.apache.taverna.mobile.utils.xmlparsers.AvatarXMLParser;
+import org.apache.taverna.mobile.utils.xmlparsers.MyExperimentXmlParserRules;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.HttpURLConnection;
+import java.net.MalformedURLException;
+import java.net.URL;
+
+/**
+ * Created by Larry AKah on 6/29/15.
+ */
+public class AvatarLoader extends AsyncTask<String, Void, Void> {
+ @Override
+ protected Void doInBackground(String... strings) {
+ URL url = null;
+ HttpURLConnection connection = null;
+ try {
+
+ url = new URL(strings[0]);
+ connection = (HttpURLConnection) url.openConnection();
+ connection.setDoInput(true);
+ connection.connect();
+ InputStream input = connection.getInputStream();
+ IRule avatarRule = new MyExperimentXmlParserRules.AuthorRule(IRule.Type.ATTRIBUTE,"/user/avatar", "resource","uri","id");
+ IRule avatarName = new MyExperimentXmlParserRules.AuthorRule(IRule.Type.CHARACTER,"/user/name");
+ AvatarXMLParser avatarXMLParser = new AvatarXMLParser(new IRule[]{avatarRule, avatarName});
+
+ avatarXMLParser.parse(input, new User());
+
+ } catch (MalformedURLException e) {
+ e.printStackTrace();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+
+ return null;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/f964b0d1/app/src/main/java/org/apache/taverna/mobile/utils/xmlparsers/AvatarXMLParser.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/utils/xmlparsers/AvatarXMLParser.java b/app/src/main/java/org/apache/taverna/mobile/utils/xmlparsers/AvatarXMLParser.java
new file mode 100644
index 0000000..9b74aa1
--- /dev/null
+++ b/app/src/main/java/org/apache/taverna/mobile/utils/xmlparsers/AvatarXMLParser.java
@@ -0,0 +1,46 @@
+package org.apache.taverna.mobile.utils.xmlparsers;
+/**
+ * Apache Taverna Mobile
+ * Copyright 2015 The Apache Software Foundation
+
+ * This product includes software developed at
+ * The Apache Software Foundation (http://www.apache.org/).
+
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+import com.thebuzzmedia.sjxp.XMLParser;
+import com.thebuzzmedia.sjxp.XMLParserException;
+import com.thebuzzmedia.sjxp.rule.IRule;
+
+import org.apache.taverna.mobile.fragments.WorkflowItemFragment;
+import org.apache.taverna.mobile.tavernamobile.User;
+
+/**
+ * Created by Larry Akah on 6/29/15.
+ */
+public class AvatarXMLParser extends XMLParser {
+
+ public AvatarXMLParser(IRule[] rules) throws IllegalArgumentException, XMLParserException {
+ super(rules);
+ }
+
+ @Override
+ protected void doEndDocument(Object userObject) {
+ WorkflowItemFragment.updateAvatar((User) userObject);
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/f964b0d1/app/src/main/java/org/apache/taverna/mobile/utils/xmlparsers/MyExperimentXmlParserRules.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/utils/xmlparsers/MyExperimentXmlParserRules.java b/app/src/main/java/org/apache/taverna/mobile/utils/xmlparsers/MyExperimentXmlParserRules.java
index 9bb47ed..9be18b3 100644
--- a/app/src/main/java/org/apache/taverna/mobile/utils/xmlparsers/MyExperimentXmlParserRules.java
+++ b/app/src/main/java/org/apache/taverna/mobile/utils/xmlparsers/MyExperimentXmlParserRules.java
@@ -24,8 +24,6 @@ package org.apache.taverna.mobile.utils.xmlparsers;
* under the License.
*/
-import android.annotation.TargetApi;
-import android.os.Build;
import android.text.Html;
import com.thebuzzmedia.sjxp.XMLParser;
@@ -34,7 +32,6 @@ import com.thebuzzmedia.sjxp.rule.DefaultRule;
import org.apache.taverna.mobile.tavernamobile.User;
import org.apache.taverna.mobile.tavernamobile.Workflow;
import org.apache.taverna.mobile.utils.WorkflowLoader;
-import org.simpleframework.xml.Default;
import java.util.ArrayList;
import java.util.List;
@@ -149,14 +146,23 @@ public class MyExperimentXmlParserRules {
switch(index){
case 0:
muser.setWebsite(value);
+ if( (userObject instanceof User)){
+ ((User)userObject).setWebsite(value);
+ }
break;
case 1:
muser.setDetails_uri(value);
+ if( (userObject instanceof User)){
+ ((User)userObject).setDetails_uri(value);
+ }
break;
case 2:
muser.setId(value);
break;
}
+ if( (userObject instanceof User)){
+ System.out.println("USER Details => "+muser.getDetails_uri());
+ }
}
@Override
@@ -166,6 +172,35 @@ public class MyExperimentXmlParserRules {
((Workflow)userObject).setUploader(muser);
}
}
+//rule used to parse author from main page
+ public static class AuthorRule extends DefaultRule{
+
+ public AuthorRule(Type type, String locationPath, String... attributeNames) throws IllegalArgumentException {
+ super(type, locationPath, attributeNames);
+
+ }
+
+ @Override
+ public void handleParsedAttribute(XMLParser parser, int index, String value, Object userObject) {
+ switch(index){
+ case 0:
+ ((User) userObject).setAvatar_url(value);
+ break;
+ case 1:
+ ((User) userObject).setDetails_uri(value);
+ break;
+ case 2:
+ ((User) userObject).setId(value);
+ break;
+ }
+ }
+
+ @Override
+ public void handleParsedCharacters(XMLParser parser, String text, Object userObject) {
+ ((User) userObject).setName(text);
+ //((Workflow)userObject).setUploader(muser);
+ }
+ }
//rule for the date the workflow was created/uploaded
public static class DateRule extends DefaultRule{
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/f964b0d1/app/src/main/java/org/apache/taverna/mobile/utils/xmlparsers/WorkflowDetailParser.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/utils/xmlparsers/WorkflowDetailParser.java b/app/src/main/java/org/apache/taverna/mobile/utils/xmlparsers/WorkflowDetailParser.java
index a49d836..906b99e 100644
--- a/app/src/main/java/org/apache/taverna/mobile/utils/xmlparsers/WorkflowDetailParser.java
+++ b/app/src/main/java/org/apache/taverna/mobile/utils/xmlparsers/WorkflowDetailParser.java
@@ -4,7 +4,9 @@ import com.thebuzzmedia.sjxp.XMLParser;
import com.thebuzzmedia.sjxp.XMLParserException;
import com.thebuzzmedia.sjxp.rule.IRule;
+import org.apache.taverna.mobile.fragments.WorkflowItemFragment;
import org.apache.taverna.mobile.fragments.workflowdetails.WorkflowdetailFragment;
+import org.apache.taverna.mobile.tavernamobile.User;
import org.apache.taverna.mobile.tavernamobile.Workflow;
/**
@@ -45,8 +47,9 @@ public class WorkflowDetailParser extends XMLParser {
//deliver results when parsing has completed and all the information required has been retrieved
@Override
protected void doEndDocument(Object userObject) {
+ if(userObject instanceof User){
+ WorkflowItemFragment.startLoadingAvatar((User) userObject);
+ }else
WorkflowdetailFragment.setWorkflowDetails((Workflow) userObject);
- // WorkflowdetailFragment.setWorkflowDetails(MyExperimentXmlParserRules.mWorkflow);
- System.out.println("Finished Parsing document. Results"+(Workflow) userObject);
}
}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/f964b0d1/app/src/main/res/anim/zoomin
----------------------------------------------------------------------
diff --git a/app/src/main/res/anim/zoomin b/app/src/main/res/anim/zoomin
new file mode 100644
index 0000000..691c50e
--- /dev/null
+++ b/app/src/main/res/anim/zoomin
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<set xmlns:android="http://schemas.android.com/apk/res/android"
+ android:fillAfter="true" >
+ <scale
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:duration="20000"
+ android:fromXScale="1"
+ android:fromYScale="1"
+ android:pivotX="50%"
+ android:pivotY="50%"
+ android:toXScale="3"
+ android:toYScale="3" >
+ </scale>
+
+</set>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/f964b0d1/app/src/main/res/anim/zoomout
----------------------------------------------------------------------
diff --git a/app/src/main/res/anim/zoomout b/app/src/main/res/anim/zoomout
new file mode 100644
index 0000000..af391cb
--- /dev/null
+++ b/app/src/main/res/anim/zoomout
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<set xmlns:android="http://schemas.android.com/apk/res/android"
+ android:fillAfter="true" >
+ <scale
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:duration="20000"
+ android:fromXScale="1.0"
+ android:fromYScale="1.0"
+ android:pivotX="50%"
+ android:pivotY="50%"
+ android:toXScale="0.5"
+ android:toYScale="0.5" >
+ </scale>
+
+</set>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/f964b0d1/app/src/main/res/layout/fragment_workflow_detail.xml
----------------------------------------------------------------------
diff --git a/app/src/main/res/layout/fragment_workflow_detail.xml b/app/src/main/res/layout/fragment_workflow_detail.xml
index 228a391..8a9b7fc 100644
--- a/app/src/main/res/layout/fragment_workflow_detail.xml
+++ b/app/src/main/res/layout/fragment_workflow_detail.xml
@@ -68,6 +68,13 @@ limitations under the License.
android:id="@+id/wupdatedat"
android:layout_marginTop="5dp"
android:text="@string/modified" />
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textAppearance="?android:attr/textAppearanceMedium"
+ android:id="@+id/wtype"
+ android:layout_marginTop="5dp"
+ android:text="Type" />
<TextView
android:layout_width="match_parent"
@@ -86,6 +93,13 @@ limitations under the License.
android:backgroundTint="@color/accent_material_light"
android:backgroundTintMode="src_atop" />
+ <ZoomControls
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:id="@+id/zoomControls"
+ android:layout_gravity="center_horizontal"
+ android:orientation="horizontal" />
+
</LinearLayout>
</ScrollView>
[34/34] incubator-taverna-mobile git commit: This closes #7
Posted by ia...@apache.org.
This closes #7
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/f760fb16
Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/tree/f760fb16
Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/diff/f760fb16
Branch: refs/heads/master
Commit: f760fb16122093bf299464fa151c8b50177737aa
Parents: d7c08b4 d540f9e
Author: Ian Dunlop <ia...@manchester.ac.uk>
Authored: Mon Jul 13 13:52:54 2015 +0100
Committer: Ian Dunlop <ia...@manchester.ac.uk>
Committed: Mon Jul 13 13:52:54 2015 +0100
----------------------------------------------------------------------
app/libs/dropbox-android-sdk-1.6.3.jar | Bin 0 -> 168350 bytes
app/libs/json_simple-1.1.jar | Bin 0 -> 16046 bytes
app/src/main/AndroidManifest.xml | 24 +-
.../apache/com/tavernamobile/LoginActivity.java | 66 ----
.../activities/DashboardMainActivity.java | 9 +-
.../taverna/mobile/activities/RunResult.java | 36 ++
.../activities/WorkflowDetailActivity.java | 3 -
.../adapters/FavoriteWorkflowAdapter.java | 22 +-
.../mobile/adapters/WorkflowAdapter.java | 96 +++--
.../customviews/WorkflowPreviewImageView.java | 7 +
.../mobile/fragments/FavoriteFragment.java | 15 +-
.../mobile/fragments/WorkflowItemFragment.java | 162 ++++++++-
.../fragments/workflowdetails/RunFragment.java | 246 +++++++++++++
.../workflowdetails/WorkflowdetailFragment.java | 357 +++++++++++++++----
.../mobile/tavernamobile/TavernaPlayerAPI.java | 26 +-
.../taverna/mobile/tavernamobile/User.java | 21 +-
.../taverna/mobile/utils/AvatarLoader.java | 69 ++++
.../apache/taverna/mobile/utils/DB_Utility.java | 5 +-
.../taverna/mobile/utils/DetailsLoader.java | 5 +-
.../apache/taverna/mobile/utils/RunTask.java | 93 +++++
.../taverna/mobile/utils/WorkflowOpen.java | 291 +++++++++++++++
.../utils/xmlparsers/AvatarXMLParser.java | 46 +++
.../xmlparsers/MyExperimentXmlParserRules.java | 48 ++-
.../utils/xmlparsers/WorkflowDetailParser.java | 7 +-
.../mobile/utils/xmlparsers/WorkflowParser.java | 1 -
app/src/main/res/anim/zoomin | 16 +
app/src/main/res/anim/zoomout | 15 +
app/src/main/res/drawable/dropbox_icon.png | Bin 0 -> 1543 bytes
app/src/main/res/drawable/google_drive_icon.png | Bin 0 -> 2014 bytes
app/src/main/res/drawable/ic_download_web.jpg | Bin 0 -> 2230 bytes
.../main/res/layout-xlarge/fragment_login.xml | 9 +-
.../main/res/layout/activity_flash_screen.xml | 29 +-
app/src/main/res/layout/activity_run_result.xml | 4 +
.../main/res/layout/favorite_item_layout.xml | 54 +--
app/src/main/res/layout/fragment_item_grid.xml | 8 +-
app/src/main/res/layout/fragment_item_list.xml | 12 +-
app/src/main/res/layout/fragment_login.xml | 8 +-
.../res/layout/fragment_navigation_drawer.xml | 2 +-
app/src/main/res/layout/fragment_run_result.xml | 126 +++++++
.../res/layout/fragment_workflow_detail.xml | 37 +-
.../main/res/layout/workflow_item_layout.xml | 27 +-
app/src/main/res/menu/run_result.xml | 10 +
app/src/main/res/values/strings.xml | 13 +-
app/src/main/res/xml/pref_general.xml | 50 ++-
simple-xml-2.7.1/simple-xml-2.7.1.iml | 16 -
simple-xml-2.7.1/simple-xml-2.7.1.jar | Bin 427590 -> 0 bytes
46 files changed, 1725 insertions(+), 366 deletions(-)
----------------------------------------------------------------------
[27/34] incubator-taverna-mobile git commit: added dropbox activity
Posted by ia...@apache.org.
added dropbox activity
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/8b8d5b97
Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/tree/8b8d5b97
Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/diff/8b8d5b97
Branch: refs/heads/master
Commit: 8b8d5b979ad9a07499cbe87376560adf1a452613
Parents: 1619a17
Author: larrytech7 <la...@gmail.com>
Authored: Sat Jul 11 23:20:42 2015 +0100
Committer: larrytech7 <la...@gmail.com>
Committed: Sat Jul 11 23:20:42 2015 +0100
----------------------------------------------------------------------
app/src/main/AndroidManifest.xml | 24 ++++++++++++++++++++++--
1 file changed, 22 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/8b8d5b97/app/src/main/AndroidManifest.xml
----------------------------------------------------------------------
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index bd49514..930847e 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -45,7 +45,7 @@ limitations under the License.
<activity
android:name=".activities.DashboardMainActivity"
android:label="@string/title_activity_dashboard_main"
- android:launchMode="singleTop">
+ android:launchMode="singleTop" >
<intent-filter>
<action android:name="android.intent.action.SEARCH" />
</intent-filter>
@@ -75,11 +75,31 @@ limitations under the License.
<activity
android:name=".activities.SettingsActivity"
android:label="@string/title_activity_settings"
- android:parentActivityName="org.apache.taverna.mobile.activities.DashboardMainActivity" >
+ android:parentActivityName=".activities.DashboardMainActivity" >
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="org.apache.taverna.mobile.activities.DashboardMainActivity" />
</activity>
+ <activity
+ android:name=".activities.RunResult"
+ android:label="@string/title_activity_run_result"
+ android:parentActivityName=".activities.WorkflowDetailActivity" >
+ <meta-data
+ android:name="android.support.PARENT_ACTIVITY"
+ android:value="org.apache.taverna.mobile.activities.WorkflowDetailActivity" />
+ </activity>
+ <activity
+ android:name="com.dropbox.client2.android.AuthActivity"
+ android:launchMode="singleTask"
+ android:configChanges="orientation|keyboard">
+ <intent-filter>
+ <!-- Change this to be db- followed by your app key -->
+ <data android:scheme="db-doicbvkfyzligh2" />
+ <action android:name="android.intent.action.VIEW" />
+ <category android:name="android.intent.category.BROWSABLE"/>
+ <category android:name="android.intent.category.DEFAULT" />
+ </intent-filter>
+ </activity>
</application>
</manifest>
[08/34] incubator-taverna-mobile git commit: parsing workflow
favorites
Posted by ia...@apache.org.
parsing workflow favorites
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/8720f7ae
Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/tree/8720f7ae
Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/diff/8720f7ae
Branch: refs/heads/master
Commit: 8720f7aeaf83b27936a99bbff4b0aa039a0e2758
Parents: d8239c7
Author: larrytech7 <la...@gmail.com>
Authored: Fri Jul 3 14:03:33 2015 +0100
Committer: larrytech7 <la...@gmail.com>
Committed: Fri Jul 3 14:03:33 2015 +0100
----------------------------------------------------------------------
.../workflowdetails/WorkflowdetailFragment.java | 13 ++++---------
1 file changed, 4 insertions(+), 9 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/8720f7ae/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 4ef1b0c..5bb6587 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
@@ -519,12 +519,10 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
sb.append(str); //in this string builder we have read the .t2flow or xml workflow from remote resource. Now we need to post that to the player.
bufferedReader.close();
- //prepare post json data
- JSONObject postJson = new JSONObject();
- JSONObject datajson = new JSONObject();
- String data = "{\"document\":\"data:application/octet-stream;base64,"+Base64.encodeToString(sb.toString().getBytes(), Base64.DEFAULT)+"\"}";
- datajson.put("document", "data:application/octet-stream;base64,"+Base64.encodeToString(sb.toString().getBytes(), Base64.DEFAULT)+"");
- String post = "{\"workflow:\""+data+"}";
+// String data = "{\"document\":\"data:application/octet-stream;base64,"+Base64.encodeToString(sb.toString().getBytes(), Base64.DEFAULT)+"\"}";
+ String data = "{document:data:application/octet-stream;base64,"+Base64.encodeToString(sb.toString().getBytes(), Base64.DEFAULT)+"}";
+ // datajson.put("document", "data:application/octet-stream;base64,"+Base64.encodeToString(sb.toString().getBytes(), Base64.DEFAULT)+"");
+ String post = "{workflow:"+data+"}";
// postJson.put("workflow",datajson.toString());
//clear sb so that we can use it again to fetch results from this post request
sb.delete(0,sb.length()-1);
@@ -551,9 +549,6 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
}catch (IOException e){
e.printStackTrace();
sb.append("Error reading remote workflow. Please try again later");
- } catch (JSONException e) {
- e.printStackTrace();
- sb.append("Invalid data format: JSON DATA");
}
return sb.toString();
}
[25/34] incubator-taverna-mobile git commit: fixing run workflow from
local storage
Posted by ia...@apache.org.
fixing run workflow from local storage
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/53d7bc87
Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/tree/53d7bc87
Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/diff/53d7bc87
Branch: refs/heads/master
Commit: 53d7bc87b3b41085a3ddb81a9b564b2dcf361711
Parents: ca95c34
Author: larrytech7 <la...@gmail.com>
Authored: Sat Jul 11 23:01:49 2015 +0100
Committer: larrytech7 <la...@gmail.com>
Committed: Sat Jul 11 23:01:49 2015 +0100
----------------------------------------------------------------------
.../activities/DashboardMainActivity.java | 7 -------
.../workflowdetails/WorkflowdetailFragment.java | 3 ++-
.../mobile/tavernamobile/TavernaPlayerAPI.java | 22 ++++++++++----------
.../apache/taverna/mobile/utils/RunTask.java | 6 +++---
.../taverna/mobile/utils/WorkflowOpen.java | 8 ++++---
5 files changed, 21 insertions(+), 25 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/53d7bc87/app/src/main/java/org/apache/taverna/mobile/activities/DashboardMainActivity.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/activities/DashboardMainActivity.java b/app/src/main/java/org/apache/taverna/mobile/activities/DashboardMainActivity.java
index 8a90059..2afab50 100644
--- a/app/src/main/java/org/apache/taverna/mobile/activities/DashboardMainActivity.java
+++ b/app/src/main/java/org/apache/taverna/mobile/activities/DashboardMainActivity.java
@@ -99,13 +99,6 @@ public class DashboardMainActivity extends ActionBarActivity
mPager = (ViewPager)findViewById(R.id.pager);
mPager.setAdapter(mAdapter);
- /* //Handle search actions from a system sent intent
- Intent searchIntent = getIntent();
- if(searchIntent != null && Intent.ACTION_SEARCH.equals(searchIntent.getAction())){
- //retrieve and process query then display results
- String query = searchIntent.getStringExtra(SearchManager.QUERY);
- Toast.makeText(this,"Query = "+query, Toast.LENGTH_SHORT).show();
- }*/
}
@Override
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/53d7bc87/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 5a5ee09..c2c5277 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
@@ -359,6 +359,7 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
private class WorkflowRunTask extends AsyncTask<String, Void, String>{
private Context context;
+ TavernaPlayerAPI tavernaPlayerAPI = new TavernaPlayerAPI();
private WorkflowRunTask(Context context) {
this.context = context;
@@ -378,7 +379,7 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
URL workflowurl = new URL(new TavernaPlayerAPI(this.context).PLAYER_RUN_FRAMEWORK_URL+params[0]);
HttpURLConnection connection = (HttpURLConnection) workflowurl.openConnection();
- String userpass = "icep603@gmail.com" + ":" + "creationfox";
+ String userpass = tavernaPlayerAPI.getPlayerUserName(this.context) + ":" + tavernaPlayerAPI.getPlayerUserPassword(this.context);
String basicAuth = "Basic " + Base64.encodeToString(userpass.getBytes(), Base64.DEFAULT);
connection.setRequestProperty("Authorization", basicAuth);
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/53d7bc87/app/src/main/java/org/apache/taverna/mobile/tavernamobile/TavernaPlayerAPI.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/tavernamobile/TavernaPlayerAPI.java b/app/src/main/java/org/apache/taverna/mobile/tavernamobile/TavernaPlayerAPI.java
index 0b16de1..638094b 100644
--- a/app/src/main/java/org/apache/taverna/mobile/tavernamobile/TavernaPlayerAPI.java
+++ b/app/src/main/java/org/apache/taverna/mobile/tavernamobile/TavernaPlayerAPI.java
@@ -39,10 +39,11 @@ public class TavernaPlayerAPI {
public static String PLAYER_RUN_URL = PLAYER_BASE_URL+"runs/";
public static String PLAYER_RUN_FRAMEWORK_URL = PLAYER_RUN_URL+"new?workflow_id="; //returns a json 'framework' used for creating runs for the given workflow
-
public TavernaPlayerAPI(Context context) {
String server = PreferenceManager.getDefaultSharedPreferences(context).getString("pref_server_url","/");
String player = PreferenceManager.getDefaultSharedPreferences(context).getString("pref_player_url","/");
+ String user = PreferenceManager.getDefaultSharedPreferences(context).getString("pref_player_url","/");
+ String password = PreferenceManager.getDefaultSharedPreferences(context).getString("pref_player_url","/");
PLAYER_BASE_URL = player;
SERVER_BASE_URL = server;
PLAYER_WORKFLOW_URL = PLAYER_BASE_URL+"workflows/";
@@ -50,36 +51,35 @@ public class TavernaPlayerAPI {
PLAYER_RUN_FRAMEWORK_URL = PLAYER_RUN_URL+"new?workflow_id=";
}
- public static String getPLAYER_BASE_URL(Context context) {
- new TavernaPlayerAPI(context);
+ public TavernaPlayerAPI(){
+
+ }
+
+ public static String getPLAYER_BASE_URL() {
return PLAYER_BASE_URL;
}
- public static String getSERVER_BASE_URL(Context ctx) {
- new TavernaPlayerAPI(ctx);
+ public static String getSERVER_BASE_URL() {
return SERVER_BASE_URL;
}
- public static String getPLAYER_WORKFLOW_URL(Context ctx) {
- new TavernaPlayerAPI(ctx);
+ public static String getPLAYER_WORKFLOW_URL() {
return PLAYER_WORKFLOW_URL;
}
public static String getPLAYER_RUN_URL(Context ctx) {
- new TavernaPlayerAPI(ctx);
return PLAYER_RUN_URL;
}
public static String getPLAYER_RUN_FRAMEWORK_URL(Context ctx) {
- new TavernaPlayerAPI(ctx);
return PLAYER_RUN_FRAMEWORK_URL;
}
- public static String getPlayerUserName(Context c){
+ public String getPlayerUserName(Context c){
return PreferenceManager.getDefaultSharedPreferences(c).getString("pref_user","default");
}
- public static String getPlayerUserPassword(Context c){
+ public String getPlayerUserPassword(Context c){
return PreferenceManager.getDefaultSharedPreferences(c).getString("pref_password","default");
}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/53d7bc87/app/src/main/java/org/apache/taverna/mobile/utils/RunTask.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/utils/RunTask.java b/app/src/main/java/org/apache/taverna/mobile/utils/RunTask.java
index 14e0939..d0710a5 100644
--- a/app/src/main/java/org/apache/taverna/mobile/utils/RunTask.java
+++ b/app/src/main/java/org/apache/taverna/mobile/utils/RunTask.java
@@ -42,10 +42,10 @@ public class RunTask extends AsyncTask<String, Void, String> {
protected String doInBackground(String... params) {
StringBuffer sb = new StringBuffer();
try {
-
+ TavernaPlayerAPI tavernaPlayerAPI = new TavernaPlayerAPI();
URL workflowurl = new URL(new TavernaPlayerAPI(this.context).PLAYER_RUN_URL);
HttpURLConnection connection = (HttpURLConnection) workflowurl.openConnection();
- String userpass = "icep603@gmail.com" + ":" + "creationfox";
+ String userpass = tavernaPlayerAPI.getPlayerUserName(this.context) + ":" + tavernaPlayerAPI.getPlayerUserPassword(this.context);
String basicAuth = "Basic " + Base64.encodeToString(userpass.getBytes(), Base64.DEFAULT);
connection.setRequestProperty("Authorization", basicAuth);
@@ -84,7 +84,7 @@ public class RunTask extends AsyncTask<String, Void, String> {
@Override
protected void onPostExecute(String s) {
Log.i("RUN OutPut", s);
-// progressDialog.dismiss();
+ progressDialog.dismiss();
Intent runIntent = new Intent();
runIntent.setClass(this.context, RunResult.class);
runIntent.putExtra("runresult", s);
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/53d7bc87/app/src/main/java/org/apache/taverna/mobile/utils/WorkflowOpen.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/utils/WorkflowOpen.java b/app/src/main/java/org/apache/taverna/mobile/utils/WorkflowOpen.java
index aaa13ff..eae8479 100644
--- a/app/src/main/java/org/apache/taverna/mobile/utils/WorkflowOpen.java
+++ b/app/src/main/java/org/apache/taverna/mobile/utils/WorkflowOpen.java
@@ -39,6 +39,7 @@ public class WorkflowOpen extends AsyncTask<String, Void, String> {
private Context context;
private ProgressDialog progressDialog;
+ TavernaPlayerAPI tavernaPlayerAPI = new TavernaPlayerAPI();
public WorkflowOpen(Context context) {
this.context = context;
@@ -61,13 +62,14 @@ public class WorkflowOpen extends AsyncTask<String, Void, String> {
StringBuffer sb = new StringBuffer();
String str = "";
try {
+
//prepare connection requests
File objectFile = new File(params[0]); //the resource xml file representing the workflow to be uploaded to the player
String playerurl = new TavernaPlayerAPI(this.context).PLAYER_BASE_URL+"workflows.json";
URL posturl = new URL(playerurl);
HttpURLConnection connection = (HttpURLConnection) posturl.openConnection();
- String user = "icep603@gmail.com" + ":" + "creationfox";
+ String user = tavernaPlayerAPI.getPlayerUserName(this.context) + ":" + tavernaPlayerAPI.getPlayerUserPassword(this.context);
String basicAuth = "Basic " + Base64.encodeToString(user.getBytes(), Base64.DEFAULT);
//read the file from remote resource and encode the stream with a base64 algorithm
@@ -184,7 +186,7 @@ public class WorkflowOpen extends AsyncTask<String, Void, String> {
URL workflowurl = new URL(new TavernaPlayerAPI(this.context).PLAYER_RUN_FRAMEWORK_URL+params[0]);
HttpURLConnection connection = (HttpURLConnection) workflowurl.openConnection();
- String userpass = "icep603@gmail.com" + ":" + "creationfox";
+ String userpass = tavernaPlayerAPI.getPlayerUserName(this.context) + ":" + tavernaPlayerAPI.getPlayerUserPassword(this.context);
String basicAuth = "Basic " + Base64.encodeToString(userpass.getBytes(), Base64.DEFAULT);
connection.setRequestProperty("Authorization", basicAuth);
@@ -192,7 +194,7 @@ public class WorkflowOpen extends AsyncTask<String, Void, String> {
connection.setRequestMethod("GET");
connection.connect(); //send request
Log.i("RESPONSE Code", "" + connection.getResponseCode());
- Log.i("RESPONSE Messsage", "" + connection.getResponseMessage());
+ Log.i("RESPONSE Message", "" + connection.getResponseMessage());
Log.i("Authorization ", "" + connection.getRequestProperty("Authorization"));
InputStream dis = connection.getInputStream();
[31/34] incubator-taverna-mobile git commit: formatting UI
Posted by ia...@apache.org.
formatting UI
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/cd80fd80
Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/tree/cd80fd80
Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/diff/cd80fd80
Branch: refs/heads/master
Commit: cd80fd80a0e810f63dd0a184c1a94513500c41dc
Parents: 8e04540
Author: larrytech7 <la...@gmail.com>
Authored: Sun Jul 12 13:10:17 2015 +0100
Committer: larrytech7 <la...@gmail.com>
Committed: Sun Jul 12 13:10:17 2015 +0100
----------------------------------------------------------------------
.../main/res/layout-xlarge/fragment_login.xml | 9 +++-----
.../main/res/layout/activity_flash_screen.xml | 24 +++++---------------
2 files changed, 9 insertions(+), 24 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/cd80fd80/app/src/main/res/layout-xlarge/fragment_login.xml
----------------------------------------------------------------------
diff --git a/app/src/main/res/layout-xlarge/fragment_login.xml b/app/src/main/res/layout-xlarge/fragment_login.xml
index d037f1d..fb2d564 100644
--- a/app/src/main/res/layout-xlarge/fragment_login.xml
+++ b/app/src/main/res/layout-xlarge/fragment_login.xml
@@ -132,13 +132,10 @@ limitations under the License.
android:text="@string/brand"
android:id="@+id/textView7"
android:paddingTop="20dp"
- android:textSize="20sp" />
+ android:textSize="20sp"
+ android:layout_gravity="center_horizontal"
+ android:gravity="center|center_horizontal" />
- <ImageView
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:id="@+id/imageView3"
- android:src="@mipmap/ic_poweredby" />
</LinearLayout>
</LinearLayout>
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/cd80fd80/app/src/main/res/layout/activity_flash_screen.xml
----------------------------------------------------------------------
diff --git a/app/src/main/res/layout/activity_flash_screen.xml b/app/src/main/res/layout/activity_flash_screen.xml
index 8acce99..bb7ae25 100644
--- a/app/src/main/res/layout/activity_flash_screen.xml
+++ b/app/src/main/res/layout/activity_flash_screen.xml
@@ -20,19 +20,6 @@ limitations under the License.
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context="org.apache.taverna.mobile.activities.FlashScreenActivity">
- <ImageView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:id="@+id/imageView"
- android:src="@mipmap/ic_poweredby"
- android:layout_alignParentBottom="true"
- android:layout_alignParentRight="true"
- android:layout_alignParentEnd="true"
- android:scaleType="fitCenter"
- android:contentDescription="@string/brand"
- android:layout_alignLeft="@+id/imageView2"
- android:layout_alignStart="@+id/imageView2" />
-
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
@@ -53,8 +40,8 @@ limitations under the License.
android:layout_alignEnd="@+id/textView"
android:layout_alignLeft="@+id/textView"
android:layout_alignStart="@+id/textView"
- android:layout_above="@+id/imageView"
- android:scaleType="fitStart" />
+ android:scaleType="fitStart"
+ android:layout_above="@+id/textView2" />
<TextView
android:layout_width="wrap_content"
@@ -62,16 +49,17 @@ limitations under the License.
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="@string/brand"
android:id="@+id/textView2"
- android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
- android:layout_marginBottom="35dp" />
+ android:layout_alignParentBottom="true"
+ android:layout_alignParentRight="true"
+ android:layout_alignParentEnd="true"
+ android:gravity="center" />
<ProgressBar
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/progressBar"
- android:layout_above="@+id/imageView"
android:layout_centerHorizontal="true"
android:indeterminate="true"
android:indeterminateBehavior="repeat"
[10/34] incubator-taverna-mobile git commit: implementing workflow
run creation functionality
Posted by ia...@apache.org.
implementing workflow run creation functionality
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/e6642608
Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/tree/e6642608
Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/diff/e6642608
Branch: refs/heads/master
Commit: e664260809804e9365ff7330727873a5c006ee2c
Parents: 1d88f27
Author: larrytech7 <la...@gmail.com>
Authored: Fri Jul 3 17:32:29 2015 +0100
Committer: larrytech7 <la...@gmail.com>
Committed: Fri Jul 3 17:32:29 2015 +0100
----------------------------------------------------------------------
.../taverna/mobile/adapters/WorkflowAdapter.java | 2 +-
.../workflowdetails/WorkflowdetailFragment.java | 17 +++++++----------
.../mobile/utils/xmlparsers/WorkflowParser.java | 1 -
3 files changed, 8 insertions(+), 12 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e6642608/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 d938230..2b40cc9 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
@@ -121,7 +121,7 @@ public class WorkflowAdapter extends RecyclerView.Adapter<WorkflowAdapter.ViewHo
//save current workflow as favorite
mfav.add(wid); mfav.add(author);mfav.add(title);mfav.add(desc_full); mfav.add(SimpleDateFormat.getDateTimeInstance().format(new Date()).toString());
mfav.add(uri);
-// if(description.length() > 80) description = description.substring(0, 79);
+ if(description.length() > 80) description = description.substring(0, 79);
viewHolder.author_name.setText(author);
viewHolder.wk_title.setText(title);
viewHolder.wk_description.setText( description+" ... ");
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e6642608/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 caa3bac..a1b42ab 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
@@ -507,7 +507,6 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
wconn.setRequestMethod("GET");
wconn.setDoOutput(true);
wconn.setRequestProperty("Accept", "application/xml");
- //wconn.setConnectTimeout(60000);
wconn.connect();
String user = "icep603@gmail.com" + ":" + "creationfox";
@@ -516,29 +515,26 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(wconn.getInputStream()));
String str = "";
while ((str = bufferedReader.readLine()) != null)
- sb.append(str); //in this string builder we have read the .t2flow or xml workflow from remote resource. Now we need to post that to the player.
+ sb.append(str); //in this string builder we have read the workflow( as .t2flow or .xml) workflow from remote resource. Now we need to post that to the player.
bufferedReader.close();
+ wconn.disconnect();
String data = "{\"document\":\"data:application/octet-stream;base64,"+Base64.encodeToString(sb.toString().getBytes(), Base64.DEFAULT)+"\"}";
-// String data = "{document:data:application/octet-stream;base64,"+Base64.encodeToString(sb.toString().getBytes(), Base64.DEFAULT)+"}";
- // datajson.put("document", "data:application/octet-stream;base64,"+Base64.encodeToString(sb.toString().getBytes(), Base64.DEFAULT)+"");
String post = "{\"workflow\":"+data+"}";
- // postJson.put("workflow",datajson.toString());
//clear sb so that we can use it again to fetch results from this post request
sb.delete(0,sb.length()-1);
System.out.println("BODY=>"+post);
-// System.out.println(postJson.toString(2));
connection.setRequestProperty("Authorization", basicAuth);
- connection.setRequestProperty("Accept", "application/json");
+ connection.setRequestProperty("Accept", "*/*");
connection.setRequestProperty("Content-Type", "application/json");
connection.setRequestMethod("POST");
connection.connect(); //send request
- DataOutputStream dos = new DataOutputStream(connection.getOutputStream());
+ /* DataOutputStream dos = new DataOutputStream(connection.getOutputStream());
dos.writeBytes(post);//write post data which is a formatted json data representing body of workflow
- //dos.writeUTF("");
+
dos.flush();
- dos.close();
+ dos.close();*/
/*
InputStream dis = connection.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(dis));
@@ -546,6 +542,7 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
sb.append(str);*/
System.out.println("Post Response Code: "+connection.getResponseCode());
System.out.println("Post response message: "+connection.getResponseMessage());
+ connection.disconnect();
}catch (IOException e){
e.printStackTrace();
sb.append("Error reading remote workflow. Please try again later");
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e6642608/app/src/main/java/org/apache/taverna/mobile/utils/xmlparsers/WorkflowParser.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/utils/xmlparsers/WorkflowParser.java b/app/src/main/java/org/apache/taverna/mobile/utils/xmlparsers/WorkflowParser.java
index a50bc41..f92837c 100644
--- a/app/src/main/java/org/apache/taverna/mobile/utils/xmlparsers/WorkflowParser.java
+++ b/app/src/main/java/org/apache/taverna/mobile/utils/xmlparsers/WorkflowParser.java
@@ -6,7 +6,6 @@ import com.thebuzzmedia.sjxp.rule.IRule;
import org.apache.taverna.mobile.fragments.WorkflowItemFragment;
import org.apache.taverna.mobile.tavernamobile.Workflow;
-import org.apache.taverna.mobile.utils.WorkflowDataCallback;
import java.util.List;
[18/34] incubator-taverna-mobile git commit: implemented workflow run
Results. Results now show up in a new screen
Posted by ia...@apache.org.
implemented workflow run Results. Results now show up in a new screen
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/ee887f37
Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/tree/ee887f37
Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/diff/ee887f37
Branch: refs/heads/master
Commit: ee887f37a5de9351cf18f248387e20d5a56c4f62
Parents: 6d7108e
Author: larrytech7 <la...@gmail.com>
Authored: Thu Jul 9 17:33:32 2015 +0100
Committer: larrytech7 <la...@gmail.com>
Committed: Thu Jul 9 17:33:32 2015 +0100
----------------------------------------------------------------------
.../taverna/mobile/activities/RunResult.java | 39 +----
.../mobile/fragments/WorkflowItemFragment.java | 4 +-
.../fragments/workflowdetails/RunFragment.java | 144 +++++++++++++++++++
.../workflowdetails/WorkflowdetailFragment.java | 9 +-
app/src/main/res/layout/fragment_run_result.xml | 123 +++++++++++++++-
app/src/main/res/menu/run_result.xml | 9 +-
app/src/main/res/values/strings.xml | 3 +
7 files changed, 283 insertions(+), 48 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/ee887f37/app/src/main/java/org/apache/taverna/mobile/activities/RunResult.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/activities/RunResult.java b/app/src/main/java/org/apache/taverna/mobile/activities/RunResult.java
index 2ae1a53..23d4c27 100644
--- a/app/src/main/java/org/apache/taverna/mobile/activities/RunResult.java
+++ b/app/src/main/java/org/apache/taverna/mobile/activities/RunResult.java
@@ -1,17 +1,12 @@
package org.apache.taverna.mobile.activities;
-import android.support.v7.app.ActionBarActivity;
-import android.support.v7.app.ActionBar;
-import android.support.v4.app.Fragment;
import android.os.Bundle;
-import android.view.LayoutInflater;
+import android.support.v7.app.ActionBarActivity;
import android.view.Menu;
import android.view.MenuItem;
-import android.view.View;
-import android.view.ViewGroup;
-import android.os.Build;
import org.apache.taverna.mobile.R;
+import org.apache.taverna.mobile.fragments.workflowdetails.RunFragment;
public class RunResult extends ActionBarActivity {
@@ -21,47 +16,21 @@ public class RunResult extends ActionBarActivity {
setContentView(R.layout.activity_run_result);
if (savedInstanceState == null) {
getSupportFragmentManager().beginTransaction()
- .add(R.id.container, new PlaceholderFragment())
+ .add(R.id.container, RunFragment.newInstance())
.commit();
}
}
-
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
- getMenuInflater().inflate(R.menu.run_result, menu);
- return true;
+ return false;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
- // Handle action bar item clicks here. The action bar will
- // automatically handle clicks on the Home/Up button, so long
- // as you specify a parent activity in AndroidManifest.xml.
- int id = item.getItemId();
-
- //noinspection SimplifiableIfStatement
- if (id == R.id.action_settings) {
- return true;
- }
return super.onOptionsItemSelected(item);
}
- /**
- * A placeholder fragment containing a simple view.
- */
- public static class PlaceholderFragment extends Fragment {
-
- public PlaceholderFragment() {
- }
-
- @Override
- public View onCreateView(LayoutInflater inflater, ViewGroup container,
- Bundle savedInstanceState) {
- View rootView = inflater.inflate(R.layout.fragment_run_result, container, false);
- return rootView;
- }
- }
}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/ee887f37/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 fd53c44..a2e2a4d 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
@@ -262,9 +262,7 @@ public class WorkflowItemFragment extends Fragment implements SwipeRefreshLayout
ladapter.addWorkflow(workflow);
}
}
- else {
- Toast.makeText(getActivity(), "No workflows available", Toast.LENGTH_SHORT).show();
- }
+
mListView.swapAdapter(ladapter, true);
if (ladapter.getItemCount() == 0)
Toast.makeText(getActivity(), "No workflows found matching criteria", Toast.LENGTH_SHORT).show();
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/ee887f37/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/RunFragment.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/RunFragment.java b/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/RunFragment.java
new file mode 100644
index 0000000..c1d8cdf
--- /dev/null
+++ b/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/RunFragment.java
@@ -0,0 +1,144 @@
+package org.apache.taverna.mobile.fragments.workflowdetails;
+
+
+import android.os.Bundle;
+import android.support.v4.app.Fragment;
+import android.view.LayoutInflater;
+import android.view.Menu;
+import android.view.MenuInflater;
+import android.view.MenuItem;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.Button;
+import android.widget.ImageButton;
+import android.widget.TextView;
+
+import org.apache.taverna.mobile.R;
+import org.json.JSONException;
+import org.json.JSONObject;
+import org.w3c.dom.Text;
+
+/**
+ * A simple {@link Fragment} subclass.
+ * Use the {@link RunFragment#newInstance} factory method to
+ * create an instance of this fragment.
+ */
+public class RunFragment extends Fragment implements View.OnClickListener{
+
+ private View rootView;
+ private static int RUNID;
+ private TextView runIdTextView,runNameTextView;
+ private ImageButton status;
+ private TextView runStateTextView, runStartTime,runEndTime, runInputsText;
+ private Button downloadOutput,downloadLogs;
+
+ /**
+ * Use this factory method to create a new instance of
+ * this fragment using the provided parameters.
+ *
+ * @return A new instance of fragment RunFragment.
+ */
+ public static RunFragment newInstance() {
+ RunFragment fragment = new RunFragment();
+ Bundle args = new Bundle();
+ fragment.setArguments(args);
+ RUNID = 0 ;
+ return fragment;
+ }
+
+ public RunFragment() {
+ // Required empty public constructor
+ }
+
+ @Override
+ public void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setHasOptionsMenu(true);
+ }
+
+ @Override
+ public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
+ rootView = inflater.inflate(R.layout.fragment_run_result, container, false);
+ runIdTextView = (TextView) rootView.findViewById(R.id.textview_runid);
+ runNameTextView = (TextView) rootView.findViewById(R.id.textView_runName);
+ status = (ImageButton) rootView.findViewById(R.id.statusButton);
+ runStateTextView = (TextView) rootView.findViewById(R.id.statusTextView);
+ runStartTime = (TextView) rootView.findViewById(R.id.start_time);
+ runEndTime = (TextView) rootView.findViewById(R.id.runfinish);
+ runInputsText = (TextView) rootView.findViewById(R.id.runinputsTextView);
+ downloadOutput = (Button) rootView.findViewById(R.id.buttonWorkflowDownloadOutput);
+ downloadLogs = (Button) rootView.findViewById(R.id.downloadRunLogs);
+
+ return rootView;
+ }
+
+ @Override
+ public void onCreateOptionsMenu(Menu menu,MenuInflater menuInflater) {
+ // Inflate the menu; this adds items to the action bar if it is present.
+ menuInflater.inflate(R.menu.run_result, menu);
+ return;
+ }
+
+ @Override
+ public void onResume() {
+ super.onResume();
+ String runresult = getActivity().getIntent().getStringExtra("runresult");
+ try{
+ JSONObject resultObject = new JSONObject(runresult);
+ String runName = resultObject.getString("name");
+ String runId = ""+resultObject.get("id");
+ String runState = resultObject.getString("state");
+ String runStarted = resultObject.getString("start_time");
+ String runEnded = resultObject.getString("finish_time");
+ String runInputs = resultObject.getString("inputs");
+
+ runIdTextView.setText(runId);
+ runNameTextView.setText(runName);
+
+ if(runState.contains("Pending"))
+ status.setImageResource(android.R.drawable.presence_busy);
+ else if (runState.contains("Running"))
+ status.setImageResource(android.R.drawable.presence_away);
+ else if (runState.contains("Finished"))
+ status.setImageResource(android.R.drawable.presence_online);
+ else if (runState.contains("Failed"))
+ status.setImageResource(android.R.drawable.presence_offline);
+ else
+ status.setImageResource(android.R.drawable.presence_invisible);
+
+ runStateTextView.setText(runState);
+ runStartTime.setHint(runStarted);
+ runEndTime.setHint(runEnded);
+ runInputsText.setText(runInputs);
+
+ downloadOutput.setOnClickListener(this);
+ downloadLogs.setOnClickListener(this);
+
+ } catch (JSONException e) {
+ e.printStackTrace();
+ }
+ }
+
+ @Override
+ public boolean onOptionsItemSelected(MenuItem item) {
+ // Handle action bar item clicks here. The action bar will
+ // automatically handle clicks on the Home/Up button, so long
+ // as you specify a parent activity in AndroidManifest.xml.
+ int id = item.getItemId();
+ if (id == R.id.action_refresh) {
+ //TODO start task to retrieve current status of workflow and further details
+ return true;
+ }
+
+ return super.onOptionsItemSelected(item);
+ }
+
+ private void reloadRunResult(){
+ //TODO reload the run results when refreshed
+ }
+
+ @Override
+ public void onClick(View view) {
+
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/ee887f37/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 e0aa350..bbc0fc6 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
@@ -31,6 +31,7 @@ import android.app.LoaderManager;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.DialogInterface;
+import android.content.Intent;
import android.content.Loader;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
@@ -56,6 +57,7 @@ import android.widget.ZoomControls;
import org.apache.taverna.mobile.R;
import org.apache.taverna.mobile.activities.DashboardMainActivity;
+import org.apache.taverna.mobile.activities.RunResult;
import org.apache.taverna.mobile.tavernamobile.TavernaPlayerAPI;
import org.apache.taverna.mobile.tavernamobile.User;
import org.apache.taverna.mobile.tavernamobile.Workflow;
@@ -194,7 +196,7 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
@Override
public void onResume() {
super.onResume();
- if(!LOAD_STATE)
+ // if(!LOAD_STATE)
getActivity().getLoaderManager().initLoader(1, null, this).forceLoad();
}
@@ -204,7 +206,6 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
LOAD_STATE = true;
}
-
@Override
public Loader<Workflow> onCreateLoader(int i, Bundle bundle) {
progressDialog.show();
@@ -645,6 +646,10 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
Log.i("RUN OutPut", s);
progressDialog.dismiss();
//TODO startup the runActivity to display the run results
+ Intent runIntent = new Intent();
+ runIntent.setClass(this.context, RunResult.class);
+ runIntent.putExtra("runresult", s);
+ startActivity(runIntent);
}
}
}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/ee887f37/app/src/main/res/layout/fragment_run_result.xml
----------------------------------------------------------------------
diff --git a/app/src/main/res/layout/fragment_run_result.xml b/app/src/main/res/layout/fragment_run_result.xml
index ccb985c..ee8cc46 100644
--- a/app/src/main/res/layout/fragment_run_result.xml
+++ b/app/src/main/res/layout/fragment_run_result.xml
@@ -1,12 +1,125 @@
-<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
- tools:context="org.apache.taverna.mobile.activities.RunResult$PlaceholderFragment">
+ tools:context="org.apache.taverna.mobile.activities.RunResult$PlaceholderFragment"
+ android:orientation="vertical"
+ >
- <TextView android:text="@string/hello_world" android:layout_width="wrap_content"
- android:layout_height="wrap_content" />
+ <LinearLayout
+ android:orientation="horizontal"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginBottom="10dp">
-</RelativeLayout>
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:textAppearance="?android:attr/textAppearanceLarge"
+ android:id="@+id/textView_runName"
+ android:layout_weight="2" />
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:background="@drawable/abc_btn_radio_to_on_mtrl_000"
+ android:id="@+id/textview_runid"
+ android:layout_gravity="left"
+ android:layout_weight="1"
+ android:text="1"
+ android:gravity="center" />
+ </LinearLayout>
+
+ <LinearLayout
+ android:orientation="horizontal"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginBottom="10dp">
+
+ <ImageButton
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:id="@+id/statusButton"
+ android:src="@android:drawable/presence_online"
+ android:background="#eee" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:textAppearance="?android:attr/textAppearanceMedium"
+ android:text="Medium Text"
+ android:id="@+id/statusTextView" />
+ </LinearLayout>
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textAppearance="?android:attr/textAppearanceMedium"
+ android:text="@string/runstarted"
+ android:id="@+id/textView11"
+ android:gravity="center"
+ android:layout_gravity="center_horizontal"
+ android:textSize="25dp" />
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textAppearance="?android:attr/textAppearanceMedium"
+ android:id="@+id/start_time"
+ android:hint="started" />
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textAppearance="?android:attr/textAppearanceLarge"
+ android:text="@string/run_finishtime"
+ android:id="@+id/textView12"
+ android:textSize="25dp"
+ android:layout_gravity="center_horizontal" />
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textAppearance="?android:attr/textAppearanceMedium"
+ android:id="@+id/runfinish"
+ android:hint="finish" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:textAppearance="?android:attr/textAppearanceLarge"
+ android:text="inputs from run"
+ android:id="@+id/runinputsTextView"
+ android:minLines="5"
+ android:layout_marginTop="10dp"
+ android:layout_weight="1.5"
+ android:layout_marginBottom="10dp" />
+
+ <LinearLayout
+ android:orientation="horizontal"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content">
+
+ <Button
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="download output"
+ android:id="@+id/buttonWorkflowDownloadOutput"
+ android:layout_weight="1"
+ android:background="#1F9FEA"
+ android:layout_marginRight="5dp" />
+
+ <Button
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="Download Logs"
+ android:id="@+id/downloadRunLogs"
+ android:layout_gravity="center_horizontal"
+ android:layout_weight="1"
+ android:background="#1F9FEA"
+ android:layout_marginLeft="5dp" />
+ </LinearLayout>
+
+</LinearLayout>
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/ee887f37/app/src/main/res/menu/run_result.xml
----------------------------------------------------------------------
diff --git a/app/src/main/res/menu/run_result.xml b/app/src/main/res/menu/run_result.xml
index 35d088f..e10c15a 100644
--- a/app/src/main/res/menu/run_result.xml
+++ b/app/src/main/res/menu/run_result.xml
@@ -1,7 +1,10 @@
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
- tools:context="org.apache.taverna.mobile.activities.RunResult">
- <item android:id="@+id/action_settings" android:title="@string/action_settings"
- android:orderInCategory="100" app:showAsAction="never" />
+ tools:context="org.apache.taverna.mobile.fragments.workflowdetails.RunFragment">
+
+ <item android:id="@+id/action_refresh"
+ android:title="Refresh"
+ app:showAsAction="always|withText"
+ android:icon="@android:drawable/stat_notify_sync"/>
</menu>
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/ee887f37/app/src/main/res/values/strings.xml
----------------------------------------------------------------------
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index cd8c074..d785370 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -94,5 +94,8 @@ limitations under the License.
<string name="playerpass">Password</string>
<string name="myexperimenttitle">Configure MyExperiment Account</string>
<string name="myexperimentsummary">Username used to login to MyExperiment</string>
+ <string name="title_activity_run_result">Workflow Run Result</string>
+ <string name="runstarted">Run Started</string>
+ <string name="run_finishtime">Run finish Time</string>
</resources>
[21/34] incubator-taverna-mobile git commit: implemented workflow run
Results. Results now show up in a new screen
Posted by ia...@apache.org.
implemented workflow run Results. Results now show up in a new screen
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/5699f7c7
Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/tree/5699f7c7
Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/diff/5699f7c7
Branch: refs/heads/master
Commit: 5699f7c7e6161132fe7347ed04970d8260b17051
Parents: 45b4e37
Author: larrytech7 <la...@gmail.com>
Authored: Fri Jul 10 01:35:11 2015 +0100
Committer: larrytech7 <la...@gmail.com>
Committed: Fri Jul 10 01:35:11 2015 +0100
----------------------------------------------------------------------
.../fragments/workflowdetails/RunFragment.java | 98 +++++++++++++++++++-
1 file changed, 96 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/5699f7c7/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/RunFragment.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/RunFragment.java b/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/RunFragment.java
index 3622944..3dbde9e 100644
--- a/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/RunFragment.java
+++ b/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/RunFragment.java
@@ -1,9 +1,12 @@
package org.apache.taverna.mobile.fragments.workflowdetails;
+import android.content.Context;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.text.method.ScrollingMovementMethod;
+import android.util.Base64;
+import android.util.Log;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuInflater;
@@ -15,10 +18,21 @@ import android.widget.ImageButton;
import android.widget.TextView;
import org.apache.taverna.mobile.R;
+import org.apache.taverna.mobile.tavernamobile.TavernaPlayerAPI;
import org.json.JSONException;
import org.json.JSONObject;
import org.w3c.dom.Text;
+import java.io.BufferedReader;
+import java.io.DataOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.net.HttpURLConnection;
+import java.net.URL;
+import java.util.Timer;
+import java.util.TimerTask;
+
/**
* A simple {@link Fragment} subclass.
* Use the {@link RunFragment#newInstance} factory method to
@@ -32,6 +46,7 @@ public class RunFragment extends Fragment implements View.OnClickListener{
private ImageButton status;
private TextView runStateTextView, runStartTime,runEndTime, runInputsText;
private Button downloadOutput,downloadLogs;
+ private int run_id;
/**
* Use this factory method to create a new instance of
@@ -87,7 +102,8 @@ public class RunFragment extends Fragment implements View.OnClickListener{
try{
JSONObject resultObject = new JSONObject(runresult);
String runName = resultObject.getString("name");
- String runId = ""+resultObject.get("id");
+ run_id = (int) resultObject.get("id");
+ String runId = ""+run_id;
String runState = resultObject.getString("state");
String runStarted = resultObject.getString("start_time");
String runEnded = resultObject.getString("finish_time");
@@ -128,7 +144,7 @@ public class RunFragment extends Fragment implements View.OnClickListener{
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_refresh) {
- //TODO start task to retrieve current status of workflow and further details
+ reloadRunResult();
return true;
}
@@ -137,10 +153,88 @@ public class RunFragment extends Fragment implements View.OnClickListener{
private void reloadRunResult(){
//TODO reload the run results when refreshed
+ Timer t = new Timer();
+ t.scheduleAtFixedRate(new RunTimerTask(getActivity(), run_id), 0, 5000);
}
@Override
public void onClick(View view) {
}
+
+ public void updateRun(final JSONObject runInfo){
+
+ getActivity().runOnUiThread(new Runnable() {
+ @Override
+ public void run() {
+ try {
+ runStartTime.setHint(runInfo.getString("start_time"));
+ runEndTime.setHint(runInfo.getString("finish_time"));
+
+ if(runInfo.getString("state").contains("Pending"))
+ status.setImageResource(android.R.drawable.presence_busy);
+ else if (runInfo.getString("state").contains("Running"))
+ status.setImageResource(android.R.drawable.presence_away);
+ else if (runInfo.getString("state").contains("Finished"))
+ status.setImageResource(android.R.drawable.presence_online);
+ else if (runInfo.getString("state").contains("Failed"))
+ status.setImageResource(android.R.drawable.presence_offline);
+ else
+ status.setImageResource(android.R.drawable.presence_invisible);
+ } catch (JSONException e) {
+ e.printStackTrace();
+ }
+ }
+ });
+ }
+
+ private class RunTimerTask extends TimerTask {
+
+ private Context context;
+ private int runid;
+
+ public RunTimerTask(Context context, int runID) {
+ this.context = context;
+ this.runid = runID;
+ }
+
+ @Override
+ public void run() {
+ //QUERY player for the continuous status of the workflow run and update the ui with the results
+ StringBuffer sb = new StringBuffer();
+ try {
+
+ URL workflowurl = new URL(new TavernaPlayerAPI(this.context).PLAYER_RUN_URL+this.runid);
+ 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.setRequestProperty("Content-Type", "application/json");
+ connection.setRequestMethod("GET");
+ connection.connect(); //send request
+
+ InputStream dis = connection.getInputStream();
+ BufferedReader br = new BufferedReader(new InputStreamReader(dis));
+
+ String jsonData = "";
+ while ((jsonData = br.readLine()) != null) {
+ //json results of the full workflow details
+ sb.append(jsonData);
+ }
+ dis.close();
+ br.close();
+ connection.disconnect();
+
+ JSONObject runInfo = new JSONObject(sb.toString());
+ updateRun(runInfo);
+
+ }catch (IOException ex){
+ ex.printStackTrace();
+ } catch (JSONException e) {
+ e.printStackTrace();
+ }
+ }
+ }
}
[09/34] incubator-taverna-mobile git commit: parsing workflow
favorites
Posted by ia...@apache.org.
parsing workflow favorites
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/1d88f271
Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/tree/1d88f271
Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/diff/1d88f271
Branch: refs/heads/master
Commit: 1d88f27162b81c30a6201ed8185f19a8da496b46
Parents: 8720f7a
Author: larrytech7 <la...@gmail.com>
Authored: Fri Jul 3 14:37:16 2015 +0100
Committer: larrytech7 <la...@gmail.com>
Committed: Fri Jul 3 14:37:16 2015 +0100
----------------------------------------------------------------------
.../fragments/workflowdetails/WorkflowdetailFragment.java | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/1d88f271/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 5bb6587..caa3bac 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
@@ -519,17 +519,17 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
sb.append(str); //in this string builder we have read the .t2flow or xml workflow from remote resource. Now we need to post that to the player.
bufferedReader.close();
-// String data = "{\"document\":\"data:application/octet-stream;base64,"+Base64.encodeToString(sb.toString().getBytes(), Base64.DEFAULT)+"\"}";
- String data = "{document:data:application/octet-stream;base64,"+Base64.encodeToString(sb.toString().getBytes(), Base64.DEFAULT)+"}";
+ String data = "{\"document\":\"data:application/octet-stream;base64,"+Base64.encodeToString(sb.toString().getBytes(), Base64.DEFAULT)+"\"}";
+// String data = "{document:data:application/octet-stream;base64,"+Base64.encodeToString(sb.toString().getBytes(), Base64.DEFAULT)+"}";
// datajson.put("document", "data:application/octet-stream;base64,"+Base64.encodeToString(sb.toString().getBytes(), Base64.DEFAULT)+"");
- String post = "{workflow:"+data+"}";
+ String post = "{\"workflow\":"+data+"}";
// postJson.put("workflow",datajson.toString());
//clear sb so that we can use it again to fetch results from this post request
sb.delete(0,sb.length()-1);
System.out.println("BODY=>"+post);
// System.out.println(postJson.toString(2));
connection.setRequestProperty("Authorization", basicAuth);
- // connection.setRequestProperty("Accept", "application/json");
+ connection.setRequestProperty("Accept", "application/json");
connection.setRequestProperty("Content-Type", "application/json");
connection.setRequestMethod("POST");
connection.connect(); //send request
[26/34] incubator-taverna-mobile git commit: fixing run workflow from
local storage
Posted by ia...@apache.org.
fixing run workflow from local storage
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/1619a172
Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/tree/1619a172
Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/diff/1619a172
Branch: refs/heads/master
Commit: 1619a17271dabd086e248f7f29c2b83ebf07798f
Parents: 53d7bc8
Author: larrytech7 <la...@gmail.com>
Authored: Sat Jul 11 23:13:14 2015 +0100
Committer: larrytech7 <la...@gmail.com>
Committed: Sat Jul 11 23:13:14 2015 +0100
----------------------------------------------------------------------
app/src/main/res/drawable/ic_download_web.jpg | Bin 0 -> 2230 bytes
.../main/res/layout/fragment_workflow_detail.xml | 5 +++--
2 files changed, 3 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/1619a172/app/src/main/res/drawable/ic_download_web.jpg
----------------------------------------------------------------------
diff --git a/app/src/main/res/drawable/ic_download_web.jpg b/app/src/main/res/drawable/ic_download_web.jpg
new file mode 100755
index 0000000..27b0373
Binary files /dev/null and b/app/src/main/res/drawable/ic_download_web.jpg differ
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/1619a172/app/src/main/res/layout/fragment_workflow_detail.xml
----------------------------------------------------------------------
diff --git a/app/src/main/res/layout/fragment_workflow_detail.xml b/app/src/main/res/layout/fragment_workflow_detail.xml
index 8a9b7fc..9bab19c 100644
--- a/app/src/main/res/layout/fragment_workflow_detail.xml
+++ b/app/src/main/res/layout/fragment_workflow_detail.xml
@@ -127,11 +127,12 @@ limitations under the License.
android:background="#33b5e5"
style="android:buttonBarButtonStyle"
android:text="@string/workflow_download"
- android:drawableLeft="@drawable/download"
android:layout_marginLeft="2dp"
android:layout_marginRight="2dp"
android:id="@+id/download_wk"
- android:paddingLeft="5dp" />
+ android:paddingLeft="5dp"
+ android:elegantTextHeight="true"
+ android:drawableLeft="@drawable/ic_download_web" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
[04/34] incubator-taverna-mobile git commit: Implementing workflow
run creation over Taverna Player
Posted by ia...@apache.org.
Implementing workflow run creation over Taverna Player
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/8d1bf189
Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/tree/8d1bf189
Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/diff/8d1bf189
Branch: refs/heads/master
Commit: 8d1bf189a51f8fc14b99fe9faf389e6ba0b2ab64
Parents: d743850
Author: larrytech7 <la...@gmail.com>
Authored: Thu Jul 2 01:02:15 2015 +0100
Committer: larrytech7 <la...@gmail.com>
Committed: Thu Jul 2 01:02:15 2015 +0100
----------------------------------------------------------------------
.../activities/WorkflowDetailActivity.java | 3 -
.../mobile/fragments/WorkflowItemFragment.java | 44 +++++++-
.../workflowdetails/WorkflowdetailFragment.java | 103 ++++++++++++++++++-
.../mobile/tavernamobile/TavernaPlayerAPI.java | 8 ++
app/src/main/res/values/strings.xml | 6 ++
app/src/main/res/xml/pref_general.xml | 47 ++++++++-
6 files changed, 203 insertions(+), 8 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/8d1bf189/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 7c43b73..b0ccb12 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
@@ -31,10 +31,8 @@ import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v7.app.ActionBarActivity;
-import android.view.KeyEvent;
import android.view.Menu;
import android.view.MenuItem;
-import android.view.Window;
import org.apache.taverna.mobile.R;
import org.apache.taverna.mobile.fragments.workflowdetails.WorkflowAboutFragment;
@@ -141,7 +139,6 @@ public class WorkflowDetailActivity extends ActionBarActivity {
return "";
}
-
}
}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/8d1bf189/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 b206f01..bd0742d 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
@@ -30,6 +30,13 @@ import android.app.SearchManager;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
+import android.graphics.Canvas;
+import android.graphics.Color;
+import android.graphics.Paint;
+import android.graphics.PorterDuff;
+import android.graphics.PorterDuffXfermode;
+import android.graphics.Rect;
+import android.graphics.RectF;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v4.app.Fragment;
@@ -59,6 +66,7 @@ import org.apache.taverna.mobile.tavernamobile.Workflow;
import org.apache.taverna.mobile.utils.AvatarLoader;
import org.apache.taverna.mobile.utils.WorkflowLoader;
+import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
@@ -333,6 +341,8 @@ public class WorkflowItemFragment extends Fragment implements SwipeRefreshLayout
connection.connect();
InputStream input = connection.getInputStream();
myBitmap = BitmapFactory.decodeStream(input);
+ input.close();
+
} catch (IOException e) {
e.printStackTrace();
}
@@ -343,7 +353,39 @@ public class WorkflowItemFragment extends Fragment implements SwipeRefreshLayout
protected void onPostExecute(Bitmap bitmap) {
img.setImageBitmap(bitmap);
/// img.setBackground();
- notify();
+// notify();
+ }
+ private Bitmap ProcessingBitmap(Bitmap bmp){
+ Bitmap bm1 = null;
+ Bitmap newBitmap = null;
+
+ bm1 = bmp;
+ int w = bm1.getWidth();
+ int h = bm1.getHeight();
+
+ Bitmap.Config config = bm1.getConfig();
+ if(config == null){
+ config = Bitmap.Config.ARGB_8888;
+ }
+
+ newBitmap = Bitmap.createBitmap(w, h, config);
+ Canvas newCanvas = new Canvas(newBitmap);
+ newCanvas.drawColor(Color.WHITE);
+
+ Paint paint = new Paint();
+ paint.setColor(Color.TRANSPARENT);
+ Rect frame = new Rect(
+ (int)(w*0.05),
+ (int)(w*0.05),
+ (int)(w*0.95),
+ (int)(h*0.95));
+ RectF frameF = new RectF(frame);
+ newCanvas.drawRoundRect(frameF, (float)(w*0.5), (float)(h*0.05), paint);
+
+ paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SCREEN));
+ newCanvas.drawBitmap(bm1, 0, 0, paint);
+
+ return newBitmap;
}
}
}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/8d1bf189/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 8d96e13..c052870 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
@@ -76,6 +76,7 @@ import org.w3c.dom.Text;
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.File;
+import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
@@ -160,7 +161,8 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
switch(view.getId()){
case R.id.run_wk:
//TODO implement functionality to issue a run request to the Taverna PLAYER to run the current workflow
- new WorkflowRunTask(getActivity()).execute(""+WORKFLO_ID);
+ //new WorkflowRunTask(getActivity()).execute(""+WORKFLO_ID);
+ new WorkflowProcessTask(getActivity()).execute(download_url);
break;
case R.id.download_wk:
// start the android Download manager to start downloading a remote workflow file
@@ -305,6 +307,7 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
}
});
}
+
private static class LoadImageThread extends AsyncTask<String, Void, Bitmap>{
ImageView imageView;
String src ;
@@ -355,7 +358,7 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
edt.setId(i);
return edt;
}
-//fetch and compute the framework on which the run inputs are to be built and entered
+ //fetch and compute the framework on which the run inputs are to be built and entered
private class WorkflowRunTask extends AsyncTask<String, Void, String>{
private Context context;
@@ -477,7 +480,100 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
runDialog.show();
}
}
- //Send request for the execution of a run on the server through the player
+
+ /**
+ * Send request for the execution of a run on a Taverna server through the Taverna player using the Player API
+ * This process passes through several steps,\n
+ * 1- Downloading and caching a local version of the workflow whose run we need \n
+ * 2- uploading the workflow through the portal to register it so a run can be generated from it. The request requires some authentication
+ * 3- Retrieving the results and extracting data required to create a run (the workflow_id) as provided by the results
+ * 4- Posting a run request to the player so that a new run can be created and started
+ * 5- retrieving a run framework so that users can know what types of input is expected for a successful run
+ * 6- retrieving and displaying run results
+ */
+ private class WorkflowProcessTask extends AsyncTask<String, Void, String>{
+
+ private Context context;
+
+ private WorkflowProcessTask(Context context) {
+ this.context = context;
+ }
+
+ @Override
+ protected void onPreExecute() {
+ progressDialog.setMessage("Uploading Workflow ... ");
+ progressDialog.show();
+ }
+
+ @Override
+ protected String doInBackground(String... params) {
+ StringBuffer sb = new StringBuffer();
+ try {
+ //prepare connection requests
+ URL workflowurl = new URL(params[0]); //the resource xml file representing the workflow to be uploaded to the player
+ URL posturl = new URL(new TavernaPlayerAPI(this.context).PLAYER_BASE_URL+"workflows.json");
+ HttpURLConnection connection = (HttpURLConnection) posturl.openConnection();
+ HttpURLConnection wconn = (HttpURLConnection) workflowurl.openConnection();
+ wconn.setRequestMethod("GET");
+ wconn.setDoOutput(true);
+ wconn.setRequestProperty("Accept", "application/xml");
+ //wconn.setConnectTimeout(60000);
+ wconn.connect();
+
+ String user = "icep603@gmail.com" + ":" + "creationfox";
+ String basicAuth = "Basic " + Base64.encodeToString(user.getBytes(), Base64.DEFAULT);
+ //read the file from remote resource and encode the stream with a base64 algorithm
+ BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(wconn.getInputStream()));
+ String str = "";
+ while ((str = bufferedReader.readLine()) != null)
+ sb.append(str); //in this string builder we have read the .t2flow or xml workflow from remote resource. Now we need to post that to the player.
+ bufferedReader.close();
+
+ //prepare post json data
+ JSONObject postJson = new JSONObject();
+ JSONObject datajson = new JSONObject();
+ datajson.put("document", "data:application/octet-stream;base64,"+Base64.encodeToString(sb.toString().getBytes(), Base64.DEFAULT)+"");
+ postJson.put("workflow",datajson.toString());
+ //clear sb so that we can use it again to fetch results from this post request
+ sb.delete(0,sb.length()-1);
+ System.out.println(postJson.toString(2));
+ connection.setRequestProperty("Authorization", basicAuth);
+ // connection.setRequestProperty("Accept", "application/json");
+ connection.setRequestProperty("Content-Type", "application/json");
+ connection.setRequestMethod("POST");
+ connection.connect(); //send request
+
+ DataOutputStream dos = new DataOutputStream(connection.getOutputStream());
+ dos.writeBytes(postJson.toString());//write post data which is a formatted json data representing body of workflow
+ //dos.writeUTF("");
+ dos.flush();
+ dos.close();
+
+ InputStream dis = connection.getInputStream();
+ BufferedReader br = new BufferedReader(new InputStreamReader(dis));
+ while ((str = br.readLine())!= null)
+ sb.append(str);
+ System.out.println("Post Response Code: "+connection.getResponseCode());
+ System.out.println("Post response message: "+connection.getResponseMessage());
+ }catch (IOException e){
+ e.printStackTrace();
+ sb.append("Error reading remote workflow. Please try again later");
+ } catch (JSONException e) {
+ e.printStackTrace();
+ sb.append("Invalid data format: JSON DATA");
+ }
+ return sb.toString();
+ }
+
+ @Override
+ protected void onPostExecute(String s) {
+ System.out.println(s);
+ progressDialog.dismiss();
+ }
+ }
+ /**
+ * creates a new workflow run from the
+ */
private class RunTask extends AsyncTask<String, Void, String>{
private Context context;
@@ -542,6 +638,7 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
protected void onPostExecute(String s) {
Log.i("RUN OutPut", s);
progressDialog.dismiss();
+ //TODO startup the runActivity to display the run results
}
}
}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/8d1bf189/app/src/main/java/org/apache/taverna/mobile/tavernamobile/TavernaPlayerAPI.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/tavernamobile/TavernaPlayerAPI.java b/app/src/main/java/org/apache/taverna/mobile/tavernamobile/TavernaPlayerAPI.java
index 63d3b06..0b16de1 100644
--- a/app/src/main/java/org/apache/taverna/mobile/tavernamobile/TavernaPlayerAPI.java
+++ b/app/src/main/java/org/apache/taverna/mobile/tavernamobile/TavernaPlayerAPI.java
@@ -75,6 +75,14 @@ public class TavernaPlayerAPI {
return PLAYER_RUN_FRAMEWORK_URL;
}
+ public static String getPlayerUserName(Context c){
+ return PreferenceManager.getDefaultSharedPreferences(c).getString("pref_user","default");
+ }
+
+ public static String getPlayerUserPassword(Context c){
+ return PreferenceManager.getDefaultSharedPreferences(c).getString("pref_password","default");
+ }
+
public static class Authenticator extends java.net.Authenticator{
private String username, password;
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/8d1bf189/app/src/main/res/values/strings.xml
----------------------------------------------------------------------
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index dc320b3..3bf6202 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -88,5 +88,11 @@ limitations under the License.
<string name="about">Mobile Application for managing Taverna workflows on the fly.<br/>
View, run and download workflows at a convenience on your android mobile<br/>
device. \n\n <br/><b>Developed at Apache Taverna and Powered by MyExperiment</b><br/></string>
+ <string name="playerconfig">Configure Player Account</string>
+ <string name="playerconfig_summary">Set username/password used to login to Taverna player portal</string>
+ <string name="playeruser">Username/email</string>
+ <string name="playerpass">Password</string>
+ <string name="myexperimenttitle">Configure MyExperiment Account</string>
+ <string name="myexperimentsummary">Set username/password used to login to MyExperiment</string>
</resources>
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/8d1bf189/app/src/main/res/xml/pref_general.xml
----------------------------------------------------------------------
diff --git a/app/src/main/res/xml/pref_general.xml b/app/src/main/res/xml/pref_general.xml
index cfa5985..03a0b11 100644
--- a/app/src/main/res/xml/pref_general.xml
+++ b/app/src/main/res/xml/pref_general.xml
@@ -28,6 +28,51 @@
android:capitalize="words"
android:singleLine="true"
android:maxLines="1" />
-
+ <PreferenceCategory
+ android:icon="@drawable/gear_icon"
+ android:summary="@string/playerconfig_summary"
+ android:title="@string/playerconfig">
+ <EditTextPreference
+ android:key="pref_user"
+ android:title="@string/playeruser"
+ android:summary="@string/pref_server_des"
+ android:defaultValue="@string/pref_server_default"
+ android:selectAllOnFocus="true"
+ android:inputType="textEmailAddress|textPersonName"
+ android:singleLine="true"
+ android:maxLines="1" />
+ <EditTextPreference
+ android:key="pref_password"
+ android:title="@string/playerpass"
+ android:summary="@string/pref_server_des"
+ android:defaultValue="@string/pref_server_default"
+ android:selectAllOnFocus="true"
+ android:inputType="textPassword"
+ android:singleLine="true"
+ android:maxLines="1" />
+ </PreferenceCategory>
+ <PreferenceCategory
+ android:icon="@drawable/gear_icon"
+ android:summary="@string/myexperimentsummary"
+ android:title="@string/myexperimenttitle">
+ <EditTextPreference
+ android:key="myexperimentuser"
+ android:title="@string/playeruser"
+ android:summary="@string/pref_server_des"
+ android:defaultValue="@string/pref_server_default"
+ android:selectAllOnFocus="true"
+ android:inputType="textEmailAddress|textPersonName"
+ android:singleLine="true"
+ android:maxLines="1" />
+ <EditTextPreference
+ android:key="myexperimentpass"
+ android:title="@string/playerpass"
+ android:summary="@string/pref_server_des"
+ android:defaultValue="@string/pref_server_default"
+ android:selectAllOnFocus="true"
+ android:inputType="textPassword"
+ android:singleLine="true"
+ android:maxLines="1" />
+ </PreferenceCategory>
</PreferenceScreen>
[12/34] incubator-taverna-mobile git commit: Fixed mark workflow as
favorite. Button still disappears though but functions great.
Posted by ia...@apache.org.
Fixed mark workflow as favorite. Button still disappears though but functions great.
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/e031e8fd
Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/tree/e031e8fd
Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/diff/e031e8fd
Branch: refs/heads/master
Commit: e031e8fd06b741fc9fd4eba2863a16573be18c05
Parents: c87abf8
Author: larrytech7 <la...@gmail.com>
Authored: Sun Jul 5 19:31:23 2015 +0100
Committer: larrytech7 <la...@gmail.com>
Committed: Sun Jul 5 19:31:23 2015 +0100
----------------------------------------------------------------------
.../mobile/adapters/WorkflowAdapter.java | 21 ++++++++++----------
.../workflowdetails/WorkflowdetailFragment.java | 6 +++---
2 files changed, 14 insertions(+), 13 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e031e8fd/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 c18d60c..4f57766 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
@@ -114,13 +114,9 @@ public class WorkflowAdapter extends RecyclerView.Adapter<WorkflowAdapter.ViewHo
final String author = workflow.get(i).getWorkflow_author();
final String title = workflow.get(i).getWorkflow_title();
String description = workflow.get(i).getWorkflow_description();
- String uri = workflow.get(i).getWorkflow_details_url();
+ final String uri = workflow.get(i).getWorkflow_details_url();
final String desc_full = description;
- final ArrayList<Object> mfav = new ArrayList<Object>();
- //save current workflow as favorite
- mfav.add(wid); mfav.add(author);mfav.add(title);mfav.add(desc_full); mfav.add(SimpleDateFormat.getDateTimeInstance().format(new Date()).toString());
- mfav.add(uri);
if(description.length() > 80) description = description.substring(0, 79);
viewHolder.author_name.setHint(author);
viewHolder.wk_title.setHint(title);
@@ -144,7 +140,16 @@ public class WorkflowAdapter extends RecyclerView.Adapter<WorkflowAdapter.ViewHo
viewHolder.btn_mark_workflow.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
+ ArrayList<Object> mfav = new ArrayList<Object>();
+ //save current workflow as favorite
+ 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();
if(saved) {
Toast.makeText(context, "Workflow marked as favorite", Toast.LENGTH_SHORT).show();
@@ -165,11 +170,7 @@ public class WorkflowAdapter extends RecyclerView.Adapter<WorkflowAdapter.ViewHo
viewHolder.infolayout.setVisibility(View.GONE);
}
});
- try {
- favDB.put(mfav);
- } catch (JSONException e) {
- e.printStackTrace();
- }
+
synchronized (this){
new DetailLinkLoader().execute(uri);
}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e031e8fd/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 5e6594e..68ebf09 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
@@ -518,10 +518,10 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
sb.append(str); //in this string builder we have read the workflow( as .t2flow or .xml) workflow from remote resource. Now we need to post that to the player.
bufferedReader.close();
wconn.disconnect();
-
+//PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHM6c2N1ZmwgeG1sbnM6cz0iaHR0cDovL29yZy5lbWJsLmViaS5lc2NpZW5jZS94c2N1ZmwvMC4xYWxwaGEiIHZlcnNpb249IjAuMiIgbG9nPSIwIj4KICA8czp3b3JrZmxvd2Rlc2NyaXB0aW9uIGxzaWQ9InVybjpsc2lkOnd3dy5teWdyaWQub3JnLnVrOm9wZXJhdGlvbjpLNlpDRzZJV05TMCIgYXV0aG9yPSIiIHRpdGxlPSIiIC8+CiAgPHM6cHJvY2Vzc29yIG5hbWU9IlN0cmluZ19Db25zdGFudCIgYm9yaW5nPSJ0cnVlIj4KICAgIDxzOnN0cmluZ2NvbnN0YW50Pmh0dHA6Ly93d3cuY3MubWFuLmFjLnVrL35nb2RlcmlzYS9QaG90by5qcGc8L3M6c3RyaW5nY29uc3RhbnQ+CiAgPC9zOnByb2Nlc3Nvcj4KICA8czpwcm9jZXNzb3IgbmFtZT0iR2V0X2ltYWdlX2Zyb21fVVJMIj4KICAgIDxzOmxvY2FsPm9yZy5lbWJsLmViaS5lc2NpZW5jZS5zY3VmbHdvcmtlcnMuamF2YS5XZWJJbWFnZUZldGNoZXI8L3M6bG9jYWw+CiAgPC9zOnByb2Nlc3Nvcj4KICA8czpsaW5rIHNvdXJjZT0iU3RyaW5nX0NvbnN0YW50OnZhbHVlIiBzaW5rPSJHZXRfaW1hZ2VfZnJvbV9VUkw6dXJsIiAvPgogIDxzOmxpbmsgc291cmNlPSJHZXRfaW1hZ2VfZnJvbV9VUkw6aW1hZ2UiIHNpbms9InZpeiIgLz4KICA8czpzaW5rIG5hbWU9InZpeiIgLz4KPC9zOnNjdWZsPgoKCg==
// Base64.encodeToString(sb.toString().getBytes("UTF-8"), Base64.DEFAULT)
String data = "{\"document\":\"data:application/octet-stream;base64," +
- "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHM6c2N1ZmwgeG1sbnM6cz0iaHR0cDovL29yZy5lbWJsLmViaS5lc2NpZW5jZS94c2N1ZmwvMC4xYWxwaGEiIHZlcnNpb249IjAuMiIgbG9nPSIwIj4KICA8czp3b3JrZmxvd2Rlc2NyaXB0aW9uIGxzaWQ9InVybjpsc2lkOnd3dy5teWdyaWQub3JnLnVrOm9wZXJhdGlvbjpLNlpDRzZJV05TMCIgYXV0aG9yPSIiIHRpdGxlPSIiIC8+CiAgPHM6cHJvY2Vzc29yIG5hbWU9IlN0cmluZ19Db25zdGFudCIgYm9yaW5nPSJ0cnVlIj4KICAgIDxzOnN0cmluZ2NvbnN0YW50Pmh0dHA6Ly93d3cuY3MubWFuLmFjLnVrL35nb2RlcmlzYS9QaG90by5qcGc8L3M6c3RyaW5nY29uc3RhbnQ+CiAgPC9zOnByb2Nlc3Nvcj4KICA8czpwcm9jZXNzb3IgbmFtZT0iR2V0X2ltYWdlX2Zyb21fVVJMIj4KICAgIDxzOmxvY2FsPm9yZy5lbWJsLmViaS5lc2NpZW5jZS5zY3VmbHdvcmtlcnMuamF2YS5XZWJJbWFnZUZldGNoZXI8L3M6bG9jYWw+CiAgPC9zOnByb2Nlc3Nvcj4KICA8czpsaW5rIHNvdXJjZT0iU3RyaW5nX0NvbnN0YW50OnZhbHVlIiBzaW5rPSJHZXRfaW1hZ2VfZnJvbV9VUkw6dXJsIiAvPgogIDxzOmxpbmsgc291cmNlPSJHZXRfaW1hZ2VfZnJvbV9VUkw6aW1hZ2UiIHNpbms9InZpeiIgLz4KICA8czpzaW5rIG5hbWU9InZpeiIgLz4KPC9zOnNjdWZsPgoKCg=="+"\"}";
+ Base64.encodeToString(sb.toString().getBytes("UTF-8"), Base64.URL_SAFE|Base64.NO_WRAP)+"\"}";
String post = "{\"workflow\":"+data+"}";
//clear sb so that we can use it again to fetch results from this post request
sb.delete(0,sb.length()-1);
@@ -531,7 +531,7 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
connection.setRequestProperty("Accept", "*/*");
// connection.setRequestProperty("Content-Length", "10165");
connection.setRequestProperty("Content-Type", "application/json");
- connection.setRequestProperty("Content-Language", "en-US");
+ connection.setRequestProperty("Content-Encoding", "UTF-8");
connection.setRequestProperty("Accept-Charset", "UTF-8");
connection.setUseCaches (false);
connection.setDoOutput(true);
[15/34] incubator-taverna-mobile git commit: implemented workflow run
on player. Adjusted UI to indicate when no workflows exist or cannot be
retrieved
Posted by ia...@apache.org.
implemented workflow run on player. Adjusted UI to indicate when no workflows exist or cannot be retrieved
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/714c08c8
Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/tree/714c08c8
Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/diff/714c08c8
Branch: refs/heads/master
Commit: 714c08c8c9cdfcdee35df3fdcf9ddcd8695dedb2
Parents: 6e20255
Author: larrytech7 <la...@gmail.com>
Authored: Wed Jul 8 19:45:50 2015 +0100
Committer: larrytech7 <la...@gmail.com>
Committed: Wed Jul 8 19:45:50 2015 +0100
----------------------------------------------------------------------
.../mobile/fragments/WorkflowItemFragment.java | 21 ++++++++++++---
.../workflowdetails/WorkflowdetailFragment.java | 28 ++++++--------------
.../taverna/mobile/utils/DetailsLoader.java | 5 ++--
app/src/main/res/layout/fragment_item_grid.xml | 8 ++++--
app/src/main/res/layout/fragment_item_list.xml | 12 +++------
5 files changed, 37 insertions(+), 37 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/714c08c8/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 cde2ab2..2927d76 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
@@ -108,6 +108,7 @@ public class WorkflowItemFragment extends Fragment implements SwipeRefreshLayout
private static View rootView;
public static Context cx;
private static boolean STATE_ON = false;
+ private static TextView noDataText;
public static WorkflowItemFragment newInstance(String param1, String param2) {
WorkflowItemFragment fragment = new WorkflowItemFragment();
@@ -145,6 +146,7 @@ public class WorkflowItemFragment extends Fragment implements SwipeRefreshLayout
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {
rootView = inflater.inflate(R.layout.fragment_item, container, false);
+ noDataText = (TextView) rootView.findViewById(android.R.id.empty);
swipeRefreshLayout = (SwipeRefreshLayout) rootView.findViewById(R.id.refresh);
swipeRefreshLayout.setOnRefreshListener(this);
// Set the adapter
@@ -152,6 +154,7 @@ public class WorkflowItemFragment extends Fragment implements SwipeRefreshLayout
mListView.setHasFixedSize(true);
mListView.setLayoutManager(new LinearLayoutManager(getActivity()));
mListView.setAnimation(in);
+ mListView.setAdapter(new WorkflowAdapter(getActivity()));
return rootView;
}
@@ -188,6 +191,15 @@ public class WorkflowItemFragment extends Fragment implements SwipeRefreshLayout
if(!STATE_ON)
new WorkflowLoader(getActivity(), swipeRefreshLayout).execute();
+ if(mListView.getAdapter().getItemCount() == 0){
+ mListView.setVisibility(View.GONE);
+ noDataText.setVisibility(View.VISIBLE);
+ Toast.makeText(cx, cx.getResources().getString(R.string.err_workflow_conn), Toast.LENGTH_LONG).show();
+ }else{
+ mListView.setVisibility(View.VISIBLE);
+ noDataText.setVisibility(View.GONE);
+ }
+
}
@Override
@@ -288,10 +300,14 @@ public class WorkflowItemFragment extends Fragment implements SwipeRefreshLayout
public void run() {
WorkflowItemFragment.searchAdpater = new WorkflowAdapter(cx,data);
WorkflowItemFragment.mListView.setAdapter(WorkflowItemFragment.searchAdpater);
- if(data.size() == 0){
+ if(WorkflowItemFragment.searchAdpater.getItemCount() == 0){
+ mListView.setVisibility(View.GONE);
+ noDataText.setVisibility(View.VISIBLE);
Toast.makeText(cx, cx.getResources().getString(R.string.err_workflow_conn), Toast.LENGTH_LONG).show();
+ }else{
+ mListView.setVisibility(View.VISIBLE);
+ noDataText.setVisibility(View.GONE);
}
- System.out.println("workflows: "+data.size());
}
});
}
@@ -302,7 +318,6 @@ public class WorkflowItemFragment extends Fragment implements SwipeRefreshLayout
public void run() {
synchronized (this) {
new AvatarLoader().execute(author.getDetails_uri());
- System.out.println(author.getDetails_uri());
}
}
});
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/714c08c8/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 8e6419e..e0aa350 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
@@ -204,6 +204,7 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
LOAD_STATE = true;
}
+
@Override
public Loader<Workflow> onCreateLoader(int i, Bundle bundle) {
progressDialog.show();
@@ -214,21 +215,7 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
@Override
public void onLoadFinished(Loader<Workflow> workflowLoader, Workflow workflow) {
- /* TextView author = (TextView) rootView.findViewById(R.id.wkf_author);
- author.append("->" + workflow.getWorkflow_author());
- TextView title = (TextView) rootView.findViewById(R.id.wtitle);
- title.setText(workflow.getWorkflow_title());
- TextView desc = (TextView) rootView.findViewById(R.id.wdescription);
- desc.setText(workflow.getWorkflow_description());
- TextView createdat = (TextView) rootView.findViewById(R.id.wcreatedat);
- createdat.append(workflow.getWorkflow_datecreated());
- TextView updated = (TextView) rootView.findViewById(R.id.wupdatedat);
- updated.append(workflow.getWorkflow_datemodified());
- // ImageView preview = (ImageView) rootView.findViewById(R.id.wkf_image);
- // preview.setImageURI(Uri.parse(workflow.getWorkflow_remote_url()));
- download_url =workflow.getWorkflow_remote_url();
- // progressDialog.cancel();
- */ //progressDialog.dismiss();
+
}
@Override
@@ -354,7 +341,7 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
EditText edt;
edt = new EditText(ctx);
edt.setHint("Enter Value");
- edt.setMinLines(2);
+ edt.setMinLines(1);
edt.setId(i);
return edt;
}
@@ -458,7 +445,7 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
json.put("inputs_attributes", attr_array);
Log.i("RUN FRAMEWORK", json.toString(2));
//start a run task to execute the run.
- // new RunTask(ctx).execute(json.toString());
+ new RunTask(ctx).execute(json.toString());
} catch (JSONException e) {
e.printStackTrace();
}
@@ -628,7 +615,7 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
DataOutputStream dos = new DataOutputStream(connection.getOutputStream());
dos.writeBytes(params[0]);//write post data which is a formatted json data representing inputs to a run
- //dos.writeUTF("");
+
dos.flush();
dos.close();
@@ -638,11 +625,12 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
String jsonData = "";
while ((jsonData = br.readLine()) != null) {
sb.append(jsonData);
+ //
}
dis.close();
br.close();
- Log.i("RESPONSE Code", "" + connection.getResponseCode());
- Log.i("RESPONSE Messsage", "" + connection.getResponseMessage());
+ Log.i("Run RESPONSE Code", "" + connection.getResponseCode());
+ Log.i("Run RESPONSE Messsage", "" + connection.getResponseMessage());
return sb.toString();
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/714c08c8/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 4be2542..9b36a7f 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
@@ -31,6 +31,7 @@ import android.util.Log;
import com.thebuzzmedia.sjxp.rule.IRule;
+import org.apache.taverna.mobile.tavernamobile.Runs;
import org.apache.taverna.mobile.tavernamobile.TavernaPlayerAPI;
import org.apache.taverna.mobile.tavernamobile.Workflow;
import org.apache.taverna.mobile.utils.xmlparsers.MyExperimentXmlParserRules;
@@ -156,15 +157,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 == this.wid) {
+ if(workflow_id == Integer.parseInt(this.uri)) {
Runs mrun = new Runs(name,started,ended,state);
mrun.setRun_id(id);
mrun.setRun_workflow_id(workflow_id);
workflow.addWorkflowRun(mrun);
}
- */
}
}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/714c08c8/app/src/main/res/layout/fragment_item_grid.xml
----------------------------------------------------------------------
diff --git a/app/src/main/res/layout/fragment_item_grid.xml b/app/src/main/res/layout/fragment_item_grid.xml
index ba85aa9..6ba0ef0 100644
--- a/app/src/main/res/layout/fragment_item_grid.xml
+++ b/app/src/main/res/layout/fragment_item_grid.xml
@@ -22,7 +22,8 @@ limitations under the License.
<!-- <GridView android:id="@+id/gridlist"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:numColumns="2">--> <android.support.v4.widget.SwipeRefreshLayout
+ android:numColumns="2">-->
+ <android.support.v4.widget.SwipeRefreshLayout
android:id="@+id/refresh"
android:layout_height="match_parent"
android:layout_width="match_parent">
@@ -42,6 +43,9 @@ limitations under the License.
<TextView android:id="@android:id/empty"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:gravity="center" />
+ android:visibility="gone"
+ android:background="@drawable/ic_viewworkflow"
+ android:gravity="center"
+ android:text="@string/workflow_empty"/>
</FrameLayout>
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/714c08c8/app/src/main/res/layout/fragment_item_list.xml
----------------------------------------------------------------------
diff --git a/app/src/main/res/layout/fragment_item_list.xml b/app/src/main/res/layout/fragment_item_list.xml
index 92e0ff1..0acec8c 100644
--- a/app/src/main/res/layout/fragment_item_list.xml
+++ b/app/src/main/res/layout/fragment_item_list.xml
@@ -18,12 +18,6 @@ limitations under the License.
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="org.apache.taverna.mobile.fragments.WorkflowItemFragment">
- <ProgressBar
- android:id="@+id/workflow_pb"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_gravity="center_horizontal"
- android:visibility="gone"/>
<!--<ListView android:id="@android:id/list" android:layout_width="match_parent"-->
<!--android:layout_height="match_parent" />-->
@@ -40,17 +34,17 @@ limitations under the License.
android:background="@color/button_material_light"
android:scrollbars="vertical"
android:scrollbarStyle="insideOverlay"
- android:fadeScrollbars="true"
- >
+ android:fadeScrollbars="true">
</android.support.v7.widget.RecyclerView>
</android.support.v4.widget.SwipeRefreshLayout>
<TextView
android:id="@android:id/empty"
android:layout_width="match_parent"
- android:layout_height="wrap_content"
+ android:layout_height="match_parent"
android:gravity="center"
android:visibility="gone"
+ android:background="@drawable/ic_viewworkflow"
android:text="@string/workflow_empty"/>
</FrameLayout>
[23/34] incubator-taverna-mobile git commit: Fixing workflow image
zoom
Posted by ia...@apache.org.
Fixing workflow image zoom
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/9c895c83
Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/tree/9c895c83
Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/diff/9c895c83
Branch: refs/heads/master
Commit: 9c895c831adcdd7430f19305390bf698de3f07fb
Parents: 54c66d8
Author: larrytech7 <la...@gmail.com>
Authored: Fri Jul 10 23:21:56 2015 +0100
Committer: larrytech7 <la...@gmail.com>
Committed: Fri Jul 10 23:21:56 2015 +0100
----------------------------------------------------------------------
.../workflowdetails/WorkflowdetailFragment.java | 15 +++++++++------
1 file changed, 9 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/9c895c83/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 bbc0fc6..54325f4 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
@@ -98,6 +98,7 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
private ZoomControls zoomControls;
static Animation zoomin;
static Animation zoomout;
+ public boolean isZoomIn;
/**
* Returns a new instance of this fragment for the given section
@@ -130,12 +131,19 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
zoomout = AnimationUtils.loadAnimation(getActivity(), R.anim.zoomout);
zoomControls = (ZoomControls) rootView.findViewById(R.id.zoomControls);
zoomControls.setOnClickListener(this);
- // zoomControls.setOnZoomOutClickListener(this);
+ isZoomIn = false;
Button createRun = (Button) rootView.findViewById(R.id.run_wk);
createRun.setOnClickListener(this);
Button download = (Button) rootView.findViewById(R.id.download_wk);
download.setOnClickListener(this);
+ (rootView.findViewById(R.id.wkf_image)).setOnLongClickListener(new View.OnLongClickListener() {
+ @Override
+ public boolean onLongClick(View view) {
+ view.setAnimation(zoomin);
+ return true;
+ }
+ });
downloadManager = (DownloadManager) getActivity().getSystemService(Context.DOWNLOAD_SERVICE);
return rootView;
}
@@ -181,9 +189,6 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
zoomin.startNow();
Toast.makeText(getActivity(), "Zooming", Toast.LENGTH_SHORT).show();
break;
- case R.id.wkf_image:
- view.setAnimation(zoomin);
- break;
}
}
@@ -610,8 +615,6 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
connection.setRequestProperty("Accept", "application/json");
connection.setRequestProperty("Content-Type", "application/json");
connection.setRequestMethod("POST");
- // connection.setDoInput(true);
- // connection.setDoOutput(true);
connection.connect(); //send request
DataOutputStream dos = new DataOutputStream(connection.getOutputStream());
[07/34] incubator-taverna-mobile git commit: parsing workflow
favorites
Posted by ia...@apache.org.
parsing workflow favorites
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/d8239c73
Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/tree/d8239c73
Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/diff/d8239c73
Branch: refs/heads/master
Commit: d8239c73d4eef066c9b1ad14046e75fdc52f8f91
Parents: 40c0096
Author: larrytech7 <la...@gmail.com>
Authored: Fri Jul 3 13:57:39 2015 +0100
Committer: larrytech7 <la...@gmail.com>
Committed: Fri Jul 3 13:57:39 2015 +0100
----------------------------------------------------------------------
.../adapters/FavoriteWorkflowAdapter.java | 22 ++++----
.../mobile/adapters/WorkflowAdapter.java | 8 ++-
.../mobile/fragments/FavoriteFragment.java | 15 +++---
.../mobile/fragments/WorkflowItemFragment.java | 8 ++-
.../workflowdetails/WorkflowdetailFragment.java | 31 +++++------
.../apache/taverna/mobile/utils/DB_Utility.java | 5 +-
.../xmlparsers/MyExperimentXmlParserRules.java | 13 +----
.../main/res/layout/favorite_item_layout.xml | 54 ++++----------------
8 files changed, 58 insertions(+), 98 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/d8239c73/app/src/main/java/org/apache/taverna/mobile/adapters/FavoriteWorkflowAdapter.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/adapters/FavoriteWorkflowAdapter.java b/app/src/main/java/org/apache/taverna/mobile/adapters/FavoriteWorkflowAdapter.java
index 517248a..92355c6 100644
--- a/app/src/main/java/org/apache/taverna/mobile/adapters/FavoriteWorkflowAdapter.java
+++ b/app/src/main/java/org/apache/taverna/mobile/adapters/FavoriteWorkflowAdapter.java
@@ -34,6 +34,7 @@ import android.widget.TextView;
import org.apache.taverna.mobile.R;
+import java.util.ArrayList;
import java.util.List;
/**
@@ -42,9 +43,9 @@ import java.util.List;
public class FavoriteWorkflowAdapter extends RecyclerView.Adapter<FavoriteWorkflowAdapter.FViewHolder> {
private Context context;
- private List<String[]> dataSet;
+ private List<ArrayList<Object>> dataSet;
- public FavoriteWorkflowAdapter(Context c, List<String[]> data) {
+ public FavoriteWorkflowAdapter(Context c, List<ArrayList<Object>> data) {
context = c;
dataSet = data;
}
@@ -58,10 +59,13 @@ public class FavoriteWorkflowAdapter extends RecyclerView.Adapter<FavoriteWorkfl
@Override
public void onBindViewHolder(FViewHolder fViewHolder, int i) {
- String[] mdata = dataSet.get(i);
- fViewHolder.author.setText(mdata[0]);
- fViewHolder.title.setText(mdata[1]);
- //fViewHolder.dateMarked.setText(mdata[2]);
+ //get data 0,1,3 from set;
+ ArrayList<Object> data = dataSet.get(i);
+
+ //String[] mdata = dataSet.get(i);
+ fViewHolder.author.setText((CharSequence) data.get(6));
+ fViewHolder.title.setText((CharSequence) data.get(2));
+ fViewHolder.dateMarked.setText((CharSequence) data.get(4));
//fViewHolder.dateAdd.setText(mdata[3]);
//fViewHolder.dateModified.setText(mdata[4]);
}
@@ -74,15 +78,15 @@ public class FavoriteWorkflowAdapter extends RecyclerView.Adapter<FavoriteWorkfl
public class FViewHolder extends RecyclerView.ViewHolder {
public final ImageView favorite_thumb;
- public final TextView author, title, dateMarked, dateAdd, dateModified;
+ public final TextView author, title, dateMarked;// dateAdd, dateModified;
public FViewHolder(View itemView) {
super(itemView);
favorite_thumb = (ImageView) itemView.findViewById(R.id.author_profile_image);
author = (TextView) itemView.findViewById(R.id.author);
title = (TextView) itemView.findViewById(R.id.favorite_title);
dateMarked = (TextView) itemView.findViewById(R.id.date_set);
- dateAdd = (TextView) itemView.findViewById(R.id.date_created);
- dateModified = (TextView) itemView.findViewById(R.id.date_modified);
+ // dateAdd = (TextView) itemView.findViewById(R.id.dte_created);
+ // dateModified = (TextView) itemView.findViewById(R.id.date_modified);
}
}
}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/d8239c73/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 c8dae51..d938230 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
@@ -48,6 +48,7 @@ import com.thebuzzmedia.sjxp.rule.IRule;
import org.apache.taverna.mobile.R;
import org.apache.taverna.mobile.activities.DashboardMainActivity;
import org.apache.taverna.mobile.activities.WorkflowDetailActivity;
+import org.apache.taverna.mobile.fragments.FavoriteFragment;
import org.apache.taverna.mobile.fragments.workflowdetails.WorkflowdetailFragment;
import org.apache.taverna.mobile.tavernamobile.User;
import org.apache.taverna.mobile.tavernamobile.Workflow;
@@ -115,11 +116,11 @@ public class WorkflowAdapter extends RecyclerView.Adapter<WorkflowAdapter.ViewHo
String description = workflow.get(i).getWorkflow_description();
String uri = workflow.get(i).getWorkflow_details_url();
final String desc_full = description;
- ArrayList<Object> mfav = new ArrayList<Object>();
+ final ArrayList<Object> mfav = new ArrayList<Object>();
//save current workflow as favorite
mfav.add(wid); mfav.add(author);mfav.add(title);mfav.add(desc_full); mfav.add(SimpleDateFormat.getDateTimeInstance().format(new Date()).toString());
-
+ mfav.add(uri);
// if(description.length() > 80) description = description.substring(0, 79);
viewHolder.author_name.setText(author);
viewHolder.wk_title.setText(title);
@@ -143,10 +144,13 @@ public class WorkflowAdapter extends RecyclerView.Adapter<WorkflowAdapter.ViewHo
viewHolder.btn_mark_workflow.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
+ mfav.add(viewHolder.author_name.getText());
boolean saved = favDB.save();
if(saved) {
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
+ FavoriteFragment.newInstance(0);
}else
Toast.makeText(context,"Error!, please try again",Toast.LENGTH_SHORT).show();
}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/d8239c73/app/src/main/java/org/apache/taverna/mobile/fragments/FavoriteFragment.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/fragments/FavoriteFragment.java b/app/src/main/java/org/apache/taverna/mobile/fragments/FavoriteFragment.java
index 77d8831..1066d60 100644
--- a/app/src/main/java/org/apache/taverna/mobile/fragments/FavoriteFragment.java
+++ b/app/src/main/java/org/apache/taverna/mobile/fragments/FavoriteFragment.java
@@ -81,15 +81,14 @@ public class FavoriteFragment extends Fragment implements RecyclerView.OnCreateC
super.onCreate(savedInstanceState);
myWorkflowDb = new Workflow_DB(getActivity(), WorkflowAdapter.WORKFLOW_FAVORITE_KEY);
//TODO Add support for loading all the favorites and adding to the required list
- // try {
- // List<ArrayList<Object>> mydata = myWorkflowDb.get();
+ try {
+ List<ArrayList<Object>> mfavorites = myWorkflowDb.get();
// ArrayList<Object> m = mydata.get(0);
- List<String[]> sampledata = new ArrayList<String[]>();
- sampledata.add(new String[]{"test fav","test data", "test"});//new String[]{(String) m.get(1), (String) m.get(2)});
- favoriteAdapter = new FavoriteWorkflowAdapter(getActivity(), sampledata);
- // } catch (JSONException e) {
- // e.printStackTrace();
- // }
+ //retrieval order: workflowid, workflowauthor, workflowtitle, workflowmarkeddate
+ favoriteAdapter = new FavoriteWorkflowAdapter(getActivity(), mfavorites);
+ } catch (JSONException e) {
+ e.printStackTrace();
+ }
}
@Override
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/d8239c73/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 bd0742d..cde2ab2 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
@@ -314,8 +314,12 @@ public class WorkflowItemFragment extends Fragment implements SwipeRefreshLayout
@Override
public void run() {
synchronized (this) {
- ((TextView)rootView.findViewById(R.id.workflow_author)).setText(author.getName());
- new LoadAuthorAvatar((ImageView) rootView.findViewById(R.id.author_profile_image)).execute(author.getAvatar_url());
+ try {
+ ((TextView) rootView.findViewById(R.id.workflow_author)).setText(author.getName());
+ new LoadAuthorAvatar((ImageView) rootView.findViewById(R.id.author_profile_image)).execute(author.getAvatar_url());
+ }catch(NullPointerException np){
+
+ }
}
}
});
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/d8239c73/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 c052870..4ef1b0c 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
@@ -31,24 +31,16 @@ import android.app.LoaderManager;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.DialogInterface;
-import android.content.Intent;
import android.content.Loader;
-import android.database.Cursor;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
-import android.media.Image;
-import android.net.Uri;
import android.os.AsyncTask;
import android.os.Bundle;
-import android.os.Environment;
import android.preference.PreferenceManager;
-import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.util.Base64;
import android.util.Log;
-import android.view.DragEvent;
import android.view.LayoutInflater;
-import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
import android.view.animation.Animation;
@@ -71,18 +63,15 @@ import org.apache.taverna.mobile.utils.WorkflowDownloadManager;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
-import org.w3c.dom.Text;
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.File;
-import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
-import java.util.prefs.PreferenceChangeEvent;
/**
* Created by Larry Akah on 6/9/15.
@@ -511,14 +500,15 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
try {
//prepare connection requests
URL workflowurl = new URL(params[0]); //the resource xml file representing the workflow to be uploaded to the player
- URL posturl = new URL(new TavernaPlayerAPI(this.context).PLAYER_BASE_URL+"workflows.json");
+ String playerurl = new TavernaPlayerAPI(this.context).PLAYER_BASE_URL+"workflows.json";
+ URL posturl = new URL(playerurl);
HttpURLConnection connection = (HttpURLConnection) posturl.openConnection();
HttpURLConnection wconn = (HttpURLConnection) workflowurl.openConnection();
wconn.setRequestMethod("GET");
wconn.setDoOutput(true);
wconn.setRequestProperty("Accept", "application/xml");
//wconn.setConnectTimeout(60000);
- wconn.connect();
+ wconn.connect();
String user = "icep603@gmail.com" + ":" + "creationfox";
String basicAuth = "Basic " + Base64.encodeToString(user.getBytes(), Base64.DEFAULT);
@@ -532,27 +522,30 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
//prepare post json data
JSONObject postJson = new JSONObject();
JSONObject datajson = new JSONObject();
+ String data = "{\"document\":\"data:application/octet-stream;base64,"+Base64.encodeToString(sb.toString().getBytes(), Base64.DEFAULT)+"\"}";
datajson.put("document", "data:application/octet-stream;base64,"+Base64.encodeToString(sb.toString().getBytes(), Base64.DEFAULT)+"");
- postJson.put("workflow",datajson.toString());
+ String post = "{\"workflow:\""+data+"}";
+ // postJson.put("workflow",datajson.toString());
//clear sb so that we can use it again to fetch results from this post request
sb.delete(0,sb.length()-1);
- System.out.println(postJson.toString(2));
+ System.out.println("BODY=>"+post);
+// System.out.println(postJson.toString(2));
connection.setRequestProperty("Authorization", basicAuth);
- // connection.setRequestProperty("Accept", "application/json");
+ // connection.setRequestProperty("Accept", "application/json");
connection.setRequestProperty("Content-Type", "application/json");
connection.setRequestMethod("POST");
connection.connect(); //send request
DataOutputStream dos = new DataOutputStream(connection.getOutputStream());
- dos.writeBytes(postJson.toString());//write post data which is a formatted json data representing body of workflow
+ dos.writeBytes(post);//write post data which is a formatted json data representing body of workflow
//dos.writeUTF("");
dos.flush();
dos.close();
-
+/*
InputStream dis = connection.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(dis));
while ((str = br.readLine())!= null)
- sb.append(str);
+ sb.append(str);*/
System.out.println("Post Response Code: "+connection.getResponseCode());
System.out.println("Post response message: "+connection.getResponseMessage());
}catch (IOException e){
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/d8239c73/app/src/main/java/org/apache/taverna/mobile/utils/DB_Utility.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/utils/DB_Utility.java b/app/src/main/java/org/apache/taverna/mobile/utils/DB_Utility.java
index 86b3666..4ae919c 100644
--- a/app/src/main/java/org/apache/taverna/mobile/utils/DB_Utility.java
+++ b/app/src/main/java/org/apache/taverna/mobile/utils/DB_Utility.java
@@ -23,12 +23,11 @@ package org.apache.taverna.mobile.utils;
* specific language governing permissions and limitations
* under the License.
*/
-import java.util.ArrayList;
-import java.util.Arrays;
-
import org.json.JSONArray;
import org.json.JSONException;
+import java.util.ArrayList;
+
/**
* This class contains all utility functions used by our database for basic functionality not directly related to the core
* functionality of it but that aids a core functionality to carryout its function efficiently.
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/d8239c73/app/src/main/java/org/apache/taverna/mobile/utils/xmlparsers/MyExperimentXmlParserRules.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/utils/xmlparsers/MyExperimentXmlParserRules.java b/app/src/main/java/org/apache/taverna/mobile/utils/xmlparsers/MyExperimentXmlParserRules.java
index 9be18b3..b9a0429 100644
--- a/app/src/main/java/org/apache/taverna/mobile/utils/xmlparsers/MyExperimentXmlParserRules.java
+++ b/app/src/main/java/org/apache/taverna/mobile/utils/xmlparsers/MyExperimentXmlParserRules.java
@@ -54,7 +54,6 @@ public class MyExperimentXmlParserRules {
public WorkflowDetailRule(Type type, String locationPath, String... attributeNames) throws IllegalArgumentException {
super(type, locationPath, attributeNames);
- System.out.println("Parser rules created. Ready to parse");
}
@Override
@@ -160,9 +159,6 @@ public class MyExperimentXmlParserRules {
muser.setId(value);
break;
}
- if( (userObject instanceof User)){
- System.out.println("USER Details => "+muser.getDetails_uri());
- }
}
@Override
@@ -282,14 +278,13 @@ public class MyExperimentXmlParserRules {
@Override
public void handleParsedAttribute(XMLParser parser, int index, String value, Object userObject) {
super.handleParsedAttribute(parser, index, value, userObject);
- System.out.println("Tag attribute value"+value);
}
@Override
public void handleParsedCharacters(XMLParser parser, String text, Object userObject) {
mWorkflow.setWorkflow_tags(new ArrayList<String>(){});
((Workflow)userObject).setWorkflow_tags(new ArrayList<String>(){});
- System.out.println(text);
+
}
}
@@ -318,19 +313,15 @@ public class MyExperimentXmlParserRules {
switch(index){
case 0:
- System.out.println("Workflow Resource: "+value); url = value;
desc = "To view workflow on the web, click "+value;
break;
case 1:
- System.out.println("Workflow uri: "+value);
uri = value;
break;
case 2:
- System.out.println("Workflow id: "+value);
id = Integer.parseInt(value);
break;
case 3:
- System.out.println("Workflow version: "+value);
version = value;
break;
}
@@ -345,11 +336,9 @@ public class MyExperimentXmlParserRules {
this.workflow.setWorkflow_author("");
wlist.add(this.workflow);
WorkflowLoader.loadedWorkflows.add(this.workflow);
- System.out.println("static Workflow Count: " + WorkflowLoader.loadedWorkflows.size());
((List<Workflow>)workflowListObject).add(this.workflow);
this.workflow = null;
}
-
}
}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/d8239c73/app/src/main/res/layout/favorite_item_layout.xml
----------------------------------------------------------------------
diff --git a/app/src/main/res/layout/favorite_item_layout.xml b/app/src/main/res/layout/favorite_item_layout.xml
index 25e809a..b3c57ab 100644
--- a/app/src/main/res/layout/favorite_item_layout.xml
+++ b/app/src/main/res/layout/favorite_item_layout.xml
@@ -39,20 +39,14 @@ limitations under the License.
android:textAppearance="?android:attr/textAppearanceLarge"
android:id="@+id/author"
android:hint="@string/workflow_authorhint"
- android:textSize="25sp" />
+ android:textSize="25sp"
+ android:elevation="5dp" />
<LinearLayout
android:id="@+id/linearlayout_workflow_info"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
- <ImageView
- android:id="@+id/author_profile_image"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:elevation="5dp"
- android:background="@drawable/round_shape"
- android:contentDescription="@string/workflow_component" />
<LinearLayout
android:orientation="vertical"
@@ -64,7 +58,8 @@ limitations under the License.
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/wktitle"
- android:id="@+id/textView9" />
+ android:id="@+id/textView9"
+ android:layout_marginTop="5dp" />
<TextView
android:layout_width="match_parent"
@@ -93,44 +88,17 @@ limitations under the License.
android:layout_gravity="center_horizontal"
android:gravity="center_horizontal" />
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="@string/created"
- android:id="@+id/textView11"
- android:layout_gravity="center_horizontal" />
-
- <TextView
+ <Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:textAppearance="?android:attr/textAppearanceLarge"
- android:hint="Date workflow was Created"
- android:id="@+id/date_created"
- android:typeface="serif"
- android:textColor="@color/material_deep_teal_200"
- android:textSize="15dp"
+ android:text="@string/workflow_read"
+ android:id="@+id/buttonOpenFavorite"
android:layout_gravity="center_horizontal"
- android:gravity="center_horizontal" />
-
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="@string/modified"
- android:id="@+id/textView12"
- android:layout_gravity="center_horizontal" />
+ android:layout_margin="10dp"
+ android:background="#33b5e5"
+ android:elevation="5dp" />
- <TextView
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:textAppearance="?android:attr/textAppearanceLarge"
- android:hint="Date workflow was lastly Modified"
- android:id="@+id/date_modified"
- android:typeface="serif"
- android:textColor="@color/material_deep_teal_200"
- android:textSize="15dp"
- android:layout_gravity="center_horizontal"
- android:gravity="center_horizontal" />
- </LinearLayout>
+ </LinearLayout>
</LinearLayout>
[32/34] incubator-taverna-mobile git commit: formatting UI
Posted by ia...@apache.org.
formatting UI
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/72363e42
Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/tree/72363e42
Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/diff/72363e42
Branch: refs/heads/master
Commit: 72363e4216eeb4543777414c6adbfefded577644
Parents: cd80fd8
Author: larrytech7 <la...@gmail.com>
Authored: Sun Jul 12 13:18:12 2015 +0100
Committer: larrytech7 <la...@gmail.com>
Committed: Sun Jul 12 13:18:12 2015 +0100
----------------------------------------------------------------------
app/src/main/res/layout/activity_flash_screen.xml | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/72363e42/app/src/main/res/layout/activity_flash_screen.xml
----------------------------------------------------------------------
diff --git a/app/src/main/res/layout/activity_flash_screen.xml b/app/src/main/res/layout/activity_flash_screen.xml
index bb7ae25..f3cba00 100644
--- a/app/src/main/res/layout/activity_flash_screen.xml
+++ b/app/src/main/res/layout/activity_flash_screen.xml
@@ -60,9 +60,10 @@ limitations under the License.
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/progressBar"
- android:layout_centerHorizontal="true"
android:indeterminate="true"
android:indeterminateBehavior="repeat"
android:indeterminateOnly="true"
- android:indeterminateTintMode="src_over" />
+ android:indeterminateTintMode="src_over"
+ android:layout_alignBottom="@+id/imageView2"
+ android:layout_centerHorizontal="true" />
</RelativeLayout>
[28/34] incubator-taverna-mobile git commit: uploading dropbox library
Posted by ia...@apache.org.
uploading dropbox library
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/5b6c027a
Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/tree/5b6c027a
Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/diff/5b6c027a
Branch: refs/heads/master
Commit: 5b6c027aaf4e1a0905cbced3e150297313aca2aa
Parents: 8b8d5b9
Author: larrytech7 <la...@gmail.com>
Authored: Sat Jul 11 23:30:00 2015 +0100
Committer: larrytech7 <la...@gmail.com>
Committed: Sat Jul 11 23:30:00 2015 +0100
----------------------------------------------------------------------
app/libs/dropbox-android-sdk-1.6.3.jar | Bin 0 -> 168350 bytes
app/libs/json_simple-1.1.jar | Bin 0 -> 16046 bytes
2 files changed, 0 insertions(+), 0 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/5b6c027a/app/libs/dropbox-android-sdk-1.6.3.jar
----------------------------------------------------------------------
diff --git a/app/libs/dropbox-android-sdk-1.6.3.jar b/app/libs/dropbox-android-sdk-1.6.3.jar
new file mode 100644
index 0000000..1a0ee36
Binary files /dev/null and b/app/libs/dropbox-android-sdk-1.6.3.jar differ
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/5b6c027a/app/libs/json_simple-1.1.jar
----------------------------------------------------------------------
diff --git a/app/libs/json_simple-1.1.jar b/app/libs/json_simple-1.1.jar
new file mode 100644
index 0000000..f395f41
Binary files /dev/null and b/app/libs/json_simple-1.1.jar differ
[14/34] incubator-taverna-mobile git commit: implementing workflow
run over the taverna player
Posted by ia...@apache.org.
implementing workflow run over the taverna player
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/6e202551
Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/tree/6e202551
Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/diff/6e202551
Branch: refs/heads/master
Commit: 6e202551a1cf5231fc5d2e0b1e725df69bf01ae8
Parents: 57164b1
Author: larrytech7 <la...@gmail.com>
Authored: Wed Jul 8 15:19:02 2015 +0100
Committer: larrytech7 <la...@gmail.com>
Committed: Wed Jul 8 15:19:02 2015 +0100
----------------------------------------------------------------------
.../taverna/mobile/activities/RunResult.java | 67 ++++++++++++++++
.../workflowdetails/WorkflowdetailFragment.java | 79 ++++++++++++-------
app/src/main/res/layout/activity_run_result.xml | 4 +
app/src/main/res/layout/fragment_run_result.xml | 12 +++
app/src/main/res/menu/run_result.xml | 7 ++
simple-xml-2.7.1/simple-xml-2.7.1.iml | 16 ----
simple-xml-2.7.1/simple-xml-2.7.1.jar | Bin 427590 -> 0 bytes
7 files changed, 142 insertions(+), 43 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/6e202551/app/src/main/java/org/apache/taverna/mobile/activities/RunResult.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/activities/RunResult.java b/app/src/main/java/org/apache/taverna/mobile/activities/RunResult.java
new file mode 100644
index 0000000..2ae1a53
--- /dev/null
+++ b/app/src/main/java/org/apache/taverna/mobile/activities/RunResult.java
@@ -0,0 +1,67 @@
+package org.apache.taverna.mobile.activities;
+
+import android.support.v7.app.ActionBarActivity;
+import android.support.v7.app.ActionBar;
+import android.support.v4.app.Fragment;
+import android.os.Bundle;
+import android.view.LayoutInflater;
+import android.view.Menu;
+import android.view.MenuItem;
+import android.view.View;
+import android.view.ViewGroup;
+import android.os.Build;
+
+import org.apache.taverna.mobile.R;
+
+public class RunResult extends ActionBarActivity {
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_run_result);
+ if (savedInstanceState == null) {
+ getSupportFragmentManager().beginTransaction()
+ .add(R.id.container, new PlaceholderFragment())
+ .commit();
+ }
+ }
+
+
+ @Override
+ public boolean onCreateOptionsMenu(Menu menu) {
+ // Inflate the menu; this adds items to the action bar if it is present.
+ getMenuInflater().inflate(R.menu.run_result, menu);
+ return true;
+ }
+
+ @Override
+ public boolean onOptionsItemSelected(MenuItem item) {
+ // Handle action bar item clicks here. The action bar will
+ // automatically handle clicks on the Home/Up button, so long
+ // as you specify a parent activity in AndroidManifest.xml.
+ int id = item.getItemId();
+
+ //noinspection SimplifiableIfStatement
+ if (id == R.id.action_settings) {
+ return true;
+ }
+
+ return super.onOptionsItemSelected(item);
+ }
+
+ /**
+ * A placeholder fragment containing a simple view.
+ */
+ public static class PlaceholderFragment extends Fragment {
+
+ public PlaceholderFragment() {
+ }
+
+ @Override
+ public View onCreateView(LayoutInflater inflater, ViewGroup container,
+ Bundle savedInstanceState) {
+ View rootView = inflater.inflate(R.layout.fragment_run_result, container, false);
+ return rootView;
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/6e202551/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 68ebf09..8e6419e 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
@@ -49,6 +49,7 @@ import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.LinearLayout;
+import android.widget.ScrollView;
import android.widget.TextView;
import android.widget.Toast;
import android.widget.ZoomControls;
@@ -72,11 +73,12 @@ import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
+import java.nio.charset.CharsetEncoder;
/**
* Created by Larry Akah on 6/9/15.
*/
-public class WorkflowdetailFragment extends Fragment implements View.OnClickListener, LoaderManager.LoaderCallbacks<Workflow>{
+public class WorkflowdetailFragment extends Fragment implements View.OnClickListener,LoaderManager.LoaderCallbacks<Workflow>{
/**
* The fragment argument representing the section number for this
* fragment.
@@ -106,6 +108,9 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
fragment.setArguments(args);
return fragment;
}
+ public static WorkflowdetailFragment getInstance(){
+ return WorkflowdetailFragment.getInstance();
+ }
public WorkflowdetailFragment() {
}
@@ -122,8 +127,8 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
zoomin = AnimationUtils.loadAnimation(getActivity(), R.anim.zoomin);
zoomout = AnimationUtils.loadAnimation(getActivity(), R.anim.zoomout);
zoomControls = (ZoomControls) rootView.findViewById(R.id.zoomControls);
- zoomControls.setOnZoomInClickListener(this);
- zoomControls.setOnZoomOutClickListener(this);
+ zoomControls.setOnClickListener(this);
+ // zoomControls.setOnZoomOutClickListener(this);
Button createRun = (Button) rootView.findViewById(R.id.run_wk);
createRun.setOnClickListener(this);
@@ -149,9 +154,10 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
public void onClick(View view) {
switch(view.getId()){
case R.id.run_wk:
- //TODO implement functionality to issue a run request to the Taverna PLAYER to run the current workflow
- //new WorkflowRunTask(getActivity()).execute(""+WORKFLO_ID);
- new WorkflowProcessTask(getActivity()).execute(download_url);
+ if (((TextView)rootView.findViewById(R.id.wtype)).getText().toString().contains("Taverna 2"))
+ new WorkflowProcessTask(getActivity()).execute(download_url);
+ else
+ Toast.makeText(getActivity(), "Sorry! only Type 2 workflows can be run as of now.", Toast.LENGTH_LONG).show();
break;
case R.id.download_wk:
// start the android Download manager to start downloading a remote workflow file
@@ -169,9 +175,13 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
//TODO mark a workflow as important and launch task to store the entry into the local database
break;
case R.id.zoomControls:
+ zoomin.reset();
zoomin.startNow();
Toast.makeText(getActivity(), "Zooming", Toast.LENGTH_SHORT).show();
break;
+ case R.id.wkf_image:
+ view.setAnimation(zoomin);
+ break;
}
}
@@ -227,18 +237,18 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
}
public static void setWorkflowDetails(final Workflow wk){
+ final TextView author = (TextView) rootView.findViewById(R.id.wkf_author);
+ final TextView updated = (TextView) rootView.findViewById(R.id.wupdatedat);
+ final TextView type = (TextView) rootView.findViewById(R.id.wtype);
+ final TextView title = (TextView) rootView.findViewById(R.id.wtitle);
+ 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);
((Activity)cont).runOnUiThread(new Runnable() {
@Override
public void run() {
//load necessary widgets
- TextView author = (TextView) rootView.findViewById(R.id.wkf_author);
- TextView updated = (TextView) rootView.findViewById(R.id.wupdatedat);
- TextView type = (TextView) rootView.findViewById(R.id.wtype);
- TextView title = (TextView) rootView.findViewById(R.id.wtitle);
- TextView desc = (TextView) rootView.findViewById(R.id.wdescription);
- TextView createdat = (TextView) rootView.findViewById(R.id.wcreatedat);
- final ImageView preview = (ImageView) rootView.findViewById(R.id.wkf_image);
//set widget data
User uploader = wk.getUploader();
@@ -295,6 +305,7 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
progressDialog.dismiss();
}
});
+ // preview.setOnClickListener(WorkflowdetailFragment.getInstance());
}
private static class LoadImageThread extends AsyncTask<String, Void, Bitmap>{
@@ -405,7 +416,9 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
//show the skeleton to the user in a dialog box
final Context ctx = this.context;
final LinearLayout ll = new LinearLayout(ctx);
+ ScrollView sv = new ScrollView(ctx);
ll.setOrientation(LinearLayout.VERTICAL);
+ sv.addView(ll);
try {
final JSONObject json = new JSONObject(result); //main server response json
@@ -420,10 +433,10 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
}
alertDialogBuilder = new AlertDialog.Builder(ctx);
- alertDialogBuilder.setView(ll);
+ alertDialogBuilder.setView(sv);
// alertDialogBuilder.setMessage(result);
alertDialogBuilder.setIcon(ctx.getResources().getDrawable(R.mipmap.ic_launcher));
- alertDialogBuilder.setTitle("New Run");
+ alertDialogBuilder.setTitle("New Workflow Run");
alertDialogBuilder.setPositiveButton("Execute", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
@@ -444,7 +457,8 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
try {
json.put("inputs_attributes", attr_array);
Log.i("RUN FRAMEWORK", json.toString(2));
- new RunTask(ctx).execute(json.toString());
+ //start a run task to execute the run.
+ // new RunTask(ctx).execute(json.toString());
} catch (JSONException e) {
e.printStackTrace();
}
@@ -518,10 +532,9 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
sb.append(str); //in this string builder we have read the workflow( as .t2flow or .xml) workflow from remote resource. Now we need to post that to the player.
bufferedReader.close();
wconn.disconnect();
-//PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHM6c2N1ZmwgeG1sbnM6cz0iaHR0cDovL29yZy5lbWJsLmViaS5lc2NpZW5jZS94c2N1ZmwvMC4xYWxwaGEiIHZlcnNpb249IjAuMiIgbG9nPSIwIj4KICA8czp3b3JrZmxvd2Rlc2NyaXB0aW9uIGxzaWQ9InVybjpsc2lkOnd3dy5teWdyaWQub3JnLnVrOm9wZXJhdGlvbjpLNlpDRzZJV05TMCIgYXV0aG9yPSIiIHRpdGxlPSIiIC8+CiAgPHM6cHJvY2Vzc29yIG5hbWU9IlN0cmluZ19Db25zdGFudCIgYm9yaW5nPSJ0cnVlIj4KICAgIDxzOnN0cmluZ2NvbnN0YW50Pmh0dHA6Ly93d3cuY3MubWFuLmFjLnVrL35nb2RlcmlzYS9QaG90by5qcGc8L3M6c3RyaW5nY29uc3RhbnQ+CiAgPC9zOnByb2Nlc3Nvcj4KICA8czpwcm9jZXNzb3IgbmFtZT0iR2V0X2ltYWdlX2Zyb21fVVJMIj4KICAgIDxzOmxvY2FsPm9yZy5lbWJsLmViaS5lc2NpZW5jZS5zY3VmbHdvcmtlcnMuamF2YS5XZWJJbWFnZUZldGNoZXI8L3M6bG9jYWw+CiAgPC9zOnByb2Nlc3Nvcj4KICA8czpsaW5rIHNvdXJjZT0iU3RyaW5nX0NvbnN0YW50OnZhbHVlIiBzaW5rPSJHZXRfaW1hZ2VfZnJvbV9VUkw6dXJsIiAvPgogIDxzOmxpbmsgc291cmNlPSJHZXRfaW1hZ2VfZnJvbV9VUkw6aW1hZ2UiIHNpbms9InZpeiIgLz4KICA8czpzaW5rIG5hbWU9InZpeiIgLz4KPC9zOnNjdWZsPgoKCg==
- // Base64.encodeToString(sb.toString().getBytes("UTF-8"), Base64.DEFAULT)
+
String data = "{\"document\":\"data:application/octet-stream;base64," +
- Base64.encodeToString(sb.toString().getBytes("UTF-8"), Base64.URL_SAFE|Base64.NO_WRAP)+"\"}";
+ Base64.encodeToString(sb.toString().getBytes("UTF-8"), Base64.URL_SAFE|Base64.NO_WRAP).replace('-','+')+"\"}";
String post = "{\"workflow\":"+data+"}";
//clear sb so that we can use it again to fetch results from this post request
sb.delete(0,sb.length()-1);
@@ -529,25 +542,23 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
connection.setRequestMethod("POST");
connection.setRequestProperty("Authorization", basicAuth);
connection.setRequestProperty("Accept", "*/*");
- // connection.setRequestProperty("Content-Length", "10165");
connection.setRequestProperty("Content-Type", "application/json");
connection.setRequestProperty("Content-Encoding", "UTF-8");
- connection.setRequestProperty("Accept-Charset", "UTF-8");
connection.setUseCaches (false);
connection.setDoOutput(true);
- // connection.setDoInput(true);
connection.connect(); //send request
DataOutputStream dos = new DataOutputStream(connection.getOutputStream());
+
dos.writeBytes(post);//write post data which is a formatted json data representing body of workflow
dos.flush();
dos.close();
-/*
+
InputStream dis = connection.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(dis));
while ((str = br.readLine())!= null)
- sb.append(str);*/
+ sb.append(str);
System.out.println("Post Response Code: "+connection.getResponseCode());
System.out.println("Post response message: "+connection.getResponseMessage());
connection.disconnect();
@@ -555,17 +566,32 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
e.printStackTrace();
sb.append("Error reading remote workflow. Please try again later");
}
+
return sb.toString();
}
+ /**
+ * Receives a result from the player as a json describing the workflow that has just been uploaded along with key components that
+ * can be used to generate a run from thw workflow. A run is started that would fetch and build a sample UI for a workflow run to be executed
+ * @param s the json result that describes the uploaded workflow
+ */
@Override
protected void onPostExecute(String s) {
- System.out.println(s);
progressDialog.dismiss();
+ System.out.println(s);
+ s = s.substring(1, s.length());
+ try {
+ JSONObject workflowJson = new JSONObject(s);
+ new WorkflowRunTask(getActivity()).execute(workflowJson.getString("id"));
+
+ } catch (JSONException e) {
+ e.printStackTrace();
+ }
+
}
}
/**
- * creates a new workflow run from the
+ * creates a new workflow run from the workflow on the player
*/
private class RunTask extends AsyncTask<String, Void, String>{
@@ -617,7 +643,6 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
br.close();
Log.i("RESPONSE Code", "" + connection.getResponseCode());
Log.i("RESPONSE Messsage", "" + connection.getResponseMessage());
- Log.i("Authorization ", "" + connection.getRequestProperty("Authorization"));
return sb.toString();
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/6e202551/app/src/main/res/layout/activity_run_result.xml
----------------------------------------------------------------------
diff --git a/app/src/main/res/layout/activity_run_result.xml b/app/src/main/res/layout/activity_run_result.xml
new file mode 100644
index 0000000..027aa67
--- /dev/null
+++ b/app/src/main/res/layout/activity_run_result.xml
@@ -0,0 +1,4 @@
+<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:tools="http://schemas.android.com/tools" android:id="@+id/container"
+ android:layout_width="match_parent" android:layout_height="match_parent"
+ tools:context="org.apache.taverna.mobile.activities.RunResult" tools:ignore="MergeRootFrame" />
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/6e202551/app/src/main/res/layout/fragment_run_result.xml
----------------------------------------------------------------------
diff --git a/app/src/main/res/layout/fragment_run_result.xml b/app/src/main/res/layout/fragment_run_result.xml
new file mode 100644
index 0000000..ccb985c
--- /dev/null
+++ b/app/src/main/res/layout/fragment_run_result.xml
@@ -0,0 +1,12 @@
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
+ android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
+ android:paddingRight="@dimen/activity_horizontal_margin"
+ android:paddingTop="@dimen/activity_vertical_margin"
+ android:paddingBottom="@dimen/activity_vertical_margin"
+ tools:context="org.apache.taverna.mobile.activities.RunResult$PlaceholderFragment">
+
+ <TextView android:text="@string/hello_world" android:layout_width="wrap_content"
+ android:layout_height="wrap_content" />
+
+</RelativeLayout>
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/6e202551/app/src/main/res/menu/run_result.xml
----------------------------------------------------------------------
diff --git a/app/src/main/res/menu/run_result.xml b/app/src/main/res/menu/run_result.xml
new file mode 100644
index 0000000..35d088f
--- /dev/null
+++ b/app/src/main/res/menu/run_result.xml
@@ -0,0 +1,7 @@
+<menu xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ xmlns:tools="http://schemas.android.com/tools"
+ tools:context="org.apache.taverna.mobile.activities.RunResult">
+ <item android:id="@+id/action_settings" android:title="@string/action_settings"
+ android:orderInCategory="100" app:showAsAction="never" />
+</menu>
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/6e202551/simple-xml-2.7.1/simple-xml-2.7.1.iml
----------------------------------------------------------------------
diff --git a/simple-xml-2.7.1/simple-xml-2.7.1.iml b/simple-xml-2.7.1/simple-xml-2.7.1.iml
deleted file mode 100644
index 07735a7..0000000
--- a/simple-xml-2.7.1/simple-xml-2.7.1.iml
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<module external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$/.." external.system.id="GRADLE" external.system.module.group="TavernaMobile2" external.system.module.version="unspecified" type="JAVA_MODULE" version="4">
- <component name="FacetManager">
- <facet type="android-gradle" name="Android-Gradle">
- <configuration>
- <option name="GRADLE_PROJECT_PATH" value=":simple-xml-2.7.1" />
- </configuration>
- </facet>
- </component>
- <component name="NewModuleRootManager" inherit-compiler-output="true">
- <exclude-output />
- <orderEntry type="inheritedJdk" />
- <orderEntry type="sourceFolder" forTests="false" />
- </component>
-</module>
-
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/6e202551/simple-xml-2.7.1/simple-xml-2.7.1.jar
----------------------------------------------------------------------
diff --git a/simple-xml-2.7.1/simple-xml-2.7.1.jar b/simple-xml-2.7.1/simple-xml-2.7.1.jar
deleted file mode 100644
index 913725d..0000000
Binary files a/simple-xml-2.7.1/simple-xml-2.7.1.jar and /dev/null differ
[29/34] incubator-taverna-mobile git commit: implementing upload
workflow to dropbox
Posted by ia...@apache.org.
implementing upload workflow to dropbox
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/354b4f4f
Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/tree/354b4f4f
Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/diff/354b4f4f
Branch: refs/heads/master
Commit: 354b4f4f31259a508feb968e002da719ecc4300c
Parents: 5b6c027
Author: larrytech7 <la...@gmail.com>
Authored: Sun Jul 12 02:17:53 2015 +0100
Committer: larrytech7 <la...@gmail.com>
Committed: Sun Jul 12 02:17:53 2015 +0100
----------------------------------------------------------------------
.../workflowdetails/WorkflowdetailFragment.java | 104 +++++++++++++++++--
app/src/main/res/drawable/dropbox_icon.png | Bin 0 -> 1543 bytes
app/src/main/res/drawable/google_drive_icon.png | Bin 0 -> 2014 bytes
.../res/layout/fragment_workflow_detail.xml | 28 ++++-
4 files changed, 119 insertions(+), 13 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/354b4f4f/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 c2c5277..786f572 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
@@ -35,6 +35,7 @@ import android.content.Intent;
import android.content.Loader;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
+import android.net.Uri;
import android.os.AsyncTask;
import android.os.Bundle;
import android.preference.PreferenceManager;
@@ -55,6 +56,12 @@ import android.widget.TextView;
import android.widget.Toast;
import android.widget.ZoomControls;
+import com.dropbox.client2.DropboxAPI;
+import com.dropbox.client2.ProgressListener;
+import com.dropbox.client2.android.AndroidAuthSession;
+import com.dropbox.client2.exception.DropboxException;
+import com.dropbox.client2.session.AppKeyPair;
+
import org.apache.taverna.mobile.R;
import org.apache.taverna.mobile.activities.DashboardMainActivity;
import org.apache.taverna.mobile.activities.RunResult;
@@ -71,10 +78,13 @@ import org.json.JSONObject;
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
+import java.net.MalformedURLException;
import java.net.URL;
import java.nio.charset.CharsetEncoder;
@@ -101,6 +111,10 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
static Animation zoomout;
public boolean isZoomIn;
public static String workflow_uri ;
+ final static private String BOX_APP_KEY = "doicbvkfyzligh2";
+ final static private String BOX_APP_SECRET = "3uuuw36mm7jkflc";
+
+ private DropboxAPI<AndroidAuthSession> mDBApi;
/**
* Returns a new instance of this fragment for the given section
@@ -121,8 +135,11 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
}
@Override
- public View onCreateView(LayoutInflater inflater, ViewGroup container,
- Bundle savedInstanceState) {
+ public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {
+
+ 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);
rootView = inflater.inflate(R.layout.fragment_workflow_detail, container, false);
progressDialog = new ProgressDialog(getActivity());
@@ -131,14 +148,15 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
WORKFLO_ID = workflowid;
zoomin = AnimationUtils.loadAnimation(getActivity(), R.anim.zoomin);
zoomout = AnimationUtils.loadAnimation(getActivity(), R.anim.zoomout);
- zoomControls = (ZoomControls) rootView.findViewById(R.id.zoomControls);
- zoomControls.setOnClickListener(this);
+
isZoomIn = false;
Button createRun = (Button) rootView.findViewById(R.id.run_wk);
createRun.setOnClickListener(this);
Button download = (Button) rootView.findViewById(R.id.download_wk);
download.setOnClickListener(this);
+ rootView.findViewById(R.id.saveToDropboxButton).setOnClickListener(this);
+ rootView.findViewById(R.id.saveToGoogleDriveButton).setOnClickListener(this);
(rootView.findViewById(R.id.wkf_image)).setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View view) {
@@ -186,10 +204,11 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
case R.id.mark_wk:
//TODO mark a workflow as important and launch task to store the entry into the local database
break;
- case R.id.zoomControls:
- zoomin.reset();
- zoomin.startNow();
- Toast.makeText(getActivity(), "Zooming", Toast.LENGTH_SHORT).show();
+ case R.id.saveToDropboxButton:
+ mDBApi.getSession().startOAuth2Authentication(getActivity());
+
+ break;
+ case R.id.saveToGoogleDriveButton:
break;
}
}
@@ -207,6 +226,17 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
workflow_uri = getActivity().getIntent().getStringExtra("uri");
getActivity().getLoaderManager().initLoader(1, null, this).forceLoad();
+
+ if (mDBApi.getSession().authenticationSuccessful()) {
+ try {
+ // Required to complete auth, sets the access token on the session
+ mDBApi.getSession().finishAuthentication();
+ String accessToken = mDBApi.getSession().getOAuth2AccessToken();
+ new WorkflowDriveUpload().execute(download_url);
+ } catch (IllegalStateException e) {
+ Log.i("DbAuthLog", "Error authenticating", e);
+ }
+ }
}
@Override
@@ -591,4 +621,62 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
}
}
+ /**
+ * Upload workflow from myexperiment to DropBox
+ */
+ private class WorkflowDriveUpload extends AsyncTask<String, Void, String>{
+ @Override
+ protected void onPreExecute() {
+ Toast.makeText(getActivity(), "Saving workflow to dropBox", Toast.LENGTH_LONG).show();
+ }
+
+ @Override
+ protected String doInBackground(String... files) {
+ // File file = new File(files[0]);
+ HttpURLConnection mconn ;
+ // FileInputStream inputStream = null;
+ DropboxAPI.Entry response = null;
+ DropboxAPI.Entry metaDataEntry = null;
+ try {
+ mconn = (HttpURLConnection) new URL(files[0]).openConnection();
+ mconn.setRequestMethod("GET");
+ mconn.connect();
+
+ // inputStream = new FileInputStream(file);
+
+ response = mDBApi.putFile("/"+ Uri.parse(files[0]).getLastPathSegment(), mconn.getInputStream(),
+ mconn.getContentLength(), null, new ProgressListener() {
+ @Override
+ public void onProgress(long l, long l2) {
+ if (l==l2){
+ Toast.makeText(getActivity(), "Upload complete", Toast.LENGTH_LONG).show();
+ }
+ }
+ });
+
+ Log.i("DbExampleLog", "The uploaded file's rev is: " + response.rev);
+ metaDataEntry = mDBApi.metadata("/"+Uri.parse(files[0]).getLastPathSegment(), 1, null, false, null);
+ } catch (FileNotFoundException e) {
+ e.printStackTrace();
+ } catch (DropboxException e) {
+ e.printStackTrace();
+ } catch (MalformedURLException e) {
+ e.printStackTrace();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+
+ return response.rev;
+ }
+
+ @Override
+ protected void onPostExecute(String s) {
+ if(null != s)
+ Toast.makeText(getActivity(), "File Saved to dropbox: "+s, Toast.LENGTH_LONG).show();
+ else{
+ Toast.makeText(getActivity(), "Failed to save to dropbox "+s, Toast.LENGTH_LONG).show();
+ }
+ }
+ }
+
}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/354b4f4f/app/src/main/res/drawable/dropbox_icon.png
----------------------------------------------------------------------
diff --git a/app/src/main/res/drawable/dropbox_icon.png b/app/src/main/res/drawable/dropbox_icon.png
new file mode 100644
index 0000000..77c5fc8
Binary files /dev/null and b/app/src/main/res/drawable/dropbox_icon.png differ
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/354b4f4f/app/src/main/res/drawable/google_drive_icon.png
----------------------------------------------------------------------
diff --git a/app/src/main/res/drawable/google_drive_icon.png b/app/src/main/res/drawable/google_drive_icon.png
new file mode 100644
index 0000000..cdd8b0b
Binary files /dev/null and b/app/src/main/res/drawable/google_drive_icon.png differ
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/354b4f4f/app/src/main/res/layout/fragment_workflow_detail.xml
----------------------------------------------------------------------
diff --git a/app/src/main/res/layout/fragment_workflow_detail.xml b/app/src/main/res/layout/fragment_workflow_detail.xml
index 9bab19c..94d3e94 100644
--- a/app/src/main/res/layout/fragment_workflow_detail.xml
+++ b/app/src/main/res/layout/fragment_workflow_detail.xml
@@ -93,12 +93,30 @@ limitations under the License.
android:backgroundTint="@color/accent_material_light"
android:backgroundTintMode="src_atop" />
- <ZoomControls
- android:layout_width="wrap_content"
+ <LinearLayout
+ android:orientation="horizontal"
+ android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:id="@+id/zoomControls"
- android:layout_gravity="center_horizontal"
- android:orientation="horizontal" />
+ android:layout_gravity="center"
+ android:gravity="right">
+
+ <ImageButton
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:id="@+id/saveToDropboxButton"
+ android:src="@drawable/dropbox_icon"
+ android:layout_gravity="left"
+ android:layout_marginRight="20dp"
+ android:background="@color/button_material_light" />
+
+ <ImageButton
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:id="@+id/saveToGoogleDriveButton"
+ android:src="@drawable/google_drive_icon"
+ android:layout_gravity="right"
+ android:background="@color/button_material_light" />
+ </LinearLayout>
</LinearLayout>
</ScrollView>
[11/34] incubator-taverna-mobile git commit: implementing workflow
run creation functionality
Posted by ia...@apache.org.
implementing workflow run creation functionality
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/c87abf82
Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/tree/c87abf82
Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/diff/c87abf82
Branch: refs/heads/master
Commit: c87abf82fd04562eea64f692d45135ef70250e43
Parents: e664260
Author: larrytech7 <la...@gmail.com>
Authored: Sat Jul 4 02:05:41 2015 +0100
Committer: larrytech7 <la...@gmail.com>
Committed: Sat Jul 4 02:05:41 2015 +0100
----------------------------------------------------------------------
.../mobile/adapters/WorkflowAdapter.java | 4 ++--
.../workflowdetails/WorkflowdetailFragment.java | 16 ++++++++++----
.../main/res/layout/workflow_item_layout.xml | 22 +++++++++++++-------
3 files changed, 29 insertions(+), 13 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/c87abf82/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 2b40cc9..c18d60c 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
@@ -122,8 +122,8 @@ 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);
if(description.length() > 80) description = description.substring(0, 79);
- viewHolder.author_name.setText(author);
- viewHolder.wk_title.setText(title);
+ viewHolder.author_name.setHint(author);
+ viewHolder.wk_title.setHint(title);
viewHolder.wk_description.setText( description+" ... ");
Linkify.addLinks(viewHolder.wk_description, Linkify.WEB_URLS);
final String wkflow_url = workflow.get(j).getWorkflow_remote_url();
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/c87abf82/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 a1b42ab..5e6594e 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
@@ -519,22 +519,30 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
bufferedReader.close();
wconn.disconnect();
- String data = "{\"document\":\"data:application/octet-stream;base64,"+Base64.encodeToString(sb.toString().getBytes(), Base64.DEFAULT)+"\"}";
+ // Base64.encodeToString(sb.toString().getBytes("UTF-8"), Base64.DEFAULT)
+ String data = "{\"document\":\"data:application/octet-stream;base64," +
+ "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHM6c2N1ZmwgeG1sbnM6cz0iaHR0cDovL29yZy5lbWJsLmViaS5lc2NpZW5jZS94c2N1ZmwvMC4xYWxwaGEiIHZlcnNpb249IjAuMiIgbG9nPSIwIj4KICA8czp3b3JrZmxvd2Rlc2NyaXB0aW9uIGxzaWQ9InVybjpsc2lkOnd3dy5teWdyaWQub3JnLnVrOm9wZXJhdGlvbjpLNlpDRzZJV05TMCIgYXV0aG9yPSIiIHRpdGxlPSIiIC8+CiAgPHM6cHJvY2Vzc29yIG5hbWU9IlN0cmluZ19Db25zdGFudCIgYm9yaW5nPSJ0cnVlIj4KICAgIDxzOnN0cmluZ2NvbnN0YW50Pmh0dHA6Ly93d3cuY3MubWFuLmFjLnVrL35nb2RlcmlzYS9QaG90by5qcGc8L3M6c3RyaW5nY29uc3RhbnQ+CiAgPC9zOnByb2Nlc3Nvcj4KICA8czpwcm9jZXNzb3IgbmFtZT0iR2V0X2ltYWdlX2Zyb21fVVJMIj4KICAgIDxzOmxvY2FsPm9yZy5lbWJsLmViaS5lc2NpZW5jZS5zY3VmbHdvcmtlcnMuamF2YS5XZWJJbWFnZUZldGNoZXI8L3M6bG9jYWw+CiAgPC9zOnByb2Nlc3Nvcj4KICA8czpsaW5rIHNvdXJjZT0iU3RyaW5nX0NvbnN0YW50OnZhbHVlIiBzaW5rPSJHZXRfaW1hZ2VfZnJvbV9VUkw6dXJsIiAvPgogIDxzOmxpbmsgc291cmNlPSJHZXRfaW1hZ2VfZnJvbV9VUkw6aW1hZ2UiIHNpbms9InZpeiIgLz4KICA8czpzaW5rIG5hbWU9InZpeiIgLz4KPC9zOnNjdWZsPgoKCg=="+"\"}";
String post = "{\"workflow\":"+data+"}";
//clear sb so that we can use it again to fetch results from this post request
sb.delete(0,sb.length()-1);
System.out.println("BODY=>"+post);
+ connection.setRequestMethod("POST");
connection.setRequestProperty("Authorization", basicAuth);
connection.setRequestProperty("Accept", "*/*");
+ // connection.setRequestProperty("Content-Length", "10165");
connection.setRequestProperty("Content-Type", "application/json");
- connection.setRequestMethod("POST");
+ connection.setRequestProperty("Content-Language", "en-US");
+ connection.setRequestProperty("Accept-Charset", "UTF-8");
+ connection.setUseCaches (false);
+ connection.setDoOutput(true);
+ // connection.setDoInput(true);
connection.connect(); //send request
- /* DataOutputStream dos = new DataOutputStream(connection.getOutputStream());
+ DataOutputStream dos = new DataOutputStream(connection.getOutputStream());
dos.writeBytes(post);//write post data which is a formatted json data representing body of workflow
dos.flush();
- dos.close();*/
+ dos.close();
/*
InputStream dis = connection.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(dis));
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/c87abf82/app/src/main/res/layout/workflow_item_layout.xml
----------------------------------------------------------------------
diff --git a/app/src/main/res/layout/workflow_item_layout.xml b/app/src/main/res/layout/workflow_item_layout.xml
index 26b30f6..2a88905 100644
--- a/app/src/main/res/layout/workflow_item_layout.xml
+++ b/app/src/main/res/layout/workflow_item_layout.xml
@@ -39,14 +39,18 @@ limitations under the License.
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
+ <FrameLayout android:id="@+id/mframe"
+ android:layout_height="wrap_content"
+ android:layout_width="match_parent">
<ImageView
android:id="@+id/author_profile_image"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
android:elevation="5dp"
android:src="@mipmap/icuserprofiles"
- android:background="@drawable/round_shape"
- android:contentDescription="@string/workflow_authorhint" />
+
+ android:contentDescription="@string/workflow_authorhint"
+ android:scaleType="fitEnd" />
<LinearLayout
android:id="@+id/linearlayout_workflow_info"
@@ -56,15 +60,17 @@ limitations under the License.
android:showDividers="middle|beginning"
android:divider="@color/background_material_dark"
android:dividerPadding="2dp"
- android:layout_marginLeft="2dp">
+ android:layout_marginLeft="2dp"
+ android:layout_marginTop="50dp"
+ android:background="@android:color/transparent">
<TextView
android:id="@+id/workflow_author"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:text="@string/workflow_authorhint"
android:capitalize="characters"
android:textColor="#000"
- android:textSize="22dp" />
+ android:textSize="22dp"
+ android:hint="@string/workflow_authorhint" />
<TextView
android:layout_width="wrap_content"
@@ -82,6 +88,8 @@ limitations under the License.
android:typeface="serif"
android:background="@color/material_deep_teal_200" />
</LinearLayout>
+ </FrameLayout>
+
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
[03/34] incubator-taverna-mobile git commit: Merge
https://github.com/larrytech7/incubator-taverna-mobile
Posted by ia...@apache.org.
Merge https://github.com/larrytech7/incubator-taverna-mobile
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/d7438503
Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/tree/d7438503
Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/diff/d7438503
Branch: refs/heads/master
Commit: d74385030b46c9b8ac87d7ecf8e6edb88bc64eab
Parents: f964b0d 4a7cbb6
Author: larrytech7 <la...@gmail.com>
Authored: Mon Jun 29 19:07:44 2015 +0100
Committer: larrytech7 <la...@gmail.com>
Committed: Mon Jun 29 19:07:44 2015 +0100
----------------------------------------------------------------------
.../apache/com/tavernamobile/LoginActivity.java | 66 --------------------
1 file changed, 66 deletions(-)
----------------------------------------------------------------------
[13/34] incubator-taverna-mobile git commit: changed title text
colour to app blue theme so it appears well over the author image
Posted by ia...@apache.org.
changed title text colour to app blue theme so it appears well over the author image
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/57164b11
Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/tree/57164b11
Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/diff/57164b11
Branch: refs/heads/master
Commit: 57164b1183f4d1bcb69e5818eba57f55d96c2c8f
Parents: e031e8f
Author: larrytech7 <la...@gmail.com>
Authored: Mon Jul 6 17:08:42 2015 +0100
Committer: larrytech7 <la...@gmail.com>
Committed: Mon Jul 6 17:08:42 2015 +0100
----------------------------------------------------------------------
app/src/main/res/layout/workflow_item_layout.xml | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/57164b11/app/src/main/res/layout/workflow_item_layout.xml
----------------------------------------------------------------------
diff --git a/app/src/main/res/layout/workflow_item_layout.xml b/app/src/main/res/layout/workflow_item_layout.xml
index 2a88905..d6c5724 100644
--- a/app/src/main/res/layout/workflow_item_layout.xml
+++ b/app/src/main/res/layout/workflow_item_layout.xml
@@ -77,7 +77,10 @@ limitations under the License.
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:id="@+id/workflow_title"
- android:hint="@string/wktitle" />
+ android:hint="@string/wktitle"
+ android:textColor="#33b5e5"
+ android:textColorHighlight="#33b5ee"
+ android:textColorHint="#33b5e5" />
<TextView
android:layout_width="match_parent"