You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@taverna.apache.org by ia...@apache.org on 2015/06/15 12:43:02 UTC

[07/15] incubator-taverna-mobile git commit: Implemented authentication and reading workflows over player API

Implemented authentication and reading workflows over player API


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

Branch: refs/heads/master
Commit: 811abb15faef88a5c74410b830fc0e5e8ac26d6f
Parents: 1ecf5be
Author: larrytech7 <la...@gmail.com>
Authored: Sat Jun 13 22:59:27 2015 +0100
Committer: larrytech7 <la...@gmail.com>
Committed: Sat Jun 13 22:59:27 2015 +0100

----------------------------------------------------------------------
 .../activities/DashboardMainActivity.class      | Bin 9992 -> 9934 bytes
 .../mobile/fragments/WorkflowItemFragment.class | Bin 8457 -> 8448 bytes
 .../TavernaPlayerAPI$Authenticator.class        | Bin 0 -> 926 bytes
 .../mobile/tavernamobile/TavernaPlayerAPI.class | Bin 542 -> 665 bytes
 .../taverna/mobile/utils/WorkflowLoader.class   | Bin 4570 -> 5584 bytes
 app/build/intermediates/dex/debug/classes.dex   | Bin 1651956 -> 1653124 bytes
 .../res/debug/layout/fragment_login.xml         |  14 ++++++---
 .../intermediates/resources/resources-debug.ap_ | Bin 714300 -> 714357 bytes
 app/build/outputs/apk/app-debug-unaligned.apk   | Bin 1434561 -> 1435074 bytes
 app/build/outputs/apk/app-debug.apk             | Bin 1434959 -> 1435471 bytes
 .../mobile/tavernamobile/TavernaPlayerAPI.java  |  18 +++++++++++
 .../taverna/mobile/utils/WorkflowLoader.java    |  31 ++++++++++++-------
 12 files changed, 48 insertions(+), 15 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/811abb15/app/build/intermediates/classes/debug/org/apache/taverna/mobile/activities/DashboardMainActivity.class
----------------------------------------------------------------------
diff --git a/app/build/intermediates/classes/debug/org/apache/taverna/mobile/activities/DashboardMainActivity.class b/app/build/intermediates/classes/debug/org/apache/taverna/mobile/activities/DashboardMainActivity.class
index 42e068d..4720511 100644
Binary files a/app/build/intermediates/classes/debug/org/apache/taverna/mobile/activities/DashboardMainActivity.class and b/app/build/intermediates/classes/debug/org/apache/taverna/mobile/activities/DashboardMainActivity.class differ

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/811abb15/app/build/intermediates/classes/debug/org/apache/taverna/mobile/fragments/WorkflowItemFragment.class
----------------------------------------------------------------------
diff --git a/app/build/intermediates/classes/debug/org/apache/taverna/mobile/fragments/WorkflowItemFragment.class b/app/build/intermediates/classes/debug/org/apache/taverna/mobile/fragments/WorkflowItemFragment.class
index c78f55b..2956a73 100644
Binary files a/app/build/intermediates/classes/debug/org/apache/taverna/mobile/fragments/WorkflowItemFragment.class and b/app/build/intermediates/classes/debug/org/apache/taverna/mobile/fragments/WorkflowItemFragment.class differ

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/811abb15/app/build/intermediates/classes/debug/org/apache/taverna/mobile/tavernamobile/TavernaPlayerAPI$Authenticator.class
----------------------------------------------------------------------
diff --git a/app/build/intermediates/classes/debug/org/apache/taverna/mobile/tavernamobile/TavernaPlayerAPI$Authenticator.class b/app/build/intermediates/classes/debug/org/apache/taverna/mobile/tavernamobile/TavernaPlayerAPI$Authenticator.class
new file mode 100644
index 0000000..4fa5a7e
Binary files /dev/null and b/app/build/intermediates/classes/debug/org/apache/taverna/mobile/tavernamobile/TavernaPlayerAPI$Authenticator.class differ

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/811abb15/app/build/intermediates/classes/debug/org/apache/taverna/mobile/tavernamobile/TavernaPlayerAPI.class
----------------------------------------------------------------------
diff --git a/app/build/intermediates/classes/debug/org/apache/taverna/mobile/tavernamobile/TavernaPlayerAPI.class b/app/build/intermediates/classes/debug/org/apache/taverna/mobile/tavernamobile/TavernaPlayerAPI.class
index 053f041..11ba8b8 100644
Binary files a/app/build/intermediates/classes/debug/org/apache/taverna/mobile/tavernamobile/TavernaPlayerAPI.class and b/app/build/intermediates/classes/debug/org/apache/taverna/mobile/tavernamobile/TavernaPlayerAPI.class differ

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/811abb15/app/build/intermediates/classes/debug/org/apache/taverna/mobile/utils/WorkflowLoader.class
----------------------------------------------------------------------
diff --git a/app/build/intermediates/classes/debug/org/apache/taverna/mobile/utils/WorkflowLoader.class b/app/build/intermediates/classes/debug/org/apache/taverna/mobile/utils/WorkflowLoader.class
index d043040..f8a88f5 100644
Binary files a/app/build/intermediates/classes/debug/org/apache/taverna/mobile/utils/WorkflowLoader.class and b/app/build/intermediates/classes/debug/org/apache/taverna/mobile/utils/WorkflowLoader.class differ

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/811abb15/app/build/intermediates/dex/debug/classes.dex
----------------------------------------------------------------------
diff --git a/app/build/intermediates/dex/debug/classes.dex b/app/build/intermediates/dex/debug/classes.dex
index 79ad4f1..35631f7 100644
Binary files a/app/build/intermediates/dex/debug/classes.dex and b/app/build/intermediates/dex/debug/classes.dex differ

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/811abb15/app/build/intermediates/res/debug/layout/fragment_login.xml
----------------------------------------------------------------------
diff --git a/app/build/intermediates/res/debug/layout/fragment_login.xml b/app/build/intermediates/res/debug/layout/fragment_login.xml
index 9859cc1..7845c46 100644
--- a/app/build/intermediates/res/debug/layout/fragment_login.xml
+++ b/app/build/intermediates/res/debug/layout/fragment_login.xml
@@ -17,9 +17,15 @@ 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.
 -->
