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 2017/01/11 15:19:59 UTC

[1/7] incubator-taverna-mobile git commit: Use taverna server to start workflow run

Repository: incubator-taverna-mobile
Updated Branches:
  refs/heads/ian_taverna_server [created] 825c79b11


Use taverna server to start workflow run


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

Branch: refs/heads/ian_taverna_server
Commit: eab06c317e3ab149c8e593bb811dee3a3a74f58e
Parents: 3798002
Author: Ian Dunlop <ia...@manchester.ac.uk>
Authored: Fri Dec 9 16:35:05 2016 +0000
Committer: Ian Dunlop <ia...@manchester.ac.uk>
Committed: Fri Dec 9 16:35:05 2016 +0000

----------------------------------------------------------------------
 .../data/remote/TavernaPlayerService.java       |  10 +-
 .../ui/playerlogin/PlayerLoginFragment.java     |  31 +++--
 .../ui/playerlogin/PlayerLoginMvpView.java      |   3 +-
 .../ui/playerlogin/PlayerLoginPresenter.java    | 127 ++++++++++++++++---
 .../ui/workflowrun/WorkflowRunActivity.java     |   3 +-
 .../ui/workflowrun/WorkflowRunPresenter.java    |  10 +-
 .../main/res/layout/activity_workflow_run.xml   |   4 +-
 .../res/layout/fragment_player_login_layout.xml |   4 +-
 app/src/main/res/values/strings.xml             |   2 +
 9 files changed, 147 insertions(+), 47 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/eab06c31/app/src/main/java/org/apache/taverna/mobile/data/remote/TavernaPlayerService.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/data/remote/TavernaPlayerService.java b/app/src/main/java/org/apache/taverna/mobile/data/remote/TavernaPlayerService.java
index e71ea38..0a3c688 100644
--- a/app/src/main/java/org/apache/taverna/mobile/data/remote/TavernaPlayerService.java
+++ b/app/src/main/java/org/apache/taverna/mobile/data/remote/TavernaPlayerService.java
@@ -34,11 +34,13 @@ import rx.Observable;
 
 public interface TavernaPlayerService {
 
-    @POST("/workflows.json")
+    @POST("rest/runs")
     @Headers({
-            APIEndPoint.JSON_CONTENT_HEADER,
-            APIEndPoint.JSON_ACCEPT_HEADER,
-            APIEndPoint.UTF_CONTENT_ENCODING_HEADER})
+            "Content-type: application/vnd.taverna.t2flow+xml"
+ //           APIEndPoint.JSON_CONTENT_HEADER,
+   //         APIEndPoint.JSON_ACCEPT_HEADER,
+     //       APIEndPoint.UTF_CONTENT_ENCODING_HEADER
+            })
     Observable<PlayerWorkflow> uploadWorkflow(@Body RequestBody body, @Header("Authorization")
             String authorization);
 

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/eab06c31/app/src/main/java/org/apache/taverna/mobile/ui/playerlogin/PlayerLoginFragment.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/ui/playerlogin/PlayerLoginFragment.java b/app/src/main/java/org/apache/taverna/mobile/ui/playerlogin/PlayerLoginFragment.java
index 7123e6e..ebb57d7 100644
--- a/app/src/main/java/org/apache/taverna/mobile/ui/playerlogin/PlayerLoginFragment.java
+++ b/app/src/main/java/org/apache/taverna/mobile/ui/playerlogin/PlayerLoginFragment.java
@@ -38,10 +38,12 @@ import org.apache.taverna.mobile.R;
 import org.apache.taverna.mobile.data.DataManager;
 import org.apache.taverna.mobile.data.local.PreferencesHelper;
 import org.apache.taverna.mobile.utils.ConnectionInfo;
+import org.apache.taverna.mobile.utils.Constants;
 
 import butterknife.BindView;
 import butterknife.ButterKnife;
 import butterknife.OnClick;
+import rx.Subscription;
 
 
 public class PlayerLoginFragment extends Fragment implements PlayerLoginMvpView, View
@@ -64,6 +66,7 @@ public class PlayerLoginFragment extends Fragment implements PlayerLoginMvpView,
     OnSuccessful mCallback;
     private DataManager dataManager;
     private PlayerLoginPresenter mPlayerLoginPresenter;