-<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
-    android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
+<ScrollView
+        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">
+<RelativeLayout
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:paddingLeft="@dimen/activity_horizontal_margin"
     android:paddingRight="@dimen/activity_horizontal_margin"
     android:paddingTop="@dimen/activity_vertical_margin"
     android:paddingBottom="@dimen/activity_vertical_margin"
@@ -138,4 +144,4 @@ limitations under the License.
 
     </LinearLayout>
 </RelativeLayout>
-<!-- From: file:/root/Desktop/AndroidLab/TavernaMobile2/app/src/main/res/layout/fragment_login.xml -->
\ No newline at end of file
+</ScrollView><!-- From: file:/root/Desktop/AndroidLab/TavernaMobile2/app/src/main/res/layout/fragment_login.xml -->
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/811abb15/app/build/intermediates/resources/resources-debug.ap_
----------------------------------------------------------------------
diff --git a/app/build/intermediates/resources/resources-debug.ap_ b/app/build/intermediates/resources/resources-debug.ap_
index 3ae37de..2c830f0 100644
Binary files a/app/build/intermediates/resources/resources-debug.ap_ and b/app/build/intermediates/resources/resources-debug.ap_ differ

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/811abb15/app/build/outputs/apk/app-debug-unaligned.apk
----------------------------------------------------------------------
diff --git a/app/build/outputs/apk/app-debug-unaligned.apk b/app/build/outputs/apk/app-debug-unaligned.apk
index b4a7ead..1ffe7f5 100644
Binary files a/app/build/outputs/apk/app-debug-unaligned.apk and b/app/build/outputs/apk/app-debug-unaligned.apk differ

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/811abb15/app/build/outputs/apk/app-debug.apk
----------------------------------------------------------------------
diff --git a/app/build/outputs/apk/app-debug.apk b/app/build/outputs/apk/app-debug.apk
index cd7d840..99dc84d 100644
Binary files a/app/build/outputs/apk/app-debug.apk and b/app/build/outputs/apk/app-debug.apk differ

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/811abb15/app/src/main/java/org/apache/taverna/mobile/tavernamobile/TavernaPlayerAPI.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/tavernamobile/TavernaPlayerAPI.java b/app/src/main/java/org/apache/taverna/mobile/tavernamobile/TavernaPlayerAPI.java
index e4f353d..e4d73aa 100644
--- a/app/src/main/java/org/apache/taverna/mobile/tavernamobile/TavernaPlayerAPI.java
+++ b/app/src/main/java/org/apache/taverna/mobile/tavernamobile/TavernaPlayerAPI.java
@@ -1,5 +1,8 @@
 package org.apache.taverna.mobile.tavernamobile;
 