+    private Subscription mSubscriptions;
 
     public static PlayerLoginFragment newInstance() {
 
@@ -119,17 +122,22 @@ public class PlayerLoginFragment extends Fragment implements PlayerLoginMvpView,
     @OnClick(R.id.bLogin)
     public void login(View v) {
         if (ConnectionInfo.isConnectingToInternet(getContext())) {
-            if (!mEditTextEmail.getText().toString().trim().isEmpty() && !mEditTextPassword
-                    .getText().toString().trim().isEmpty()) {
-
-                mPlayerLoginPresenter.playerLogin(mEditTextEmail.getText().toString().trim(),
+            String workflowURL = getActivity().getIntent().getStringExtra(Constants.WORKFLOW_URL);
+            mPlayerLoginPresenter.playerLogin(workflowURL, mEditTextEmail.getText().toString().trim(),
                         mEditTextPassword.getText().toString().trim(), mCheckBoxRemember
                                 .isChecked());
 
-            } else {
-
-                showError(R.string.error_vaild_credential);
-            }
+//            if (!mEditTextEmail.getText().toString().trim().isEmpty() && !mEditTextPassword
+//                    .getText().toString().trim().isEmpty()) {
+//
+//                mPlayerLoginPresenter.playerLogin(mEditTextEmail.getText().toString().trim(),
+//                        mEditTextPassword.getText().toString().trim(), mCheckBoxRemember
+//                                .isChecked());
+//
+//            } else {
+//
+//                showError(R.string.error_vaild_credential);
+//            }
         } else {
 
             showError(R.string.no_internet_connection);
@@ -158,11 +166,10 @@ public class PlayerLoginFragment extends Fragment implements PlayerLoginMvpView,
     }
 
     @Override
-    public void validCredential() {
-        mCallback.onSuccessfulLogin();
+    public void validCredential(String runID) {
+        mCallback.onSuccessfulLogin(runID);
     }
 
-
     private void validateEmail() {
 
         if (mEditTextEmail.getText().toString().trim().isEmpty()) {
@@ -221,7 +228,7 @@ public class PlayerLoginFragment extends Fragment implements PlayerLoginMvpView,
 
 
     public interface OnSuccessful {
-        void onSuccessfulLogin();
+        void onSuccessfulLogin(String runID);
     }
 
     private class CustomTextWatcher implements TextWatcher {

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/eab06c31/app/src/main/java/org/apache/taverna/mobile/ui/playerlogin/PlayerLoginMvpView.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/ui/playerlogin/PlayerLoginMvpView.java b/app/src/main/java/org/apache/taverna/mobile/ui/playerlogin/PlayerLoginMvpView.java
index 4b4d84d..e34ba47 100644
--- a/app/src/main/java/org/apache/taverna/mobile/ui/playerlogin/PlayerLoginMvpView.java
+++ b/app/src/main/java/org/apache/taverna/mobile/ui/playerlogin/PlayerLoginMvpView.java
@@ -27,5 +27,6 @@ public interface PlayerLoginMvpView extends MvpView {
 
     void showCredentialError();
 
-    void validCredential();
+    void validCredential(String runID);
+
 }

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/eab06c31/app/src/main/java/org/apache/taverna/mobile/ui/playerlogin/PlayerLoginPresenter.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/ui/playerlogin/PlayerLoginPresenter.java b/app/src/main/java/org/apache/taverna/mobile/ui/playerlogin/PlayerLoginPresenter.java
index 8113cbd..66bcb93 100644
--- a/app/src/main/java/org/apache/taverna/mobile/ui/playerlogin/PlayerLoginPresenter.java
+++ b/app/src/main/java/org/apache/taverna/mobile/ui/playerlogin/PlayerLoginPresenter.java
@@ -23,13 +23,24 @@ import android.util.Log;
 
 import org.apache.taverna.mobile.R;
 import org.apache.taverna.mobile.data.DataManager;
+import org.apache.taverna.mobile.data.model.PlayerWorkflow;
+import org.apache.taverna.mobile.data.model.PlayerWorkflowDetail;
 import org.apache.taverna.mobile.ui.base.BasePresenter;
+import org.apache.taverna.mobile.utils.Constants;
 
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStreamReader;
+
+import okhttp3.MediaType;
+import okhttp3.RequestBody;
 import okhttp3.ResponseBody;
 import retrofit2.adapter.rxjava.HttpException;
+import rx.Observable;
 import rx.Observer;
 import rx.Subscription;
 import rx.android.schedulers.AndroidSchedulers;
+import rx.functions.Func1;
 import rx.schedulers.Schedulers;
 
 
@@ -56,43 +67,117 @@ public class PlayerLoginPresenter extends BasePresenter<PlayerLoginMvpView> {
         if (mSubscriptions != null) mSubscriptions.unsubscribe();
     }
 
-    public void playerLogin(final String username, final String password, final boolean loginFlag) {
+    public void playerLogin(final String workflowURL, final String username, final String password, final boolean loginFlag) {
+        if (mSubscriptions != null) mSubscriptions.unsubscribe();
+
         if (mSubscriptions != null) mSubscriptions.unsubscribe();
 
-        mSubscriptions = mDataManager.authPlayerUserLoginDetail(getEncodedCredential(username,
-                password), loginFlag)
+        mSubscriptions = mDataManager.downloadWorkflowContent(workflowURL)
+                .concatMap(new Func1<ResponseBody, Observable<PlayerWorkflow>>() {
+                    @Override
+                    public Observable<PlayerWorkflow> call(ResponseBody responseBody) {
+
+                        StringBuffer sb = new StringBuffer();
+                        String post = "";
+
+                        String basicAuth = getEncodedCredential(username, password);
+                         //       mDataManager.getPreferencesHelper()
+                         //       .getUserPlayerCredential();
+                        boolean flag = false;
+                        try {
+
+                            BufferedReader bufferedReader = new BufferedReader(
+                                    new InputStreamReader(responseBody.byteStream()));
+
+                            String str = "";
+
+                            while ((str = bufferedReader.readLine()) != null) {
+                                sb.append(str);
+                            }
+
+                            bufferedReader.close();
+
+                            //String data = "{\"document\":\"data:application/octet-stream;base64," +
+                            //        Base64.encodeToString(sb.toString().getBytes("UTF-8"), Base64
+                            //                .URL_SAFE | Base64.NO_WRAP).replace('-', '+') + "\"}";
+
+                            /// post = "{\"workflow\":" + data + "}";
+                            flag = true;
+                        } catch (IOException e) {
+                            Log.e(TAG, "call: ", e);
+                        }
+                        if (flag) {
+                            RequestBody body =
+                                    RequestBody.create(MediaType.parse("application/vnd.taverna.t2flow+xml"), sb.toString());
+
+                            return mDataManager.uploadWorkflowContent(body, basicAuth.trim());
+                        } else {
+                            return Observable.empty();
+                        }
+
+
+                    }
+                })
+                .concatMap(new Func1<PlayerWorkflow, Observable<PlayerWorkflowDetail>>() {
+                    @Override
+                    public Observable<PlayerWorkflowDetail> call(PlayerWorkflow playerWorkflow) {
+
+                        return mDataManager.getWorkflowDetail(playerWorkflow.getId());
+                    }
+                })
                 .observeOn(AndroidSchedulers.mainThread())
                 .subscribeOn(Schedulers.io())
-                .subscribe(new Observer<ResponseBody>() {
+                .subscribe(new Observer<PlayerWorkflowDetail>() {
                     @Override
                     public void onCompleted() {
-
                     }
 
                     @Override
                     public void onError(Throwable e) {
-                        Log.e(TAG, "onError: ", e);
-                        if (e instanceof HttpException) {
-                            if (((HttpException) e).code() == 401) {
-                                getMvpView().showCredentialError();
-                            } else if (((HttpException) e).code() == 406) {
-                                getMvpView().validCredential();
-                                mDataManager.getPreferencesHelper()
-                                        .setUserPlayerLoggedInFlagAndCredential(loginFlag,
-                                                getEncodedCredential(username, password));
-
-                            } else {
-                                getMvpView().showError(R.string.servererr);
-                            }
-                        }
+
+                        getMvpView().showError(R.string.general_run_err);
                     }
 
                     @Override
-                    public void onNext(ResponseBody responseBody) {
-                        Log.d(TAG, "onCompleted: " + responseBody.byteStream());
+                    public void onNext(PlayerWorkflowDetail playerWorkflowDetail) {
+                        getMvpView().validCredential(playerWorkflowDetail.getRun().getName());
                     }
                 });
 
+//        mSubscriptions = mDataManager.authPlayerUserLoginDetail(getEncodedCredential(username,
+//                password), loginFlag)
+//                .observeOn(AndroidSchedulers.mainThread())
+//                .subscribeOn(Schedulers.io())
+//                .subscribe(new Observer<ResponseBody>() {
+//                    @Override
+//                    public void onCompleted() {
+//
+//                    }
+//
+//                    @Override
+//                    public void onError(Throwable e) {
+//                        Log.e(TAG, "onError: ", e);
+//                        if (e instanceof HttpException) {
+//                            if (((HttpException) e).code() == 401) {
+//                                getMvpView().showCredentialError();
+//                            } else if (((HttpException) e).code() == 406) {
+//                                getMvpView().validCredential();
+//                                mDataManager.getPreferencesHelper()
+//                                        .setUserPlayerLoggedInFlagAndCredential(loginFlag,
+//                                                getEncodedCredential(username, password));
+//
+//                            } else {
+//                                getMvpView().showError(R.string.servererr);
+//                            }
+//                        }
+//                    }
+//
+//                    @Override
+//                    public void onNext(ResponseBody responseBody) {
+//                        Log.d(TAG, "onCompleted: " + responseBody.byteStream());
+//                    }
+//                });
+
     }
 
     private String getEncodedCredential(String username, String password) {

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/eab06c31/app/src/main/java/org/apache/taverna/mobile/ui/workflowrun/WorkflowRunActivity.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/ui/workflowrun/WorkflowRunActivity.java b/app/src/main/java/org/apache/taverna/mobile/ui/workflowrun/WorkflowRunActivity.java
index 50febae..42bb06b 100644
--- a/app/src/main/java/org/apache/taverna/mobile/ui/workflowrun/WorkflowRunActivity.java
+++ b/app/src/main/java/org/apache/taverna/mobile/ui/workflowrun/WorkflowRunActivity.java
@@ -112,11 +112,12 @@ public class WorkflowRunActivity extends FragmentActivity implements WorkflowRun
 
 
     @Override
-    public void onSuccessfulLogin() {
+    public void onSuccessfulLogin(String runID) {
         position = 1;
         mPager.setCurrentItem(position);
         mStepsView.setCompletedPosition(position % labels.length).drawView();
         mWorkflowRunPresenter.runWorkflow(getIntent().getStringExtra(Constants.WORKFLOW_URL));
+        mWorkflowRunPresenter.runWorkflow(runID);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/eab06c31/app/src/main/java/org/apache/taverna/mobile/ui/workflowrun/WorkflowRunPresenter.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/ui/workflowrun/WorkflowRunPresenter.java b/app/src/main/java/org/apache/taverna/mobile/ui/workflowrun/WorkflowRunPresenter.java
index afb8761..105966e 100644
--- a/app/src/main/java/org/apache/taverna/mobile/ui/workflowrun/WorkflowRunPresenter.java
+++ b/app/src/main/java/org/apache/taverna/mobile/ui/workflowrun/WorkflowRunPresenter.java
@@ -94,18 +94,18 @@ public class WorkflowRunPresenter extends BasePresenter<WorkflowRunMvpView> {
 
                             bufferedReader.close();
 
-                            String data = "{\"document\":\"data:application/octet-stream;base64," +
-                                    Base64.encodeToString(sb.toString().getBytes("UTF-8"), Base64
-                                            .URL_SAFE | Base64.NO_WRAP).replace('-', '+') + "\"}";
+                            //String data = "{\"document\":\"data:application/octet-stream;base64," +
+                            //        Base64.encodeToString(sb.toString().getBytes("UTF-8"), Base64
+                            //                .URL_SAFE | Base64.NO_WRAP).replace('-', '+') + "\"}";
 
-                            post = "{\"workflow\":" + data + "}";
+                           /// post = "{\"workflow\":" + data + "}";
                             flag = true;
                         } catch (IOException e) {
                             Log.e(TAG, "call: ", e);
                         }
                         if (flag) {
                             RequestBody body =
-                                    RequestBody.create(MediaType.parse("application/json"), post);
+                                    RequestBody.create(MediaType.parse("application/vnd.taverna.t2flow+xml"), sb.toString());
 
                             return mDataManager.uploadWorkflowContent(body, basicAuth.trim());
                         } else {

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/eab06c31/app/src/main/res/layout/activity_workflow_run.xml
----------------------------------------------------------------------
diff --git a/app/src/main/res/layout/activity_workflow_run.xml b/app/src/main/res/layout/activity_workflow_run.xml
index cf4fea9..38d9fb0 100644
--- a/app/src/main/res/layout/activity_workflow_run.xml
+++ b/app/src/main/res/layout/activity_workflow_run.xml
@@ -27,7 +27,9 @@ limitations under the License.
         android:id="@+id/stepsView"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
-        />
+        >
+
+    </com.anton46.stepsview.StepsView>
 
     <org.apache.taverna.mobile.utils.NonSwipeableViewPager
         android:id="@+id/viewpager"

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/eab06c31/app/src/main/res/layout/fragment_player_login_layout.xml
----------------------------------------------------------------------
diff --git a/app/src/main/res/layout/fragment_player_login_layout.xml b/app/src/main/res/layout/fragment_player_login_layout.xml
index 594fb6f..5d27b38 100644
--- a/app/src/main/res/layout/fragment_player_login_layout.xml
+++ b/app/src/main/res/layout/fragment_player_login_layout.xml
@@ -31,7 +31,7 @@ limitations under the License.
         android:layout_height="wrap_content"
         android:gravity="center"
         android:textSize="24sp"
-        android:text="@string/headline_taverna_player_portal_login"/>
+        android:text="@string/headline_taverna_server_login"/>
 
     <android.support.design.widget.TextInputLayout
         android:layout_below="@id/header"
@@ -79,7 +79,7 @@ limitations under the License.
         android:id="@+id/bLogin"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
-        android:text="@string/button_text_login"
+        android:text="@string/play_workflow"
         android:layout_marginTop="20dp"
         android:layout_below="@id/cbRemember"/>
 

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/eab06c31/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 d063b3f..9b21a05 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -113,6 +113,7 @@ limitations under the License.
     <string name="playeruser">Username/email</string>
     <string name="playerpass">Password</string>
     <string name="servererr">Server error. Please try again later</string>
+    <string name="general_run_err">There was an error while creating the run. Please try again.</string>
     <string name="auth_err">Invalid login credentials</string>
     <string name="myexperimenttitle">Configure MyExperiment Account</string>
     <string name="myexperimentsummary">Username used to login to MyExperiment</string>
@@ -180,6 +181,7 @@ limitations under the License.
     <string name="uploading_workflow_lable">Uploading Workflow</string>
     <string name="please_wait">Please Wait ...</string>
     <string name="headline_taverna_player_portal_login">Taverna Player Portal Login</string>
+    <string name="headline_taverna_server_login">Taverna Server Login</string>
     <string name="button_text_login">Login</string>
 
 


[5/7] incubator-taverna-mobile git commit: Listen to the inputs fragment in the workflow activity

Posted by ia...@apache.org.
Listen to the inputs fragment in the workflow 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/063a26a3
Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/tree/063a26a3
Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/diff/063a26a3

Branch: refs/heads/ian_taverna_server
Commit: 063a26a3cd62acb3f45cf98b95e49a30c94cd6f5
Parents: 25447d0
Author: Ian Dunlop <ia...@manchester.ac.uk>
Authored: Tue Dec 20 16:09:13 2016 +0000
Committer: Ian Dunlop <ia...@manchester.ac.uk>
Committed: Tue Dec 20 16:09:13 2016 +0000

----------------------------------------------------------------------
 .../taverna/mobile/ui/workflowrun/WorkflowRunActivity.java   | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/063a26a3/app/src/main/java/org/apache/taverna/mobile/ui/workflowrun/WorkflowRunActivity.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/ui/workflowrun/WorkflowRunActivity.java b/app/src/main/java/org/apache/taverna/mobile/ui/workflowrun/WorkflowRunActivity.java
index 2b8dc32..f8b4972 100644
--- a/app/src/main/java/org/apache/taverna/mobile/ui/workflowrun/WorkflowRunActivity.java
+++ b/app/src/main/java/org/apache/taverna/mobile/ui/workflowrun/WorkflowRunActivity.java
@@ -19,6 +19,7 @@
 package org.apache.taverna.mobile.ui.workflowrun;
 
 
+import android.net.Uri;
 import android.os.Bundle;
 import android.support.annotation.Nullable;
 import android.support.v4.app.Fragment;
@@ -48,7 +49,7 @@ import butterknife.ButterKnife;
 import static com.raizlabs.android.dbflow.config.FlowManager.getContext;
 
 public class WorkflowRunActivity extends FragmentActivity implements WorkflowRunMvpView,
-        TavernaServerCreateRunFragment.OnSuccessful {
+        TavernaServerCreateRunFragment.OnSuccessful, TavernaServerInputsFragment.OnFragmentInteractionListener {
 
 
 
@@ -166,6 +167,11 @@ public class WorkflowRunActivity extends FragmentActivity implements WorkflowRun
         finish();
     }
 
+    @Override
+    public void onFragmentInteraction(Uri uri) {
+        //TODO something when the inputs are set
+    }
+
     private class ScreenSlidePagerAdapter extends FragmentStatePagerAdapter {
         public ScreenSlidePagerAdapter(FragmentManager fm) {
             super(fm);


[7/7] incubator-taverna-mobile git commit: Change wording on create run page

Posted by ia...@apache.org.
Change wording on create run page


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

Branch: refs/heads/ian_taverna_server
Commit: 825c79b11ee3895c4f03fe2fc071c59c9de26f6c
Parents: 60b45e1
Author: Ian Dunlop <ia...@manchester.ac.uk>
Authored: Wed Jan 11 15:19:34 2017 +0000
Committer: Ian Dunlop <ia...@manchester.ac.uk>
Committed: Wed Jan 11 15:19:34 2017 +0000

----------------------------------------------------------------------
 .../inputs/TavernaServerInputsFragment.java     | 105 +++++++++++++++++++
 .../inputs/TavernaServerInputsMvpView.java      |  10 ++
 .../inputs/TavernaServerInputsPresenter.java    |  10 ++
 .../layout/fragment_taverna_server_inputs.xml   |  15 +++
 app/src/main/res/values/strings.xml             |   2 +-
 5 files changed, 141 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/825c79b1/app/src/main/java/org/apache/taverna/mobile/ui/tavernaserver/inputs/TavernaServerInputsFragment.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/ui/tavernaserver/inputs/TavernaServerInputsFragment.java b/app/src/main/java/org/apache/taverna/mobile/ui/tavernaserver/inputs/TavernaServerInputsFragment.java
new file mode 100644
index 0000000..cba2a90
--- /dev/null
+++ b/app/src/main/java/org/apache/taverna/mobile/ui/tavernaserver/inputs/TavernaServerInputsFragment.java
@@ -0,0 +1,105 @@
+package org.apache.taverna.mobile.ui.tavernaserver.inputs;
+
+import android.content.Context;
+import android.net.Uri;
+import android.os.Bundle;
+import android.support.v4.app.Fragment;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+
+import org.apache.taverna.mobile.R;
+
+/**
+ * A simple {@link Fragment} subclass.
+ * Activities that contain this fragment must implement the
+ * {@link TavernaServerInputsFragment.OnFragmentInteractionListener} interface
+ * to handle interaction events.
+ * Use the {@link TavernaServerInputsFragment#newInstance} factory method to
+ * create an instance of this fragment.
+ */
+public class TavernaServerInputsFragment extends Fragment {
+    // TODO: Rename parameter arguments, choose names that match
+    // the fragment initialization parameters, e.g. ARG_ITEM_NUMBER
+    private static final String ARG_PARAM1 = "param1";
+    private static final String ARG_PARAM2 = "param2";
+
+    // TODO: Rename and change types of parameters
+    private String mParam1;
+    private String mParam2;
+
+    private OnFragmentInteractionListener mListener;
+
+    public TavernaServerInputsFragment() {
+        // Required empty public constructor
+    }
+
+    /**
+     * Use this factory method to create a new instance of
+     * this fragment using the provided parameters.
+     *
+     * @return A new instance of fragment TavernaServerInputsFragment.
+     */
+    public static TavernaServerInputsFragment newInstance() {
+        Bundle args = new Bundle();
+
+        TavernaServerInputsFragment fragment = new TavernaServerInputsFragment();
+        fragment.setArguments(args);
+        return fragment;
+    }
+
+    @Override
+    public void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        if (getArguments() != null) {
+            mParam1 = getArguments().getString(ARG_PARAM1);
+            mParam2 = getArguments().getString(ARG_PARAM2);
+        }
+    }
+
+    @Override
+    public View onCreateView(LayoutInflater inflater, ViewGroup container,
+                             Bundle savedInstanceState) {
+        // Inflate the layout for this fragment
+        return inflater.inflate(R.layout.fragment_taverna_server_inputs, container, false);
+    }
+
+    // TODO: Rename method, update argument and hook method into UI event
+    public void onButtonPressed(Uri uri) {
+        if (mListener != null) {
+            mListener.onFragmentInteraction(uri);
+        }
+    }
+
+    @Override
+    public void onAttach(Context context) {
+        super.onAttach(context);
+        if (context instanceof OnFragmentInteractionListener) {
+            mListener = (OnFragmentInteractionListener) context;
+        } else {
+            throw new RuntimeException(context.toString()
+                    + " must implement OnFragmentInteractionListener");
+        }
+    }
+
+    @Override
+    public void onDetach() {
+        super.onDetach();
+        mListener = null;
+    }
+
+    /**
+     * This interface must be implemented by activities that contain this
+     * fragment to allow an interaction in this fragment to be communicated
+     * to the activity and potentially other fragments contained in that
+     * activity.
+     * <p>
+     * See the Android Training lesson <a href=
+     * "http://developer.android.com/training/basics/fragments/communicating.html"
+     * >Communicating with Other Fragments</a> for more information.
+     */
+    public interface OnFragmentInteractionListener {
+        // TODO: Update argument type and name
+        void onFragmentInteraction(Uri uri);
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/825c79b1/app/src/main/java/org/apache/taverna/mobile/ui/tavernaserver/inputs/TavernaServerInputsMvpView.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/ui/tavernaserver/inputs/TavernaServerInputsMvpView.java b/app/src/main/java/org/apache/taverna/mobile/ui/tavernaserver/inputs/TavernaServerInputsMvpView.java
new file mode 100644
index 0000000..0a9074c
--- /dev/null
+++ b/app/src/main/java/org/apache/taverna/mobile/ui/tavernaserver/inputs/TavernaServerInputsMvpView.java
@@ -0,0 +1,10 @@
+package org.apache.taverna.mobile.ui.tavernaserver.inputs;
+
+import org.apache.taverna.mobile.ui.base.MvpView;
+
+/**
+ * Created by ian on 16/12/16.
+ */
+
+public interface TavernaServerInputsMvpView extends MvpView {
+}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/825c79b1/app/src/main/java/org/apache/taverna/mobile/ui/tavernaserver/inputs/TavernaServerInputsPresenter.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/ui/tavernaserver/inputs/TavernaServerInputsPresenter.java b/app/src/main/java/org/apache/taverna/mobile/ui/tavernaserver/inputs/TavernaServerInputsPresenter.java
new file mode 100644
index 0000000..626b376
--- /dev/null
+++ b/app/src/main/java/org/apache/taverna/mobile/ui/tavernaserver/inputs/TavernaServerInputsPresenter.java
@@ -0,0 +1,10 @@
+package org.apache.taverna.mobile.ui.tavernaserver.inputs;
+
+import org.apache.taverna.mobile.ui.base.BasePresenter;
+
+/**
+ * Created by ian on 16/12/16.
+ */
+
+public class TavernaServerInputsPresenter extends BasePresenter<TavernaServerInputsMvpView> {
+}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/825c79b1/app/src/main/res/layout/fragment_taverna_server_inputs.xml
----------------------------------------------------------------------
diff --git a/app/src/main/res/layout/fragment_taverna_server_inputs.xml b/app/src/main/res/layout/fragment_taverna_server_inputs.xml
new file mode 100644
index 0000000..4781819
--- /dev/null
+++ b/app/src/main/res/layout/fragment_taverna_server_inputs.xml
@@ -0,0 +1,15 @@
+<FrameLayout 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"
+    tools:context="org.apache.taverna.mobile.ui.tavernaserver.inputs.TavernaServerInputsFragment">
+
+ <!--   <TextView
+        android:id="@+id/taverna_server_inputs_header"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:gravity="center"
+        android:textSize="24sp"
+        android:text="@string/header_taverna_server_inputs"/>
+-->
+</FrameLayout>

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/825c79b1/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 c82f729..20f7c43 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -170,7 +170,7 @@ limitations under the License.
 
 
     <string-array name="player_run_slider_view_labels">
-        <item>Player \nLogin</item>
+        <item>Create \nRun</item>
         <item>Download</item>
         <item>Upload</item>
         <item>Inputs &amp;\nRun</item>


[2/7] incubator-taverna-mobile git commit: Use ResponseBody to get the run location from the server. Then ask for the inputs

Posted by ia...@apache.org.
Use ResponseBody to get the run location from the server. Then ask for the inputs


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

Branch: refs/heads/ian_taverna_server
Commit: 8c5ca23efb303e26d2646c921f957cdd18847209
Parents: eab06c3
Author: Ian Dunlop <ia...@manchester.ac.uk>
Authored: Thu Dec 15 16:57:38 2016 +0000
Committer: Ian Dunlop <ia...@manchester.ac.uk>
Committed: Thu Dec 15 16:57:38 2016 +0000

----------------------------------------------------------------------
 .../apache/taverna/mobile/data/DataManager.java |  9 +++-
 .../data/remote/TavernaPlayerService.java       | 18 ++++++--
 .../mobile/data/remote/TavernaService.java      |  2 +
 .../ui/playerlogin/PlayerLoginFragment.java     |  6 +--
 .../ui/playerlogin/PlayerLoginMvpView.java      |  2 +-
 .../ui/playerlogin/PlayerLoginPresenter.java    | 43 +++++++++++-------
 .../ui/workflowrun/WorkflowRunActivity.java     | 22 ++++++---
 .../ui/workflowrun/WorkflowRunMvpView.java      | 10 +++--
 .../ui/workflowrun/WorkflowRunPresenter.java    | 47 ++++++++++++++------
 9 files changed, 113 insertions(+), 46 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/8c5ca23e/app/src/main/java/org/apache/taverna/mobile/data/DataManager.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/data/DataManager.java b/app/src/main/java/org/apache/taverna/mobile/data/DataManager.java
index 56dc3d2..f95f17b 100644
--- a/app/src/main/java/org/apache/taverna/mobile/data/DataManager.java
+++ b/app/src/main/java/org/apache/taverna/mobile/data/DataManager.java
@@ -35,7 +35,9 @@ import java.util.Map;
 
 import okhttp3.RequestBody;
 import okhttp3.ResponseBody;
+import retrofit2.Response;
 import rx.Observable;
+import rx.Subscription;
 import rx.functions.Func1;
 
 
@@ -183,7 +185,7 @@ public class DataManager {
      * @param baseAuth is base64 encoded credential
      * @return Workflow's ID
      */
-    public Observable<PlayerWorkflow> uploadWorkflowContent(RequestBody body, String baseAuth) {
+    public Observable<Response<ResponseBody>> uploadWorkflowContent(RequestBody body, String baseAuth) {
         return mBaseApiManager.getTavernaPlayerApi().uploadWorkflow(body, baseAuth);
     }
 
@@ -206,4 +208,9 @@ public class DataManager {
     public Observable<User> getMyWorkflows(String userID, Map<String, String> options) {
         return mBaseApiManager.getTavernaApi().getUserDetail(userID , options);
     }
+
+    public Observable<Response<ResponseBody>> getWorkflowInputs(String auth, String runLocationID) {
+        return mBaseApiManager.getTavernaPlayerApi().getInputs(auth, runLocationID);
+
+    }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/8c5ca23e/app/src/main/java/org/apache/taverna/mobile/data/remote/TavernaPlayerService.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/data/remote/TavernaPlayerService.java b/app/src/main/java/org/apache/taverna/mobile/data/remote/TavernaPlayerService.java
index 0a3c688..d2558c8 100644
--- a/app/src/main/java/org/apache/taverna/mobile/data/remote/TavernaPlayerService.java
+++ b/app/src/main/java/org/apache/taverna/mobile/data/remote/TavernaPlayerService.java
@@ -24,26 +24,35 @@ import org.apache.taverna.mobile.data.model.PlayerWorkflowDetail;
 
 import okhttp3.RequestBody;
 import okhttp3.ResponseBody;
+import retrofit2.Response;
 import retrofit2.http.Body;
 import retrofit2.http.GET;
 import retrofit2.http.Header;
 import retrofit2.http.Headers;
 import retrofit2.http.POST;
+import retrofit2.http.PUT;
+import retrofit2.http.Path;
 import retrofit2.http.Query;
 import rx.Observable;
+import rx.Subscription;
 
 public interface TavernaPlayerService {
 
     @POST("rest/runs")
     @Headers({
             "Content-type: application/vnd.taverna.t2flow+xml"
- //           APIEndPoint.JSON_CONTENT_HEADER,
-   //         APIEndPoint.JSON_ACCEPT_HEADER,
-     //       APIEndPoint.UTF_CONTENT_ENCODING_HEADER
             })
-    Observable<PlayerWorkflow> uploadWorkflow(@Body RequestBody body, @Header("Authorization")
+    Observable<Response<ResponseBody>> uploadWorkflow(@Body RequestBody body, @Header("Authorization")
             String authorization);
 
+    @PUT("rest/runs/{uuid}")
+    Observable<Response<ResponseBody>> startWorkflowRun(@Body RequestBody body, @Header("Authorization")
+            String authorization);
+
+    @GET("rest/runs/{uuid}/input/baclava")
+    Observable<Response<ResponseBody>> getInputs(@Header("Authorization")
+            String authorization, @Path("uuid") String runLocationID);
+
     @POST("/users/sign_in")
     @Headers({APIEndPoint.XML_ACCEPT_HEADER})
     Observable<ResponseBody> playerlogin(@Header("Authorization") String
@@ -55,4 +64,5 @@ public interface TavernaPlayerService {
             APIEndPoint.JSON_CONTENT_HEADER,
             APIEndPoint.JSON_ACCEPT_HEADER})
     Observable<PlayerWorkflowDetail> getWorkflowDetail(@Query("workflow_id") int id);
+
 }

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/8c5ca23e/app/src/main/java/org/apache/taverna/mobile/data/remote/TavernaService.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/data/remote/TavernaService.java b/app/src/main/java/org/apache/taverna/mobile/data/remote/TavernaService.java
index c1aed26..5285572 100644
--- a/app/src/main/java/org/apache/taverna/mobile/data/remote/TavernaService.java
+++ b/app/src/main/java/org/apache/taverna/mobile/data/remote/TavernaService.java
@@ -35,6 +35,7 @@ import retrofit2.http.Query;
 import retrofit2.http.QueryMap;
 import retrofit2.http.Url;
 import rx.Observable;
+import rx.Subscription;
 
 
 public interface TavernaService {
@@ -73,4 +74,5 @@ public interface TavernaService {
     Observable<Workflows> getMyWorkflows(@Query("id") String id,
                                          @QueryMap Map<String, String> options);
 
+    Subscription getWorkflowInputs(String runLocationID);
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/8c5ca23e/app/src/main/java/org/apache/taverna/mobile/ui/playerlogin/PlayerLoginFragment.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/ui/playerlogin/PlayerLoginFragment.java b/app/src/main/java/org/apache/taverna/mobile/ui/playerlogin/PlayerLoginFragment.java
index ebb57d7..1dcf279 100644
--- a/app/src/main/java/org/apache/taverna/mobile/ui/playerlogin/PlayerLoginFragment.java
+++ b/app/src/main/java/org/apache/taverna/mobile/ui/playerlogin/PlayerLoginFragment.java
@@ -166,8 +166,8 @@ public class PlayerLoginFragment extends Fragment implements PlayerLoginMvpView,
     }
 
     @Override
-    public void validCredential(String runID) {
-        mCallback.onSuccessfulLogin(runID);
+    public void runLocation(String runID) {
+        mCallback.onRunStart(runID);
     }
 
     private void validateEmail() {
@@ -228,7 +228,7 @@ public class PlayerLoginFragment extends Fragment implements PlayerLoginMvpView,
 
 
     public interface OnSuccessful {
-        void onSuccessfulLogin(String runID);
+        void onRunStart(String runID);
     }
 
     private class CustomTextWatcher implements TextWatcher {

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/8c5ca23e/app/src/main/java/org/apache/taverna/mobile/ui/playerlogin/PlayerLoginMvpView.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/ui/playerlogin/PlayerLoginMvpView.java b/app/src/main/java/org/apache/taverna/mobile/ui/playerlogin/PlayerLoginMvpView.java
index e34ba47..8ad3cb3 100644
--- a/app/src/main/java/org/apache/taverna/mobile/ui/playerlogin/PlayerLoginMvpView.java
+++ b/app/src/main/java/org/apache/taverna/mobile/ui/playerlogin/PlayerLoginMvpView.java
@@ -27,6 +27,6 @@ public interface PlayerLoginMvpView extends MvpView {
 
     void showCredentialError();
 
-    void validCredential(String runID);
+    void runLocation(String runID);
 
 }

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/8c5ca23e/app/src/main/java/org/apache/taverna/mobile/ui/playerlogin/PlayerLoginPresenter.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/ui/playerlogin/PlayerLoginPresenter.java b/app/src/main/java/org/apache/taverna/mobile/ui/playerlogin/PlayerLoginPresenter.java
index 66bcb93..7d6c174 100644
--- a/app/src/main/java/org/apache/taverna/mobile/ui/playerlogin/PlayerLoginPresenter.java
+++ b/app/src/main/java/org/apache/taverna/mobile/ui/playerlogin/PlayerLoginPresenter.java
@@ -32,9 +32,11 @@ import java.io.BufferedReader;
 import java.io.IOException;
 import java.io.InputStreamReader;
 
+import okhttp3.Headers;
 import okhttp3.MediaType;
 import okhttp3.RequestBody;
 import okhttp3.ResponseBody;
+import retrofit2.Response;
 import retrofit2.adapter.rxjava.HttpException;
 import rx.Observable;
 import rx.Observer;
@@ -73,9 +75,9 @@ public class PlayerLoginPresenter extends BasePresenter<PlayerLoginMvpView> {
         if (mSubscriptions != null) mSubscriptions.unsubscribe();
 
         mSubscriptions = mDataManager.downloadWorkflowContent(workflowURL)
-                .concatMap(new Func1<ResponseBody, Observable<PlayerWorkflow>>() {
+                .concatMap(new Func1<ResponseBody, Observable<Response<ResponseBody>>>() {
                     @Override
-                    public Observable<PlayerWorkflow> call(ResponseBody responseBody) {
+                    public Observable<Response<ResponseBody>> call(ResponseBody responseBody) {
 
                         StringBuffer sb = new StringBuffer();
                         String post = "";
@@ -117,32 +119,43 @@ public class PlayerLoginPresenter extends BasePresenter<PlayerLoginMvpView> {
 
 
                     }
-                })
-                .concatMap(new Func1<PlayerWorkflow, Observable<PlayerWorkflowDetail>>() {
-                    @Override
-                    public Observable<PlayerWorkflowDetail> call(PlayerWorkflow playerWorkflow) {
+                }).observeOn(AndroidSchedulers.mainThread())
+                   .subscribeOn(Schedulers.io())
+                   .subscribe(new Observer<Response<ResponseBody>>() {
 
-                        return mDataManager.getWorkflowDetail(playerWorkflow.getId());
-                    }
-                })
-                .observeOn(AndroidSchedulers.mainThread())
-                .subscribeOn(Schedulers.io())
-                .subscribe(new Observer<PlayerWorkflowDetail>() {
                     @Override
                     public void onCompleted() {
+
                     }
 
                     @Override
                     public void onError(Throwable e) {
 
-                        getMvpView().showError(R.string.general_run_err);
                     }
 
                     @Override
-                    public void onNext(PlayerWorkflowDetail playerWorkflowDetail) {
-                        getMvpView().validCredential(playerWorkflowDetail.getRun().getName());
+                    public void onNext(Response response) {
+                        getMvpView().runLocation(response.headers().get("Location"));
                     }
                 });
+//                .observeOn(AndroidSchedulers.mainThread())
+//                .subscribeOn(Schedulers.io())
+//                .subscribe(new Observer<PlayerWorkflowDetail>() {
+//                    @Override
+//                    public void onCompleted() {
+//                    }
+//
+//                    @Override
+//                    public void onError(Throwable e) {
+//
+//                        getMvpView().showError(R.string.general_run_err);
+//                    }
+//
+//                    @Override
+//                    public void onNext(PlayerWorkflowDetail playerWorkflowDetail) {
+//                        getMvpView().validCredential(playerWorkflowDetail.getRun().getName());
+//                    }
+//                });
 
 //        mSubscriptions = mDataManager.authPlayerUserLoginDetail(getEncodedCredential(username,
 //                password), loginFlag)

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/8c5ca23e/app/src/main/java/org/apache/taverna/mobile/ui/workflowrun/WorkflowRunActivity.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/ui/workflowrun/WorkflowRunActivity.java b/app/src/main/java/org/apache/taverna/mobile/ui/workflowrun/WorkflowRunActivity.java
index 42bb06b..ad44e37 100644
--- a/app/src/main/java/org/apache/taverna/mobile/ui/workflowrun/WorkflowRunActivity.java
+++ b/app/src/main/java/org/apache/taverna/mobile/ui/workflowrun/WorkflowRunActivity.java
@@ -39,6 +39,8 @@ import org.apache.taverna.mobile.utils.Constants;
 import org.apache.taverna.mobile.utils.NonSwipeableViewPager;
 import org.apache.taverna.mobile.utils.WebViewGenerator;
 
+import java.util.List;
+
 import butterknife.BindView;
 import butterknife.ButterKnife;
 
@@ -110,14 +112,18 @@ public class WorkflowRunActivity extends FragmentActivity implements WorkflowRun
         mWorkflowRunPresenter.detachView();
     }
 
-
+    /**
+     * Get the URL location of the run and start monitoring it
+     * @param runLocation The URL on the server of the run
+     */
     @Override
-    public void onSuccessfulLogin(String runID) {
+    public void onRunStart(String runLocation) {
         position = 1;
         mPager.setCurrentItem(position);
         mStepsView.setCompletedPosition(position % labels.length).drawView();
-        mWorkflowRunPresenter.runWorkflow(getIntent().getStringExtra(Constants.WORKFLOW_URL));
-        mWorkflowRunPresenter.runWorkflow(runID);
+        mWorkflowRunPresenter.showWorkflowInputs(runLocation);
+        //mWorkflowRunPresenter.runWorkflow(getIntent().getStringExtra(Constants.WORKFLOW_URL));
+        //mWorkflowRunPresenter.runWorkflow(runID);
     }
 
     @Override
@@ -128,7 +134,7 @@ public class WorkflowRunActivity extends FragmentActivity implements WorkflowRun
     }
 
     @Override
-    public void movetoInputs() {
+    public void moveToInputs() {
         position = 3;
         mStepsView.setCompletedPosition(position % labels.length).drawView();
         mPager.setCurrentItem(position);
@@ -136,6 +142,11 @@ public class WorkflowRunActivity extends FragmentActivity implements WorkflowRun
     }
 
     @Override
+    public void setInputs(List<String> inputs) {
+        //Update the view or something?
+    }
+
+    @Override
     public void setInputsAttribute(int id) {
         String playerURL = dataManager.getPreferencesHelper().getPlayerURL();
 
@@ -154,7 +165,6 @@ public class WorkflowRunActivity extends FragmentActivity implements WorkflowRun
         finish();
     }
 
-
     private class ScreenSlidePagerAdapter extends FragmentStatePagerAdapter {
         public ScreenSlidePagerAdapter(FragmentManager fm) {
             super(fm);

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/8c5ca23e/app/src/main/java/org/apache/taverna/mobile/ui/workflowrun/WorkflowRunMvpView.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/ui/workflowrun/WorkflowRunMvpView.java b/app/src/main/java/org/apache/taverna/mobile/ui/workflowrun/WorkflowRunMvpView.java
index c5dcff5..dbaa282 100644
--- a/app/src/main/java/org/apache/taverna/mobile/ui/workflowrun/WorkflowRunMvpView.java
+++ b/app/src/main/java/org/apache/taverna/mobile/ui/workflowrun/WorkflowRunMvpView.java
@@ -21,13 +21,17 @@ package org.apache.taverna.mobile.ui.workflowrun;
 
 import org.apache.taverna.mobile.ui.base.MvpView;
 
+import java.util.List;
+
 public interface WorkflowRunMvpView extends MvpView {
 
     void movetoUploadWorkflow();
 
-    void movetoInputs();
-
     void setInputsAttribute(int id);
 
     void showError();
-}
+
+    void moveToInputs();
+
+    void setInputs(List<String> inputs);
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/8c5ca23e/app/src/main/java/org/apache/taverna/mobile/ui/workflowrun/WorkflowRunPresenter.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/ui/workflowrun/WorkflowRunPresenter.java b/app/src/main/java/org/apache/taverna/mobile/ui/workflowrun/WorkflowRunPresenter.java
index 105966e..395b4cd 100644
--- a/app/src/main/java/org/apache/taverna/mobile/ui/workflowrun/WorkflowRunPresenter.java
+++ b/app/src/main/java/org/apache/taverna/mobile/ui/workflowrun/WorkflowRunPresenter.java
@@ -30,10 +30,12 @@ import org.apache.taverna.mobile.ui.base.BasePresenter;
 import java.io.BufferedReader;
 import java.io.IOException;
 import java.io.InputStreamReader;
+import java.util.List;
 
 import okhttp3.MediaType;
 import okhttp3.RequestBody;
 import okhttp3.ResponseBody;
+import retrofit2.Response;
 import rx.Observable;
 import rx.Observer;
 import rx.Subscription;
@@ -43,6 +45,7 @@ import rx.schedulers.Schedulers;
 
 public class WorkflowRunPresenter extends BasePresenter<WorkflowRunMvpView> {
 
+    private List<String> inputs;
     private static final String TAG = WorkflowRunPresenter.class.getSimpleName();
     private final DataManager mDataManager;
     private Subscription mSubscriptions;
@@ -71,9 +74,9 @@ public class WorkflowRunPresenter extends BasePresenter<WorkflowRunMvpView> {
         if (mSubscriptions != null) mSubscriptions.unsubscribe();
 
         mSubscriptions = mDataManager.downloadWorkflowContent(contentURL)
-                .concatMap(new Func1<ResponseBody, Observable<PlayerWorkflow>>() {
+                .concatMap(new Func1<ResponseBody, Observable<Response<ResponseBody>>>() {
                     @Override
-                    public Observable<PlayerWorkflow> call(ResponseBody responseBody) {
+                    public Observable<Response<ResponseBody>> call(ResponseBody responseBody) {
 
                         StringBuffer sb = new StringBuffer();
                         String post = "";
@@ -115,19 +118,39 @@ public class WorkflowRunPresenter extends BasePresenter<WorkflowRunMvpView> {
 
                     }
                 })
-                .concatMap(new Func1<PlayerWorkflow, Observable<PlayerWorkflowDetail>>() {
+                .observeOn(AndroidSchedulers.mainThread())
+                .subscribeOn(Schedulers.io())
+                .subscribe(new Observer<Response<ResponseBody>>() {
                     @Override
-                    public Observable<PlayerWorkflowDetail> call(PlayerWorkflow playerWorkflow) {
+                    public void onCompleted() {
+                        getMvpView().moveToInputs();
+                    }
 
-                        return mDataManager.getWorkflowDetail(playerWorkflow.getId());
+                    @Override
+                    public void onError(Throwable e) {
+
+                        getMvpView().showError();
                     }
-                })
+
+                    @Override
+                    public void onNext(Response playerWorkflowDetail) {
+                       // getMvpView().setInputsAttribute(playerWorkflowDetail.getRun()
+                        //        .getWorkflowId());
+                    }
+                });
+    }
+
+    public void showWorkflowInputs(String runLocation) {
+        if (mSubscriptions != null) mSubscriptions.unsubscribe();
+        String basicAuth = mDataManager.getPreferencesHelper()
+                .getUserPlayerCredential();
+        mSubscriptions = mDataManager.getWorkflowInputs(basicAuth.trim(), runLocation)
                 .observeOn(AndroidSchedulers.mainThread())
                 .subscribeOn(Schedulers.io())
-                .subscribe(new Observer<PlayerWorkflowDetail>() {
+                .subscribe(new Observer<Response<ResponseBody>>() {
                     @Override
                     public void onCompleted() {
-                        getMvpView().movetoInputs();
+                        getMvpView().setInputs(inputs);
                     }
 
                     @Override
@@ -137,12 +160,10 @@ public class WorkflowRunPresenter extends BasePresenter<WorkflowRunMvpView> {
                     }
 
                     @Override
-                    public void onNext(PlayerWorkflowDetail playerWorkflowDetail) {
-                        getMvpView().setInputsAttribute(playerWorkflowDetail.getRun()
-                                .getWorkflowId());
+                    public void onNext(Response inputsResponse) {
+                        //Set the inputs
                     }
                 });
     }
 
-
-}
+    }


[6/7] incubator-taverna-mobile git commit: a reminder to add some code to get the UUID for the workflow run inputs

Posted by ia...@apache.org.
a reminder to add some code to get the UUID for the workflow run inputs


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

Branch: refs/heads/ian_taverna_server
Commit: 60b45e1e25d0b8aaf69ebcda9f862f39e365155d
Parents: 063a26a
Author: Ian Dunlop <ia...@manchester.ac.uk>
Authored: Tue Dec 20 16:10:02 2016 +0000
Committer: Ian Dunlop <ia...@manchester.ac.uk>
Committed: Tue Dec 20 16:10:02 2016 +0000

----------------------------------------------------------------------
 .../apache/taverna/mobile/ui/workflowrun/WorkflowRunPresenter.java  | 1 +
 1 file changed, 1 insertion(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/60b45e1e/app/src/main/java/org/apache/taverna/mobile/ui/workflowrun/WorkflowRunPresenter.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/ui/workflowrun/WorkflowRunPresenter.java b/app/src/main/java/org/apache/taverna/mobile/ui/workflowrun/WorkflowRunPresenter.java
index 395b4cd..4e7d191 100644
--- a/app/src/main/java/org/apache/taverna/mobile/ui/workflowrun/WorkflowRunPresenter.java
+++ b/app/src/main/java/org/apache/taverna/mobile/ui/workflowrun/WorkflowRunPresenter.java
@@ -144,6 +144,7 @@ public class WorkflowRunPresenter extends BasePresenter<WorkflowRunMvpView> {
         if (mSubscriptions != null) mSubscriptions.unsubscribe();
         String basicAuth = mDataManager.getPreferencesHelper()
                 .getUserPlayerCredential();
+        //TODO trim the runLocation to get the UUID for the run
         mSubscriptions = mDataManager.getWorkflowInputs(basicAuth.trim(), runLocation)
                 .observeOn(AndroidSchedulers.mainThread())
                 .subscribeOn(Schedulers.io())


[3/7] incubator-taverna-mobile git commit: Add some strings and change instance names

Posted by ia...@apache.org.
Add some strings and change instance names


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

Branch: refs/heads/ian_taverna_server
Commit: af6dbf77f27fceb7bb5940f5a0e3446d86b08b3f
Parents: 8c5ca23
Author: Ian Dunlop <ia...@manchester.ac.uk>
Authored: Tue Dec 20 15:35:28 2016 +0000
Committer: Ian Dunlop <ia...@manchester.ac.uk>
Committed: Tue Dec 20 15:35:28 2016 +0000

----------------------------------------------------------------------
 .../ui/playerlogin/PlayerLoginFragment.java     | 261 -------------------
 .../ui/playerlogin/PlayerLoginMvpView.java      |  32 ---
 .../ui/playerlogin/PlayerLoginPresenter.java    | 201 --------------
 .../TavernaServerCreateRunFragment.java         | 258 ++++++++++++++++++
 .../TavernaServerCreateRunMvpView.java          |  32 +++
 .../TavernaServerCreateRunPresenter.java        | 195 ++++++++++++++
 .../ui/workflowrun/WorkflowRunActivity.java     |  10 +-
 7 files changed, 490 insertions(+), 499 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/af6dbf77/app/src/main/java/org/apache/taverna/mobile/ui/playerlogin/PlayerLoginFragment.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/ui/playerlogin/PlayerLoginFragment.java b/app/src/main/java/org/apache/taverna/mobile/ui/playerlogin/PlayerLoginFragment.java
deleted file mode 100644
index 1dcf279..0000000
--- a/app/src/main/java/org/apache/taverna/mobile/ui/playerlogin/PlayerLoginFragment.java
+++ /dev/null
@@ -1,261 +0,0 @@
-/*
- * 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.
- */
-package org.apache.taverna.mobile.ui.playerlogin;
-
-
-import android.content.Context;
-import android.os.Bundle;
-import android.support.annotation.Nullable;
-import android.support.design.widget.Snackbar;
-import android.support.design.widget.TextInputLayout;
-import android.support.v4.app.Fragment;
-import android.text.Editable;
-import android.text.TextWatcher;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.view.WindowManager;
-import android.widget.CheckBox;
-import android.widget.EditText;
-
-import org.apache.taverna.mobile.R;
-import org.apache.taverna.mobile.data.DataManager;
-import org.apache.taverna.mobile.data.local.PreferencesHelper;
-import org.apache.taverna.mobile.utils.ConnectionInfo;
-import org.apache.taverna.mobile.utils.Constants;
-
-import butterknife.BindView;
-import butterknife.ButterKnife;
-import butterknife.OnClick;
-import rx.Subscription;
-
-
-public class PlayerLoginFragment extends Fragment implements PlayerLoginMvpView, View
-        .OnFocusChangeListener {
-
-    @BindView(R.id.etEmail)
-    EditText mEditTextEmail;
-
-    @BindView(R.id.etPassword)
-    EditText mEditTextPassword;
-
-    @BindView(R.id.input_layout_email)
-    TextInputLayout mTextInputEmail;
-
-    @BindView(R.id.input_layout_password)
-    TextInputLayout mTextInputPassword;
-
-    @BindView(R.id.cbRemember)
-    CheckBox mCheckBoxRemember;
-    OnSuccessful mCallback;
-    private DataManager dataManager;
-    private PlayerLoginPresenter mPlayerLoginPresenter;
-    private Subscription mSubscriptions;
-
-    public static PlayerLoginFragment newInstance() {
-
-        Bundle args = new Bundle();
-
-        PlayerLoginFragment fragment = new PlayerLoginFragment();
-        fragment.setArguments(args);
-        return fragment;
-    }
-
-    @Override
-    public void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-
-        dataManager = new DataManager(new PreferencesHelper(getContext()));
-        mPlayerLoginPresenter = new PlayerLoginPresenter(dataManager);
-
-    }
-
-    @Override
-    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle
-            savedInstanceState) {
-
-        View rootView = inflater.inflate(R.layout.fragment_player_login_layout, container, false);
-        ButterKnife.bind(this, rootView);
-        mPlayerLoginPresenter.attachView(this);
-        String email = dataManager.getPreferencesHelper().getPlayerUserEmail();
-        String pw = dataManager.getPreferencesHelper().getPlayerUserPassword();
-        mEditTextEmail.setText(email);
-        mEditTextPassword.setText(pw);
-        return rootView;
-    }
-
-    @Override
-    public void onActivityCreated(@Nullable Bundle savedInstanceState) {
-        super.onActivityCreated(savedInstanceState);
-
-        mEditTextEmail.addTextChangedListener(new CustomTextWatcher(mEditTextEmail));
-        mEditTextEmail.setOnFocusChangeListener(this);
-
-        mEditTextPassword.addTextChangedListener(new CustomTextWatcher(mEditTextPassword));
-        mEditTextPassword.setOnFocusChangeListener(this);
-    }
-
-
-    @Override
-    public void onDestroyView() {
-        super.onDestroyView();
-        mPlayerLoginPresenter.detachView();
-    }
-
-
-    @OnClick(R.id.bLogin)
-    public void login(View v) {
-        if (ConnectionInfo.isConnectingToInternet(getContext())) {
-            String workflowURL = getActivity().getIntent().getStringExtra(Constants.WORKFLOW_URL);
-            mPlayerLoginPresenter.playerLogin(workflowURL, mEditTextEmail.getText().toString().trim(),
-                        mEditTextPassword.getText().toString().trim(), mCheckBoxRemember
-                                .isChecked());
-
-//            if (!mEditTextEmail.getText().toString().trim().isEmpty() && !mEditTextPassword
-//                    .getText().toString().trim().isEmpty()) {
-//
-//                mPlayerLoginPresenter.playerLogin(mEditTextEmail.getText().toString().trim(),
-//                        mEditTextPassword.getText().toString().trim(), mCheckBoxRemember
-//                                .isChecked());
-//
-//            } else {
-//
-//                showError(R.string.error_vaild_credential);
-//            }
-        } else {
-
-            showError(R.string.no_internet_connection);
-        }
-    }
-
-    @Override
-    public void showError(int stringID) {
-        final Snackbar snackbar = Snackbar.make(mEditTextPassword, getString(stringID), Snackbar
-                .LENGTH_LONG);
-        snackbar.setAction("OK", new View.OnClickListener() {
-            @Override
-            public void onClick(View view) {
-                snackbar.dismiss();
-            }
-        });
-
-        snackbar.show();
-    }
-
-    @Override
-    public void showCredentialError() {
-        mTextInputEmail.setError(getString(R.string.err_login_email));
-        mTextInputPassword.setError(getString(R.string.err_login_password));
-        requestFocus(mEditTextPassword);
-    }
-
-    @Override
-    public void runLocation(String runID) {
-        mCallback.onRunStart(runID);
-    }
-
-    private void validateEmail() {
-
-        if (mEditTextEmail.getText().toString().trim().isEmpty()) {
-            mTextInputEmail.setError(getString(R.string.err_login_email));
-        } else {
-            mTextInputEmail.setError(null);
-        }
-
-
-    }
-
-    private void requestFocus(View view) {
-        if (view.requestFocus()) {
-            getActivity().getWindow().setSoftInputMode(WindowManager.LayoutParams
-                    .SOFT_INPUT_STATE_ALWAYS_VISIBLE);
-        }
-    }
-
-    private void validatePassword() {
-        if (mEditTextPassword.getText().toString().trim().isEmpty()) {
-            mTextInputPassword.setError(getString(R.string.err_login_password));
-        } else {
-            mTextInputPassword.setError(null);
-        }
-
-
-    }
-
-    @Override
-    public void onFocusChange(View v, boolean hasFocus) {
-        switch (v.getId()) {
-            case R.id.etEmail:
-                if (!v.hasFocus()) {
-                    validateEmail();
-                }
-                break;
-            case R.id.etPassword:
-                if (!v.hasFocus()) {
-                    validatePassword();
-                }
-                break;
-        }
-    }
-
-    @Override
-    public void onAttach(Context context) {
-        super.onAttach(context);
-
-        try {
-            mCallback = (OnSuccessful) getActivity();
-        } catch (ClassCastException e) {
-            throw new ClassCastException(getActivity().toString()
-                    + " must implement OnSuccessful");
-        }
-    }
-
-
-    public interface OnSuccessful {
-        void onRunStart(String runID);
-    }
-
-    private class CustomTextWatcher implements TextWatcher {
-
-        private View view;
-
-        private CustomTextWatcher(View view) {
-            this.view = view;
-        }
-
-        public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
-
-        }
-
-        public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
-
-        }
-
-        public void afterTextChanged(Editable editable) {
-            switch (view.getId()) {
-                case R.id.etEmail:
-                    validateEmail();
-                    break;
-                case R.id.etPassword:
-                    validatePassword();
-                    break;
-            }
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/af6dbf77/app/src/main/java/org/apache/taverna/mobile/ui/playerlogin/PlayerLoginMvpView.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/ui/playerlogin/PlayerLoginMvpView.java b/app/src/main/java/org/apache/taverna/mobile/ui/playerlogin/PlayerLoginMvpView.java
deleted file mode 100644
index 8ad3cb3..0000000
--- a/app/src/main/java/org/apache/taverna/mobile/ui/playerlogin/PlayerLoginMvpView.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * 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.
- */
-package org.apache.taverna.mobile.ui.playerlogin;
-
-import org.apache.taverna.mobile.ui.base.MvpView;
-
-
-public interface PlayerLoginMvpView extends MvpView {
-
-    void showError(int stringID);
-
-    void showCredentialError();
-
-    void runLocation(String runID);
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/af6dbf77/app/src/main/java/org/apache/taverna/mobile/ui/playerlogin/PlayerLoginPresenter.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/ui/playerlogin/PlayerLoginPresenter.java b/app/src/main/java/org/apache/taverna/mobile/ui/playerlogin/PlayerLoginPresenter.java
deleted file mode 100644
index 7d6c174..0000000
--- a/app/src/main/java/org/apache/taverna/mobile/ui/playerlogin/PlayerLoginPresenter.java
+++ /dev/null
@@ -1,201 +0,0 @@
-/*
- * 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.
- */
-package org.apache.taverna.mobile.ui.playerlogin;
-
-import android.util.Base64;
-import android.util.Log;
-
-import org.apache.taverna.mobile.R;
-import org.apache.taverna.mobile.data.DataManager;
-import org.apache.taverna.mobile.data.model.PlayerWorkflow;
-import org.apache.taverna.mobile.data.model.PlayerWorkflowDetail;
-import org.apache.taverna.mobile.ui.base.BasePresenter;
-import org.apache.taverna.mobile.utils.Constants;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-
-import okhttp3.Headers;
-import okhttp3.MediaType;
-import okhttp3.RequestBody;
-import okhttp3.ResponseBody;
-import retrofit2.Response;
-import retrofit2.adapter.rxjava.HttpException;
-import rx.Observable;
-import rx.Observer;
-import rx.Subscription;
-import rx.android.schedulers.AndroidSchedulers;
-import rx.functions.Func1;
-import rx.schedulers.Schedulers;
-
-
-public class PlayerLoginPresenter extends BasePresenter<PlayerLoginMvpView> {
-
-    private static final String TAG = PlayerLoginPresenter.class.getSimpleName();
-
-    private DataManager mDataManager;
-
-    private Subscription mSubscriptions;
-
-    public PlayerLoginPresenter(DataManager dataManager) {
-        mDataManager = dataManager;
-    }
-
-    @Override
-    public void attachView(PlayerLoginMvpView mvpView) {
-        super.attachView(mvpView);
-    }
-
-    @Override
-    public void detachView() {
-        super.detachView();
-        if (mSubscriptions != null) mSubscriptions.unsubscribe();
-    }
-
-    public void playerLogin(final String workflowURL, final String username, final String password, final boolean loginFlag) {
-        if (mSubscriptions != null) mSubscriptions.unsubscribe();
-
-        if (mSubscriptions != null) mSubscriptions.unsubscribe();
-
-        mSubscriptions = mDataManager.downloadWorkflowContent(workflowURL)
-                .concatMap(new Func1<ResponseBody, Observable<Response<ResponseBody>>>() {
-                    @Override
-                    public Observable<Response<ResponseBody>> call(ResponseBody responseBody) {
-
-                        StringBuffer sb = new StringBuffer();
-                        String post = "";
-
-                        String basicAuth = getEncodedCredential(username, password);
-                         //       mDataManager.getPreferencesHelper()
-                         //       .getUserPlayerCredential();
-                        boolean flag = false;
-                        try {
-
-                            BufferedReader bufferedReader = new BufferedReader(
-                                    new InputStreamReader(responseBody.byteStream()));
-
-                            String str = "";
-
-                            while ((str = bufferedReader.readLine()) != null) {
-                                sb.append(str);
-                            }
-
-                            bufferedReader.close();
-
-                            //String data = "{\"document\":\"data:application/octet-stream;base64," +
-                            //        Base64.encodeToString(sb.toString().getBytes("UTF-8"), Base64
-                            //                .URL_SAFE | Base64.NO_WRAP).replace('-', '+') + "\"}";
-
-                            /// post = "{\"workflow\":" + data + "}";
-                            flag = true;
-                        } catch (IOException e) {
-                            Log.e(TAG, "call: ", e);
-                        }
-                        if (flag) {
-                            RequestBody body =
-                                    RequestBody.create(MediaType.parse("application/vnd.taverna.t2flow+xml"), sb.toString());
-
-                            return mDataManager.uploadWorkflowContent(body, basicAuth.trim());
-                        } else {
-                            return Observable.empty();
-                        }
-
-
-                    }
-                }).observeOn(AndroidSchedulers.mainThread())
-                   .subscribeOn(Schedulers.io())
-                   .subscribe(new Observer<Response<ResponseBody>>() {
-
-                    @Override
-                    public void onCompleted() {
-
-                    }
-
-                    @Override
-                    public void onError(Throwable e) {
-
-                    }
-
-                    @Override
-                    public void onNext(Response response) {
-                        getMvpView().runLocation(response.headers().get("Location"));
-                    }
-                });
-//                .observeOn(AndroidSchedulers.mainThread())
-//                .subscribeOn(Schedulers.io())
-//                .subscribe(new Observer<PlayerWorkflowDetail>() {
-//                    @Override
-//                    public void onCompleted() {
-//                    }
-//
-//                    @Override
-//                    public void onError(Throwable e) {
-//
-//                        getMvpView().showError(R.string.general_run_err);
-//                    }
-//
-//                    @Override
-//                    public void onNext(PlayerWorkflowDetail playerWorkflowDetail) {
-//                        getMvpView().validCredential(playerWorkflowDetail.getRun().getName());
-//                    }
-//                });
-
-//        mSubscriptions = mDataManager.authPlayerUserLoginDetail(getEncodedCredential(username,
-//                password), loginFlag)
-//                .observeOn(AndroidSchedulers.mainThread())
-//                .subscribeOn(Schedulers.io())
-//                .subscribe(new Observer<ResponseBody>() {
-//                    @Override
-//                    public void onCompleted() {
-//
-//                    }
-//
-//                    @Override
-//                    public void onError(Throwable e) {
-//                        Log.e(TAG, "onError: ", e);
-//                        if (e instanceof HttpException) {
-//                            if (((HttpException) e).code() == 401) {
-//                                getMvpView().showCredentialError();
-//                            } else if (((HttpException) e).code() == 406) {
-//                                getMvpView().validCredential();
-//                                mDataManager.getPreferencesHelper()
-//                                        .setUserPlayerLoggedInFlagAndCredential(loginFlag,
-//                                                getEncodedCredential(username, password));
-//
-//                            } else {
-//                                getMvpView().showError(R.string.servererr);
-//                            }
-//                        }
-//                    }
-//
-//                    @Override
-//                    public void onNext(ResponseBody responseBody) {
-//                        Log.d(TAG, "onCompleted: " + responseBody.byteStream());
-//                    }
-//                });
-
-    }
-
-    private String getEncodedCredential(String username, String password) {
-
-        return "Basic " + Base64.encodeToString((username + ":" + password).getBytes(), Base64
-                .NO_WRAP);
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/af6dbf77/app/src/main/java/org/apache/taverna/mobile/ui/tavernaserver/createrun/TavernaServerCreateRunFragment.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/ui/tavernaserver/createrun/TavernaServerCreateRunFragment.java b/app/src/main/java/org/apache/taverna/mobile/ui/tavernaserver/createrun/TavernaServerCreateRunFragment.java
new file mode 100644
index 0000000..2c1f2ab
--- /dev/null
+++ b/app/src/main/java/org/apache/taverna/mobile/ui/tavernaserver/createrun/TavernaServerCreateRunFragment.java
@@ -0,0 +1,258 @@
+/*
+ * 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.
+ */
+package org.apache.taverna.mobile.ui.tavernaserver.createrun;
+
+
+import android.content.Context;
+import android.os.Bundle;
+import android.support.annotation.Nullable;
+import android.support.design.widget.Snackbar;
+import android.support.design.widget.TextInputLayout;
+import android.support.v4.app.Fragment;
+import android.text.Editable;
+import android.text.TextWatcher;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.view.WindowManager;
+import android.widget.CheckBox;
+import android.widget.EditText;
+
+import org.apache.taverna.mobile.R;
+import org.apache.taverna.mobile.data.DataManager;
+import org.apache.taverna.mobile.data.local.PreferencesHelper;
+import org.apache.taverna.mobile.utils.ConnectionInfo;
+import org.apache.taverna.mobile.utils.Constants;
+
+import butterknife.BindView;
+import butterknife.ButterKnife;
+import butterknife.OnClick;
+import rx.Subscription;
+
+
+public class TavernaServerCreateRunFragment extends Fragment implements TavernaServerCreateRunMvpView, View
+        .OnFocusChangeListener {
+
+    @BindView(R.id.etEmail)
+    EditText mEditTextEmail;
+
+    @BindView(R.id.etPassword)
+    EditText mEditTextPassword;
+
+    @BindView(R.id.input_layout_email)
+    TextInputLayout mTextInputEmail;
+
+    @BindView(R.id.input_layout_password)
+    TextInputLayout mTextInputPassword;
+
+    @BindView(R.id.cbRemember)
+    CheckBox mCheckBoxRemember;
+    OnSuccessful mCallback;
+    private DataManager dataManager;
+    private TavernaServerCreateRunPresenter tavernaPlayerCreateRunPresenter;
+    private Subscription mSubscriptions;
+
+    public static TavernaServerCreateRunFragment newInstance() {
+
+        Bundle args = new Bundle();
+
+        TavernaServerCreateRunFragment fragment = new TavernaServerCreateRunFragment();
+        fragment.setArguments(args);
+        return fragment;
+    }
+
+    @Override
+    public void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+
+        dataManager = new DataManager(new PreferencesHelper(getContext()));
+        tavernaPlayerCreateRunPresenter = new TavernaServerCreateRunPresenter(dataManager);
+
+    }
+
+    @Override
+    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle
+            savedInstanceState) {
+
+        View rootView = inflater.inflate(R.layout.fragment_player_login_layout, container, false);
+        ButterKnife.bind(this, rootView);
+        tavernaPlayerCreateRunPresenter.attachView(this);
+        String email = dataManager.getPreferencesHelper().getPlayerUserEmail();
+        String pw = dataManager.getPreferencesHelper().getPlayerUserPassword();
+        mEditTextEmail.setText(email);
+        mEditTextPassword.setText(pw);
+        return rootView;
+    }
+
+    @Override
+    public void onActivityCreated(@Nullable Bundle savedInstanceState) {
+        super.onActivityCreated(savedInstanceState);
+
+        mEditTextEmail.addTextChangedListener(new CustomTextWatcher(mEditTextEmail));
+        mEditTextEmail.setOnFocusChangeListener(this);
+
+        mEditTextPassword.addTextChangedListener(new CustomTextWatcher(mEditTextPassword));
+        mEditTextPassword.setOnFocusChangeListener(this);
+    }
+
+
+    @Override
+    public void onDestroyView() {
+        super.onDestroyView();
+        tavernaPlayerCreateRunPresenter.detachView();
+    }
+
+
+    @OnClick(R.id.bLogin)
+    public void login(View v) {
+        if (ConnectionInfo.isConnectingToInternet(getContext())) {
+            String workflowURL = getActivity().getIntent().getStringExtra(Constants.WORKFLOW_URL);
+
+            if (!mEditTextEmail.getText().toString().trim().isEmpty() && !mEditTextPassword
+                    .getText().toString().trim().isEmpty()) {
+
+                tavernaPlayerCreateRunPresenter.playerLogin(workflowURL, mEditTextEmail.getText().toString().trim(),
+                        mEditTextPassword.getText().toString().trim(), mCheckBoxRemember
+                                .isChecked());
+
+            } else {
+
+                showError(R.string.error_vaild_credential);
+            }
+        } else {
+
+            showError(R.string.no_internet_connection);
+        }
+    }
+
+    @Override
+    public void showError(int stringID) {
+        final Snackbar snackbar = Snackbar.make(mEditTextPassword, getString(stringID), Snackbar
+                .LENGTH_LONG);
+        snackbar.setAction("OK", new View.OnClickListener() {
+            @Override
+            public void onClick(View view) {
+                snackbar.dismiss();
+            }
+        });
+
+        snackbar.show();
+    }
+
+    @Override
+    public void showCredentialError() {
+        mTextInputEmail.setError(getString(R.string.err_login_email));
+        mTextInputPassword.setError(getString(R.string.err_login_password));
+        requestFocus(mEditTextPassword);
+    }
+
+    @Override
+    public void runLocation(String runID) {
+        mCallback.onRunStart(runID);
+    }
+
+    private void validateEmail() {
+
+        if (mEditTextEmail.getText().toString().trim().isEmpty()) {
+            mTextInputEmail.setError(getString(R.string.err_login_email));
+        } else {
+            mTextInputEmail.setError(null);
+        }
+
+
+    }
+
+    private void requestFocus(View view) {
+        if (view.requestFocus()) {
+            getActivity().getWindow().setSoftInputMode(WindowManager.LayoutParams
+                    .SOFT_INPUT_STATE_ALWAYS_VISIBLE);
+        }
+    }
+
+    private void validatePassword() {
+        if (mEditTextPassword.getText().toString().trim().isEmpty()) {
+            mTextInputPassword.setError(getString(R.string.err_login_password));
+        } else {
+            mTextInputPassword.setError(null);
+        }
+
+
+    }
+
+    @Override
+    public void onFocusChange(View v, boolean hasFocus) {
+        switch (v.getId()) {
+            case R.id.etEmail:
+                if (!v.hasFocus()) {
+                    validateEmail();
+                }
+                break;
+            case R.id.etPassword:
+                if (!v.hasFocus()) {
+                    validatePassword();
+                }
+                break;
+        }
+    }
+
+    @Override
+    public void onAttach(Context context) {
+        super.onAttach(context);
+
+        try {
+            mCallback = (OnSuccessful) getActivity();
+        } catch (ClassCastException e) {
+            throw new ClassCastException(getActivity().toString()
+                    + " must implement OnSuccessful");
+        }
+    }
+
+
+    public interface OnSuccessful {
+        void onRunStart(String runID);
+    }
+
+    private class CustomTextWatcher implements TextWatcher {
+
+        private View view;
+
+        private CustomTextWatcher(View view) {
+            this.view = view;
+        }
+
+        public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
+
+        }
+
+        public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
+
+        }
+
+        public void afterTextChanged(Editable editable) {
+            switch (view.getId()) {
+                case R.id.etEmail:
+                    validateEmail();
+                    break;
+                case R.id.etPassword:
+                    validatePassword();
+                    break;
+            }
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/af6dbf77/app/src/main/java/org/apache/taverna/mobile/ui/tavernaserver/createrun/TavernaServerCreateRunMvpView.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/ui/tavernaserver/createrun/TavernaServerCreateRunMvpView.java b/app/src/main/java/org/apache/taverna/mobile/ui/tavernaserver/createrun/TavernaServerCreateRunMvpView.java
new file mode 100644
index 0000000..662f194
--- /dev/null
+++ b/app/src/main/java/org/apache/taverna/mobile/ui/tavernaserver/createrun/TavernaServerCreateRunMvpView.java
@@ -0,0 +1,32 @@
+/*
+ * 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.
+ */
+package org.apache.taverna.mobile.ui.tavernaserver.createrun;
+
+import org.apache.taverna.mobile.ui.base.MvpView;
+
+
+public interface TavernaServerCreateRunMvpView extends MvpView {
+
+    void showError(int stringID);
+
+    void showCredentialError();
+
+    void runLocation(String runID);
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/af6dbf77/app/src/main/java/org/apache/taverna/mobile/ui/tavernaserver/createrun/TavernaServerCreateRunPresenter.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/ui/tavernaserver/createrun/TavernaServerCreateRunPresenter.java b/app/src/main/java/org/apache/taverna/mobile/ui/tavernaserver/createrun/TavernaServerCreateRunPresenter.java
new file mode 100644
index 0000000..f250e33
--- /dev/null
+++ b/app/src/main/java/org/apache/taverna/mobile/ui/tavernaserver/createrun/TavernaServerCreateRunPresenter.java
@@ -0,0 +1,195 @@
+/*
+ * 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.
+ */
+package org.apache.taverna.mobile.ui.tavernaserver.createrun;
+
+import android.util.Base64;
+import android.util.Log;
+
+import org.apache.taverna.mobile.data.DataManager;
+import org.apache.taverna.mobile.ui.base.BasePresenter;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStreamReader;
+
+import okhttp3.MediaType;
+import okhttp3.RequestBody;
+import okhttp3.ResponseBody;
+import retrofit2.Response;
+import rx.Observable;
+import rx.Observer;
+import rx.Subscription;
+import rx.android.schedulers.AndroidSchedulers;
+import rx.functions.Func1;
+import rx.schedulers.Schedulers;
+
+
+public class TavernaServerCreateRunPresenter extends BasePresenter<TavernaServerCreateRunMvpView> {
+
+    private static final String TAG = TavernaServerCreateRunPresenter.class.getSimpleName();
+
+    private DataManager mDataManager;
+
+    private Subscription mSubscriptions;
+
+    public TavernaServerCreateRunPresenter(DataManager dataManager) {
+        mDataManager = dataManager;
+    }
+
+    @Override
+    public void attachView(TavernaServerCreateRunMvpView mvpView) {
+        super.attachView(mvpView);
+    }
+
+    @Override
+    public void detachView() {
+        super.detachView();
+        if (mSubscriptions != null) mSubscriptions.unsubscribe();
+    }
+
+    public void playerLogin(final String workflowURL, final String username, final String password, final boolean loginFlag) {
+        if (mSubscriptions != null) mSubscriptions.unsubscribe();
+
+        if (mSubscriptions != null) mSubscriptions.unsubscribe();
+
+        mSubscriptions = mDataManager.downloadWorkflowContent(workflowURL)
+                .concatMap(new Func1<ResponseBody, Observable<Response<ResponseBody>>>() {
+                    @Override
+                    public Observable<Response<ResponseBody>> call(ResponseBody responseBody) {
+
+                        StringBuffer sb = new StringBuffer();
+                        String post = "";
+
+                        String basicAuth = getEncodedCredential(username, password);
+                         //       mDataManager.getPreferencesHelper()
+                         //       .getUserPlayerCredential();
+                        boolean flag = false;
+                        try {
+
+                            BufferedReader bufferedReader = new BufferedReader(
+                                    new InputStreamReader(responseBody.byteStream()));
+
+                            String str = "";
+
+                            while ((str = bufferedReader.readLine()) != null) {
+                                sb.append(str);
+                            }
+
+                            bufferedReader.close();
+
+                            //String data = "{\"document\":\"data:application/octet-stream;base64," +
+                            //        Base64.encodeToString(sb.toString().getBytes("UTF-8"), Base64
+                            //                .URL_SAFE | Base64.NO_WRAP).replace('-', '+') + "\"}";
+
+                            /// post = "{\"workflow\":" + data + "}";
+                            flag = true;
+                        } catch (IOException e) {
+                            Log.e(TAG, "call: ", e);
+                        }
+                        if (flag) {
+                            RequestBody body =
+                                    RequestBody.create(MediaType.parse("application/vnd.taverna.t2flow+xml"), sb.toString());
+
+                            return mDataManager.uploadWorkflowContent(body, basicAuth.trim());
+                        } else {
+                            return Observable.empty();
+                        }
+
+
+                    }
+                }).observeOn(AndroidSchedulers.mainThread())
+                   .subscribeOn(Schedulers.io())
+                   .subscribe(new Observer<Response<ResponseBody>>() {
+
+                    @Override
+                    public void onCompleted() {
+
+                    }
+
+                    @Override
+                    public void onError(Throwable e) {
+
+                    }
+
+                    @Override
+                    public void onNext(Response response) {
+                        getMvpView().runLocation(response.headers().get("Location"));
+                    }
+                });
+//                .observeOn(AndroidSchedulers.mainThread())
+//                .subscribeOn(Schedulers.io())
+//                .subscribe(new Observer<PlayerWorkflowDetail>() {
+//                    @Override
+//                    public void onCompleted() {
+//                    }
+//
+//                    @Override
+//                    public void onError(Throwable e) {
+//
+//                        getMvpView().showError(R.string.general_run_err);
+//                    }
+//
+//                    @Override
+//                    public void onNext(PlayerWorkflowDetail playerWorkflowDetail) {
+//                        getMvpView().validCredential(playerWorkflowDetail.getRun().getName());
+//                    }
+//                });
+
+//        mSubscriptions = mDataManager.authPlayerUserLoginDetail(getEncodedCredential(username,
+//                password), loginFlag)
+//                .observeOn(AndroidSchedulers.mainThread())
+//                .subscribeOn(Schedulers.io())
+//                .subscribe(new Observer<ResponseBody>() {
+//                    @Override
+//                    public void onCompleted() {
+//
+//                    }
+//
+//                    @Override
+//                    public void onError(Throwable e) {
+//                        Log.e(TAG, "onError: ", e);
+//                        if (e instanceof HttpException) {
+//                            if (((HttpException) e).code() == 401) {
+//                                getMvpView().showCredentialError();
+//                            } else if (((HttpException) e).code() == 406) {
+//                                getMvpView().validCredential();
+//                                mDataManager.getPreferencesHelper()
+//                                        .setUserPlayerLoggedInFlagAndCredential(loginFlag,
+//                                                getEncodedCredential(username, password));
+//
+//                            } else {
+//                                getMvpView().showError(R.string.servererr);
+//                            }
+//                        }
+//                    }
+//
+//                    @Override
+//                    public void onNext(ResponseBody responseBody) {
+//                        Log.d(TAG, "onCompleted: " + responseBody.byteStream());
+//                    }
+//                });
+
+    }
+
+    private String getEncodedCredential(String username, String password) {
+
+        return "Basic " + Base64.encodeToString((username + ":" + password).getBytes(), Base64
+                .NO_WRAP);
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/af6dbf77/app/src/main/java/org/apache/taverna/mobile/ui/workflowrun/WorkflowRunActivity.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/ui/workflowrun/WorkflowRunActivity.java b/app/src/main/java/org/apache/taverna/mobile/ui/workflowrun/WorkflowRunActivity.java
index ad44e37..2b8dc32 100644
--- a/app/src/main/java/org/apache/taverna/mobile/ui/workflowrun/WorkflowRunActivity.java
+++ b/app/src/main/java/org/apache/taverna/mobile/ui/workflowrun/WorkflowRunActivity.java
@@ -34,7 +34,8 @@ import org.apache.taverna.mobile.R;
 import org.apache.taverna.mobile.data.DataManager;
 import org.apache.taverna.mobile.data.local.PreferencesHelper;
 import org.apache.taverna.mobile.ui.DownloadingFragment;
-import org.apache.taverna.mobile.ui.playerlogin.PlayerLoginFragment;
+import org.apache.taverna.mobile.ui.tavernaserver.createrun.TavernaServerCreateRunFragment;
+import org.apache.taverna.mobile.ui.tavernaserver.inputs.TavernaServerInputsFragment;
 import org.apache.taverna.mobile.utils.Constants;
 import org.apache.taverna.mobile.utils.NonSwipeableViewPager;
 import org.apache.taverna.mobile.utils.WebViewGenerator;
@@ -47,7 +48,7 @@ import butterknife.ButterKnife;
 import static com.raizlabs.android.dbflow.config.FlowManager.getContext;
 
 public class WorkflowRunActivity extends FragmentActivity implements WorkflowRunMvpView,
-        PlayerLoginFragment.OnSuccessful {
+        TavernaServerCreateRunFragment.OnSuccessful {
 
 
 
@@ -174,10 +175,9 @@ public class WorkflowRunActivity extends FragmentActivity implements WorkflowRun
         public Fragment getItem(int position) {
             switch (position) {
                 case 0:
-                    return PlayerLoginFragment.newInstance();
+                    return TavernaServerCreateRunFragment.newInstance();
                 case 1:
-                    return DownloadingFragment.newInstance(getString(R.string
-                            .downloading_workflow_lable));
+                    return TavernaServerInputsFragment.newInstance();
                 case 2:
                     return DownloadingFragment.newInstance(getString(R.string
                             .uploading_workflow_lable));



[4/7] incubator-taverna-mobile git commit: Typo in strings

Posted by ia...@apache.org.
Typo in strings


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

Branch: refs/heads/ian_taverna_server
Commit: 25447d067db06ca4eb2c805f5f47fbbab8c22b42
Parents: af6dbf7
Author: Ian Dunlop <ia...@manchester.ac.uk>
Authored: Tue Dec 20 16:08:01 2016 +0000
Committer: Ian Dunlop <ia...@manchester.ac.uk>
Committed: Tue Dec 20 16:08:01 2016 +0000

----------------------------------------------------------------------
 app/src/main/res/values/strings.xml | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/25447d06/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 9b21a05..c82f729 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -105,8 +105,7 @@ limitations under the License.
         The Apache Software Foundation, Licensed under the Apache License, Version 2.0.
     </string>
     <string name="about2">View, run and download workflows on your Android mobile device.</string>
-    <string name="about3">Originally developed during Google Summer of Code 2015 for the<a
-        href="http://taverna.incubator.apache.org">Apache Taverna project</a>.
+    <string name="about3">Originally developed during Google Summer of Code 2015 for the <a href="http://taverna.incubator.apache.org">Apache Taverna project</a>.
     </string>
     <string name="playerconfig">Configure Player Account</string>
     <string name="playerconfig_summary">Username used to login to Taverna player portal</string>
@@ -181,7 +180,7 @@ limitations under the License.
     <string name="uploading_workflow_lable">Uploading Workflow</string>
     <string name="please_wait">Please Wait ...</string>
     <string name="headline_taverna_player_portal_login">Taverna Player Portal Login</string>
-    <string name="headline_taverna_server_login">Taverna Server Login</string>
+    <string name="headline_taverna_server_login">Create Workflow Run</string>
     <string name="button_text_login">Login</string>
 
 
@@ -214,5 +213,6 @@ limitations under the License.
     <string name="title_nav_about">About</string>
     <string name="title_nav_my_workflows">My Workflows</string>
     <string name="title_nav_os_licences">Licence info</string>
+    <string name="header_taverna_server_inputs">Workflow Inputs</string>
     <!-- Strings related to Settings -->
 </resources>