+import java.net.Authenticator;
+import java.net.PasswordAuthentication;
+
 /**
  * Created by root on 6/13/15.
  */
@@ -9,4 +12,19 @@ public class TavernaPlayerAPI {
 
     public TavernaPlayerAPI() {
     }
+
+    public static class Authenticator extends java.net.Authenticator{
+        private String username, password;
+
+        public Authenticator(String username, String password) {
+            super();
+            this.username = username;
+            this.password = password;
+        }
+
+        @Override
+        protected PasswordAuthentication getPasswordAuthentication() {
+            return new PasswordAuthentication(this.username, this.password.toCharArray());
+        }
+    }
 }

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/811abb15/app/src/main/java/org/apache/taverna/mobile/utils/WorkflowLoader.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/utils/WorkflowLoader.java b/app/src/main/java/org/apache/taverna/mobile/utils/WorkflowLoader.java
index 198b4ba..abffa1e 100644
--- a/app/src/main/java/org/apache/taverna/mobile/utils/WorkflowLoader.java
+++ b/app/src/main/java/org/apache/taverna/mobile/utils/WorkflowLoader.java
@@ -26,8 +26,9 @@ package org.apache.taverna.mobile.utils;
 import android.app.Activity;
 import android.content.AsyncTaskLoader;
 import android.content.Context;
+import android.util.Base64;
+import android.util.Log;
 
-import org.apache.taverna.mobile.adapters.WorkflowAdapter;
 import org.apache.taverna.mobile.tavernamobile.TavernaPlayerAPI;
 import org.apache.taverna.mobile.tavernamobile.Workflow;
 import org.json.JSONArray;
@@ -35,15 +36,13 @@ import org.json.JSONException;
 import org.json.JSONObject;
 
 import java.io.BufferedReader;
-import java.io.DataInputStream;
-import java.io.DataOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.InputStreamReader;
+import java.net.Authenticator;
 import java.net.HttpURLConnection;
 import java.net.MalformedURLException;
 import java.net.URL;
-import java.net.URLConnection;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -65,16 +64,25 @@ public class WorkflowLoader extends AsyncTaskLoader<List<Workflow>> {
          userWorkflows = new ArrayList<Workflow>();
         //start a network request to fetch user's workflows
         try {
+            //for password protected urls use the user's credentials
+            Authenticator.setDefault(new TavernaPlayerAPI.Authenticator("taverna","taverna"));
+
             URL workflowurl = new URL(TavernaPlayerAPI.PLAYER_URL+"workflows");
             HttpURLConnection connection = (HttpURLConnection) workflowurl.openConnection();
-            connection.setDoInput(true);
-            connection.setDoOutput(true);
-            connection.setUseCaches(false);
-            connection.setRequestProperty("Accept","application/json");
+            String userpass = "icep603@gmail.com" + ":" + "creationfox";
+            String basicAuth = "Basic " + Base64.encodeToString(userpass.getBytes(),Base64.DEFAULT);
+            //new String(Base64.encode(userpass.getBytes(),Base64.DEFAULT));
+
+            connection.setRequestProperty ("Authorization", basicAuth);
+            connection.setRequestProperty("Accept", "application/json");
             connection.setRequestMethod("GET");
+           // connection.setDoInput(true);
+          //  connection.setDoOutput(true);
             connection.connect(); //send request
+            Log.i("RESPONSE Code", ""+connection.getResponseCode());
+            Log.i("RESPONSE Messsage", ""+connection.getResponseMessage());
+            Log.i("Authorization ", ""+connection.getRequestProperty("Authorization"));
 
-//            DataInputStream dis = new DataInputStream(connection.getInputStream());
             InputStream dis = connection.getInputStream();
             BufferedReader br = new BufferedReader(new InputStreamReader(dis));
             StringBuffer sb = new StringBuffer();
@@ -87,11 +95,12 @@ public class WorkflowLoader extends AsyncTaskLoader<List<Workflow>> {
             JSONArray jsonWorkflow = new JSONArray(sb.toString());
             for(int i=0; i<jsonWorkflow.length();i++){
                 JSONObject js = jsonWorkflow.getJSONObject(i);
-                String author = js.getString("author");
+                Log.i("JSON ", js.toString(2));
+                //String author = js.getString("author");
                 String title = js.getString("title");
                 String description = js.getString("description");
                 long id = js.getLong("id");
-                userWorkflows.add(new Workflow(ctx,title,author,description,id,""));
+                userWorkflows.add(new Workflow(ctx,title,"Larry",description,id,""));
             }
 
         } catch (MalformedURLException e) {