You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@taverna.apache.org by st...@apache.org on 2016/06/13 12:58:10 UTC

[01/18] incubator-taverna-mobile git commit: add checkstyle config xml

Repository: incubator-taverna-mobile
Updated Branches:
  refs/heads/master 17c8bc711 -> 4daa91d3f


add checkstyle config xml


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

Branch: refs/heads/master
Commit: 4f1f996251276da883bd2e63f569457f28f0c294
Parents: 0618a4d
Author: Sagar <ku...@gmail.com>
Authored: Thu Jun 9 22:51:27 2016 +0530
Committer: Sagar <ku...@gmail.com>
Committed: Thu Jun 9 22:51:27 2016 +0530

----------------------------------------------------------------------
 config/quality/checkstyle/checkstyle-config.xml | 167 +++++++++++++++++++
 1 file changed, 167 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/4f1f9962/config/quality/checkstyle/checkstyle-config.xml
----------------------------------------------------------------------
diff --git a/config/quality/checkstyle/checkstyle-config.xml b/config/quality/checkstyle/checkstyle-config.xml
new file mode 100644
index 0000000..0f451bb
--- /dev/null
+++ b/config/quality/checkstyle/checkstyle-config.xml
@@ -0,0 +1,167 @@
+<?xml version="1.0"?>
+<!DOCTYPE module PUBLIC
+    "-//Puppy Crawl//DTD Check Configuration 1.3//EN"
+    "http://www.puppycrawl.com/dtds/configuration_1_3.dtd">
+
+<module name = "Checker">
+
+    <property name="charset" value="UTF-8"/>
+
+    <property name="severity" value="error"/>
+
+    <module name="FileTabCharacter">
+        <property name="eachLine" value="true"/>
+    </module>
+
+    <module name="TreeWalker">
+
+        <!-- Imports -->
+
+        <module name="RedundantImport">
+            <property name="severity" value="error"/>
+        </module>
+
+        <module name="AvoidStarImport">
+            <property name="severity" value="error"/>
+        </module>
+
+        <!-- General Code Style -->
+
+        <module name="LineLength">
+            <property name="max" value="100"/>
+            <property name="ignorePattern" value="^package.*|^import.*|a href|href|http://|https://|ftp://"/>
+        </module>
+
+        <module name="EmptyBlock">
+            <property name="option" value="TEXT"/>
+            <property name="tokens" value="LITERAL_TRY, LITERAL_FINALLY, LITERAL_IF, LITERAL_ELSE, LITERAL_SWITCH"/>
+        </module>
+
+        <module name="EmptyCatchBlock">
+            <property name="exceptionVariableName" value="expected"/>
+        </module>
+
+        <module name="LeftCurly">
+            <property name="maxLineLength" value="100"/>
+        </module>
+
+        <module name="RightCurly">
+            <property name="option" value="alone"/>
+            <property name="tokens" value="CLASS_DEF, METHOD_DEF, CTOR_DEF, LITERAL_FOR, LITERAL_WHILE, LITERAL_DO, STATIC_INIT, INSTANCE_INIT"/>
+        </module>
+
+        <module name="RightCurly">
+            <property name="option" value="same"/>
+        </module>
+
+        <module name="NoFinalizer"/>
+
+        <module name="ArrayTypeStyle"/>
+
+        <module name="ModifierOrder"/>
+
+        <module name="Indentation">
+            <property name="basicOffset" value="4"/>
+            <property name="braceAdjustment" value="0"/>
+            <property name="caseIndent" value="4"/>
+            <property name="throwsIndent" value="4"/>
+            <property name="lineWrappingIndentation" value="8"/>
+            <property name="arrayInitIndent" value="2"/>
+        </module>
+
+        <!-- White Space -->
+
+        <module name="GenericWhitespace">
+            <message key="ws.followed"
+                value="GenericWhitespace ''{0}'' is followed by whitespace."/>
+            <message key="ws.preceded"
+                value="GenericWhitespace ''{0}'' is preceded with whitespace."/>
+            <message key="ws.illegalFollow"
+                value="GenericWhitespace ''{0}'' should followed by whitespace."/>
+            <message key="ws.notPreceded"
+                value="GenericWhitespace ''{0}'' is not preceded with whitespace."/>
+        </module>
+
+        <module name="WhitespaceAround">
+            <property name="allowEmptyConstructors" value="true"/>
+            <property name="allowEmptyMethods" value="false"/>
+            <property name="allowEmptyTypes" value="false"/>
+            <property name="allowEmptyLoops" value="false"/>
+            <message key="ws.notFollowed"
+                value="WhitespaceAround: ''{0}'' is not followed by whitespace. Empty blocks may only be represented as '{}' when not part of a multi-block statement (4.1.3)"/>
+            <message key="ws.notPreceded"
+                value="WhitespaceAround: ''{0}'' is not preceded with whitespace."/>
+            <property name="severity" value="error"/>
+        </module>
+
+        <module name="WhitespaceAfter">
+            <property name="tokens" value="COMMA, SEMI, TYPECAST"/>
+        </module>
+
+        <module name="NoWhitespaceBefore">
+            <property name="tokens" value="SEMI, DOT, POST_DEC, POST_INC"/>
+            <property name="allowLineBreaks" value="true"/>
+        </module>
+
+        <module name="NoWhitespaceAfter">
+            <property name="tokens" value="BNOT, DEC, DOT, INC, LNOT, UNARY_MINUS, UNARY_PLUS"/>
+            <property name="allowLineBreaks" value="true"/>
+        </module>
+
+        <!-- Naming -->
+
+        <module name="PackageName">
+            <property name="format" value="^[a-z]+(\.[a-z][a-z0-9]*)*$"/>
+            <message key="name.invalidPattern"
+                value="Package name ''{0}'' must match pattern ''{1}''."/>
+        </module>
+
+        <module name="MethodName">
+            <property name="format" value="^[a-z][a-z0-9][a-zA-Z0-9_]*$"/>
+            <message key="name.invalidPattern"
+                value="Method name ''{0}'' must match pattern ''{1}''."/>
+        </module>
+
+        <module name="TypeName">
+            <message key="name.invalidPattern"
+                value="Type name ''{0}'' must match pattern ''{1}''."/>
+        </module>
+
+        <module name="MemberName">
+            <property name="applyToPublic" value="false" />
+            <property name="applyToPackage" value="false" />
+            <property name="applyToProtected" value="false" />
+            <property name="format" value="^m[A-Z][a-z0-9][a-zA-Z0-9]*$"/>
+            <message key="name.invalidPattern"
+                value="Member name ''{0}'' must match pattern ''{1}''."/>
+        </module>
+
+        <module name="ParameterName">
+            <property name="format" value="^[a-z][a-zA-Z0-9]*$"/>
+            <message key="name.invalidPattern"
+                value="Parameter name ''{0}'' must match pattern ''{1}''."/>
+        </module>
+
+        <module name="LocalVariableName">
+            <property name="tokens" value="VARIABLE_DEF"/>
+            <property name="format" value="^[a-z][a-zA-Z0-9]*$"/>
+            <property name="allowOneCharVarInForLoop" value="true"/>
+            <message key="name.invalidPattern"
+                value="Local variable name ''{0}'' must match pattern ''{1}''."/>
+        </module>
+
+        <module name="ClassTypeParameterName">
+            <property name="format" value="(^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)"/>
+            <message key="name.invalidPattern"
+                value="Class type name ''{0}'' must match pattern ''{1}''."/>
+        </module>
+
+        <module name="MethodTypeParameterName">
+            <property name="format" value="(^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)"/>
+            <message key="name.invalidPattern"
+                value="Method type name ''{0}'' must match pattern ''{1}''."/>
+        </module>
+
+    </module>
+
+</module>
\ No newline at end of file


[10/18] incubator-taverna-mobile git commit: refactor code using pmd

Posted by st...@apache.org.
refactor code using pmd


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

Branch: refs/heads/master
Commit: e25d011a8ef6782ab895967a1acfe59a7874f89f
Parents: 6128a61
Author: Sagar <ku...@gmail.com>
Authored: Mon Jun 13 14:46:39 2016 +0530
Committer: Sagar <ku...@gmail.com>
Committed: Mon Jun 13 14:46:39 2016 +0530

----------------------------------------------------------------------
 .../activities/DashboardMainActivity.java       |  30 +++---
 .../mobile/activities/LoginActivity.java        |  25 +++--
 .../adapters/FavoriteWorkflowAdapter.java       |   7 +-
 .../taverna/mobile/adapters/RunAdapter.java     |   8 +-
 .../mobile/adapters/WorkflowAdapter.java        |  34 ++++---
 .../customviews/WorkflowPreviewImageView.java   |  35 ++++---
 .../mobile/data/remote/BaseApiManager.java      |   2 +-
 .../mobile/fragments/FavoriteFragment.java      |   7 +-
 .../mobile/fragments/WorkflowItemFragment.java  |  45 ++++----
 .../fragments/workflowdetails/RunFragment.java  |  47 +++++----
 .../WorkflowRunHistoryFragment.java             |   9 +-
 .../workflowdetails/WorkflowdetailFragment.java | 102 ++++++++++---------
 .../taverna/mobile/tavernamobile/Runs.java      |  31 +++---
 .../mobile/tavernamobile/TavernaPlayerAPI.java  |  40 ++++----
 .../taverna/mobile/tavernamobile/User.java      |  14 +--
 .../taverna/mobile/tavernamobile/Workflow.java  |  80 +++++++--------
 .../EndlessRecyclerOnScrollListener.java        |  12 +--
 .../ui/anouncements/AnnouncementFragment.java   |   3 +-
 .../taverna/mobile/utils/AvatarLoader.java      |   6 +-
 .../taverna/mobile/utils/ConnectionInfo.java    |   7 +-
 .../taverna/mobile/utils/DetailsLoader.java     |  36 +++----
 .../apache/taverna/mobile/utils/HttpUtil.java   |  12 ++-
 .../apache/taverna/mobile/utils/RunTask.java    |   5 +-
 .../apache/taverna/mobile/utils/WorkflowDB.java |  41 ++++----
 .../taverna/mobile/utils/WorkflowLoader.java    |  11 +-
 .../taverna/mobile/utils/WorkflowOpen.java      |  32 +++---
 .../xmlparsers/MyExperimentXmlParserRules.java  |  62 +++++------
 .../utils/xmlparsers/WorkflowDetailParser.java  |   3 +-
 28 files changed, 391 insertions(+), 355 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e25d011a/app/src/main/java/org/apache/taverna/mobile/activities/DashboardMainActivity.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/activities/DashboardMainActivity.java b/app/src/main/java/org/apache/taverna/mobile/activities/DashboardMainActivity.java
index 17b1337..22abada 100644
--- a/app/src/main/java/org/apache/taverna/mobile/activities/DashboardMainActivity.java
+++ b/app/src/main/java/org/apache/taverna/mobile/activities/DashboardMainActivity.java
@@ -143,15 +143,15 @@ public class DashboardMainActivity extends AppCompatActivity {
 
                                 Intent workflowSelectIntent =
                                         new Intent(Intent.ACTION_GET_CONTENT)
-                                                .setDataAndTypeAndNormalize(Uri.parse(String
-                                                        .format("%s%s%s",
+                                                .setDataAndTypeAndNormalize(
+                                                        Uri.parse(String.format("%s%s%s",
                                                         Environment.getExternalStorageDirectory(),
                                                         File.separator, APP_DIRECTORY_NAME)),
                                                         "application/vnd.taverna.t2flow+xml");
 
                                 Intent loadWorkflowIntent = Intent.createChooser
                                         (workflowSelectIntent,
-                                        "Choose Workflow (t2flow or xml)");
+                                                "Choose Workflow (t2flow or xml)");
                                 startActivityForResult(loadWorkflowIntent, SELECT_WORKFLOW);
                                 menuItem.setChecked(true);
                                 mDrawerLayout.closeDrawers();
@@ -208,20 +208,18 @@ public class DashboardMainActivity extends AppCompatActivity {
 
     @Override
     public void onActivityResult(int requestCode, int resultCode, Intent data) {
-        if (resultCode == RESULT_OK) {
-            if (requestCode == SELECT_WORKFLOW) {
-                String workflowPath = data.getData().getPath();
-                //   Toast.makeText(getBaseContext(), "Path: "+workflowPath, Toast.LENGTH_LONG)
-                // .show();
-                String type = getMimeType(data.getData().getPath());
-                if (type == "text/xml" || type == "application/vnd.taverna.t2flow+xml") {
-
-                    new WorkflowOpen(this).execute(workflowPath);
-                } else {
-                    Toast.makeText(getBaseContext(), "Invalid worklow. Please try again", Toast
-                            .LENGTH_LONG).show();
+        if (resultCode == RESULT_OK && requestCode == SELECT_WORKFLOW) {
+            String workflowPath = data.getData().getPath();
+            //   Toast.makeText(getBaseContext(), "Path: "+workflowPath, Toast.LENGTH_LONG)
+            // .show();
+            String type = getMimeType(data.getData().getPath());
+            if (type.equals("text/xml") || type.equals("application/vnd.taverna.t2flow+xml")) {
+
+                new WorkflowOpen(this).execute(workflowPath);
+            } else {
+                Toast.makeText(getBaseContext(), "Invalid worklow. Please try again", Toast
+                        .LENGTH_LONG).show();
 
-                }
             }
         }
     }

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e25d011a/app/src/main/java/org/apache/taverna/mobile/activities/LoginActivity.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/activities/LoginActivity.java b/app/src/main/java/org/apache/taverna/mobile/activities/LoginActivity.java
index 11ed303..d7b46f9 100644
--- a/app/src/main/java/org/apache/taverna/mobile/activities/LoginActivity.java
+++ b/app/src/main/java/org/apache/taverna/mobile/activities/LoginActivity.java
@@ -36,6 +36,7 @@ import android.preference.PreferenceManager;
 import android.support.v4.app.Fragment;
 import android.support.v7.app.ActionBarActivity;
 import android.util.Base64;
+import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.Menu;
 import android.view.MenuItem;
@@ -55,6 +56,7 @@ import java.net.URL;
 
 
 public class LoginActivity extends ActionBarActivity {
+    private static final String TAG = "LoginActivity";
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
@@ -172,15 +174,16 @@ public class LoginActivity extends ActionBarActivity {
                     con.connect();
                     int status = con.getResponseCode();
                     response = String.valueOf(status);
-                    if (status != HttpURLConnection.HTTP_OK) {
-                        if (status == HttpURLConnection.HTTP_MOVED_PERM ||
-                                status == HttpURLConnection.HTTP_MOVED_TEMP ||
-                                status == HttpURLConnection.HTTP_SEE_OTHER || status == 307) {
-                            redirect = true;
-                        }
+                    if (status != HttpURLConnection.HTTP_OK
+                            && (status == HttpURLConnection.HTTP_MOVED_PERM ||
+                            status == HttpURLConnection.HTTP_MOVED_TEMP ||
+                            status == HttpURLConnection.HTTP_SEE_OTHER || status == 307)) {
 
+                        redirect = true;
                     }
-                    System.out.println("Status code: " + status);
+
+
+                    Log.d(TAG, "Status code: " + status);
                     if (redirect) {
                         // get redirect url from "location" header field
                         String newUrl = con.getHeaderField("Location");
@@ -191,7 +194,7 @@ public class LoginActivity extends ActionBarActivity {
                         // open the new connection again
                         con = (HttpURLConnection) new URL(newUrl).openConnection();
                         con.setRequestProperty("Cookie", cookies);
-                        System.out.println("Redirect to URL : " + newUrl);
+                        Log.d(TAG, "Redirect to URL : " + newUrl);
                         con.connect();
                     }
                     BufferedReader br = new BufferedReader(new InputStreamReader(con
@@ -202,16 +205,16 @@ public class LoginActivity extends ActionBarActivity {
                         sb.append(s);
                     }
                     br.close();
-                    System.out.println("data: " + sb.toString());
+                    Log.d(TAG, "data: " + sb.toString());
 
                     con.disconnect();
 
                     return response;
 
                 } catch (MalformedURLException e) {
-                    e.printStackTrace();
+                    Log.e(TAG, "doInBackground: ", e);
                 } catch (IOException e) {
-                    e.printStackTrace();
+                    Log.e(TAG, "doInBackground: ", e);
                 }
 
                 return response;

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e25d011a/app/src/main/java/org/apache/taverna/mobile/adapters/FavoriteWorkflowAdapter.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/adapters/FavoriteWorkflowAdapter.java b/app/src/main/java/org/apache/taverna/mobile/adapters/FavoriteWorkflowAdapter.java
index bfe292a..0feb3ce 100644
--- a/app/src/main/java/org/apache/taverna/mobile/adapters/FavoriteWorkflowAdapter.java
+++ b/app/src/main/java/org/apache/taverna/mobile/adapters/FavoriteWorkflowAdapter.java
@@ -35,6 +35,7 @@ import android.graphics.Color;
 import android.preference.PreferenceManager;
 import android.support.design.widget.FloatingActionButton;
 import android.support.v7.widget.RecyclerView;
+import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
@@ -51,7 +52,7 @@ import java.util.List;
  */
 public class FavoriteWorkflowAdapter extends RecyclerView.Adapter<FavoriteWorkflowAdapter
         .FViewHolder> {
-
+    private static final String TAG = "FavoriteWorkflowAdapter";
     public WorkflowDB favDB;
     private Context context;
     private List<ArrayList<Object>> dataSet;
@@ -126,9 +127,9 @@ public class FavoriteWorkflowAdapter extends RecyclerView.Adapter<FavoriteWorkfl
                     favDB.delete(String.valueOf(data.get(0)));
                     notifyDataSetChanged();
                 } catch (JSONException e) {
-                    e.printStackTrace();
+                    Log.e(TAG, "onClick: ", e);
                 } catch (Exception ex) {
-                    ex.printStackTrace();
+                    Log.e(TAG, "onClick: ", ex);
                 }
 
             }

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e25d011a/app/src/main/java/org/apache/taverna/mobile/adapters/RunAdapter.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/adapters/RunAdapter.java b/app/src/main/java/org/apache/taverna/mobile/adapters/RunAdapter.java
index 4a55423..b6a0e23 100644
--- a/app/src/main/java/org/apache/taverna/mobile/adapters/RunAdapter.java
+++ b/app/src/main/java/org/apache/taverna/mobile/adapters/RunAdapter.java
@@ -101,10 +101,10 @@ public class RunAdapter extends RecyclerView.Adapter<RunAdapter.RunHolder> {
     @Override
     public void onBindViewHolder(RunHolder holder, int position) {
         Runs lRun = runList.get(position);
-        holder.runtitle.setText(lRun.getRun_name());
-        holder.runstarted.setText(lRun.getRun_started_date());
-        holder.runfinished.setText(lRun.getRun_ended_date());
-        holder.runAuthor.setText("Author->" + lRun.getRun_author());
+        holder.runtitle.setText(lRun.getRunName());
+        holder.runstarted.setText(lRun.getRunStartedDate());
+        holder.runfinished.setText(lRun.getRunEndedDate());
+        holder.runAuthor.setText("Author->" + lRun.getRunAuthor());
         switch (lRun.getState()) {
             case RUNNING:
                 holder.runStatus.setImageResource(android.R.drawable.presence_busy);

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e25d011a/app/src/main/java/org/apache/taverna/mobile/adapters/WorkflowAdapter.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/adapters/WorkflowAdapter.java b/app/src/main/java/org/apache/taverna/mobile/adapters/WorkflowAdapter.java
index 19ee4f3..b9c4e86 100644
--- a/app/src/main/java/org/apache/taverna/mobile/adapters/WorkflowAdapter.java
+++ b/app/src/main/java/org/apache/taverna/mobile/adapters/WorkflowAdapter.java
@@ -43,6 +43,7 @@ import android.preference.PreferenceManager;
 import android.support.v7.widget.RecyclerView;
 import android.text.Html;
 import android.text.util.Linkify;
+import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
@@ -66,6 +67,7 @@ import java.util.List;
  * Created by Larry Akah on 6/8/15.
  */
 public class WorkflowAdapter extends RecyclerView.Adapter<WorkflowAdapter.ViewHolder> {
+    private static final String TAG = "WorkflowAdapter";
     public static final String WORKFLOW_FAVORITE_KEY = "WORKFLOW_FAVORITES"; //workflow key used
     // to save workflows when marked as favorites
     public static final String FAVORITE_LIST_DB = "FAVORITE_LIST";
@@ -109,12 +111,12 @@ public class WorkflowAdapter extends RecyclerView.Adapter<WorkflowAdapter.ViewHo
      * "something changed"} event if more specific data is not available.</p>
      * <p/>
      * <p>Components registering observers with an adapter are responsible for
-     * {@link #unregisterAdapterDataObserver(android.support.v7.widget.RecyclerView
+     * {@link #registerAdapterDataObserver(android.support.v7.widget.RecyclerView
      * .AdapterDataObserver)
      * unregistering} those observers when finished.</p>
      *
      * @param observer Observer to register
-     * @see #unregisterAdapterDataObserver(android.support.v7.widget.RecyclerView
+     * @see #registerAdapterDataObserver(android.support.v7.widget.RecyclerView
      * .AdapterDataObserver)
      */
     @Override
@@ -154,11 +156,11 @@ public class WorkflowAdapter extends RecyclerView.Adapter<WorkflowAdapter.ViewHo
     public void onBindViewHolder(final ViewHolder viewHolder, int i) {
 
         final long wid = workflowList.get(i).getId();
-        final String author = workflowList.get(i).getWorkflow_author();
+        final String author = workflowList.get(i).getWorkflowAuthor();
 //        final String author = workflowList.get(i).getUploader().getName();
-        final String title = workflowList.get(i).getWorkflow_title();
-        String description = workflowList.get(i).getWorkflow_description();
-        final String uri = workflowList.get(i).getWorkflow_details_url();
+        final String title = workflowList.get(i).getWorkflowTitle();
+        String description = workflowList.get(i).getWorkflowDescription();
+        final String uri = workflowList.get(i).getWorkflowDetailsUrl();
         final String desc_full = description;
 
         if (description.length() > 80) description = description.substring(0, 79) + " ...";
@@ -168,26 +170,27 @@ public class WorkflowAdapter extends RecyclerView.Adapter<WorkflowAdapter.ViewHo
         Linkify.addLinks(viewHolder.wk_description, Linkify.WEB_URLS);
 
         final Intent it = new Intent();
-        System.out.println("Workflow_uri:" + uri);
+        Log.d(TAG, "Workflow_uri:" + uri);
         it.setClass(context, WorkflowDetailActivity.class);
 //        it.putExtra("workflowid", workflow.get(i).getId()); //workflow_url
         it.putExtra("uri", uri); //uri
         it.putExtra("wtitle", title); //pass this workflow's title to the detail activity so the
         // corresponding run can be fetched
         it.putExtra("wid", wid);
-        WorkflowdetailFragment.WORKFLO_ID = title; //workflow.get(i).getId();
+        WorkflowdetailFragment.mWorkfloId = title; //workflow.get(i).getId();
 
         //determine whether to mark button as favorited or not
         final String favs = PreferenceManager.getDefaultSharedPreferences(context).getString
                 (FAVORITE_LIST_DB, "");
         String[] ids = favs.split(",");
         if (ids.length > 0) {
-            for (String id : ids)
+            for (String id : ids) {
                 if (id.equalsIgnoreCase("" + wid)) {
                     viewHolder.btn_mark_workflow.setBackgroundResource(R.drawable
                             .abc_list_selector_disabled_holo_light);
                     break;
                 }
+            }
         }
 
         viewHolder.btn_view_workflow.setOnClickListener(new View.OnClickListener() {
@@ -234,9 +237,9 @@ public class WorkflowAdapter extends RecyclerView.Adapter<WorkflowAdapter.ViewHo
                 } else if (saved == -1) {
                     Toast.makeText(context, "Sorry! This workflow has already been marked as a " +
                             "favourite", Toast.LENGTH_SHORT).show();
-                } else
+                } else {
                     Toast.makeText(context, "Error! Please try again", Toast.LENGTH_SHORT).show();
-
+                }
             }
         });
         viewHolder.wk_showmore.setText(Html.fromHtml(context.getResources().getString(R.string
@@ -244,10 +247,11 @@ public class WorkflowAdapter extends RecyclerView.Adapter<WorkflowAdapter.ViewHo
         viewHolder.wk_showmore.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View view) {
-                if (viewHolder.infolayout.getVisibility() == View.GONE)
+                if (viewHolder.infolayout.getVisibility() == View.GONE) {
                     viewHolder.infolayout.setVisibility(View.VISIBLE);
-                else
+                } else {
                     viewHolder.infolayout.setVisibility(View.GONE);
+                }
             }
         });
 
@@ -333,9 +337,9 @@ public class WorkflowAdapter extends RecyclerView.Adapter<WorkflowAdapter.ViewHo
                 detailMinParser.parse(input, new User(strings[1], this.mViewHolder));
 
             } catch (MalformedURLException e) {
-                e.printStackTrace();
+                Log.e(TAG, "doInBackground: ", e);
             } catch (IOException e) {
-                e.printStackTrace();
+                Log.e(TAG, "doInBackground: ", e);
             }
             return null;
         }

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e25d011a/app/src/main/java/org/apache/taverna/mobile/customviews/WorkflowPreviewImageView.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/customviews/WorkflowPreviewImageView.java b/app/src/main/java/org/apache/taverna/mobile/customviews/WorkflowPreviewImageView.java
index fb0b497..32a9389 100644
--- a/app/src/main/java/org/apache/taverna/mobile/customviews/WorkflowPreviewImageView.java
+++ b/app/src/main/java/org/apache/taverna/mobile/customviews/WorkflowPreviewImageView.java
@@ -128,17 +128,18 @@ public class WorkflowPreviewImageView extends ImageView {
                                     deltaX = -(x + right);
                                 }
                             } else {
-                            //if the image doesnt fit in the width or height
-                            //limit both up and down and left and right
-                                if (x + deltaX > 0)
+                                //if the image doesnt fit in the width or height
+                                //limit both up and down and left and right
+                                if (x + deltaX > 0) {
                                     deltaX = -x;
-                                else if (x + deltaX < -right)
+                                } else if (x + deltaX < -right) {
                                     deltaX = -(x + right);
-
-                                if (y + deltaY > 0)
+                                }
+                                if (y + deltaY > 0) {
                                     deltaY = -y;
-                                else if (y + deltaY < -bottom)
+                                } else if (y + deltaY < -bottom) {
                                     deltaY = -(y + bottom);
+                                }
                             }
                             //move the image with the matrix
                             matrix.postTranslate(deltaX, deltaY);
@@ -237,15 +238,17 @@ public class WorkflowPreviewImageView extends ImageView {
                     float y = m[Matrix.MTRANS_Y];
                     if (mScaleFactor < 1) {
                         if (Math.round(origWidth * saveScale) < width) {
-                            if (y < -bottom)
+                            if (y < -bottom) {
                                 matrix.postTranslate(0, -(y + bottom));
-                            else if (y > 0)
+                            } else if (y > 0) {
                                 matrix.postTranslate(0, -y);
+                            }
                         } else {
-                            if (x < -right)
+                            if (x < -right) {
                                 matrix.postTranslate(-(x + right), 0);
-                            else if (x > 0)
+                            } else if (x > 0) {
                                 matrix.postTranslate(-x, 0);
+                            }
                         }
                     }
                 }
@@ -256,14 +259,16 @@ public class WorkflowPreviewImageView extends ImageView {
                 float x = m[Matrix.MTRANS_X];
                 float y = m[Matrix.MTRANS_Y];
                 if (mScaleFactor < 1) {
-                    if (x < -right)
+                    if (x < -right) {
                         matrix.postTranslate(-(x + right), 0);
-                    else if (x > 0)
+                    } else if (x > 0) {
                         matrix.postTranslate(-x, 0);
-                    if (y < -bottom)
+                    }
+                    if (y < -bottom) {
                         matrix.postTranslate(0, -(y + bottom));
-                    else if (y > 0)
+                    } else if (y > 0) {
                         matrix.postTranslate(0, -y);
+                    }
                 }
             }
             return true;

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e25d011a/app/src/main/java/org/apache/taverna/mobile/data/remote/BaseApiManager.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/data/remote/BaseApiManager.java b/app/src/main/java/org/apache/taverna/mobile/data/remote/BaseApiManager.java
index 4fa690b..5a384e4 100644
--- a/app/src/main/java/org/apache/taverna/mobile/data/remote/BaseApiManager.java
+++ b/app/src/main/java/org/apache/taverna/mobile/data/remote/BaseApiManager.java
@@ -11,7 +11,7 @@ public class BaseApiManager {
 
 
     public TavernaService mTavernaService;
-    String ENDPOINT = "http://www.myexperiment.org/";
+    final String ENDPOINT = "http://www.myexperiment.org/";
 
     public BaseApiManager() {
 

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e25d011a/app/src/main/java/org/apache/taverna/mobile/fragments/FavoriteFragment.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/fragments/FavoriteFragment.java b/app/src/main/java/org/apache/taverna/mobile/fragments/FavoriteFragment.java
index 86278a8..3cca379 100644
--- a/app/src/main/java/org/apache/taverna/mobile/fragments/FavoriteFragment.java
+++ b/app/src/main/java/org/apache/taverna/mobile/fragments/FavoriteFragment.java
@@ -35,6 +35,7 @@ import android.os.Bundle;
 import android.support.v4.app.Fragment;
 import android.support.v7.widget.LinearLayoutManager;
 import android.support.v7.widget.RecyclerView;
+import android.util.Log;
 import android.view.ContextMenu;
 import android.view.LayoutInflater;
 import android.view.MenuItem;
@@ -55,6 +56,7 @@ public class FavoriteFragment extends Fragment implements RecyclerView.OnCreateC
      * The fragment argument representing the section number for this
      * fragment.
      */
+    private static final String TAG = "FavoriteFragment";
     private static final String ARG_SECTION_NUMBER = "SECTION_NUMBER";
     public FavoriteWorkflowAdapter favoriteAdapter;
     public WorkflowDB myWorkflowDb;
@@ -114,7 +116,7 @@ public class FavoriteFragment extends Fragment implements RecyclerView.OnCreateC
             favoriteAdapter = new FavoriteWorkflowAdapter(getActivity(), mfavorites);
             favoriteAdapter.registerAdapterDataObserver(dataObserver);
         } catch (JSONException e) {
-            e.printStackTrace();
+            Log.e(TAG, "setUpFavoriteData: ", e);
             favoriteAdapter = new FavoriteWorkflowAdapter(getActivity(), Collections
                     .<ArrayList<Object>>emptyList());
             favoriteAdapter.registerAdapterDataObserver(dataObserver);
@@ -182,8 +184,9 @@ public class FavoriteFragment extends Fragment implements RecyclerView.OnCreateC
         } else if (title.equals("Remove")) {
             Toast.makeText(getActivity(), "Removing", Toast.LENGTH_SHORT).show();
             return true;
-        } else
+        } else {
             return super.onContextItemSelected(item);
+        }
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e25d011a/app/src/main/java/org/apache/taverna/mobile/fragments/WorkflowItemFragment.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/fragments/WorkflowItemFragment.java b/app/src/main/java/org/apache/taverna/mobile/fragments/WorkflowItemFragment.java
index 98523a1..53649a0 100644
--- a/app/src/main/java/org/apache/taverna/mobile/fragments/WorkflowItemFragment.java
+++ b/app/src/main/java/org/apache/taverna/mobile/fragments/WorkflowItemFragment.java
@@ -47,6 +47,7 @@ import android.support.v7.widget.LinearLayoutManager;
 import android.support.v7.widget.RecyclerView;
 import android.support.v7.widget.SearchView;
 import android.text.TextUtils;
+import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.Menu;
 import android.view.MenuInflater;
@@ -76,6 +77,7 @@ public class WorkflowItemFragment extends Fragment implements SwipeRefreshLayout
         .OnRefreshListener, SearchView.OnQueryTextListener {
 
     // the fragment initialization parameters, e.g. ARG_ITEM_NUMBER
+    private static final String TAG = "WorkflowItemFragment";
     private static final String ARG_PARAM1 = "param1";
     private static final String ARG_PARAM2 = "param2";
     public static Context cx;
@@ -87,7 +89,7 @@ public class WorkflowItemFragment extends Fragment implements SwipeRefreshLayout
      */
     private static RecyclerView mListView;
     private static View rootView;
-    private static boolean STATE_ON = false;
+    private static boolean stateOn = false;
     private static TextView noDataText;
     private static LruCache<String, Bitmap> avatarCache;
     private static WorkflowAdapter workflowAdapter;
@@ -133,9 +135,9 @@ public class WorkflowItemFragment extends Fragment implements SwipeRefreshLayout
                     isLoadMoreData = false;
                     isRefreshData = false;
                     ((WorkflowAdapter) mListView.getAdapter()).addItems(data, previousTotal);
-                } else
+                } else {
                     mListView.swapAdapter(workflowAdapter, false);
-
+                }
                 if (WorkflowItemFragment.workflowAdapter.getItemCount() == 0) {
                     mListView.setVisibility(View.GONE);
                     noDataText.setVisibility(View.VISIBLE);
@@ -160,16 +162,16 @@ public class WorkflowItemFragment extends Fragment implements SwipeRefreshLayout
                     // .getName());
                     //check whether avatar is already in the cache before trying to download it
                     // from remote resource
-                    if (avatarCache.get(author.getDetails_uri()) == null)
+                    if (avatarCache.get(author.getDetailsUri()) == null) {
                         new AvatarLoader(author.getUserViewHolder()).execute(author
-                                .getDetails_uri(), author.getRow_id());
-                    else {
+                                .getDetailsUri(), author.getRowId());
+                    } else {
                         author.getUserViewHolder().author_profile.setImageBitmap(avatarCache.get
-                                (author.getDetails_uri()));
+                                (author.getDetailsUri()));
 //                        ((ImageView) rootView.findViewById(R.id.author_profile_image))
-// .setImageBitmap(avatarCache.get(author.getDetails_uri()));
+// .setImageBitmap(avatarCache.get(author.getDetailsUri()));
                     }
-                    System.out.println("Author cached ID " + author.getDetails_uri() + "\n Name: " +
+                    Log.d(TAG, "Author cached ID " + author.getDetailsUri() + "\n Name: " +
                             "" + author.getName());
                 }
             }
@@ -177,7 +179,8 @@ public class WorkflowItemFragment extends Fragment implements SwipeRefreshLayout
     }
 
     /**
-     * Called when avatar xml has finished parsing. fetches the avatar remotely and updates the item
+     * Called when avatar xml has finished parsing. fetches the avatar remotely and updates the
+     * item
      * in the list view
      *
      * @param author the author avatar to load
@@ -188,9 +191,9 @@ public class WorkflowItemFragment extends Fragment implements SwipeRefreshLayout
             @Override
             public void run() {
                 //      new LoadAuthorAvatar((ImageView) rootView.findViewById(R.id
-                // .author_profile_image),author.getDetails_uri()).execute(author.getAvatar_url());
+                // .author_profile_image),author.getDetailsUri()).execute(author.getAvatarUrl());
                 new LoadAuthorAvatar(author.getUserViewHolder().author_profile, author
-                        .getDetails_uri()).execute(author.getAvatar_url());
+                        .getDetailsUri()).execute(author.getAvatarUrl());
             }
         });
     }
@@ -284,7 +287,7 @@ public class WorkflowItemFragment extends Fragment implements SwipeRefreshLayout
     @Override
     public void onResume() {
         super.onResume();
-        if (!STATE_ON) {
+        if (!stateOn) {
             new WorkflowLoader(getActivity(), swipeRefreshLayout).execute("" + currentPage);
 
             if (mListView.getAdapter().getItemCount() == 0) {
@@ -303,7 +306,7 @@ public class WorkflowItemFragment extends Fragment implements SwipeRefreshLayout
     @Override
     public void onSaveInstanceState(Bundle outState) {
         super.onSaveInstanceState(outState);
-        STATE_ON = true;
+        stateOn = true;
     }
 
     @Override
@@ -352,7 +355,7 @@ public class WorkflowItemFragment extends Fragment implements SwipeRefreshLayout
             if (null != wk)
                 for (int i = 0; i < wk.getItemCount(); i++) {
                     Workflow workflow = wk.getItem(i);
-                    if (workflow.getWorkflow_title().toLowerCase().contains(search.toLowerCase())) {
+                    if (workflow.getWorkflowTitle().toLowerCase().contains(search.toLowerCase())) {
                         ladapter.addWorkflow(workflow);
                     }
                 }
@@ -417,7 +420,7 @@ public class WorkflowItemFragment extends Fragment implements SwipeRefreshLayout
                 input.close();
 
             } catch (IOException e) {
-                e.printStackTrace();
+                Log.e(TAG, "doInBackground: ", e);
             }
             return myBitmap;
         }
@@ -453,11 +456,9 @@ public class WorkflowItemFragment extends Fragment implements SwipeRefreshLayout
             visibleItemCount = mListView.getChildCount();
             totalItemCount = mLinearLayoutManager.getItemCount();
             firstVisibleItem = mLinearLayoutManager.findFirstVisibleItemPosition();
-            if (loading) {
-                if (totalItemCount > previousTotal) {
-                    loading = false;
-                    previousTotal = totalItemCount;
-                }
+            if (loading && totalItemCount > previousTotal) {
+                loading = false;
+                previousTotal = totalItemCount;
             }
             if (!loading && (totalItemCount - visibleItemCount) <= (firstVisibleItem +
                     visibleThreshold)) {
@@ -466,7 +467,7 @@ public class WorkflowItemFragment extends Fragment implements SwipeRefreshLayout
                 isLoadMoreData = true;
                 currentPage++;
                 new WorkflowLoader(getActivity(), swipeRefreshLayout).execute("" + currentPage);
-                System.out.println(currentPage);
+                Log.d(TAG, currentPage + "");
                 loading = true;
             }
         }

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e25d011a/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/RunFragment.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/RunFragment.java b/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/RunFragment.java
index c3eb276..400eaaf 100644
--- a/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/RunFragment.java
+++ b/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/RunFragment.java
@@ -13,6 +13,7 @@ import android.os.Bundle;
 import android.preference.PreferenceManager;
 import android.support.v4.app.Fragment;
 import android.text.method.ScrollingMovementMethod;
+import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.Menu;
 import android.view.MenuInflater;
@@ -43,6 +44,7 @@ import static org.apache.taverna.mobile.activities.DashboardMainActivity.APP_DIR
  */
 public class RunFragment extends Fragment implements View.OnClickListener {
 
+    private static final String TAG = "RunFragment";
     private View rootView;
     private TextView runIdTextView, runNameTextView;
     private ImageButton status;
@@ -116,16 +118,17 @@ public class RunFragment extends Fragment implements View.OnClickListener {
             runIdTextView.setText(runId);
             runNameTextView.setText(runName);
 
-            if (runState.contains("Pending"))
+            if (runState.contains("Pending")) {
                 status.setImageResource(android.R.drawable.presence_busy);
-            else if (runState.contains("Running"))
+            } else if (runState.contains("Running")) {
                 status.setImageResource(android.R.drawable.presence_away);
-            else if (runState.contains("Finished"))
+            } else if (runState.contains("Finished")) {
                 status.setImageResource(android.R.drawable.presence_online);
-            else if (runState.contains("Failed"))
+            } else if (runState.contains("Failed")) {
                 status.setImageResource(android.R.drawable.presence_offline);
-            else
+            } else {
                 status.setImageResource(android.R.drawable.presence_invisible);
+            }
 
             runStateTextView.setText(runState);
             runStartTime.setHint(runStarted);
@@ -137,7 +140,7 @@ public class RunFragment extends Fragment implements View.OnClickListener {
             downloadLogs.setOnClickListener(this);
             reloadRunResult();
         } catch (JSONException e) {
-            e.printStackTrace();
+            Log.e(TAG, "onResume: ", e);
         }
     }
 
@@ -169,7 +172,7 @@ public class RunFragment extends Fragment implements View.OnClickListener {
         switch (view.getId()) {
             case R.id.buttonWorkflowDownloadOutput:
                 try {
-                    System.out.println("output url: " + run_output_url);
+                    Log.d(TAG, "output url: " + run_output_url);
                     if (run_output_url.isEmpty()) {
                         Toast.makeText(getActivity(), "No run logs available", Toast.LENGTH_LONG)
                                 .show();
@@ -179,18 +182,18 @@ public class RunFragment extends Fragment implements View.OnClickListener {
                                         (getActivity()).getString(
                                         APP_DIRECTORY_NAME + "/Runoutput/outputs",
                                         "/TavernaMobile/Runouput/outputs/")),
-                                new TavernaPlayerAPI(getActivity()).PLAYER_RUN_URL +
+                                new TavernaPlayerAPI(getActivity()).mPlayerRunUrl +
                                         run_output_url.substring(0, 5));
                     }
                 } catch (Exception e) {
-                    e.printStackTrace();
+                    Log.e(TAG, "onClick: ", e);
                     Toast.makeText(getActivity(), "Error downloading run output", Toast
                             .LENGTH_LONG).show();
                 }
                 break;
             case R.id.downloadRunLogs:
                 try {
-                    System.out.println("run logs: " + run_logs_url);
+                    Log.d(TAG, "run logs: " + run_logs_url);
                     if (run_logs_url.isEmpty()) {
                         Toast.makeText(getActivity(), "No run logs available", Toast.LENGTH_LONG)
                                 .show();
@@ -200,11 +203,11 @@ public class RunFragment extends Fragment implements View.OnClickListener {
                                         (getActivity()).getString(
                                         APP_DIRECTORY_NAME + "/Runoutput/logs/",
                                         "/TavernaMobile/Runoutput/logs")),
-                                new TavernaPlayerAPI(getActivity()).PLAYER_RUN_URL + run_logs_url
+                                new TavernaPlayerAPI(getActivity()).mPlayerRunUrl + run_logs_url
                                         .substring(0, 5));
                     }
                 } catch (Exception e) {
-                    e.printStackTrace();
+                    Log.e(TAG, "onClick: ", e);
                     Toast.makeText(getActivity(), "Error downloading run logs", Toast
                             .LENGTH_LONG).show();
                 }
@@ -222,22 +225,22 @@ public class RunFragment extends Fragment implements View.OnClickListener {
                         runEndTime.setHint(runInfo.getString("finish_time"));
                         runStateTextView.setText(runInfo.getString("status_message"));
 
-                        if (runInfo.getString("status_message").contains("Pending"))
+                        if (runInfo.getString("status_message").contains("Pending")) {
                             status.setImageResource(android.R.drawable.presence_busy);
-                        else if (runInfo.getString("status_message").contains("Running"))
+                        } else if (runInfo.getString("status_message").contains("Running")) {
                             status.setImageResource(android.R.drawable.presence_away);
-                        else if (runInfo.getString("status_message").contains("Finished"))
+                        } else if (runInfo.getString("status_message").contains("Finished")) {
                             status.setImageResource(android.R.drawable.presence_online);
-                        else if (runInfo.getString("status_message").contains("Failed"))
+                        } else if (runInfo.getString("status_message").contains("Failed")) {
                             status.setImageResource(android.R.drawable.presence_offline);
-                        else
+                        } else {
                             status.setImageResource(android.R.drawable.presence_invisible);
-
+                        }
                         run_output_url = runInfo.has("outputs_zip") ? runInfo.getString
                                 ("outputs_zip") : "";
                         run_logs_url = runInfo.has("log") ? runInfo.getString("log") : "";
                     } catch (JSONException e) {
-                        e.printStackTrace();
+                        Log.e(TAG, "run: ", e);
                     }
                 }
             });
@@ -260,7 +263,7 @@ public class RunFragment extends Fragment implements View.OnClickListener {
             StringBuffer sb = new StringBuffer();
             try {
 
-                URL workflowurl = new URL(new TavernaPlayerAPI(this.context).PLAYER_RUN_URL +
+                URL workflowurl = new URL(new TavernaPlayerAPI(this.context).mPlayerRunUrl +
                         this.runid);
                 HttpURLConnection connection = (HttpURLConnection) workflowurl.openConnection();
 
@@ -284,9 +287,9 @@ public class RunFragment extends Fragment implements View.OnClickListener {
                 updateRun(this.context, runInfo);
 
             } catch (IOException ex) {
-                ex.printStackTrace();
+                Log.e(TAG, "run: ", ex);
             } catch (JSONException e) {
-                e.printStackTrace();
+                Log.e(TAG, "run: ", e);
             }
         }
     }

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e25d011a/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/WorkflowRunHistoryFragment.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/WorkflowRunHistoryFragment.java b/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/WorkflowRunHistoryFragment.java
index edc67f9..70481f3 100644
--- a/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/WorkflowRunHistoryFragment.java
+++ b/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/WorkflowRunHistoryFragment.java
@@ -37,6 +37,7 @@ import android.os.Bundle;
 import android.support.v4.app.Fragment;
 import android.support.v7.widget.LinearLayoutManager;
 import android.support.v7.widget.RecyclerView;
+import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
@@ -52,7 +53,7 @@ import java.util.List;
  */
 public class WorkflowRunHistoryFragment extends Fragment implements LoaderManager
         .LoaderCallbacks<Workflow> {
-
+    private static final String TAG = "WorkflowRunHistoryFragment";
     // the fragment initialization parameters, e.g. ARG_ITEM_NUMBER
     private static final String ARG_PARAM2 = "param2";
     private static String workflowID; //represents a run name that matches the given workflow
@@ -146,9 +147,9 @@ public class WorkflowRunHistoryFragment extends Fragment implements LoaderManage
     public void onLoadFinished(Loader<Workflow> workflowLoader, Workflow workflow) {
 
         try {
-            if (workflow.getWorkflow_runs() != null | workflow.getWorkflow_runs().size() != 0) {
+            if (workflow.getWorkflowRuns() != null | workflow.getWorkflowRuns().size() != 0) {
 
-                runAdapter.setRunList(workflow.getWorkflow_runs());
+                runAdapter.setRunList(workflow.getWorkflowRuns());
                 mRecyclerView.setAdapter(runAdapter);
                 mRecyclerView.setVisibility(View.VISIBLE);
                 emptyRunHistoryTextView.setVisibility(View.GONE);
@@ -158,7 +159,7 @@ public class WorkflowRunHistoryFragment extends Fragment implements LoaderManage
                 emptyRunHistoryTextView.setVisibility(View.VISIBLE);
             }
         } catch (NullPointerException np) {
-            np.printStackTrace();
+            Log.e(TAG, "onLoadFinished: ", np);
         }
 
         // progressDialog.dismiss();

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e25d011a/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/WorkflowdetailFragment.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/WorkflowdetailFragment.java b/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/WorkflowdetailFragment.java
index 9f45d7f..c5f0cae 100644
--- a/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/WorkflowdetailFragment.java
+++ b/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/WorkflowdetailFragment.java
@@ -99,10 +99,11 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
      * The fragment argument representing the section number for this
      * fragment.
      */
+    private static final String TAG = "WorkflowdetailFragment";
     private static final String ARG_SECTION_NUMBER = "section_number";
     private static final String BOX_APP_KEY = "doicbvkfyzligh2";
     private static final String BOX_APP_SECRET = "3uuuw36mm7jkflc";
-    public static String WORKFLO_ID = "";
+    public static String mWorkfloId = "";
     public static Context cont;
     public static String workflow_uri;
     static View rootView;
@@ -111,8 +112,8 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
     static Workflow currentWorkflow = null;
     private static ProgressDialog progressDialog;
     private static String download_url;
-    private static boolean LOAD_STATE = false;
-    private static boolean DROPUPLOAD = false;
+    private static boolean mLoadState = false;
+    private static boolean mDropupload = false;
     public AlertDialog runDialog;
     public AlertDialog.Builder alertDialogBuilder;
     public boolean isZoomIn;
@@ -150,7 +151,7 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
         final TextView desc = (TextView) rootView.findViewById(R.id.wdescription);
         final TextView createdat = (TextView) rootView.findViewById(R.id.wcreatedat);
         final ImageView preview = (ImageView) rootView.findViewById(R.id.wkf_image);
-        WORKFLO_ID = wk.getWorkflow_title();
+        //mWorkfloId = wk.getWorkflowTitle();
         ((Activity) cont).runOnUiThread(new Runnable() {
             @Override
             public void run() {
@@ -163,24 +164,24 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
                 //String uploaderText = String.format(resources.getString(R.string
                 // .workflow_author), uploader != null ? uploader.getName():"Unknown");
                 author.setText((uploader != null) ? uploader.getName() : "Unknown");
-                title.setText(wk.getWorkflow_title());
-                if (wk.getWorkflow_description() != null) {
-                    desc.setText(wk.getWorkflow_description());
+                title.setText(wk.getWorkflowTitle());
+                if (wk.getWorkflowDescription() != null) {
+                    desc.setText(wk.getWorkflowDescription());
                 } else {
                     //desc.setVisibility(View.INVISIBLE); //Not sure I trust this! Needs
                     // investigating.
                 }
                 String createdAtText = String.format(resources.getString(R.string.created), wk
-                        .getWorkflow_datecreated());
+                        .getWorkflowDatecreated());
                 createdat.setText(createdAtText);
                 //updated.setText("Workflow Description");
                 String typeText = String.format(resources.getString(R.string.workflow_type_text),
-                        wk.getWorkflow_Type());
+                        wk.getWorkflowType());
                 type.setText(typeText);
 
-                //preview.setImageURI(Uri.parse(wk.getWorkflow_preview()));
-                new LoadImageThread(preview, wk.getWorkflow_preview()).execute();
-                download_url = wk.getWorkflow_remote_url();
+                //preview.setImageURI(Uri.parse(wk.getWorkflowPreview()));
+                new LoadImageThread(preview, wk.getWorkflowPreview()).execute();
+                download_url = wk.getWorkflowRemoteUrl();
                 zoomin.setAnimationListener(new Animation.AnimationListener() {
 
                     @Override
@@ -239,7 +240,7 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
         progressDialog = new ProgressDialog(getActivity());
         progressDialog.setMessage(getActivity().getResources().getString(R.string.loading));
         progressDialog.setCancelable(false);
-        //   WORKFLO_ID = workflowid;
+        //   mWorkfloId = workflowid;
         zoomin = AnimationUtils.loadAnimation(getActivity(), R.anim.zoomin);
         zoomout = AnimationUtils.loadAnimation(getActivity(), R.anim.zoomout);
 
@@ -255,12 +256,13 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
         final String favs = sharedPreferences.getString(WorkflowAdapter.FAVORITE_LIST_DB, "");
         String[] ids = favs.split(",");
         if (ids.length > 0) {
-            for (String id : ids)
+            for (String id : ids) {
                 if (id.equalsIgnoreCase("" + wid)) {
                     mark_workflow.setBackgroundResource(R.drawable
                             .abc_list_selector_disabled_holo_light);
                     break;
                 }
+            }
         }
         rootView.findViewById(R.id.saveToDropboxButton).setOnClickListener(this);
         rootView.findViewById(R.id.saveToGoogleDriveButton).setOnClickListener(this);
@@ -297,11 +299,12 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
         switch (view.getId()) {
             case R.id.run_wk:
                 if (((TextView) rootView.findViewById(R.id.wtype)).getText().toString().contains
-                        ("Taverna 2"))
+                        ("Taverna 2")) {
                     new WorkflowProcessTask(getActivity()).execute(download_url);
-                else
+                } else {
                     Toast.makeText(getActivity(), "Sorry! Only Taverna 2 workflows can be run.",
                             Toast.LENGTH_LONG).show();
+                }
                 break;
             case R.id.download_wk:
                 // start the android Download manager to start downloading a remote workflow file
@@ -313,7 +316,7 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
                             DashboardMainActivity.APP_DIRECTORY_NAME, "/")),
                             download_url);
                 } catch (Exception e) {
-                    e.printStackTrace();
+                    Log.e(TAG, "onClick: ", e);
                 }
 
                 break;
@@ -323,11 +326,11 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
                 String favs = sharedPreferences.getString(WorkflowAdapter.FAVORITE_LIST_DB, "");
                 //save current workflow as favorite
                 mfav.add(currentWorkflow.getId());
-                mfav.add(currentWorkflow.getWorkflow_author());
-                mfav.add(currentWorkflow.getWorkflow_title());
-                mfav.add(currentWorkflow.getWorkflow_description());
+                mfav.add(currentWorkflow.getWorkflowAuthor());
+                mfav.add(currentWorkflow.getWorkflowTitle());
+                mfav.add(currentWorkflow.getWorkflowDescription());
                 mfav.add(SimpleDateFormat.getDateTimeInstance().format(new Date()).toString());
-                mfav.add(currentWorkflow.getWorkflow_details_url());
+                mfav.add(currentWorkflow.getWorkflowDetailsUrl());
                 mfav.add(((TextView) rootView.findViewById(R.id.wkf_author)).getText());
                 int result = new WorkflowDB(getActivity(), WorkflowAdapter
                         .WORKFLOW_FAVORITE_KEY).insert(mfav);
@@ -341,16 +344,17 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
                 } else if (result == -1) {
                     Toast.makeText(getActivity(), "Sorry! This workflow has already been marked " +
                             "as a favourite", Toast.LENGTH_SHORT).show();
-                } else
+                } else {
                     Toast.makeText(getActivity(), "Error!, please try again", Toast.LENGTH_SHORT)
                             .show();
+                }
                 break;
             case R.id.saveToDropboxButton:
                 String authToken = PreferenceManager.getDefaultSharedPreferences(getActivity())
                         .getString("dropboxauth", "");
-                if (authToken.isEmpty())
+                if (authToken.isEmpty()) {
                     mDBApi.getSession().startOAuth2Authentication(getActivity());
-                else {
+                } else {
                     mDBApi.getSession().setOAuth2AccessToken(authToken);
                     new WorkflowDriveUpload().execute(download_url);
                 }
@@ -369,12 +373,12 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
     @Override
     public void onResume() {
         super.onResume();
-        if (!LOAD_STATE)
+        if (!mLoadState)
             workflow_uri = getActivity().getIntent().getStringExtra("uri");
 
         getActivity().getLoaderManager().initLoader(1, null, this).forceLoad();
 
-        if (mDBApi.getSession().authenticationSuccessful() && !DROPUPLOAD) {
+        if (mDBApi.getSession().authenticationSuccessful() && !mDropupload) {
             try {
                 // Required to complete auth, sets the access token on the session
                 mDBApi.getSession().finishAuthentication();
@@ -391,7 +395,7 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
     @Override
     public void onSaveInstanceState(Bundle outState) {
         super.onSaveInstanceState(outState);
-        LOAD_STATE = true;
+        mLoadState = true;
     }
 
     @Override
@@ -453,7 +457,7 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
                 myBitmap = BitmapFactory.decodeStream(input);
 //                imageView.setImageBitmap(myBitmap);
             } catch (IOException e) {
-                e.printStackTrace();
+                Log.e(TAG, "doInBackground: ", e);
             }
             return myBitmap;
         }
@@ -487,7 +491,7 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
             try {
 
                 URL workflowurl = new URL(new TavernaPlayerAPI(this.context)
-                        .PLAYER_RUN_FRAMEWORK_URL + params[0]);
+                        .mPlayerRunFrameworkUrl + params[0]);
                 HttpURLConnection connection = (HttpURLConnection) workflowurl.openConnection();
                 String userpass = tavernaPlayerAPI.getPlayerUserName(this.context) + ":" +
                         tavernaPlayerAPI.getPlayerUserPassword(this.context);
@@ -516,7 +520,7 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
                 return sb.toString();
 
             } catch (IOException ex) {
-                ex.printStackTrace();
+                Log.e(TAG, "doInBackground: ", ex);
             }
             return sb.toString();
         }
@@ -566,7 +570,7 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
                                 // name/input json object
 
                             } catch (JSONException e) {
-                                e.printStackTrace();
+                                Log.e(TAG, "onClick: ", e);
                             }
 
                         }
@@ -576,9 +580,9 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
                             //start a run task to execute the run.
                             new RunTask(ctx).execute(json.toString());
                         } catch (JSONException e) {
-                            e.printStackTrace();
+                            Log.e(TAG, "onClick: ", e);
                         } catch (Exception ex) {
-                            ex.printStackTrace();
+                            Log.e(TAG, "onClick: ", ex);
                         }
 
                     }
@@ -595,7 +599,7 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
                 runDialog = alertDialogBuilder.create();
 
             } catch (JSONException e) {
-                e.printStackTrace();
+                Log.e(TAG, "onPostExecute: ", e);
             }
             progressDialog.dismiss();
 
@@ -633,12 +637,12 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
 
         @Override
         protected String doInBackground(String... params) {
-            StringBuffer sb = new StringBuffer();
+            StringBuffer sb = new StringBuffer(53);
             try {
                 //prepare connection requests
                 URL workflowurl = new URL(params[0]); //the resource xml file representing the
                 // workflow to be uploaded to the player
-                String playerurl = new TavernaPlayerAPI(this.context).PLAYER_BASE_URL +
+                String playerurl = new TavernaPlayerAPI(this.context).mPlayerBaseUrl +
                         "workflows.json";
                 TavernaPlayerAPI tavernaPlayerAPI = new TavernaPlayerAPI();
 
@@ -658,10 +662,11 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
                 BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(wconn
                         .getInputStream()));
                 String str = "";
-                while ((str = bufferedReader.readLine()) != null)
+                while ((str = bufferedReader.readLine()) != null) {
                     sb.append(str); //in this string builder we have read the workflow( as
-                // .t2flow or .xml) workflow from remote resource. Now we need to post that to
-                // the player.
+                    // .t2flow or .xml) workflow from remote resource. Now we need to post that to
+                    // the player.
+                }
                 bufferedReader.close();
                 wconn.disconnect();
 
@@ -671,7 +676,7 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
                 String post = "{\"workflow\":" + data + "}";
                 //clear sb so that we can use it again to fetch results from this post request
                 sb.delete(0, sb.length() - 1);
-                System.out.println("BODY=>" + post);
+                Log.d(TAG, "BODY=>" + post);
                 connection.setRequestMethod("POST");
                 connection.setRequestProperty("Authorization", basicAuth);
                 connection.setRequestProperty("Accept", "*/*");
@@ -691,11 +696,12 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
 
                 InputStream dis = connection.getInputStream();
                 BufferedReader br = new BufferedReader(new InputStreamReader(dis));
-                while ((str = br.readLine()) != null)
+                while ((str = br.readLine()) != null) {
                     sb.append(str);
+                }
                 connection.disconnect();
             } catch (IOException e) {
-                e.printStackTrace();
+                Log.e(TAG, "doInBackground: ", e);
                 sb.append("Error reading remote workflow. Please try again later");
             }
 
@@ -719,7 +725,7 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
                 new WorkflowRunTask(getActivity()).execute(workflowJson.getString("id"));
 
             } catch (JSONException e) {
-                e.printStackTrace();
+                Log.e(TAG, "onPostExecute: ", e);
             }
 
         }
@@ -764,13 +770,13 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
                 //  metaDataEntry = mDBApi.metadata("/"+Uri.parse(files[0]).getLastPathSegment(),
                 // 1, null, false, null);
             } catch (FileNotFoundException e) {
-                e.printStackTrace();
+                Log.e(TAG, "doInBackground: ", e);
             } catch (DropboxException e) {
-                e.printStackTrace();
+                Log.e(TAG, "doInBackground: ", e);
             } catch (MalformedURLException e) {
-                e.printStackTrace();
+                Log.e(TAG, "doInBackground: ", e);
             } catch (IOException e) {
-                e.printStackTrace();
+                Log.e(TAG, "doInBackground: ", e);
             }
 
             return response.rev;
@@ -781,7 +787,7 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
             if (null != s) {
                 Toast.makeText(getActivity(), "File Saved to dropbox. Reference: " + s, Toast
                         .LENGTH_LONG).show();
-                DROPUPLOAD = true;
+                mDropupload = true;
             } else {
                 Toast.makeText(getActivity(), "Failed to save to dropbox " + s, Toast
                         .LENGTH_LONG).show();

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e25d011a/app/src/main/java/org/apache/taverna/mobile/tavernamobile/Runs.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/tavernamobile/Runs.java b/app/src/main/java/org/apache/taverna/mobile/tavernamobile/Runs.java
index f2755a3..1604206 100644
--- a/app/src/main/java/org/apache/taverna/mobile/tavernamobile/Runs.java
+++ b/app/src/main/java/org/apache/taverna/mobile/tavernamobile/Runs.java
@@ -22,64 +22,65 @@ public class Runs {
 
     ;
 
-    public long getRun_id() {
+    public long getRunId() {
         return run_id;
     }
 
-    public void setRun_id(long run_id) {
+    public void setrunId(long run_id) {
         this.run_id = run_id;
     }
 
-    public long getRun_workflow_id() {
+    public long getRunWorkflowId() {
         return run_workflow_id;
     }
 
-    public void setRun_workflow_id(long run_workflow_id) {
+    public void setRunWorkflowId(long run_workflow_id) {
         this.run_workflow_id = run_workflow_id;
     }
 
     public RunState getState() {
-        if (state.equalsIgnoreCase("finished"))
+        if (state.equalsIgnoreCase("finished")) {
             return RunState.FINISHED;
-        else if (state.equalsIgnoreCase("failed"))
+        } else if (state.equalsIgnoreCase("failed")) {
             return RunState.FAILED;
-        else
+        } else {
             return RunState.RUNNING;
+        }
     }
 
     public void setState(String state) {
         this.state = state;
     }
 
-    public String getRun_name() {
+    public String getRunName() {
         return run_name;
     }
 
-    public void setRun_name(String run_name) {
+    public void setRunName(String run_name) {
         this.run_name = run_name;
     }
 
-    public String getRun_started_date() {
+    public String getRunStartedDate() {
         return run_started_date;
     }
 
-    public void setRun_started_date(String run_started_date) {
+    public void setRunStartedDate(String run_started_date) {
         this.run_started_date = run_started_date;
     }
 
-    public String getRun_author() {
+    public String getRunAuthor() {
         return run_author;
     }
 
-    public void setRun_author(String run_author) {
+    public void setRunAuthor(String run_author) {
         this.run_author = run_author;
     }
 
-    public String getRun_ended_date() {
+    public String getRunEndedDate() {
         return run_ended_date;
     }
 
-    public void setRun_ended_date(String run_ended_date) {
+    public void setRunEndedDate(String run_ended_date) {
         this.run_ended_date = run_ended_date;
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e25d011a/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 41f392a..6e6bcc1 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
@@ -34,11 +34,11 @@ import java.net.PasswordAuthentication;
  */
 public class TavernaPlayerAPI {
 
-    public static String PLAYER_BASE_URL = "http://heater.cs.man.ac.uk:3000/";
-    public static String SERVER_BASE_URL = "http://heater.cs.man.ac.uk:8090/taverna-2.5.4/";
-    public static String PLAYER_WORKFLOW_URL = PLAYER_BASE_URL + "workflows/";
-    public static String PLAYER_RUN_URL = PLAYER_BASE_URL + "runs/";
-    public static String PLAYER_RUN_FRAMEWORK_URL = PLAYER_RUN_URL + "new?workflow_id=";
+    public static String mPlayerBaseUrl = "http://heater.cs.man.ac.uk:3000/";
+    public static String mServerBaseUrl = "http://heater.cs.man.ac.uk:8090/taverna-2.5.4/";
+    public static String mPlayerWorkFlowUrl = mPlayerBaseUrl + "workflows/";
+    public static String mPlayerRunUrl = mPlayerBaseUrl + "runs/";
+    public static String mPlayerRunFrameworkUrl = mPlayerRunUrl + "new?workflow_id=";
     //returns a json 'framework' used for creating runs for the given workflow
 
     public TavernaPlayerAPI(Context context) {
@@ -50,35 +50,35 @@ public class TavernaPlayerAPI {
                 ("pref_player_url", "/");
         String password = PreferenceManager.getDefaultSharedPreferences(context).getString
                 ("pref_player_url", "/");
-        PLAYER_BASE_URL = player;
-        SERVER_BASE_URL = server;
-        PLAYER_WORKFLOW_URL = PLAYER_BASE_URL + "workflows/";
-        PLAYER_RUN_URL = PLAYER_BASE_URL + "runs/";
-        PLAYER_RUN_FRAMEWORK_URL = PLAYER_RUN_URL + "new?workflow_id=";
+        mPlayerBaseUrl = player;
+        mServerBaseUrl = server;
+        mPlayerWorkFlowUrl = mPlayerBaseUrl + "workflows/";
+        mPlayerRunUrl = mPlayerBaseUrl + "runs/";
+        mPlayerRunFrameworkUrl = mPlayerRunUrl + "new?workflow_id=";
     }
 
     public TavernaPlayerAPI() {
 
     }
 
-    public static String getPLAYER_BASE_URL() {
-        return PLAYER_BASE_URL;
+    public static String getplayerBaseUrl() {
+        return mPlayerBaseUrl;
     }
 
-    public static String getSERVER_BASE_URL() {
-        return SERVER_BASE_URL;
+    public static String getserverBaseUrl() {
+        return mServerBaseUrl;
     }
 
-    public static String getPLAYER_WORKFLOW_URL() {
-        return PLAYER_WORKFLOW_URL;
+    public static String getplayerWorkflowUrl() {
+        return mPlayerWorkFlowUrl;
     }
 
-    public static String getPLAYER_RUN_URL(Context ctx) {
-        return PLAYER_RUN_URL;
+    public static String getplayerRunUrl(Context ctx) {
+        return mPlayerRunUrl;
     }
 
-    public static String getPLAYER_RUN_FRAMEWORK_URL(Context ctx) {
-        return PLAYER_RUN_FRAMEWORK_URL;
+    public static String getplayerRunFrameworkUrl(Context ctx) {
+        return mPlayerRunFrameworkUrl;
     }
 
     public String getPlayerUserName(Context c) {

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e25d011a/app/src/main/java/org/apache/taverna/mobile/tavernamobile/User.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/tavernamobile/User.java b/app/src/main/java/org/apache/taverna/mobile/tavernamobile/User.java
index 9d85682..4c30739 100644
--- a/app/src/main/java/org/apache/taverna/mobile/tavernamobile/User.java
+++ b/app/src/main/java/org/apache/taverna/mobile/tavernamobile/User.java
@@ -76,7 +76,7 @@ public class User {
         this.userViewHolder = userViewHolder;
     }
 
-    public String getRow_id() {
+    public String getRowId() {
         return this.row_id;
     }
 
@@ -84,27 +84,27 @@ public class User {
         this.id = id;
     }
 
-    public String getCreated_at() {
+    public String getCreatedAt() {
         return created_at;
     }
 
-    public void setCreated_at(String created_at) {
+    public void setCreatedAt(String created_at) {
         this.created_at = created_at;
     }
 
-    public String getDetails_uri() {
+    public String getDetailsUri() {
         return this.details_uri;
     }
 
-    public void setDetails_uri(String details_uri) {
+    public void setDetailsUri(String details_uri) {
         this.details_uri = details_uri;
     }
 
-    public String getAvatar_url() {
+    public String getAvatarUrl() {
         return this.avatar_url;
     }
 
-    public void setAvatar_url(String avatar_url) {
+    public void setAvatarUrl(String avatar_url) {
         this.avatar_url = avatar_url;
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e25d011a/app/src/main/java/org/apache/taverna/mobile/tavernamobile/Workflow.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/tavernamobile/Workflow.java b/app/src/main/java/org/apache/taverna/mobile/tavernamobile/Workflow.java
index 195775e..be92a9c 100644
--- a/app/src/main/java/org/apache/taverna/mobile/tavernamobile/Workflow.java
+++ b/app/src/main/java/org/apache/taverna/mobile/tavernamobile/Workflow.java
@@ -108,27 +108,27 @@ public class Workflow {
         this.id = id;
     }
 
-    public String getWorkflow_datecreated() {
+    public String getWorkflowDatecreated() {
         return this.workflow_datecreated;
     }
 
-    public void setWorkflow_datecreated(String workflow_datecreated) {
+    public void setWorkflowDatecreated(String workflow_datecreated) {
         this.workflow_datecreated = workflow_datecreated;
     }
 
-    public String getWorkflow_remote_url() {
+    public String getWorkflowRemoteUrl() {
         return this.workflow_remote_url;
     }
 
-    public void setWorkflow_remote_url(String workflow_remote_url) {
+    public void setWorkflowRemoteUrl(String workflow_remote_url) {
         this.workflow_remote_url = workflow_remote_url;
     }
 
-    public String getWorkflow_details_url() {
+    public String getWorkflowDetailsUrl() {
         return this.workflow_details_url;
     }
 
-    public void setWorkflow_details_url(String workflow_details_url) {
+    public void setWorkflowDetailsUrl(String workflow_details_url) {
         this.workflow_details_url = workflow_details_url;
     }
 
@@ -156,19 +156,19 @@ public class Workflow {
         this.about = about;
     }
 
-    public String getWorkflow_datemodified() {
+    public String getWorkflowDatemodified() {
         return this.workflow_datemodified;
     }
 
-    public void setWorkflow_datemodified(String workflow_datemodified) {
+    public void setWorkflowDatemodified(String workflow_datemodified) {
         this.workflow_datemodified = workflow_datemodified;
     }
 
-    public List<Runs> getWorkflow_runs() {
+    public List<Runs> getWorkflowRuns() {
         return this.workflow_runs;
     }
 
-    public void setWorkflow_runs(List<Runs> workflow_runs) {
+    public void setWorkflowRuns(List<Runs> workflow_runs) {
         this.workflow_runs = workflow_runs;
     }
 
@@ -176,11 +176,11 @@ public class Workflow {
         this.workflow_runs.add(runs);
     }
 
-    public int getWorkflow_input() {
+    public int getWorkflowInput() {
         return this.workflow_input;
     }
 
-    public void setWorkflow_input(int workflow_input) {
+    public void setWorkflowInput(int workflow_input) {
         this.workflow_input = workflow_input;
     }
 
@@ -188,35 +188,35 @@ public class Workflow {
         return WorkflowInputType.TYPE_INT;
     }
 
-    public String getWorkflow_author() {
+    public String getWorkflowAuthor() {
         return this.workflow_author;
     }
 
-    public void setWorkflow_author(String workflow_author) {
+    public void setWorkflowAuthor(String workflow_author) {
         this.workflow_author = workflow_author;
     }
 
-    public String getWorkflow_description() {
+    public String getWorkflowDescription() {
         return this.workflow_description;
     }
 
-    public void setWorkflow_description(String workflow_description) {
+    public void setWorkflowDescription(String workflow_description) {
         this.workflow_description = workflow_description;
     }
 
-    public String getWorkflow_title() {
+    public String getWorkflowTitle() {
         return this.workflow_title;
     }
 
-    public void setWorkflow_title(String workflow_title) {
+    public void setWorkflowTitle(String workflow_title) {
         this.workflow_title = workflow_title;
     }
 
-    public Bitmap getWorkflow_author_bitmap() {
+    public Bitmap getWorkflowAuthorBitmap() {
         return this.workflow_author_bitmap;
     }
 
-    public void setWorkflow_author_bitmap(Bitmap workflow_author_bitmap) {
+    public void setWorkflowAuthorBitmap(Bitmap workflow_author_bitmap) {
         this.workflow_author_bitmap = workflow_author_bitmap;
     }
 
@@ -228,83 +228,83 @@ public class Workflow {
         this.workflowComponent = workflowComponent;
     }
 
-    public String getWorkflow_web_url() {
+    public String getWorkflowWebUrl() {
         return workflow_web_url;
     }
 
-    public void setWorkflow_web_url(String workflow_web_url) {
+    public void setWorkflowWebUrl(String workflow_web_url) {
         this.workflow_web_url = workflow_web_url;
     }
 
-    public String getWorkflow_uploader() {
+    public String getWorkflowUploader() {
         return workflow_uploader;
     }
 
-    public void setWorkflow_uploader(String workflow_uploader) {
+    public void setWorkflowUploader(String workflow_uploader) {
         this.workflow_uploader = workflow_uploader;
     }
 
-    public String getWorkflow_Type() {
+    public String getWorkflowType() {
         return workflow_Type;
     }
 
-    public void setWorkflow_Type(String workflow_Type) {
+    public void setWorkflowType(String workflow_Type) {
         this.workflow_Type = workflow_Type;
     }
 
-    public String getWorkflow_preview() {
+    public String getWorkflowPreview() {
         return workflow_preview;
     }
 
-    public void setWorkflow_preview(String workflow_preview) {
+    public void setWorkflowPreview(String workflow_preview) {
         this.workflow_preview = workflow_preview;
     }
 
-    public String getWorkflow_thumb_big() {
+    public String getWorkflowThumbBig() {
         return workflow_thumb_big;
     }
 
-    public void setWorkflow_thumb_big(String workflow_thumb_big) {
+    public void setWorkflowThumbBig(String workflow_thumb_big) {
         this.workflow_thumb_big = workflow_thumb_big;
     }
 
-    public String getWorkflow_licence_type() {
+    public String getWorkflowLicenceType() {
         return workflow_licence_type;
     }
 
-    public void setWorkflow_licence_type(String workflow_licence_type) {
+    public void setWorkflowLicenceType(String workflow_licence_type) {
         this.workflow_licence_type = workflow_licence_type;
     }
 
-    public String getWorkflow_content_type() {
+    public String getWorkflowContentType() {
         return workflow_content_type;
     }
 
-    public void setWorkflow_content_type(String workflow_content_type) {
+    public void setWorkflowContentType(String workflow_content_type) {
         this.workflow_content_type = workflow_content_type;
     }
 
-    public List<String> getWorkflow_tags() {
+    public List<String> getWorkflowTags() {
         return workflow_tags;
     }
 
-    public void setWorkflow_tags(List<String> workflow_tags) {
+    public void setWorkflowTags(List<String> workflow_tags) {
         this.workflow_tags = workflow_tags;
     }
 
-    public String getWorkflow_versions() {
+    public String getWorkflowVersions() {
         return workflow_versions;
     }
 
-    public void setWorkflow_versions(String workflow_versions) {
+    public void setWorkflowVersions(String workflow_versions) {
         this.workflow_versions = workflow_versions;
     }
 
-    public List<String> getWorkflow_credits() {
+    public List<String> getWorkflowCredits() {
         return workflow_credits;
     }
 
-    public void setWorkflow_credits(List<String> workflow_credits) {
+    public void setWorkflowCredits(List<String> workflow_credits) {
         this.workflow_credits = workflow_credits;
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e25d011a/app/src/main/java/org/apache/taverna/mobile/ui/adapter/EndlessRecyclerOnScrollListener.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/ui/adapter/EndlessRecyclerOnScrollListener.java b/app/src/main/java/org/apache/taverna/mobile/ui/adapter/EndlessRecyclerOnScrollListener.java
index 24bc319..dd26de4 100644
--- a/app/src/main/java/org/apache/taverna/mobile/ui/adapter/EndlessRecyclerOnScrollListener.java
+++ b/app/src/main/java/org/apache/taverna/mobile/ui/adapter/EndlessRecyclerOnScrollListener.java
@@ -23,7 +23,7 @@ import android.support.v7.widget.RecyclerView;
 
 
 public abstract class EndlessRecyclerOnScrollListener extends RecyclerView.OnScrollListener {
-    public static String TAG = EndlessRecyclerOnScrollListener.class.getSimpleName();
+    public static final String TAG = EndlessRecyclerOnScrollListener.class.getSimpleName();
     int firstVisibleItem, visibleItemCount, totalItemCount;
     private int previousTotal = 0; // The total number of items in the dataset after the last load
     private boolean loading = true; // True if we are still waiting for the last set of data to
@@ -46,11 +46,11 @@ public abstract class EndlessRecyclerOnScrollListener extends RecyclerView.OnScr
         totalItemCount = mLinearLayoutManager.getItemCount();
         firstVisibleItem = mLinearLayoutManager.findFirstVisibleItemPosition();
 
-        if (loading) {
-            if (totalItemCount > previousTotal + 1) {
-                loading = false;
-                previousTotal = totalItemCount;
-            }
+        if (loading && totalItemCount > previousTotal + 1) {
+
+            loading = false;
+            previousTotal = totalItemCount;
+
         }
         if (!loading && (totalItemCount - visibleItemCount) <= (firstVisibleItem +
                 visibleThreshold)) {

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e25d011a/app/src/main/java/org/apache/taverna/mobile/ui/anouncements/AnnouncementFragment.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/ui/anouncements/AnnouncementFragment.java b/app/src/main/java/org/apache/taverna/mobile/ui/anouncements/AnnouncementFragment.java
index 6143df4..a066da7 100644
--- a/app/src/main/java/org/apache/taverna/mobile/ui/anouncements/AnnouncementFragment.java
+++ b/app/src/main/java/org/apache/taverna/mobile/ui/anouncements/AnnouncementFragment.java
@@ -206,8 +206,9 @@ public class AnnouncementFragment extends Fragment implements RecyclerItemClickL
     public void showProgressbar(boolean status) {
         if (status) {
             mProgressBar.setVisibility(View.VISIBLE);
-        } else
+        } else {
             mProgressBar.setVisibility(View.GONE);
+        }
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e25d011a/app/src/main/java/org/apache/taverna/mobile/utils/AvatarLoader.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/utils/AvatarLoader.java b/app/src/main/java/org/apache/taverna/mobile/utils/AvatarLoader.java
index e724bfa..984f41b 100644
--- a/app/src/main/java/org/apache/taverna/mobile/utils/AvatarLoader.java
+++ b/app/src/main/java/org/apache/taverna/mobile/utils/AvatarLoader.java
@@ -32,6 +32,7 @@ import org.apache.taverna.mobile.utils.xmlparsers.AvatarXMLParser;
 import org.apache.taverna.mobile.utils.xmlparsers.MyExperimentXmlParserRules;
 
 import android.os.AsyncTask;
+import android.util.Log;
 
 import java.io.IOException;
 import java.io.InputStream;
@@ -45,6 +46,7 @@ import java.net.URL;
  * Created by Larry AKah on 6/29/15.
  */
 public class AvatarLoader extends AsyncTask<String, Void, Void> {
+    private static final String TAG = "AvatarLoader";
     WorkflowAdapter.ViewHolder vh;
 
     public AvatarLoader(WorkflowAdapter.ViewHolder userViewHolder) {
@@ -72,9 +74,9 @@ public class AvatarLoader extends AsyncTask<String, Void, Void> {
             avatarXMLParser.parse(input, new User(strings[1], this.vh));
 
         } catch (MalformedURLException e) {
-            e.printStackTrace();
+            Log.e(TAG, "doInBackground: ", e);
         } catch (IOException e) {
-            e.printStackTrace();
+            Log.e(TAG, "doInBackground: ", e);
         }
 
         return null;

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e25d011a/app/src/main/java/org/apache/taverna/mobile/utils/ConnectionInfo.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/utils/ConnectionInfo.java b/app/src/main/java/org/apache/taverna/mobile/utils/ConnectionInfo.java
index 8704071..3dba53d 100644
--- a/app/src/main/java/org/apache/taverna/mobile/utils/ConnectionInfo.java
+++ b/app/src/main/java/org/apache/taverna/mobile/utils/ConnectionInfo.java
@@ -25,11 +25,11 @@ import android.util.Log;
 
 
 public class ConnectionInfo {
-    private static String TAG;
+    private static final String TAG = "ConnectionInfo";
     private static Context context;
 
     public ConnectionInfo(Context context) {
-        TAG = this.getClass().getName();
+
         Log.i(TAG, "Utils: ");
         ConnectionInfo.context = context;
     }
@@ -41,10 +41,11 @@ public class ConnectionInfo {
         if (connectivity != null) {
             NetworkInfo[] info = connectivity.getAllNetworkInfo();
             if (info != null)
-                for (int i = 0; i < info.length; i++)
+                for (int i = 0; i < info.length; i++) {
                     if (info[i].getState() == NetworkInfo.State.CONNECTED) {
                         return true;
                     }
+                }
 
         }
         return false;

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e25d011a/app/src/main/java/org/apache/taverna/mobile/utils/DetailsLoader.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/utils/DetailsLoader.java b/app/src/main/java/org/apache/taverna/mobile/utils/DetailsLoader.java
index 9152b97..1313e13 100644
--- a/app/src/main/java/org/apache/taverna/mobile/utils/DetailsLoader.java
+++ b/app/src/main/java/org/apache/taverna/mobile/utils/DetailsLoader.java
@@ -57,9 +57,8 @@ import java.net.URL;
  */
 public class DetailsLoader extends AsyncTaskLoader<Workflow> {
 
+    private static final String TAG = "DetailsLoader";
     private LoadType lt;
-
-    ;
     private String uri;
     private Workflow workflow;
     private Context context;
@@ -97,7 +96,7 @@ public class DetailsLoader extends AsyncTaskLoader<Workflow> {
                     dis = connection.getInputStream();
                     break;
                 case TYPE_RUN_HISTORY:
-                    workflowurl = new URL(new TavernaPlayerAPI(this.context).PLAYER_RUN_URL);
+                    workflowurl = new URL(new TavernaPlayerAPI(this.context).mPlayerRunUrl);
                     connection = (HttpURLConnection) workflowurl.openConnection();
                     String userpass = tavernaPlayerAPI.getPlayerUserName(this.context) + ":" +
                             tavernaPlayerAPI.getPlayerUserPassword(this.context);
@@ -113,10 +112,10 @@ public class DetailsLoader extends AsyncTaskLoader<Workflow> {
                     dis = connection.getInputStream();
                     break;
                 case TYPE_POLICY:
-                    workflowurl = new URL(new TavernaPlayerAPI(this.context).SERVER_BASE_URL);
+                    workflowurl = new URL(new TavernaPlayerAPI(this.context).mServerBaseUrl);
                     break;
                 default:
-                    workflowurl = new URL(new TavernaPlayerAPI(this.context).PLAYER_WORKFLOW_URL);
+                    workflowurl = new URL(new TavernaPlayerAPI(this.context).mPlayerWorkFlowUrl);
                     break;
             }
 
@@ -159,14 +158,14 @@ public class DetailsLoader extends AsyncTaskLoader<Workflow> {
                             title, description, type,
                             attrlicetype, attrType, uploader, attrUploader, date, preview,
                             licetype, contenturi, contentType, tags, attrTags});
-                    //   System.out.println(sb.toString());
+                    //   Log.e(TAG, sb.toString());
                     parser.parse(dis, this.workflow);
                 }
                     dis.close();
                 //br.close();
                 return workflow;
                 case TYPE_RUN_HISTORY: {
-                    System.out.println("Downloading run history");
+                    Log.e(TAG, "Downloading run history");
                     BufferedReader br = new BufferedReader(new InputStreamReader(dis));
                     StringBuffer sb = new StringBuffer();
                     String jsonData = "";
@@ -187,16 +186,17 @@ public class DetailsLoader extends AsyncTaskLoader<Workflow> {
                         JSONObject userobj = jsonObject.getJSONObject("user");
                         String username = userobj.getString("name");
                         StringBuffer nm = new StringBuffer(), ur = new StringBuffer();
-                        for (String n : name.toLowerCase().split(" "))
+                        for (String n : name.toLowerCase().split(" ")) {
                             nm.append(n);
-                        for (String p : uri.toLowerCase().split(" "))
+                        }
+                        for (String p : uri.toLowerCase().split(" ")) {
                             ur.append(p);
-
+                        }
                         if (nm.toString().equals(ur.toString())) {
                             Runs mrun = new Runs(name, started, ended, state);
-                            mrun.setRun_id(id);
-                            mrun.setRun_workflow_id(workflow_id);
-                            mrun.setRun_author(username);
+                            mrun.setrunId(id);
+                            mrun.setRunWorkflowId(workflow_id);
+                            mrun.setRunAuthor(username);
 
                             workflow.addWorkflowRun(mrun);
                         }
@@ -220,11 +220,11 @@ public class DetailsLoader extends AsyncTaskLoader<Workflow> {
             }
 
         } catch (MalformedURLException e) {
-            e.printStackTrace();
+            Log.e(TAG, "loadInBackground: ", e);
         } catch (IOException e) {
-            e.printStackTrace();
+            Log.e(TAG, "loadInBackground: ", e);
         } catch (JSONException e) {
-            e.printStackTrace();
+            Log.e(TAG, "loadInBackground: ", e);
         }
         return workflow;
     }
@@ -273,6 +273,6 @@ public class DetailsLoader extends AsyncTaskLoader<Workflow> {
  * js.getString("description"),
  * js.getInt("id"),
  * js.getString("url"));
- * workflow.setWorkflow_datecreated(created_at);
- * workflow.setWorkflow_datemodified(updated_at);
+ * workflow.setWorkflowDatecreated(created_at);
+ * workflow.setWorkflowDatemodified(updated_at);
  **/
\ No newline at end of file



[05/18] incubator-taverna-mobile git commit: refactor code using CheckStyle

Posted by st...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e752e97d/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/RunFragment.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/RunFragment.java b/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/RunFragment.java
index 8d1fb52..c3eb276 100644
--- a/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/RunFragment.java
+++ b/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/RunFragment.java
@@ -1,6 +1,12 @@
 package org.apache.taverna.mobile.fragments.workflowdetails;
 
 
+import org.apache.taverna.mobile.R;
+import org.apache.taverna.mobile.tavernamobile.TavernaPlayerAPI;
+import org.apache.taverna.mobile.utils.WorkflowDownloadManager;
+import org.json.JSONException;
+import org.json.JSONObject;
+
 import android.app.Activity;
 import android.content.Context;
 import android.os.Bundle;
@@ -18,12 +24,6 @@ import android.widget.ImageButton;
 import android.widget.TextView;
 import android.widget.Toast;
 
-import org.apache.taverna.mobile.R;
-import org.apache.taverna.mobile.tavernamobile.TavernaPlayerAPI;
-import org.apache.taverna.mobile.utils.WorkflowDownloadManager;
-import org.json.JSONException;
-import org.json.JSONObject;
-
 import java.io.BufferedReader;
 import java.io.File;
 import java.io.IOException;
@@ -41,17 +41,21 @@ import static org.apache.taverna.mobile.activities.DashboardMainActivity.APP_DIR
  * Use the {@link RunFragment#newInstance} factory method to
  * create an instance of this fragment.
  */
-public class RunFragment extends Fragment implements View.OnClickListener{
+public class RunFragment extends Fragment implements View.OnClickListener {
 
     private View rootView;
-    private TextView runIdTextView,runNameTextView;
+    private TextView runIdTextView, runNameTextView;
     private ImageButton status;
-    private  TextView runStateTextView, runStartTime,runEndTime, runInputsText;
-    private  Button downloadOutput,downloadLogs;
+    private TextView runStateTextView, runStartTime, runEndTime, runInputsText;
+    private Button downloadOutput, downloadLogs;
     private int run_id;
     private String run_output_url = "";
     private String run_logs_url = "";
 
+    public RunFragment() {
+        // Required empty public constructor
+    }
+
     /**
      * Use this factory method to create a new instance of
      * this fragment using the provided parameters.
@@ -65,10 +69,6 @@ public class RunFragment extends Fragment implements View.OnClickListener{
         return fragment;
     }
 
-    public RunFragment() {
-        // Required empty public constructor
-    }
-
     @Override
     public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
@@ -76,23 +76,24 @@ public class RunFragment extends Fragment implements View.OnClickListener{
     }
 
     @Override
-    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
+    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle
+            savedInstanceState) {
         rootView = inflater.inflate(R.layout.fragment_run_result, container, false);
-         runIdTextView = (TextView) rootView.findViewById(R.id.textview_runid);
-         runNameTextView = (TextView) rootView.findViewById(R.id.textView_runName);
-         status = (ImageButton) rootView.findViewById(R.id.statusButton);
-         runStateTextView = (TextView) rootView.findViewById(R.id.statusTextView);
-         runStartTime = (TextView) rootView.findViewById(R.id.start_time);
-         runEndTime = (TextView) rootView.findViewById(R.id.runfinish);
-         runInputsText = (TextView) rootView.findViewById(R.id.runinputsTextView);
-         downloadOutput = (Button) rootView.findViewById(R.id.buttonWorkflowDownloadOutput);
-         downloadLogs = (Button) rootView.findViewById(R.id.downloadRunLogs);
+        runIdTextView = (TextView) rootView.findViewById(R.id.textview_runid);
+        runNameTextView = (TextView) rootView.findViewById(R.id.textView_runName);
+        status = (ImageButton) rootView.findViewById(R.id.statusButton);
+        runStateTextView = (TextView) rootView.findViewById(R.id.statusTextView);
+        runStartTime = (TextView) rootView.findViewById(R.id.start_time);
+        runEndTime = (TextView) rootView.findViewById(R.id.runfinish);
+        runInputsText = (TextView) rootView.findViewById(R.id.runinputsTextView);
+        downloadOutput = (Button) rootView.findViewById(R.id.buttonWorkflowDownloadOutput);
+        downloadLogs = (Button) rootView.findViewById(R.id.downloadRunLogs);
 
         return rootView;
     }
 
     @Override
-    public void onCreateOptionsMenu(Menu menu,MenuInflater menuInflater) {
+    public void onCreateOptionsMenu(Menu menu, MenuInflater menuInflater) {
         // Inflate the menu; this adds items to the action bar if it is present.
         menuInflater.inflate(R.menu.run_result, menu);
         return;
@@ -102,38 +103,38 @@ public class RunFragment extends Fragment implements View.OnClickListener{
     public void onResume() {
         super.onResume();
         String runresult = getActivity().getIntent().getStringExtra("runresult");
-        try{
+        try {
             JSONObject resultObject = new JSONObject(runresult);
             String runName = resultObject.getString("name");
             run_id = (int) resultObject.get("id");
-            String runId = ""+run_id;
+            String runId = "" + run_id;
             String runState = resultObject.getString("state");
             String runStarted = resultObject.getString("start_time");
             String runEnded = resultObject.getString("finish_time");
             String runInputs = resultObject.getString("inputs");
 
-                runIdTextView.setText(runId);
-                runNameTextView.setText(runName);
+            runIdTextView.setText(runId);
+            runNameTextView.setText(runName);
 
-                if(runState.contains("Pending"))
-                    status.setImageResource(android.R.drawable.presence_busy);
+            if (runState.contains("Pending"))
+                status.setImageResource(android.R.drawable.presence_busy);
             else if (runState.contains("Running"))
-                    status.setImageResource(android.R.drawable.presence_away);
+                status.setImageResource(android.R.drawable.presence_away);
             else if (runState.contains("Finished"))
-                    status.setImageResource(android.R.drawable.presence_online);
+                status.setImageResource(android.R.drawable.presence_online);
             else if (runState.contains("Failed"))
-                    status.setImageResource(android.R.drawable.presence_offline);
+                status.setImageResource(android.R.drawable.presence_offline);
             else
                 status.setImageResource(android.R.drawable.presence_invisible);
 
-                runStateTextView.setText(runState);
-                runStartTime.setHint(runStarted);
-                runEndTime.setHint(runEnded);
-                runInputsText.setText(runInputs);
-                runInputsText.setMovementMethod(new ScrollingMovementMethod());
+            runStateTextView.setText(runState);
+            runStartTime.setHint(runStarted);
+            runEndTime.setHint(runEnded);
+            runInputsText.setText(runInputs);
+            runInputsText.setMovementMethod(new ScrollingMovementMethod());
 
-                downloadOutput.setOnClickListener(this);
-                downloadLogs.setOnClickListener(this);
+            downloadOutput.setOnClickListener(this);
+            downloadLogs.setOnClickListener(this);
             reloadRunResult();
         } catch (JSONException e) {
             e.printStackTrace();
@@ -150,85 +151,96 @@ public class RunFragment extends Fragment implements View.OnClickListener{
             reloadRunResult();
             return true;
         }
-        if(id == android.R.id.home){
-           //getActivity().finish();
+        if (id == android.R.id.home) {
+            //getActivity().finish();
             return true;
         }
         return super.onOptionsItemSelected(item);
     }
 
-    private void reloadRunResult(){
+    private void reloadRunResult() {
         Timer t = new Timer();
-       // t.scheduleAtFixedRate(new RunTimerTask(getActivity(), run_id), 0, 5000);
-        t.schedule(new RunTimerTask(getActivity(),run_id),1);
+        // t.scheduleAtFixedRate(new RunTimerTask(getActivity(), run_id), 0, 5000);
+        t.schedule(new RunTimerTask(getActivity(), run_id), 1);
     }
 
     @Override
     public void onClick(View view) {
-        switch(view.getId()){
+        switch (view.getId()) {
             case R.id.buttonWorkflowDownloadOutput:
                 try {
-                    System.out.println("output url: "+run_output_url);
-                    if(run_output_url.isEmpty()){
-                        Toast.makeText(getActivity(), "No run logs available", Toast.LENGTH_LONG).show();
-                    }else {
+                    System.out.println("output url: " + run_output_url);
+                    if (run_output_url.isEmpty()) {
+                        Toast.makeText(getActivity(), "No run logs available", Toast.LENGTH_LONG)
+                                .show();
+                    } else {
                         new WorkflowDownloadManager(getActivity()).downloadWorkflow(
-                                new File(PreferenceManager.getDefaultSharedPreferences(getActivity()).getString(
-                                        APP_DIRECTORY_NAME + "/Runoutput/outputs", "/TavernaMobile/Runouput/outputs/")),
-                                new TavernaPlayerAPI(getActivity()).PLAYER_RUN_URL + run_output_url.substring(0, 5));
+                                new File(PreferenceManager.getDefaultSharedPreferences
+                                        (getActivity()).getString(
+                                        APP_DIRECTORY_NAME + "/Runoutput/outputs",
+                                        "/TavernaMobile/Runouput/outputs/")),
+                                new TavernaPlayerAPI(getActivity()).PLAYER_RUN_URL +
+                                        run_output_url.substring(0, 5));
                     }
                 } catch (Exception e) {
                     e.printStackTrace();
-                    Toast.makeText(getActivity(), "Error downloading run output",Toast.LENGTH_LONG).show();
+                    Toast.makeText(getActivity(), "Error downloading run output", Toast
+                            .LENGTH_LONG).show();
                 }
                 break;
             case R.id.downloadRunLogs:
                 try {
-                    System.out.println("run logs: "+run_logs_url);
-                    if(run_logs_url.isEmpty()){
-                        Toast.makeText(getActivity(), "No run logs available", Toast.LENGTH_LONG).show();
-                    }else {
+                    System.out.println("run logs: " + run_logs_url);
+                    if (run_logs_url.isEmpty()) {
+                        Toast.makeText(getActivity(), "No run logs available", Toast.LENGTH_LONG)
+                                .show();
+                    } else {
                         new WorkflowDownloadManager(getActivity()).downloadWorkflow(
-                                new File(PreferenceManager.getDefaultSharedPreferences(getActivity()).getString(
-                                        APP_DIRECTORY_NAME + "/Runoutput/logs/", "/TavernaMobile/Runoutput/logs")),
-                                new TavernaPlayerAPI(getActivity()).PLAYER_RUN_URL + run_logs_url.substring(0, 5));
+                                new File(PreferenceManager.getDefaultSharedPreferences
+                                        (getActivity()).getString(
+                                        APP_DIRECTORY_NAME + "/Runoutput/logs/",
+                                        "/TavernaMobile/Runoutput/logs")),
+                                new TavernaPlayerAPI(getActivity()).PLAYER_RUN_URL + run_logs_url
+                                        .substring(0, 5));
                     }
                 } catch (Exception e) {
                     e.printStackTrace();
-                    Toast.makeText(getActivity(), "Error downloading run logs",Toast.LENGTH_LONG).show();
+                    Toast.makeText(getActivity(), "Error downloading run logs", Toast
+                            .LENGTH_LONG).show();
                 }
                 break;
         }
     }
 
-    public void updateRun(Context context, final JSONObject runInfo){
-        if(null != runInfo)
-            ((Activity)context).runOnUiThread(new Runnable() {
-            @Override
-            public void run() {
-                try {
-                    runStartTime.setHint(runInfo.getString("start_time"));
-                    runEndTime.setHint(runInfo.getString("finish_time"));
-                    runStateTextView.setText(runInfo.getString("status_message"));
-
-                if(runInfo.getString("status_message").contains("Pending"))
-                    status.setImageResource(android.R.drawable.presence_busy);
-                else if (runInfo.getString("status_message").contains("Running"))
-                    status.setImageResource(android.R.drawable.presence_away);
-                else if (runInfo.getString("status_message").contains("Finished"))
-                    status.setImageResource(android.R.drawable.presence_online);
-                else if (runInfo.getString("status_message").contains("Failed"))
-                    status.setImageResource(android.R.drawable.presence_offline);
-                else
-                    status.setImageResource(android.R.drawable.presence_invisible);
-
-                run_output_url = runInfo.has("outputs_zip")? runInfo.getString("outputs_zip"):"";
-                run_logs_url = runInfo.has("log")?runInfo.getString("log"):"";
-                } catch (JSONException e) {
-                    e.printStackTrace();
+    public void updateRun(Context context, final JSONObject runInfo) {
+        if (null != runInfo)
+            ((Activity) context).runOnUiThread(new Runnable() {
+                @Override
+                public void run() {
+                    try {
+                        runStartTime.setHint(runInfo.getString("start_time"));
+                        runEndTime.setHint(runInfo.getString("finish_time"));
+                        runStateTextView.setText(runInfo.getString("status_message"));
+
+                        if (runInfo.getString("status_message").contains("Pending"))
+                            status.setImageResource(android.R.drawable.presence_busy);
+                        else if (runInfo.getString("status_message").contains("Running"))
+                            status.setImageResource(android.R.drawable.presence_away);
+                        else if (runInfo.getString("status_message").contains("Finished"))
+                            status.setImageResource(android.R.drawable.presence_online);
+                        else if (runInfo.getString("status_message").contains("Failed"))
+                            status.setImageResource(android.R.drawable.presence_offline);
+                        else
+                            status.setImageResource(android.R.drawable.presence_invisible);
+
+                        run_output_url = runInfo.has("outputs_zip") ? runInfo.getString
+                                ("outputs_zip") : "";
+                        run_logs_url = runInfo.has("log") ? runInfo.getString("log") : "";
+                    } catch (JSONException e) {
+                        e.printStackTrace();
+                    }
                 }
-            }
-        });
+            });
     }
 
     private class RunTimerTask extends TimerTask {
@@ -243,11 +255,13 @@ public class RunFragment extends Fragment implements View.OnClickListener{
 
         @Override
         public void run() {
-            //QUERY player for the continuous status of the workflow run and update the ui with the results
+            //QUERY player for the continuous status of the workflow run and update the ui with
+            // the results
             StringBuffer sb = new StringBuffer();
             try {
 
-                URL workflowurl = new URL(new TavernaPlayerAPI(this.context).PLAYER_RUN_URL+this.runid);
+                URL workflowurl = new URL(new TavernaPlayerAPI(this.context).PLAYER_RUN_URL +
+                        this.runid);
                 HttpURLConnection connection = (HttpURLConnection) workflowurl.openConnection();
 
                 connection.setRequestProperty("Accept", "application/json");
@@ -259,7 +273,7 @@ public class RunFragment extends Fragment implements View.OnClickListener{
 
                 String jsonData = "";
                 while ((jsonData = br.readLine()) != null) {
-                //json results of the full workflow details
+                    //json results of the full workflow details
                     sb.append(jsonData);
                 }
                 dis.close();
@@ -269,7 +283,7 @@ public class RunFragment extends Fragment implements View.OnClickListener{
                 JSONObject runInfo = new JSONObject(sb.toString());
                 updateRun(this.context, runInfo);
 
-            }catch (IOException ex){
+            } catch (IOException ex) {
                 ex.printStackTrace();
             } catch (JSONException e) {
                 e.printStackTrace();

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e752e97d/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/WorkflowAboutFragment.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/WorkflowAboutFragment.java b/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/WorkflowAboutFragment.java
index c8f1e64..1a8192d 100644
--- a/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/WorkflowAboutFragment.java
+++ b/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/WorkflowAboutFragment.java
@@ -2,10 +2,10 @@ package org.apache.taverna.mobile.fragments.workflowdetails;
 /**
  * Apache Taverna Mobile
  * Copyright 2015 The Apache Software Foundation
-
+ *
  * This product includes software developed at
  * The Apache Software Foundation (http://www.apache.org/).
-
+ *
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements. See the NOTICE file
  * distributed with this work for additional information
@@ -24,14 +24,14 @@ package org.apache.taverna.mobile.fragments.workflowdetails;
  * under the License.
  */
 
+import org.apache.taverna.mobile.R;
+
 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.
  * Use the {@link WorkflowAboutFragment#newInstance} factory method to
@@ -47,6 +47,9 @@ public class WorkflowAboutFragment extends Fragment {
     private String mParam1;
     private String mParam2;
 
+    public WorkflowAboutFragment() {
+    }
+
     /**
      * Use this factory method to create a new instance of
      * this fragment using the provided parameters.
@@ -65,9 +68,6 @@ public class WorkflowAboutFragment extends Fragment {
         return fragment;
     }
 
-    public WorkflowAboutFragment() {
-    }
-
     @Override
     public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e752e97d/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/WorkflowLicenceFragment.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/WorkflowLicenceFragment.java b/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/WorkflowLicenceFragment.java
index 8226dc3..a4865b7 100644
--- a/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/WorkflowLicenceFragment.java
+++ b/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/WorkflowLicenceFragment.java
@@ -2,10 +2,10 @@ package org.apache.taverna.mobile.fragments.workflowdetails;
 /**
  * Apache Taverna Mobile
  * Copyright 2015 The Apache Software Foundation
-
+ *
  * This product includes software developed at
  * The Apache Software Foundation (http://www.apache.org/).
-
+ *
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements. See the NOTICE file
  * distributed with this work for additional information
@@ -24,14 +24,14 @@ package org.apache.taverna.mobile.fragments.workflowdetails;
  * under the License.
  */
 
+import org.apache.taverna.mobile.R;
+
 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.
  * Use the {@link WorkflowLicenceFragment#newInstance} factory method to
@@ -47,6 +47,10 @@ public class WorkflowLicenceFragment extends Fragment {
     private String mParam1;
     private String mParam2;
 
+    public WorkflowLicenceFragment() {
+        // Required empty public constructor
+    }
+
     /**
      * Use this factory method to create a new instance of
      * this fragment using the provided parameters.
@@ -65,10 +69,6 @@ public class WorkflowLicenceFragment extends Fragment {
         return fragment;
     }
 
-    public WorkflowLicenceFragment() {
-        // Required empty public constructor
-    }
-
     @Override
     public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e752e97d/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/WorkflowRunHistoryFragment.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/WorkflowRunHistoryFragment.java b/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/WorkflowRunHistoryFragment.java
index 7d9ffda..edc67f9 100644
--- a/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/WorkflowRunHistoryFragment.java
+++ b/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/WorkflowRunHistoryFragment.java
@@ -2,10 +2,10 @@ package org.apache.taverna.mobile.fragments.workflowdetails;
 /**
  * Apache Taverna Mobile
  * Copyright 2015 The Apache Software Foundation
-
+ *
  * This product includes software developed at
  * The Apache Software Foundation (http://www.apache.org/).
-
+ *
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements. See the NOTICE file
  * distributed with this work for additional information
@@ -24,6 +24,12 @@ package org.apache.taverna.mobile.fragments.workflowdetails;
  * under the License.
  */
 
+import org.apache.taverna.mobile.R;
+import org.apache.taverna.mobile.adapters.RunAdapter;
+import org.apache.taverna.mobile.tavernamobile.Runs;
+import org.apache.taverna.mobile.tavernamobile.Workflow;
+import org.apache.taverna.mobile.utils.DetailsLoader;
+
 import android.app.LoaderManager;
 import android.app.ProgressDialog;
 import android.content.Loader;
@@ -36,12 +42,6 @@ import android.view.View;
 import android.view.ViewGroup;
 import android.widget.TextView;
 
-import org.apache.taverna.mobile.R;
-import org.apache.taverna.mobile.adapters.RunAdapter;
-import org.apache.taverna.mobile.tavernamobile.Runs;
-import org.apache.taverna.mobile.tavernamobile.Workflow;
-import org.apache.taverna.mobile.utils.DetailsLoader;
-
 import java.util.ArrayList;
 import java.util.List;
 
@@ -50,17 +50,21 @@ import java.util.List;
  * Use the {@link WorkflowRunHistoryFragment#newInstance} factory method to
  * create an instance of this fragment.
  */
-public class WorkflowRunHistoryFragment extends Fragment implements LoaderManager.LoaderCallbacks<Workflow>{
+public class WorkflowRunHistoryFragment extends Fragment implements LoaderManager
+        .LoaderCallbacks<Workflow> {
 
     // the fragment initialization parameters, e.g. ARG_ITEM_NUMBER
     private static final String ARG_PARAM2 = "param2";
+    private static String workflowID; //represents a run name that matches the given workflow
+    List<Runs> runsList;
     private ProgressDialog progressDialog;
     private RecyclerView mRecyclerView;
     private TextView emptyRunHistoryTextView;
     private RunAdapter runAdapter;
-	List<Runs> runsList;
 
-    private static String workflowID; //represents a run name that matches the given workflow
+    public WorkflowRunHistoryFragment() {
+        // Required empty public constructor
+    }
 
     /**
      * Use this factory method to create a new instance of
@@ -78,14 +82,10 @@ public class WorkflowRunHistoryFragment extends Fragment implements LoaderManage
         return fragment;
     }
 
-    public WorkflowRunHistoryFragment() {
-        // Required empty public constructor
-    }
-
     @Override
     public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
-	    runsList = new ArrayList<Runs>();
+        runsList = new ArrayList<Runs>();
 /*        runsList.add(new Runs("Test Run1 ",
                 SimpleDateFormat.getDateTimeInstance().format(new Date()).toString()
                 ,SimpleDateFormat.getDateTimeInstance().format(new Date()).toString(),"failed"));
@@ -97,21 +97,21 @@ public class WorkflowRunHistoryFragment extends Fragment implements LoaderManage
         progressDialog.setMessage(getActivity().getResources().getString(R.string.loading));
         progressDialog.setCancelable(true);
 
-        runAdapter = new RunAdapter(getActivity(),runsList );
-       // System.out.println("WorkflowTitle->Run->"+workflowID);
+        runAdapter = new RunAdapter(getActivity(), runsList);
+        // System.out.println("WorkflowTitle->Run->"+workflowID);
     }
 
     @Override
     public View onCreateView(LayoutInflater inflater, ViewGroup container,
                              Bundle savedInstanceState) {
         // Inflate the layout for this fragment
-        View rootView =inflater.inflate(R.layout.fragment_workflow_run_history, container, false);
+        View rootView = inflater.inflate(R.layout.fragment_workflow_run_history, container, false);
         emptyRunHistoryTextView = (TextView) rootView.findViewById(android.R.id.empty);
         mRecyclerView = (RecyclerView) rootView.findViewById(android.R.id.list);
         mRecyclerView.setHasFixedSize(true);
         mRecyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
-	    mRecyclerView.setAdapter(runAdapter);
-        getActivity().getLoaderManager().initLoader(0,savedInstanceState,this).forceLoad();
+        mRecyclerView.setAdapter(runAdapter);
+        getActivity().getLoaderManager().initLoader(0, savedInstanceState, this).forceLoad();
         return rootView;
     }
 
@@ -125,7 +125,7 @@ public class WorkflowRunHistoryFragment extends Fragment implements LoaderManage
     public void onResume() {
         super.onResume();
 
-       // mRecyclerView.setScrollingTouchSlop(RecyclerView.TOUCH_SLOP_PAGING);
+        // mRecyclerView.setScrollingTouchSlop(RecyclerView.TOUCH_SLOP_PAGING);
         //getActivity().getLoaderManager().initLoader(1,null,this);
     }
 
@@ -138,30 +138,30 @@ public class WorkflowRunHistoryFragment extends Fragment implements LoaderManage
     public Loader<Workflow> onCreateLoader(int i, Bundle bundle) {
         //progressDialog.show();
         return new DetailsLoader(getActivity(),
-                DetailsLoader.LOAD_TYPE.TYPE_RUN_HISTORY,
+                DetailsLoader.LoadType.TYPE_RUN_HISTORY,
                 workflowID);
     }
 
     @Override
     public void onLoadFinished(Loader<Workflow> workflowLoader, Workflow workflow) {
 
-    try {
-        if (workflow.getWorkflow_runs() !=null | workflow.getWorkflow_runs().size() !=0) {
+        try {
+            if (workflow.getWorkflow_runs() != null | workflow.getWorkflow_runs().size() != 0) {
 
-	        runAdapter.setRunList(workflow.getWorkflow_runs());
-	        mRecyclerView.setAdapter(runAdapter);
-	        mRecyclerView.setVisibility(View.VISIBLE);
-	        emptyRunHistoryTextView.setVisibility(View.GONE);
+                runAdapter.setRunList(workflow.getWorkflow_runs());
+                mRecyclerView.setAdapter(runAdapter);
+                mRecyclerView.setVisibility(View.VISIBLE);
+                emptyRunHistoryTextView.setVisibility(View.GONE);
 
-        } else {
-	        mRecyclerView.setVisibility(View.GONE);
-	        emptyRunHistoryTextView.setVisibility(View.VISIBLE);
+            } else {
+                mRecyclerView.setVisibility(View.GONE);
+                emptyRunHistoryTextView.setVisibility(View.VISIBLE);
+            }
+        } catch (NullPointerException np) {
+            np.printStackTrace();
         }
-    }catch(NullPointerException np){
-        np.printStackTrace();
-    }
 
-       // progressDialog.dismiss();
+        // progressDialog.dismiss();
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e752e97d/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/WorkflowdetailFragment.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/WorkflowdetailFragment.java b/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/WorkflowdetailFragment.java
index 0449dd7..9f45d7f 100644
--- a/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/WorkflowdetailFragment.java
+++ b/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/WorkflowdetailFragment.java
@@ -2,10 +2,10 @@ package org.apache.taverna.mobile.fragments.workflowdetails;
 /**
  * Apache Taverna Mobile
  * Copyright 2015 The Apache Software Foundation
-
+ *
  * This product includes software developed at
  * The Apache Software Foundation (http://www.apache.org/).
-
+ *
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements. See the NOTICE file
  * distributed with this work for additional information
@@ -24,6 +24,26 @@ package org.apache.taverna.mobile.fragments.workflowdetails;
  * under the License.
  */
 
+import com.dropbox.client2.DropboxAPI;
+import com.dropbox.client2.ProgressListener;
+import com.dropbox.client2.android.AndroidAuthSession;
+import com.dropbox.client2.exception.DropboxException;
+import com.dropbox.client2.session.AppKeyPair;
+
+import org.apache.taverna.mobile.R;
+import org.apache.taverna.mobile.activities.DashboardMainActivity;
+import org.apache.taverna.mobile.adapters.WorkflowAdapter;
+import org.apache.taverna.mobile.tavernamobile.TavernaPlayerAPI;
+import org.apache.taverna.mobile.tavernamobile.User;
+import org.apache.taverna.mobile.tavernamobile.Workflow;
+import org.apache.taverna.mobile.utils.DetailsLoader;
+import org.apache.taverna.mobile.utils.RunTask;
+import org.apache.taverna.mobile.utils.WorkflowDownloadManager;
+import org.apache.taverna.mobile.utils.WorkflowDB;
+import org.json.JSONArray;
+import org.json.JSONException;
+import org.json.JSONObject;
+
 import android.app.Activity;
 import android.app.AlertDialog;
 import android.app.DownloadManager;
@@ -31,7 +51,6 @@ import android.app.LoaderManager;
 import android.app.ProgressDialog;
 import android.content.Context;
 import android.content.DialogInterface;
-import android.content.Intent;
 import android.content.Loader;
 import android.content.SharedPreferences;
 import android.content.res.Resources;
@@ -56,33 +75,10 @@ import android.widget.LinearLayout;
 import android.widget.ScrollView;
 import android.widget.TextView;
 import android.widget.Toast;
-import android.widget.ZoomControls;
-
-import com.dropbox.client2.DropboxAPI;
-import com.dropbox.client2.ProgressListener;
-import com.dropbox.client2.android.AndroidAuthSession;
-import com.dropbox.client2.exception.DropboxException;
-import com.dropbox.client2.session.AppKeyPair;
-
-import org.apache.taverna.mobile.R;
-import org.apache.taverna.mobile.activities.DashboardMainActivity;
-import org.apache.taverna.mobile.activities.RunResult;
-import org.apache.taverna.mobile.adapters.WorkflowAdapter;
-import org.apache.taverna.mobile.tavernamobile.TavernaPlayerAPI;
-import org.apache.taverna.mobile.tavernamobile.User;
-import org.apache.taverna.mobile.tavernamobile.Workflow;
-import org.apache.taverna.mobile.utils.DetailsLoader;
-import org.apache.taverna.mobile.utils.RunTask;
-import org.apache.taverna.mobile.utils.WorkflowDownloadManager;
-import org.apache.taverna.mobile.utils.Workflow_DB;
-import org.json.JSONArray;
-import org.json.JSONException;
-import org.json.JSONObject;
 
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.File;
-import java.io.FileInputStream;
 import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.io.InputStream;
@@ -90,7 +86,6 @@ import java.io.InputStreamReader;
 import java.net.HttpURLConnection;
 import java.net.MalformedURLException;
 import java.net.URL;
-import java.nio.charset.CharsetEncoder;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.Date;
@@ -98,34 +93,38 @@ import java.util.Date;
 /**
  * Created by Larry Akah on 6/9/15.
  */
-public class WorkflowdetailFragment extends Fragment implements View.OnClickListener,LoaderManager.LoaderCallbacks<Workflow>{
+public class WorkflowdetailFragment extends Fragment implements View.OnClickListener,
+        LoaderManager.LoaderCallbacks<Workflow> {
     /**
      * The fragment argument representing the section number for this
      * fragment.
      */
     private static final String ARG_SECTION_NUMBER = "section_number";
-    private DownloadManager downloadManager;
+    private static final String BOX_APP_KEY = "doicbvkfyzligh2";
+    private static final String BOX_APP_SECRET = "3uuuw36mm7jkflc";
+    public static String WORKFLO_ID = "";
+    public static Context cont;
+    public static String workflow_uri;
     static View rootView;
+    static Animation zoomin;
+    static Animation zoomout;
+    static Workflow currentWorkflow = null;
     private static ProgressDialog progressDialog;
-    public AlertDialog runDialog;
-    public AlertDialog.Builder alertDialogBuilder;
     private static String download_url;
-    public static String WORKFLO_ID = "";
-    public static Context cont;
-    SharedPreferences sharedPreferences;
     private static boolean LOAD_STATE = false;
     private static boolean DROPUPLOAD = false;
-    static Animation zoomin;
-    static Animation zoomout;
+    public AlertDialog runDialog;
+    public AlertDialog.Builder alertDialogBuilder;
     public boolean isZoomIn;
-    public static String workflow_uri ;
-    final static private String BOX_APP_KEY = "doicbvkfyzligh2";
-    final static private String BOX_APP_SECRET = "3uuuw36mm7jkflc";
-    static Workflow currentWorkflow =  null;
+    SharedPreferences sharedPreferences;
+    private DownloadManager downloadManager;
     private long wid;
 
     private DropboxAPI<AndroidAuthSession> mDBApi;
 
+    public WorkflowdetailFragment() {
+    }
+
     /**
      * Returns a new instance of this fragment for the given section
      * number.
@@ -138,30 +137,114 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
         return fragment;
     }
 
-    public static WorkflowdetailFragment getInstance(){
+    public static WorkflowdetailFragment getInstance() {
         return WorkflowdetailFragment.getInstance();
     }
 
-    public WorkflowdetailFragment() {
+    public static void setWorkflowDetails(final Workflow wk) {
+        currentWorkflow = wk;
+        final TextView author = (TextView) rootView.findViewById(R.id.wkf_author_text);
+        //final TextView updated = (TextView) rootView.findViewById(R.id.wupdatedat);
+        final TextView type = (TextView) rootView.findViewById(R.id.wtype);
+        final TextView title = (TextView) rootView.findViewById(R.id.wtitle);
+        final TextView desc = (TextView) rootView.findViewById(R.id.wdescription);
+        final TextView createdat = (TextView) rootView.findViewById(R.id.wcreatedat);
+        final ImageView preview = (ImageView) rootView.findViewById(R.id.wkf_image);
+        WORKFLO_ID = wk.getWorkflow_title();
+        ((Activity) cont).runOnUiThread(new Runnable() {
+            @Override
+            public void run() {
+                //load necessary widgets
+
+                //set widget data
+                //Use android resources to insert text into placeholder
+                Resources resources = cont.getResources();
+                User uploader = wk.getUploader();
+                //String uploaderText = String.format(resources.getString(R.string
+                // .workflow_author), uploader != null ? uploader.getName():"Unknown");
+                author.setText((uploader != null) ? uploader.getName() : "Unknown");
+                title.setText(wk.getWorkflow_title());
+                if (wk.getWorkflow_description() != null) {
+                    desc.setText(wk.getWorkflow_description());
+                } else {
+                    //desc.setVisibility(View.INVISIBLE); //Not sure I trust this! Needs
+                    // investigating.
+                }
+                String createdAtText = String.format(resources.getString(R.string.created), wk
+                        .getWorkflow_datecreated());
+                createdat.setText(createdAtText);
+                //updated.setText("Workflow Description");
+                String typeText = String.format(resources.getString(R.string.workflow_type_text),
+                        wk.getWorkflow_Type());
+                type.setText(typeText);
+
+                //preview.setImageURI(Uri.parse(wk.getWorkflow_preview()));
+                new LoadImageThread(preview, wk.getWorkflow_preview()).execute();
+                download_url = wk.getWorkflow_remote_url();
+                zoomin.setAnimationListener(new Animation.AnimationListener() {
+
+                    @Override
+                    public void onAnimationStart(Animation arg0) {
+                        // TODO Auto-generated method stub
+                        preview.startAnimation(zoomout);
+                    }
+
+                    @Override
+                    public void onAnimationRepeat(Animation arg0) {
+                        // TODO Auto-generated method stub
+
+                    }
+
+                    @Override
+                    public void onAnimationEnd(Animation arg0) {
+                        preview.startAnimation(zoomout);
+
+                    }
+                });
+                zoomout.setAnimationListener(new Animation.AnimationListener() {
+
+                    @Override
+                    public void onAnimationStart(Animation arg0) {
+                        // TODO Auto-generated method stub
+                        preview.startAnimation(zoomin);
+                    }
+
+                    @Override
+                    public void onAnimationRepeat(Animation arg0) {
+                        // TODO Auto-generated method stub
+
+                    }
+
+                    @Override
+                    public void onAnimationEnd(Animation arg0) {
+                        preview.startAnimation(zoomin);
+
+                    }
+                });
+                progressDialog.dismiss();
+            }
+        });
+        //  preview.setOnClickListener(WorkflowdetailFragment.getInstance());
     }
 
     @Override
-    public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {
+    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle
+            savedInstanceState) {
 
         AppKeyPair appKeys = new AppKeyPair(BOX_APP_KEY, BOX_APP_SECRET);
         AndroidAuthSession session = new AndroidAuthSession(appKeys);
         mDBApi = new DropboxAPI<AndroidAuthSession>(session);
-    //    long workflowid = getActivity().getIntent().getLongExtra("workflowid", 0);
+        //    long workflowid = getActivity().getIntent().getLongExtra("workflowid", 0);
         rootView = inflater.inflate(R.layout.fragment_workflow_detail, container, false);
         progressDialog = new ProgressDialog(getActivity());
         progressDialog.setMessage(getActivity().getResources().getString(R.string.loading));
         progressDialog.setCancelable(false);
-     //   WORKFLO_ID = workflowid;
+        //   WORKFLO_ID = workflowid;
         zoomin = AnimationUtils.loadAnimation(getActivity(), R.anim.zoomin);
         zoomout = AnimationUtils.loadAnimation(getActivity(), R.anim.zoomout);
 
         isZoomIn = false;
-         sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getActivity());
+        sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getActivity());
         wid = getActivity().getIntent().getLongExtra("wid", 0);
         Button createRun = (Button) rootView.findViewById(R.id.run_wk);
         createRun.setOnClickListener(this);
@@ -171,31 +254,32 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
         mark_workflow.setOnClickListener(this);
         final String favs = sharedPreferences.getString(WorkflowAdapter.FAVORITE_LIST_DB, "");
         String[] ids = favs.split(",");
-        if(ids.length > 0) {
+        if (ids.length > 0) {
             for (String id : ids)
-                if (id.equalsIgnoreCase("" +wid )){
-                    mark_workflow.setBackgroundResource(R.drawable.abc_list_selector_disabled_holo_light);
+                if (id.equalsIgnoreCase("" + wid)) {
+                    mark_workflow.setBackgroundResource(R.drawable
+                            .abc_list_selector_disabled_holo_light);
                     break;
                 }
         }
         rootView.findViewById(R.id.saveToDropboxButton).setOnClickListener(this);
         rootView.findViewById(R.id.saveToGoogleDriveButton).setOnClickListener(this);
-        (rootView.findViewById(R.id.wkf_image)).setOnLongClickListener(new View.OnLongClickListener() {
+        (rootView.findViewById(R.id.wkf_image)).setOnLongClickListener(new View
+                .OnLongClickListener() {
             @Override
             public boolean onLongClick(View view) {
                 view.setAnimation(zoomin);
                 return true;
             }
         });
-        downloadManager = (DownloadManager) getActivity().getSystemService(Context.DOWNLOAD_SERVICE);
+        downloadManager = (DownloadManager) getActivity().getSystemService(Context
+                .DOWNLOAD_SERVICE);
         return rootView;
     }
 
     /**
      * Called when a fragment is first attached to its activity.
      * {@link #onCreate(android.os.Bundle)} will be called after this.
-     *
-     * @param activity
      */
     //@Override
     //public void onAttach(Activity activity) {
@@ -210,19 +294,23 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
 
     @Override
     public void onClick(View view) {
-        switch(view.getId()){
+        switch (view.getId()) {
             case R.id.run_wk:
-                if (((TextView)rootView.findViewById(R.id.wtype)).getText().toString().contains("Taverna 2"))
+                if (((TextView) rootView.findViewById(R.id.wtype)).getText().toString().contains
+                        ("Taverna 2"))
                     new WorkflowProcessTask(getActivity()).execute(download_url);
                 else
-                    Toast.makeText(getActivity(), "Sorry! Only Taverna 2 workflows can be run.", Toast.LENGTH_LONG).show();
+                    Toast.makeText(getActivity(), "Sorry! Only Taverna 2 workflows can be run.",
+                            Toast.LENGTH_LONG).show();
                 break;
             case R.id.download_wk:
                 // start the android Download manager to start downloading a remote workflow file
-                WorkflowDownloadManager dmgr = new WorkflowDownloadManager(getActivity(), downloadManager);
+                WorkflowDownloadManager dmgr = new WorkflowDownloadManager(getActivity(),
+                        downloadManager);
                 try {
-                    dmgr.downloadWorkflow(new File(PreferenceManager.getDefaultSharedPreferences(getActivity()).getString(
-                                    DashboardMainActivity.APP_DIRECTORY_NAME, "/")),
+                    dmgr.downloadWorkflow(new File(PreferenceManager.getDefaultSharedPreferences
+                                    (getActivity()).getString(
+                            DashboardMainActivity.APP_DIRECTORY_NAME, "/")),
                             download_url);
                 } catch (Exception e) {
                     e.printStackTrace();
@@ -241,19 +329,25 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
                 mfav.add(SimpleDateFormat.getDateTimeInstance().format(new Date()).toString());
                 mfav.add(currentWorkflow.getWorkflow_details_url());
                 mfav.add(((TextView) rootView.findViewById(R.id.wkf_author)).getText());
-                int result = new Workflow_DB(getActivity(), WorkflowAdapter.WORKFLOW_FAVORITE_KEY).insert(mfav);
-                if(result >0) {
-                    sharedPreferences.edit().putString(WorkflowAdapter.FAVORITE_LIST_DB, favs+wid+",").apply();
-                    Toast.makeText(getActivity(), "Workflow marked as favorite", Toast.LENGTH_SHORT).show();
-                     view.setBackgroundResource(R.drawable.abc_list_selector_disabled_holo_light);
-
-                }else if(result == -1){
-                    Toast.makeText(getActivity(),"Sorry! This workflow has already been marked as a favourite",Toast.LENGTH_SHORT).show();
-                }else
-                    Toast.makeText(getActivity(),"Error!, please try again",Toast.LENGTH_SHORT).show();
+                int result = new WorkflowDB(getActivity(), WorkflowAdapter
+                        .WORKFLOW_FAVORITE_KEY).insert(mfav);
+                if (result > 0) {
+                    sharedPreferences.edit().putString(WorkflowAdapter.FAVORITE_LIST_DB, favs +
+                            wid + ",").apply();
+                    Toast.makeText(getActivity(), "Workflow marked as favorite", Toast
+                            .LENGTH_SHORT).show();
+                    view.setBackgroundResource(R.drawable.abc_list_selector_disabled_holo_light);
+
+                } else if (result == -1) {
+                    Toast.makeText(getActivity(), "Sorry! This workflow has already been marked " +
+                            "as a favourite", Toast.LENGTH_SHORT).show();
+                } else
+                    Toast.makeText(getActivity(), "Error!, please try again", Toast.LENGTH_SHORT)
+                            .show();
                 break;
             case R.id.saveToDropboxButton:
-                String authToken = PreferenceManager.getDefaultSharedPreferences(getActivity()).getString("dropboxauth", "");
+                String authToken = PreferenceManager.getDefaultSharedPreferences(getActivity())
+                        .getString("dropboxauth", "");
                 if (authToken.isEmpty())
                     mDBApi.getSession().startOAuth2Authentication(getActivity());
                 else {
@@ -275,8 +369,8 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
     @Override
     public void onResume() {
         super.onResume();
-        if(!LOAD_STATE)
-        workflow_uri = getActivity().getIntent().getStringExtra("uri");
+        if (!LOAD_STATE)
+            workflow_uri = getActivity().getIntent().getStringExtra("uri");
 
         getActivity().getLoaderManager().initLoader(1, null, this).forceLoad();
 
@@ -285,7 +379,8 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
                 // Required to complete auth, sets the access token on the session
                 mDBApi.getSession().finishAuthentication();
                 String accessToken = mDBApi.getSession().getOAuth2AccessToken();
-                PreferenceManager.getDefaultSharedPreferences(getActivity()).edit().putString("dropboxauth", accessToken).commit();
+                PreferenceManager.getDefaultSharedPreferences(getActivity()).edit().putString
+                        ("dropboxauth", accessToken).commit();
                 new WorkflowDriveUpload().execute(download_url);
             } catch (IllegalStateException e) {
                 Log.i("DbAuthLog", "Error authenticating", e);
@@ -303,7 +398,7 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
     public Loader<Workflow> onCreateLoader(int i, Bundle bundle) {
         progressDialog.show();
         return new DetailsLoader(getActivity(),
-                DetailsLoader.LOAD_TYPE.TYPE_WORKFLOW_DETAIL,
+                DetailsLoader.LoadType.TYPE_WORKFLOW_DETAIL,
                 workflow_uri);
     }
 
@@ -317,91 +412,29 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
         workflowLoader.reset();
     }
 
-    public static void setWorkflowDetails(final Workflow wk){
-        currentWorkflow = wk;
-        final TextView author = (TextView) rootView.findViewById(R.id.wkf_author_text);
-        //final TextView updated = (TextView) rootView.findViewById(R.id.wupdatedat);
-        final TextView type = (TextView) rootView.findViewById(R.id.wtype);
-        final TextView title = (TextView) rootView.findViewById(R.id.wtitle);
-        final TextView desc = (TextView) rootView.findViewById(R.id.wdescription);
-        final TextView createdat = (TextView) rootView.findViewById(R.id.wcreatedat);
-        final ImageView preview = (ImageView) rootView.findViewById(R.id.wkf_image);
-        WORKFLO_ID = wk.getWorkflow_title();
-        ((Activity)cont).runOnUiThread(new Runnable() {
-            @Override
-            public void run() {
-                //load necessary widgets
-
-                //set widget data
-                //Use android resources to insert text into placeholder
-                Resources resources = cont.getResources();
-                User uploader = wk.getUploader();
-                //String uploaderText = String.format(resources.getString(R.string.workflow_author), uploader != null ? uploader.getName():"Unknown");
-                author.setText((uploader != null) ? uploader.getName() : "Unknown");
-                title.setText(wk.getWorkflow_title());
-                if (wk.getWorkflow_description() != null) {
-                    desc.setText(wk.getWorkflow_description());
-                } else {
-                    //desc.setVisibility(View.INVISIBLE); //Not sure I trust this! Needs investigating.
-                }
-                String createdAtText = String.format(resources.getString(R.string.created), wk.getWorkflow_datecreated());
-                createdat.setText(createdAtText);
-                //updated.setText("Workflow Description");
-                String typeText = String.format(resources.getString(R.string.workflow_type_text), wk.getWorkflow_Type());
-                type.setText(typeText);
-
-                  //preview.setImageURI(Uri.parse(wk.getWorkflow_preview()));
-                new LoadImageThread(preview, wk.getWorkflow_preview()).execute();
-                download_url =wk.getWorkflow_remote_url();
-                zoomin.setAnimationListener(new Animation.AnimationListener() {
-
-                    @Override
-                    public void onAnimationStart(Animation arg0) {
-                        // TODO Auto-generated method stub
-                        preview.startAnimation(zoomout);
-                    }
-
-                    @Override
-                    public void onAnimationRepeat(Animation arg0) {
-                        // TODO Auto-generated method stub
-
-                    }
-
-                    @Override
-                    public void onAnimationEnd(Animation arg0) {
-                        preview.startAnimation(zoomout);
-
-                    }
-                });
-                zoomout.setAnimationListener(new Animation.AnimationListener() {
-
-                    @Override
-                    public void onAnimationStart(Animation arg0) {
-                        // TODO Auto-generated method stub
-                        preview.startAnimation(zoomin);
-                    }
-
-                    @Override
-                    public void onAnimationRepeat(Animation arg0) {
-                        // TODO Auto-generated method stub
-
-                    }
+    //create and return a new TextView
+    public TextView createTextView(Context mcontext, String placeholder) {
+        TextView tv = new TextView(mcontext);
+        tv.setText(placeholder);
+        tv.setMinLines(2);
 
-                    @Override
-                    public void onAnimationEnd(Animation arg0) {
-                        preview.startAnimation(zoomin);
+        return tv;
+    }
 
-                    }
-                });
-                progressDialog.dismiss();
-            }
-        });
-      //  preview.setOnClickListener(WorkflowdetailFragment.getInstance());
+    //create and return a new EdiText view
+    public EditText createEditText(Context ctx, int i) {
+        EditText edt;
+        edt = new EditText(ctx);
+        edt.setHint("Enter Value");
+        edt.setMinLines(1);
+        edt.setId(i);
+        return edt;
     }
 
-    private static class LoadImageThread extends AsyncTask<String, Void, Bitmap>{
-          ImageView imageView;
-          String src ;
+    private static class LoadImageThread extends AsyncTask<String, Void, Bitmap> {
+        ImageView imageView;
+        String src;
+
         public LoadImageThread(ImageView image, String source) {
             imageView = image;
             src = source;
@@ -417,7 +450,7 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
                 connection.setDoInput(true);
                 connection.connect();
                 InputStream input = connection.getInputStream();
-                 myBitmap = BitmapFactory.decodeStream(input);
+                myBitmap = BitmapFactory.decodeStream(input);
 //                imageView.setImageBitmap(myBitmap);
             } catch (IOException e) {
                 e.printStackTrace();
@@ -431,29 +464,11 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
         }
     }
 
-    //create and return a new TextView
-    public TextView createTextView(Context mcontext, String placeholder){
-        TextView tv = new TextView(mcontext);
-        tv.setText(placeholder);
-        tv.setMinLines(2);
-
-        return tv;
-    }
-
-    //create and return a new EdiText view
-    public EditText createEditText(Context ctx, int i){
-        EditText edt;
-        edt = new EditText(ctx);
-        edt.setHint("Enter Value");
-        edt.setMinLines(1);
-        edt.setId(i);
-        return edt;
-    }
     //fetch and compute the framework on which the run inputs are to be built and entered
-    private class WorkflowRunTask extends AsyncTask<String, Void, String>{
+    private class WorkflowRunTask extends AsyncTask<String, Void, String> {
 
-        private Context context;
         TavernaPlayerAPI tavernaPlayerAPI = new TavernaPlayerAPI();
+        private Context context;
 
         private WorkflowRunTask(Context context) {
             this.context = context;
@@ -471,10 +486,13 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
             StringBuffer sb = new StringBuffer();
             try {
 
-                URL workflowurl = new URL(new TavernaPlayerAPI(this.context).PLAYER_RUN_FRAMEWORK_URL+params[0]);
+                URL workflowurl = new URL(new TavernaPlayerAPI(this.context)
+                        .PLAYER_RUN_FRAMEWORK_URL + params[0]);
                 HttpURLConnection connection = (HttpURLConnection) workflowurl.openConnection();
-                String userpass = tavernaPlayerAPI.getPlayerUserName(this.context) + ":" + tavernaPlayerAPI.getPlayerUserPassword(this.context);
-                String basicAuth = "Basic " + Base64.encodeToString(userpass.getBytes(), Base64.DEFAULT);
+                String userpass = tavernaPlayerAPI.getPlayerUserName(this.context) + ":" +
+                        tavernaPlayerAPI.getPlayerUserPassword(this.context);
+                String basicAuth = "Basic " + Base64.encodeToString(userpass.getBytes(), Base64
+                        .DEFAULT);
 
                 connection.setRequestProperty("Authorization", basicAuth);
                 connection.setRequestProperty("Accept", "application/json");
@@ -497,7 +515,7 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
                 br.close();
                 return sb.toString();
 
-            }catch (IOException ex){
+            } catch (IOException ex) {
                 ex.printStackTrace();
             }
             return sb.toString();
@@ -515,10 +533,11 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
             try {
                 final JSONObject json = new JSONObject(result); //main server response json
                 JSONObject mjson = json.getJSONObject("run"); //main framework response json
-                String name = mjson.getString("name"); //a name that can be configured or edited for the new run to be created
+                String name = mjson.getString("name"); //a name that can be configured or edited
+                // for the new run to be created
                 ll.addView(createTextView(ctx, name));
                 final JSONArray attr_array = mjson.getJSONArray("inputs_attributes");
-                for(int i=0; i<attr_array.length(); i++){
+                for (int i = 0; i < attr_array.length(); i++) {
                     JSONObject obj = attr_array.getJSONObject(i);
                     ll.addView(createTextView(ctx, obj.getString("name")));
                     ll.addView(createEditText(ctx, i));
@@ -526,20 +545,25 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
 
                 alertDialogBuilder = new AlertDialog.Builder(ctx);
                 alertDialogBuilder.setView(sv);
- //               alertDialogBuilder.setMessage(result);
+                //               alertDialogBuilder.setMessage(result);
                 alertDialogBuilder.setIcon(ctx.getResources().getDrawable(R.mipmap.ic_launcher));
                 alertDialogBuilder.setTitle("New Workflow Run");
-                alertDialogBuilder.setPositiveButton("Execute", new DialogInterface.OnClickListener() {
+                alertDialogBuilder.setPositiveButton("Execute", new DialogInterface
+                        .OnClickListener() {
                     @Override
                     public void onClick(DialogInterface dialogInterface, int i) {
                         int n = attr_array.length();
-                        for(int j=0; j<n; j++){
+                        for (int j = 0; j < n; j++) {
                             try {
                                 EditText inputText = (EditText) ll.findViewById(j);
-                                String value = inputText.getText().toString();//get input entry entered by the user
-                                JSONObject jojb = attr_array.getJSONObject(j); //get the input attributes provided by the skeleton
-                                jojb.put("value", value); //replace value field in object with the entry provided by the user
-                                attr_array.put(j, jojb); //replace the input entry with the new name/input json object
+                                String value = inputText.getText().toString(); //get input entry
+                                // entered by the user
+                                JSONObject jojb = attr_array.getJSONObject(j); //get the input
+                                // attributes provided by the skeleton
+                                jojb.put("value", value); //replace value field in object with
+                                // the entry provided by the user
+                                attr_array.put(j, jojb); //replace the input entry with the new
+                                // name/input json object
 
                             } catch (JSONException e) {
                                 e.printStackTrace();
@@ -553,13 +577,14 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
                             new RunTask(ctx).execute(json.toString());
                         } catch (JSONException e) {
                             e.printStackTrace();
-                        }catch (Exception ex){
+                        } catch (Exception ex) {
                             ex.printStackTrace();
                         }
 
                     }
                 });
-                alertDialogBuilder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
+                alertDialogBuilder.setNegativeButton("Cancel", new DialogInterface
+                        .OnClickListener() {
 
                     @Override
                     public void onClick(DialogInterface dialogInterface, int i) {
@@ -579,16 +604,20 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
     }
 
     /**
-     *    Send request for the execution of a run on a Taverna server through the Taverna player using the Player API
-     *    This process passes through several steps,\n
-     *    1- Downloading and caching a local version of the workflow whose run we need \n
-     *    2- uploading the workflow through the portal to register it so a run can be generated from it. The request requires some authentication
-     *    3- Retrieving the results and extracting data required to create a run (the workflow_id) as provided by the results
-     *    4- Posting a run request to the player so that a new run can be created and started
-     *    5- retrieving a run framework so that users can know what types of input is expected for a successful run
-     *    6- retrieving and displaying run results
+     * Send request for the execution of a run on a Taverna server through the Taverna player using
+     * the Player API
+     * This process passes through several steps,\n
+     * 1- Downloading and caching a local version of the workflow whose run we need \n
+     * 2- uploading the workflow through the portal to register it so a run can be generated from
+     * it. The request requires some authentication
+     * 3- Retrieving the results and extracting data required to create a run (the workflow_id) as
+     * provided by the results
+     * 4- Posting a run request to the player so that a new run can be created and started
+     * 5- retrieving a run framework so that users can know what types of input is expected for a
+     * successful run
+     * 6- retrieving and displaying run results
      */
-    private class WorkflowProcessTask extends AsyncTask<String, Void, String>{
+    private class WorkflowProcessTask extends AsyncTask<String, Void, String> {
 
         private Context context;
 
@@ -607,56 +636,65 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
             StringBuffer sb = new StringBuffer();
             try {
                 //prepare connection requests
-                URL workflowurl = new URL(params[0]); //the resource xml file representing the workflow to be uploaded to the player
-                String playerurl = new TavernaPlayerAPI(this.context).PLAYER_BASE_URL+"workflows.json";
+                URL workflowurl = new URL(params[0]); //the resource xml file representing the
+                // workflow to be uploaded to the player
+                String playerurl = new TavernaPlayerAPI(this.context).PLAYER_BASE_URL +
+                        "workflows.json";
                 TavernaPlayerAPI tavernaPlayerAPI = new TavernaPlayerAPI();
 
                 URL posturl = new URL(playerurl);
                 HttpURLConnection connection = (HttpURLConnection) posturl.openConnection();
                 HttpURLConnection wconn = (HttpURLConnection) workflowurl.openConnection();
-                    wconn.setRequestMethod("GET");
-                    wconn.setDoOutput(true);
-                    wconn.setRequestProperty("Accept", "application/xml");
-                    wconn.connect();
-
-                String user = tavernaPlayerAPI.getPlayerUserName(this.context) + ":" + tavernaPlayerAPI.getPlayerUserPassword(this.context);
-                String basicAuth = "Basic " + Base64.encodeToString(user.getBytes(), Base64.DEFAULT);
+                wconn.setRequestMethod("GET");
+                wconn.setDoOutput(true);
+                wconn.setRequestProperty("Accept", "application/xml");
+                wconn.connect();
+
+                String user = tavernaPlayerAPI.getPlayerUserName(this.context) + ":" +
+                        tavernaPlayerAPI.getPlayerUserPassword(this.context);
+                String basicAuth = "Basic " + Base64.encodeToString(user.getBytes(), Base64
+                        .DEFAULT);
                 //read the file from remote resource and encode the stream with a base64 algorithm
-                BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(wconn.getInputStream()));
+                BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(wconn
+                        .getInputStream()));
                 String str = "";
                 while ((str = bufferedReader.readLine()) != null)
-                    sb.append(str); //in this string builder we have read the workflow( as .t2flow or .xml) workflow from remote resource. Now we need to post that to the player.
+                    sb.append(str); //in this string builder we have read the workflow( as
+                // .t2flow or .xml) workflow from remote resource. Now we need to post that to
+                // the player.
                 bufferedReader.close();
                 wconn.disconnect();
 
                 String data = "{\"document\":\"data:application/octet-stream;base64," +
-                        Base64.encodeToString(sb.toString().getBytes("UTF-8"), Base64.URL_SAFE|Base64.NO_WRAP).replace('-','+')+"\"}";
-                String post = "{\"workflow\":"+data+"}";
+                        Base64.encodeToString(sb.toString().getBytes("UTF-8"), Base64.URL_SAFE |
+                                Base64.NO_WRAP).replace('-', '+') + "\"}";
+                String post = "{\"workflow\":" + data + "}";
                 //clear sb so that we can use it again to fetch results from this post request
-                sb.delete(0,sb.length()-1);
-                System.out.println("BODY=>"+post);
+                sb.delete(0, sb.length() - 1);
+                System.out.println("BODY=>" + post);
                 connection.setRequestMethod("POST");
                 connection.setRequestProperty("Authorization", basicAuth);
                 connection.setRequestProperty("Accept", "*/*");
                 connection.setRequestProperty("Content-Type", "application/json");
                 connection.setRequestProperty("Content-Encoding", "UTF-8");
-                connection.setUseCaches (false);
+                connection.setUseCaches(false);
                 connection.setDoOutput(true);
                 connection.connect(); //send request
 
                 DataOutputStream dos = new DataOutputStream(connection.getOutputStream());
 
-                dos.writeBytes(post);//write post data which is a formatted json data representing body of workflow
+                dos.writeBytes(post); //write post data which is a formatted json data
+                // representing body of workflow
 
                 dos.flush();
                 dos.close();
 
                 InputStream dis = connection.getInputStream();
                 BufferedReader br = new BufferedReader(new InputStreamReader(dis));
-                while ((str = br.readLine())!= null)
+                while ((str = br.readLine()) != null)
                     sb.append(str);
                 connection.disconnect();
-            }catch (IOException e){
+            } catch (IOException e) {
                 e.printStackTrace();
                 sb.append("Error reading remote workflow. Please try again later");
             }
@@ -665,8 +703,11 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
         }
 
         /**
-         * Receives a result from the player as a json describing the workflow that has just been uploaded along with key components that
-         * can be used to generate a run from thw workflow. A run is started that would fetch and build a sample UI for a workflow run to be executed
+         * Receives a result from the player as a json describing the workflow that has just been
+         * uploaded along with key components that
+         * can be used to generate a run from thw workflow. A run is started that would fetch and
+         * build a sample UI for a workflow run to be executed
+         *
          * @param s the json result that describes the uploaded workflow
          */
         @Override
@@ -687,7 +728,7 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
     /**
      * Upload workflow from myexperiment to DropBox
      */
-    private class WorkflowDriveUpload extends  AsyncTask<String, Void, String>{
+    private class WorkflowDriveUpload extends AsyncTask<String, Void, String> {
         @Override
         protected void onPreExecute() {
             Toast.makeText(getActivity(), "Saving workflow to dropBox", Toast.LENGTH_LONG).show();
@@ -695,9 +736,9 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
 
         @Override
         protected String doInBackground(String... files) {
-           // File file = new File(files[0]);
-            HttpURLConnection mconn ;
-         //   FileInputStream inputStream = null;
+            // File file = new File(files[0]);
+            HttpURLConnection mconn;
+            //   FileInputStream inputStream = null;
             DropboxAPI.Entry response = null;
             DropboxAPI.Entry metaDataEntry = null;
             try {
@@ -705,20 +746,23 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
                 mconn.setRequestMethod("GET");
                 mconn.connect();
 
-              //  inputStream = new FileInputStream(file);
+                //  inputStream = new FileInputStream(file);
 
-                 response = mDBApi.putFile("/"+ Uri.parse(files[0]).getLastPathSegment(), mconn.getInputStream(),
+                response = mDBApi.putFile("/" + Uri.parse(files[0]).getLastPathSegment(), mconn
+                                .getInputStream(),
                         mconn.getContentLength(), null, new ProgressListener() {
-                             @Override
-                             public void onProgress(long l, long l2) {
-                                 if (l==l2){
-                                     Toast.makeText(getActivity(), "Upload complete", Toast.LENGTH_LONG).show();
-                                 }
-                             }
-                         });
+                            @Override
+                            public void onProgress(long l, long l2) {
+                                if (l == l2) {
+                                    Toast.makeText(getActivity(), "Upload complete", Toast
+                                            .LENGTH_LONG).show();
+                                }
+                            }
+                        });
 
                 Log.i("DbExampleLog", "The uploaded file's rev is: " + response.rev);
-              //  metaDataEntry = mDBApi.metadata("/"+Uri.parse(files[0]).getLastPathSegment(), 1, null, false, null);
+                //  metaDataEntry = mDBApi.metadata("/"+Uri.parse(files[0]).getLastPathSegment(),
+                // 1, null, false, null);
             } catch (FileNotFoundException e) {
                 e.printStackTrace();
             } catch (DropboxException e) {
@@ -734,12 +778,13 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
 
         @Override
         protected void onPostExecute(String s) {
-            if(null != s) {
-                Toast.makeText(getActivity(), "File Saved to dropbox. Reference: " + s, Toast.LENGTH_LONG).show();
+            if (null != s) {
+                Toast.makeText(getActivity(), "File Saved to dropbox. Reference: " + s, Toast
+                        .LENGTH_LONG).show();
                 DROPUPLOAD = true;
-            }
-            else{
-                Toast.makeText(getActivity(), "Failed to save to dropbox "+s, Toast.LENGTH_LONG).show();
+            } else {
+                Toast.makeText(getActivity(), "Failed to save to dropbox " + s, Toast
+                        .LENGTH_LONG).show();
             }
         }
     }

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e752e97d/app/src/main/java/org/apache/taverna/mobile/tavernamobile/Runs.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/tavernamobile/Runs.java b/app/src/main/java/org/apache/taverna/mobile/tavernamobile/Runs.java
index 8eeba06..f2755a3 100644
--- a/app/src/main/java/org/apache/taverna/mobile/tavernamobile/Runs.java
+++ b/app/src/main/java/org/apache/taverna/mobile/tavernamobile/Runs.java
@@ -12,16 +12,16 @@ public class Runs {
     private String run_ended_date;
     private String state;
     private String run_author;
-    public static enum RUN_STATE { FAILED,FINISHED,RUNNING};
-
 
     public Runs(String run_name, String run_started_date, String run_ended_date, String state) {
         this.run_name = run_name;
         this.run_started_date = run_started_date;
         this.run_ended_date = run_ended_date;
-        this.state=state;
+        this.state = state;
     }
 
+    ;
+
     public long getRun_id() {
         return run_id;
     }
@@ -38,13 +38,13 @@ public class Runs {
         this.run_workflow_id = run_workflow_id;
     }
 
-    public RUN_STATE getState() {
-        if(state.equalsIgnoreCase("finished"))
-            return RUN_STATE.FINISHED;
+    public RunState getState() {
+        if (state.equalsIgnoreCase("finished"))
+            return RunState.FINISHED;
         else if (state.equalsIgnoreCase("failed"))
-            return RUN_STATE.FAILED;
+            return RunState.FAILED;
         else
-            return RUN_STATE.RUNNING;
+            return RunState.RUNNING;
     }
 
     public void setState(String state) {
@@ -82,4 +82,6 @@ public class Runs {
     public void setRun_ended_date(String run_ended_date) {
         this.run_ended_date = run_ended_date;
     }
+
+    public static enum RunState { FAILED, FINISHED, RUNNING }
 }

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e752e97d/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 638094b..41f392a 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
@@ -2,10 +2,10 @@ package org.apache.taverna.mobile.tavernamobile;
 /**
  * Apache Taverna Mobile
  * Copyright 2015 The Apache Software Foundation
-
+ *
  * This product includes software developed at
  * The Apache Software Foundation (http://www.apache.org/).
-
+ *
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements. See the NOTICE file
  * distributed with this work for additional information
@@ -23,6 +23,7 @@ package org.apache.taverna.mobile.tavernamobile;
  * specific language governing permissions and limitations
  * under the License.
  */
+
 import android.content.Context;
 import android.preference.PreferenceManager;
 
@@ -35,23 +36,28 @@ public class TavernaPlayerAPI {
 
     public static String PLAYER_BASE_URL = "http://heater.cs.man.ac.uk:3000/";
     public static String SERVER_BASE_URL = "http://heater.cs.man.ac.uk:8090/taverna-2.5.4/";
-    public static String PLAYER_WORKFLOW_URL = PLAYER_BASE_URL+"workflows/";
-    public static String PLAYER_RUN_URL = PLAYER_BASE_URL+"runs/";
-    public static String PLAYER_RUN_FRAMEWORK_URL = PLAYER_RUN_URL+"new?workflow_id="; //returns a json 'framework' used for creating runs for the given workflow
+    public static String PLAYER_WORKFLOW_URL = PLAYER_BASE_URL + "workflows/";
+    public static String PLAYER_RUN_URL = PLAYER_BASE_URL + "runs/";
+    public static String PLAYER_RUN_FRAMEWORK_URL = PLAYER_RUN_URL + "new?workflow_id=";
+    //returns a json 'framework' used for creating runs for the given workflow
 
     public TavernaPlayerAPI(Context context) {
-        String server = PreferenceManager.getDefaultSharedPreferences(context).getString("pref_server_url","/");
-        String player = PreferenceManager.getDefaultSharedPreferences(context).getString("pref_player_url","/");
-        String user = PreferenceManager.getDefaultSharedPreferences(context).getString("pref_player_url","/");
-        String password = PreferenceManager.getDefaultSharedPreferences(context).getString("pref_player_url","/");
+        String server = PreferenceManager.getDefaultSharedPreferences(context).getString
+                ("pref_server_url", "/");
+        String player = PreferenceManager.getDefaultSharedPreferences(context).getString
+                ("pref_player_url", "/");
+        String user = PreferenceManager.getDefaultSharedPreferences(context).getString
+                ("pref_player_url", "/");
+        String password = PreferenceManager.getDefaultSharedPreferences(context).getString
+                ("pref_player_url", "/");
         PLAYER_BASE_URL = player;
         SERVER_BASE_URL = server;
-        PLAYER_WORKFLOW_URL = PLAYER_BASE_URL+"workflows/";
-        PLAYER_RUN_URL = PLAYER_BASE_URL+"runs/";
-        PLAYER_RUN_FRAMEWORK_URL = PLAYER_RUN_URL+"new?workflow_id=";
+        PLAYER_WORKFLOW_URL = PLAYER_BASE_URL + "workflows/";
+        PLAYER_RUN_URL = PLAYER_BASE_URL + "runs/";
+        PLAYER_RUN_FRAMEWORK_URL = PLAYER_RUN_URL + "new?workflow_id=";
     }
 
-    public TavernaPlayerAPI(){
+    public TavernaPlayerAPI() {
 
     }
 
@@ -75,15 +81,16 @@ public class TavernaPlayerAPI {
         return PLAYER_RUN_FRAMEWORK_URL;
     }
 
-    public String getPlayerUserName(Context c){
-        return PreferenceManager.getDefaultSharedPreferences(c).getString("pref_user","default");
+    public String getPlayerUserName(Context c) {
+        return PreferenceManager.getDefaultSharedPreferences(c).getString("pref_user", "default");
     }
 
-    public String getPlayerUserPassword(Context c){
-        return PreferenceManager.getDefaultSharedPreferences(c).getString("pref_password","default");
+    public String getPlayerUserPassword(Context c) {
+        return PreferenceManager.getDefaultSharedPreferences(c).getString("pref_password",
+                "default");
     }
 
-    public static class Authenticator extends java.net.Authenticator{
+    public static class Authenticator extends java.net.Authenticator {
         private String username, password;
 
         public Authenticator(String username, String password) {

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e752e97d/app/src/main/java/org/apache/taverna/mobile/tavernamobile/User.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/tavernamobile/User.java b/app/src/main/java/org/apache/taverna/mobile/tavernamobile/User.java
index 09ca6e5..9d85682 100644
--- a/app/src/main/java/org/apache/taverna/mobile/tavernamobile/User.java
+++ b/app/src/main/java/org/apache/taverna/mobile/tavernamobile/User.java
@@ -2,10 +2,10 @@ package org.apache.taverna.mobile.tavernamobile;
 /**
  * Apache Taverna Mobile
  * Copyright 2015 The Apache Software Foundation
-
+ *
  * This product includes software developed at
  * The Apache Software Foundation (http://www.apache.org/).
-
+ *
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements. See the NOTICE file
  * distributed with this work for additional information
@@ -24,11 +24,11 @@ package org.apache.taverna.mobile.tavernamobile;
  * under the License.
  */
 
-import android.graphics.Bitmap;
-
 import org.apache.taverna.mobile.adapters.WorkflowAdapter;
 import org.simpleframework.xml.Element;
 
+import android.graphics.Bitmap;
+
 import java.util.List;
 
 /**
@@ -56,11 +56,13 @@ public class User {
     @Element(required = false)
     protected String website;
     protected String details_uri;
+    protected List<Workflow> user_workflows; //a list of workflows owned by this user
     private String avatar_url;
-    private String row_id; //identifies the row  to which this user is being loaded in, in the workflow listview
+    private String row_id; //identifies the row  to which this user is being loaded in, in the
+    // workflow listview
     private WorkflowAdapter.ViewHolder userViewHolder;
 
-    public User(String rid, WorkflowAdapter.ViewHolder vh){
+    public User(String rid, WorkflowAdapter.ViewHolder vh) {
         super();
         row_id = rid;
         this.userViewHolder = vh;
@@ -78,8 +80,6 @@ public class User {
         return this.row_id;
     }
 
-    protected List<Workflow> user_workflows; //a list of workflows owned by this user
-
     public void setId(String id) {
         this.id = id;
     }
@@ -165,7 +165,7 @@ public class User {
     }
 
     @Override
-    public String toString(){
+    public String toString() {
         return "This is the user object";
     }
 }


[03/18] incubator-taverna-mobile git commit: refactor code using CheckStyle

Posted by st...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e752e97d/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 d4957de..c98f0f5 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
@@ -2,10 +2,10 @@ package org.apache.taverna.mobile.utils;
 /**
  * Apache Taverna Mobile
  * Copyright 2015 The Apache Software Foundation
-
+ *
  * This product includes software developed at
  * The Apache Software Foundation (http://www.apache.org/).
-
+ *
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements. See the NOTICE file
  * distributed with this work for additional information
@@ -23,10 +23,6 @@ package org.apache.taverna.mobile.utils;
  * specific language governing permissions and limitations
  * under the License.
  */
-import android.content.Context;
-import android.os.AsyncTask;
-import android.support.v4.widget.SwipeRefreshLayout;
-import android.util.Log;
 
 import com.thebuzzmedia.sjxp.rule.IRule;
 
@@ -34,6 +30,11 @@ import org.apache.taverna.mobile.tavernamobile.Workflow;
 import org.apache.taverna.mobile.utils.xmlparsers.MyExperimentXmlParserRules;
 import org.apache.taverna.mobile.utils.xmlparsers.WorkflowParser;
 
+import android.content.Context;
+import android.os.AsyncTask;
+import android.support.v4.widget.SwipeRefreshLayout;
+import android.util.Log;
+
 import java.io.IOException;
 import java.io.InputStream;
 import java.net.HttpURLConnection;
@@ -46,7 +47,7 @@ import java.util.List;
 /**
  * Created by Larry Akah on 6/13/15.
  */
-public class WorkflowLoader extends AsyncTask<String, Object, Object>{ //WorkflowLoaderMain {
+public class WorkflowLoader extends AsyncTask<String, Object, Object> { //WorkflowLoaderMain {
 
     private Context ctx;
     private List<Workflow> userWorkflows;
@@ -68,26 +69,29 @@ public class WorkflowLoader extends AsyncTask<String, Object, Object>{ //Workflo
     public List<Workflow> doInBackground(String[] pages) {
         //start a network request to fetch user's workflows
 
-        IRule wkflowRule = new MyExperimentXmlParserRules.WorkflowRule(IRule.Type.ATTRIBUTE, "/workflows/workflow", "resource", "uri","id", "version");
-        IRule workflowNameRule = new MyExperimentXmlParserRules.WorkflowRule(IRule.Type.CHARACTER, "/workflows/workflow");
+        IRule wkflowRule = new MyExperimentXmlParserRules.WorkflowRule(IRule.Type.ATTRIBUTE,
+                "/workflows/workflow", "resource", "uri", "id", "version");
+        IRule workflowNameRule = new MyExperimentXmlParserRules.WorkflowRule(IRule.Type
+                .CHARACTER, "/workflows/workflow");
         WorkflowParser xmlParser = new WorkflowParser(new IRule[]{wkflowRule, workflowNameRule});
         try {
-            URL workflowurl = new URL("http://www.myexperiment.org/workflows.xml?page="+Integer.parseInt((pages[0])));
+            URL workflowurl = new URL("http://www.myexperiment.org/workflows.xml?page=" + Integer
+                    .parseInt((pages[0])));
             HttpURLConnection connection = (HttpURLConnection) workflowurl.openConnection();
             connection.setRequestMethod("GET");
             connection.connect(); //send request
-            Log.i("WorkflowLoader","Loading workflows page = "+pages[0]);
+            Log.i("WorkflowLoader", "Loading workflows page = " + pages[0]);
 
             InputStream dis = connection.getInputStream();
             xmlParser.parse(dis, this.userWorkflows);
 
-        }catch (MalformedURLException e) {
+        } catch (MalformedURLException e) {
             e.printStackTrace();
         } catch (ProtocolException e) {
             e.printStackTrace();
         } catch (IOException e) {
             e.printStackTrace();
-        }catch (Exception ex){
+        } catch (Exception ex) {
             ex.printStackTrace();
         }
         return this.userWorkflows;
@@ -96,6 +100,6 @@ public class WorkflowLoader extends AsyncTask<String, Object, Object>{ //Workflo
     @Override
     protected void onPostExecute(Object o) {
         refreshLayout.setRefreshing(false);
-        System.out.println("Workflow Count: "+this.userWorkflows.size());
+        System.out.println("Workflow Count: " + this.userWorkflows.size());
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e752e97d/app/src/main/java/org/apache/taverna/mobile/utils/WorkflowLoaderMain.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/utils/WorkflowLoaderMain.java b/app/src/main/java/org/apache/taverna/mobile/utils/WorkflowLoaderMain.java
index 41c650d..bb56ec9 100644
--- a/app/src/main/java/org/apache/taverna/mobile/utils/WorkflowLoaderMain.java
+++ b/app/src/main/java/org/apache/taverna/mobile/utils/WorkflowLoaderMain.java
@@ -2,10 +2,10 @@ package org.apache.taverna.mobile.utils;
 /**
  * Apache Taverna Mobile
  * Copyright 2015 The Apache Software Foundation
-
+ *
  * This product includes software developed at
  * The Apache Software Foundation (http://www.apache.org/).
-
+ *
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements. See the NOTICE file
  * distributed with this work for additional information
@@ -23,11 +23,12 @@ package org.apache.taverna.mobile.utils;
  * specific language governing permissions and limitations
  * under the License.
  */
-import android.content.AsyncTaskLoader;
-import android.content.Context;
 
 import org.apache.taverna.mobile.tavernamobile.Workflow;
 
+import android.content.AsyncTaskLoader;
+import android.content.Context;
+
 import java.util.List;
 
 /**

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e752e97d/app/src/main/java/org/apache/taverna/mobile/utils/WorkflowOpen.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/utils/WorkflowOpen.java b/app/src/main/java/org/apache/taverna/mobile/utils/WorkflowOpen.java
index eae8479..b54124b 100644
--- a/app/src/main/java/org/apache/taverna/mobile/utils/WorkflowOpen.java
+++ b/app/src/main/java/org/apache/taverna/mobile/utils/WorkflowOpen.java
@@ -4,6 +4,12 @@ package org.apache.taverna.mobile.utils;
  * Created by Larry Akah on 7/11/15.
  */
 
+import org.apache.taverna.mobile.R;
+import org.apache.taverna.mobile.tavernamobile.TavernaPlayerAPI;
+import org.json.JSONArray;
+import org.json.JSONException;
+import org.json.JSONObject;
+
 import android.app.AlertDialog;
 import android.app.ProgressDialog;
 import android.content.Context;
@@ -16,12 +22,6 @@ import android.widget.LinearLayout;
 import android.widget.ScrollView;
 import android.widget.TextView;
 
-import org.apache.taverna.mobile.R;
-import org.apache.taverna.mobile.tavernamobile.TavernaPlayerAPI;
-import org.json.JSONArray;
-import org.json.JSONException;
-import org.json.JSONObject;
-
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.File;
@@ -33,27 +33,27 @@ import java.net.HttpURLConnection;
 import java.net.URL;
 
 /**
- *Read the selected xml file from storage and upload to player to generate workflowRun
+ * Read the selected xml file from storage and upload to player to generate workflowRun
  */
 public class WorkflowOpen extends AsyncTask<String, Void, String> {
 
+    TavernaPlayerAPI tavernaPlayerAPI = new TavernaPlayerAPI();
     private Context context;
     private ProgressDialog progressDialog;
-    TavernaPlayerAPI tavernaPlayerAPI = new TavernaPlayerAPI();
 
     public WorkflowOpen(Context context) {
         this.context = context;
         progressDialog = new ProgressDialog(this.context);
     }
-        @Override
-        protected void onPreExecute() {
 
-            progressDialog.setMessage("Uploading Workflow ... ");
-            progressDialog.show();
-        }
+    @Override
+    protected void onPreExecute() {
+
+        progressDialog.setMessage("Uploading Workflow ... ");
+        progressDialog.show();
+    }
 
     /**
-     *
      * @param params path to workflow file to upload to player
      * @return run framework used to create a new workflow run
      */
@@ -63,13 +63,16 @@ public class WorkflowOpen extends AsyncTask<String, Void, String> {
         String str = "";
         try {
 
-             //prepare connection requests
-            File objectFile = new File(params[0]); //the resource xml file representing the workflow to be uploaded to the player
-            String playerurl = new TavernaPlayerAPI(this.context).PLAYER_BASE_URL+"workflows.json";
+            //prepare connection requests
+            File objectFile = new File(params[0]); //the resource xml file representing the
+            // workflow to be uploaded to the player
+            String playerurl = new TavernaPlayerAPI(this.context).PLAYER_BASE_URL + "workflows" +
+                    ".json";
             URL posturl = new URL(playerurl);
             HttpURLConnection connection = (HttpURLConnection) posturl.openConnection();
 
-            String user = tavernaPlayerAPI.getPlayerUserName(this.context) + ":" + tavernaPlayerAPI.getPlayerUserPassword(this.context);
+            String user = tavernaPlayerAPI.getPlayerUserName(this.context) + ":" +
+                    tavernaPlayerAPI.getPlayerUserPassword(this.context);
             String basicAuth = "Basic " + Base64.encodeToString(user.getBytes(), Base64.DEFAULT);
             //read the file from remote resource and encode the stream with a base64 algorithm
 
@@ -81,41 +84,42 @@ public class WorkflowOpen extends AsyncTask<String, Void, String> {
                     sb.append('\n');
                 }
                 br.close();
-            }
-            catch (IOException e) {
+            } catch (IOException e) {
                 e.printStackTrace();
             }
 
             String data = "{\"document\":\"data:application/octet-stream;base64," +
-                    Base64.encodeToString(sb.toString().getBytes("UTF-8"), Base64.URL_SAFE|Base64.NO_WRAP).replace('-','+')+"\"}";
-            String post = "{\"workflow\":"+data+"}";
+                    Base64.encodeToString(sb.toString().getBytes("UTF-8"), Base64.URL_SAFE |
+                            Base64.NO_WRAP).replace('-', '+') + "\"}";
+            String post = "{\"workflow\":" + data + "}";
             //clear sb so that we can use it again to fetch results from this post request
-            sb.delete(0,sb.length()-1);
-            System.out.println("BODY=>"+post);
+            sb.delete(0, sb.length() - 1);
+            System.out.println("BODY=>" + post);
             connection.setRequestMethod("POST");
             connection.setRequestProperty("Authorization", basicAuth);
             connection.setRequestProperty("Accept", "*/*");
             connection.setRequestProperty("Content-Type", "application/json");
             connection.setRequestProperty("Content-Encoding", "UTF-8");
-            connection.setUseCaches (false);
+            connection.setUseCaches(false);
             connection.setDoOutput(true);
             connection.connect(); //send request
 
             DataOutputStream dos = new DataOutputStream(connection.getOutputStream());
 
-            dos.writeBytes(post);//write post data which is a formatted json data representing body of workflow
+            dos.writeBytes(post); //write post data which is a formatted json data representing
+            // body of workflow
 
             dos.flush();
             dos.close();
 
             InputStream dis = connection.getInputStream();
             BufferedReader br = new BufferedReader(new InputStreamReader(dis));
-            while ((str = br.readLine())!= null)
+            while ((str = br.readLine()) != null)
                 sb.append(str);
-            System.out.println("Post Response Code: "+connection.getResponseCode());
-            System.out.println("Post response message: "+connection.getResponseMessage());
+            System.out.println("Post Response Code: " + connection.getResponseCode());
+            System.out.println("Post response message: " + connection.getResponseMessage());
             connection.disconnect();
-        }catch (IOException e){
+        } catch (IOException e) {
             e.printStackTrace();
             sb.append("Error reading remote workflow. Please try again later");
         }
@@ -124,13 +128,16 @@ public class WorkflowOpen extends AsyncTask<String, Void, String> {
     }
 
     /**
-     * Receives a result from the player as a json describing the workflow that has just been uploaded along with key components that
-     * can be used to generate a run from thw workflow. A run is started that would fetch and build a sample UI for a workflow run to be executed
+     * Receives a result from the player as a json describing the workflow that has just been
+     * uploaded along with key components that
+     * can be used to generate a run from thw workflow. A run is started that would fetch and build
+     * a sample UI for a workflow run to be executed
+     *
      * @param s the json result that describes the uploaded workflow
      */
     @Override
     protected void onPostExecute(String s) {
-            progressDialog.dismiss();
+        progressDialog.dismiss();
         System.out.println(s);
         s = s.substring(1, s.length());
         try {
@@ -144,7 +151,7 @@ public class WorkflowOpen extends AsyncTask<String, Void, String> {
     }
 
     //create and return a new TextView
-    public TextView createTextView(Context mcontext, String placeholder){
+    public TextView createTextView(Context mcontext, String placeholder) {
         TextView tv = new TextView(mcontext);
         tv.setText(placeholder);
         tv.setMinLines(2);
@@ -153,7 +160,7 @@ public class WorkflowOpen extends AsyncTask<String, Void, String> {
     }
 
     //create and return a new EdiText view
-    public EditText createEditText(Context ctx, int i){
+    public EditText createEditText(Context ctx, int i) {
         EditText edt;
         edt = new EditText(ctx);
         edt.setHint("Enter Value");
@@ -162,7 +169,7 @@ public class WorkflowOpen extends AsyncTask<String, Void, String> {
         return edt;
     }
 
-    private class WorkflowRunTask extends AsyncTask<String, Void, String>{
+    private class WorkflowRunTask extends AsyncTask<String, Void, String> {
 
         private Context context;
         private AlertDialog.Builder alertDialogBuilder;
@@ -184,10 +191,13 @@ public class WorkflowOpen extends AsyncTask<String, Void, String> {
             StringBuffer sb = new StringBuffer();
             try {
 
-                URL workflowurl = new URL(new TavernaPlayerAPI(this.context).PLAYER_RUN_FRAMEWORK_URL+params[0]);
+                URL workflowurl = new URL(new TavernaPlayerAPI(this.context)
+                        .PLAYER_RUN_FRAMEWORK_URL + params[0]);
                 HttpURLConnection connection = (HttpURLConnection) workflowurl.openConnection();
-                String userpass = tavernaPlayerAPI.getPlayerUserName(this.context) + ":" + tavernaPlayerAPI.getPlayerUserPassword(this.context);
-                String basicAuth = "Basic " + Base64.encodeToString(userpass.getBytes(), Base64.DEFAULT);
+                String userpass = tavernaPlayerAPI.getPlayerUserName(this.context) + ":" +
+                        tavernaPlayerAPI.getPlayerUserPassword(this.context);
+                String basicAuth = "Basic " + Base64.encodeToString(userpass.getBytes(), Base64
+                        .DEFAULT);
 
                 connection.setRequestProperty("Authorization", basicAuth);
                 connection.setRequestProperty("Accept", "application/json");
@@ -208,7 +218,7 @@ public class WorkflowOpen extends AsyncTask<String, Void, String> {
                 br.close();
                 return sb.toString();
 
-            }catch (IOException ex){
+            } catch (IOException ex) {
                 ex.printStackTrace();
             }
             return sb.toString();
@@ -226,10 +236,11 @@ public class WorkflowOpen extends AsyncTask<String, Void, String> {
             try {
                 final JSONObject json = new JSONObject(result); //main server response json
                 JSONObject mjson = json.getJSONObject("run"); //main framework response json
-                String name = mjson.getString("name"); //a name that can be configured or edited for the new run to be created
+                String name = mjson.getString("name"); //a name that can be configured or edited
+                // for the new run to be created
                 ll.addView(createTextView(ctx, name));
                 final JSONArray attr_array = mjson.getJSONArray("inputs_attributes");
-                for(int i=0; i<attr_array.length(); i++){
+                for (int i = 0; i < attr_array.length(); i++) {
                     JSONObject obj = attr_array.getJSONObject(i);
                     ll.addView(createTextView(ctx, obj.getString("name")));
                     ll.addView(createEditText(ctx, i));
@@ -240,17 +251,22 @@ public class WorkflowOpen extends AsyncTask<String, Void, String> {
                 //               alertDialogBuilder.setMessage(result);
                 alertDialogBuilder.setIcon(ctx.getResources().getDrawable(R.mipmap.ic_launcher));
                 alertDialogBuilder.setTitle("New Workflow Run");
-                alertDialogBuilder.setPositiveButton("Execute", new DialogInterface.OnClickListener() {
+                alertDialogBuilder.setPositiveButton("Execute", new DialogInterface
+                        .OnClickListener() {
                     @Override
                     public void onClick(DialogInterface dialogInterface, int i) {
                         int n = attr_array.length();
-                        for(int j=0; j<n; j++){
+                        for (int j = 0; j < n; j++) {
                             try {
                                 EditText inputText = (EditText) ll.findViewById(j);
-                                String value = inputText.getText().toString();//get input entry entered by the user
-                                JSONObject jojb = attr_array.getJSONObject(j); //get the input attributes provided by the skeleton
-                                jojb.put("value", value); //replace value field in object with the entry provided by the user
-                                attr_array.put(j, jojb); //replace the input entry with the new name/input json object
+                                String value = inputText.getText().toString(); //get input entry
+                                // entered by the user
+                                JSONObject jojb = attr_array.getJSONObject(j); //get the input
+                                // attributes provided by the skeleton
+                                jojb.put("value", value); //replace value field in object with
+                                // the entry provided by the user
+                                attr_array.put(j, jojb); //replace the input entry with the new
+                                // name/input json object
 
                             } catch (JSONException e) {
                                 e.printStackTrace();
@@ -268,7 +284,8 @@ public class WorkflowOpen extends AsyncTask<String, Void, String> {
 
                     }
                 });
-                alertDialogBuilder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
+                alertDialogBuilder.setNegativeButton("Cancel", new DialogInterface
+                        .OnClickListener() {
 
                     @Override
                     public void onClick(DialogInterface dialogInterface, int i) {

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e752e97d/app/src/main/java/org/apache/taverna/mobile/utils/Workflow_DB.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/utils/Workflow_DB.java b/app/src/main/java/org/apache/taverna/mobile/utils/Workflow_DB.java
deleted file mode 100644
index 0394841..0000000
--- a/app/src/main/java/org/apache/taverna/mobile/utils/Workflow_DB.java
+++ /dev/null
@@ -1,307 +0,0 @@
-package org.apache.taverna.mobile.utils;
-/**
- * Apache Taverna Mobile
- * Copyright 2015 The Apache Software Foundation
-
- * This product includes software developed at
- * The Apache Software Foundation (http://www.apache.org/).
-
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-import java.util.ArrayList;
-import java.util.List;
-import java.util.UUID;
-
-import org.json.JSONArray;
-import org.json.JSONException;
-import org.json.JSONObject;
-
-import android.content.Context;
-import android.content.SharedPreferences;
-import android.preference.PreferenceManager;
-import android.util.Log;
-
-/**
- * @author Larry Akah
- * @version 1.0.0
- * This class is developed as a means to simplify the code base of the initial json_db implementation.
- * It aims at using fully the java JSON API available to implement the CRUD functionality of the json_db library.
- * This class is much more scalable and light-weight than the first implementation
- */
-public class Workflow_DB {
-	
-	private String ENTITY_KEY;
-	private Context context;
-	private SharedPreferences msharedpreference;
-	private ArrayList<String> ITEM_IDS;
-	private final String LIBTAG = getClass().getName();
-	private JSONObject DBJSON;
-	private JSONObject dataobj; //hold all entries for a given ENTITY_KEY
-	
-	/**
-	 * Constructor initializes a basic data store environment
-	 * @param ctx a reference to the application's context or sand box
-	 * @param entityKey The main data store key for each entity space/schema
-	 */
-	public Workflow_DB(Context ctx, String entityKey){
-		context = ctx;
-		ENTITY_KEY = entityKey;
-		DBJSON = new JSONObject();
-		ITEM_IDS = new ArrayList<String>();
-		dataobj = DBJSON;
-	}
-	
-	/**
-	 * Inserts an entity set('row') into the data store
-	 * @param items values for each 'column' in the entity
-	 * @return the same instance for chaining multiple calls to this method.
-	 * @throws org.json.JSONException
-	 */
-	public Workflow_DB put(ArrayList<Object> items) throws JSONException{
-
-		String item_id = this.generateRandomId();
-		ITEM_IDS.add(item_id);
-		JSONArray jarray = new JSONArray();
-		for(Object item: items){
-			jarray.put(item);
-		}
-		dataobj.put(item_id, jarray);
-		return this;
-	}
-	
-	/**
-	 * Returns all entity entries from the data store. Each item of an entity is accompanied with the key or unique id of the items.
-	 * @author Larry Akah
-	 * @throws org.json.JSONException for errors during construction of a JSON data string.
-	 * @throws NullPointerException for any null accessed variable
-	 */
-	public List<ArrayList<Object>> get() throws JSONException , NullPointerException{
-				msharedpreference = PreferenceManager.getDefaultSharedPreferences(context);
-				//read key and get existing data
-				List<ArrayList<Object>> results = new ArrayList<ArrayList<Object>>();
-				JSONObject mainJson = new JSONObject(msharedpreference.getString(ENTITY_KEY, "{"+ENTITY_KEY+":{}}"));
-				
-				Log.i(ENTITY_KEY, mainJson.toString(2));
-				
-				JSONArray keysJson = mainJson.getJSONArray("ids"); //retrieve a json array of ids for every entity entry
-				Log.i(ENTITY_KEY, keysJson.toString(2));
-				
-				if(null != keysJson)
-					for(int i=0; i<keysJson.length(); i++){
-						//for each key, get the associated data
-						try {
-							JSONArray resultArray = mainJson.getJSONArray(keysJson.getString(i));
-							ArrayList<Object> mlist = new ArrayList<Object>();
-							if(null != resultArray)
-								for(int j=0; j<resultArray.length(); j++){
-									mlist.add(resultArray.getString(j));
-									
-								}
-							mlist.add(keysJson.getString(i)); // adds the entry key as last value of the data returned
-							results.add(mlist);
-						} catch (Exception e) {
-							e.printStackTrace();
-							continue;
-						}
-					}
-				return results;
-	}
-	
-	/**
-	 * updates a single item entry of an entity
-	 * @param itemId provides the id of the item to be updated
-	 * @param newItem the new set of data to be used to update the entry 
-	 * @return boolean indicating whether the item was successfully updated or not. True means item was updated, false means otherwise.
-	 */
-	public boolean update(String itemId, ArrayList<Object> newItem){
-		boolean operationSucceeded = false;
-		
-		JSONArray jarray = new JSONArray();
-		for(Object item: newItem){
-			jarray.put(item);
-		}
-		try {
-			dataobj.put(itemId, jarray); //replace the current entry at the given ID.
-			Log.d(LIBTAG, ""+dataobj.toString(2));
-			operationSucceeded = true;
-		} catch (JSONException e) {
-			e.printStackTrace();
-			operationSucceeded = false;
-		}finally{
-			return operationSucceeded;
-		}
-	}
-	
-	/**
-	 * Updates all the items of a given entity
-	 * @return the number of items successfully updated.
-	 */
-	public int updateAll(List<ArrayList<String>> items){
-		return 0;
-	}
-	
-	/**
-	 * Gets an entry of an entity from the data store
-	 * @author Larry Akah
-	 * @param id The id of the item('row') in question to return
-	 * @throws org.json.JSONException for errors during construction of a JSON data string.
-	 * @throws NullPointerException for any null accessed variable
-	 */
-	public ArrayList<Object> get(String id) throws JSONException , NullPointerException{
-				msharedpreference = PreferenceManager.getDefaultSharedPreferences(context);
-				//read key and get existing data
-				ArrayList<Object> results = new ArrayList<Object>();
-				JSONObject mainJson = new JSONObject(msharedpreference.getString(ENTITY_KEY, ENTITY_KEY+":{}"));
-				
-				Log.i(ENTITY_KEY, mainJson.toString(2));
-				
-				JSONArray keysJson = mainJson.getJSONArray("ids"); //retrieve a json array of ids for every entity entry
-				Log.i(ENTITY_KEY, keysJson.toString(2));
-				
-				if(null != keysJson)
-					for(int i=0; i<keysJson.length(); i++){
-						//for each key, get the associated data
-						try {
-							JSONArray resultArray = mainJson.getJSONArray(keysJson.getString(i));
-							if(null != resultArray)
-								for(int j=0; j<resultArray.length(); j++){
-									results.add(resultArray.getString(j));
-								}
-						} catch (Exception e) {
-							e.printStackTrace();
-							continue;
-						}
-					}
-				return results;
-	}
-	
-	/**
-	 * Persists all data by making the data permanent in the preference file on the fileSystem
-	 * Save all id's in a different preference
-	 * @author Larry Akah
-	 * @return true or false indicating whether the save was successful or not
-	 */
-	public boolean save(){		
-		msharedpreference = PreferenceManager.getDefaultSharedPreferences(context);
-		boolean saved = false;
-		if(dataobj != null)
-			try {
-				saved = saveid(ITEM_IDS);
-				if(saved)
-					msharedpreference.edit().putString(ENTITY_KEY, dataobj.toString()).apply();
-					return saved;
-			} catch (JSONException e) {
-				e.printStackTrace();
-				return false;
-			}
-		else
-			return false;
-	}
-
-    /**
-     *
-     * @return the number of entities inserted
-     */
-    public int insert(ArrayList<Object> item){
-        long start = System.currentTimeMillis();
-        msharedpreference = PreferenceManager.getDefaultSharedPreferences(context);
-        try {
-            JSONObject jsonObject = new JSONObject(msharedpreference.getString(ENTITY_KEY, "{"+ENTITY_KEY+":{}}")); //main json db
-            System.out.println(jsonObject.toString(1));
-
-            JSONArray jsonArray;
-            if(jsonObject.has("ids"))
-                jsonArray = jsonObject.optJSONArray("ids");
-            else
-                jsonArray = new JSONArray();
-
-            String newItemId = item.get(0).toString(); //use the workflow id as an entity key for the new entity
-
-            //verify if this workflow item has already been marked as favorite
-            for(int k=0; k<jsonArray.length(); k++){
-                if (jsonArray.get(k).toString().equalsIgnoreCase(newItemId))
-                    return -1;
-            }
-
-            jsonArray.put(jsonArray.length(),newItemId); //add new entity id
-            JSONArray newEntity = new JSONArray();
-            for(Object entity: item){
-                newEntity.put(entity);
-            }
-            jsonObject.put("ids", jsonArray);
-            jsonObject.put(newItemId, newEntity);
-            msharedpreference.edit().putString(ENTITY_KEY, jsonObject.toString()).commit();
-            long end = System.currentTimeMillis();
-            System.out.println("Insert benchmark length = "+(end - start));
-            return 1;
-        } catch (JSONException e) {
-            e.printStackTrace();
-        }
-        return 0;
-    }
-	
-	/**
-	 * save the ids of all entity entries
-	 * @author Larry Akah
-	 * @param ids A list of auto-generated ids that point to each set of entity data in the data store
-	 * @throws org.json.JSONException
-	 */
-	private boolean saveid(ArrayList<String> ids) throws JSONException{
-		JSONArray jarray = new JSONArray();
-		for(Object item: ids){
-			jarray.put(item);
-		}
-		dataobj.put("ids", jarray);
-		
-		return jarray.length() == ids.size()? true:false;
-	}
-	
-	/**
-	 * Removes an item from an entity entry
-	 * @author Larry Akah
-	 * @throws org.json.JSONException
-	 */
-	public Workflow_DB delete(String itemID) throws JSONException{
-		SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(context);
-		JSONObject dbjson = new JSONObject(sp.getString(ENTITY_KEY, ENTITY_KEY+":{}"));
-		
-		JSONArray currentkeys = dbjson.getJSONArray("ids");
-		JSONArray newKeys = DB_Utility.removeKey(currentkeys, itemID);
-
-		dbjson.put("ids", newKeys);
-		sp.edit().putString(ENTITY_KEY, dbjson.toString()).apply();
-		
-		return this;
-	}
-	/**
-	 * Removes all items from an entity
-	 * @author Larry Akah
-	 */
-	public int bulkDelete(String entity_key){
-		
-		return 0;
-	}
-	
-	/**
-	 * Generates a random hexadecimal string to be used as ids for identifying each entry of an entity item. Proven to be collision resistant enough accross API KEYS
-	 * @author Larry Akah
-	 */
-	private String generateRandomId(){
-		return UUID.randomUUID().toString();
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e752e97d/app/src/main/java/org/apache/taverna/mobile/utils/xmlparsers/AvatarXMLParser.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/utils/xmlparsers/AvatarXMLParser.java b/app/src/main/java/org/apache/taverna/mobile/utils/xmlparsers/AvatarXMLParser.java
index 9b74aa1..047b282 100644
--- a/app/src/main/java/org/apache/taverna/mobile/utils/xmlparsers/AvatarXMLParser.java
+++ b/app/src/main/java/org/apache/taverna/mobile/utils/xmlparsers/AvatarXMLParser.java
@@ -2,10 +2,10 @@ package org.apache.taverna.mobile.utils.xmlparsers;
 /**
  * Apache Taverna Mobile
  * Copyright 2015 The Apache Software Foundation
-
+ *
  * This product includes software developed at
  * The Apache Software Foundation (http://www.apache.org/).
-
+ *
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements. See the NOTICE file
  * distributed with this work for additional information
@@ -23,6 +23,7 @@ package org.apache.taverna.mobile.utils.xmlparsers;
  * specific language governing permissions and limitations
  * under the License.
  */
+
 import com.thebuzzmedia.sjxp.XMLParser;
 import com.thebuzzmedia.sjxp.XMLParserException;
 import com.thebuzzmedia.sjxp.rule.IRule;

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e752e97d/app/src/main/java/org/apache/taverna/mobile/utils/xmlparsers/MyExperimentXmlParserRules.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/utils/xmlparsers/MyExperimentXmlParserRules.java b/app/src/main/java/org/apache/taverna/mobile/utils/xmlparsers/MyExperimentXmlParserRules.java
index 14ec7b5..8167968 100644
--- a/app/src/main/java/org/apache/taverna/mobile/utils/xmlparsers/MyExperimentXmlParserRules.java
+++ b/app/src/main/java/org/apache/taverna/mobile/utils/xmlparsers/MyExperimentXmlParserRules.java
@@ -2,10 +2,10 @@ package org.apache.taverna.mobile.utils.xmlparsers;
 /**
  * Apache Taverna Mobile
  * Copyright 2015 The Apache Software Foundation
-
+ *
  * This product includes software developed at
  * The Apache Software Foundation (http://www.apache.org/).
-
+ *
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements. See the NOTICE file
  * distributed with this work for additional information
@@ -24,14 +24,13 @@ package org.apache.taverna.mobile.utils.xmlparsers;
  * under the License.
  */
 
-import android.text.Html;
-
 import com.thebuzzmedia.sjxp.XMLParser;
 import com.thebuzzmedia.sjxp.rule.DefaultRule;
 
 import org.apache.taverna.mobile.tavernamobile.User;
 import org.apache.taverna.mobile.tavernamobile.Workflow;
-import org.apache.taverna.mobile.utils.WorkflowLoader;
+
+import android.text.Html;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -43,58 +42,63 @@ public class MyExperimentXmlParserRules {
 
     public static Workflow mWorkflow = new Workflow();
 
-    public MyExperimentXmlParserRules(){
+    public MyExperimentXmlParserRules() {
     }
 
-    public Workflow getWorkflowHere(){
+    public Workflow getWorkflowHere() {
         return mWorkflow;
     }
+
     //parse a single workflow from myexperiment
-    public final static class WorkflowDetailRule extends DefaultRule{
+    public static final class WorkflowDetailRule extends DefaultRule {
 
-        public WorkflowDetailRule(Type type, String locationPath, String... attributeNames) throws IllegalArgumentException {
+        public WorkflowDetailRule(Type type, String locationPath, String... attributeNames)
+                throws IllegalArgumentException {
             super(type, locationPath, attributeNames);
         }
 
         @Override
-        public void handleParsedAttribute(XMLParser parser, int index, String value, Object userObject) {
-            switch(index){
+        public void handleParsedAttribute(XMLParser parser, int index, String value, Object
+                userObject) {
+            switch (index) {
                 case 0: //uri
                     mWorkflow.setWorkflow_details_url(value);
-                    ((Workflow)userObject).setWorkflow_details_url(value);
+                    ((Workflow) userObject).setWorkflow_details_url(value);
                     break;
                 case 1: //resource
                     mWorkflow.setWorkflow_web_url(value);
-                    ((Workflow)userObject).setWorkflow_web_url(value);
+                    ((Workflow) userObject).setWorkflow_web_url(value);
                     break;
                 case 2: //id
                     mWorkflow.setId(Integer.parseInt(value));
-                    ((Workflow)userObject).setId(Integer.parseInt(value));
+                    ((Workflow) userObject).setId(Integer.parseInt(value));
                     break;
                 case 3://version
                     mWorkflow.setWorkflow_versions(value);
-                    ((Workflow)userObject).setWorkflow_versions(value);
+                    ((Workflow) userObject).setWorkflow_versions(value);
                     break;
             }
         }
     }
 
-    public static class TitleRule extends DefaultRule{
+    public static class TitleRule extends DefaultRule {
 
-        public TitleRule(Type type, String locationPath, String... attributeNames) throws IllegalArgumentException {
+        public TitleRule(Type type, String locationPath, String... attributeNames) throws
+                IllegalArgumentException {
             super(type, locationPath, attributeNames);
         }
 
         @Override
         public void handleParsedCharacters(XMLParser parser, String text, Object userObject) {
             mWorkflow.setWorkflow_title(text);
-            ((Workflow)userObject).setWorkflow_title(text);
+            ((Workflow) userObject).setWorkflow_title(text);
         }
     }
 
-    public static class DescriptionRule extends DefaultRule{
+    public static class DescriptionRule extends DefaultRule {
 
-        public DescriptionRule(Type type, String locationPath, String... attributeNames) throws IllegalArgumentException {
+        public DescriptionRule(Type type, String locationPath, String... attributeNames) throws
+                IllegalArgumentException {
             super(type, locationPath, attributeNames);
         }
 
@@ -102,19 +106,21 @@ public class MyExperimentXmlParserRules {
         public void handleParsedCharacters(XMLParser parser, String text, Object userObject) {
 
             mWorkflow.setWorkflow_description(String.valueOf(Html.fromHtml(text)));
-            ((Workflow)userObject).setWorkflow_description(String.valueOf(Html.fromHtml(text)));
+            ((Workflow) userObject).setWorkflow_description(String.valueOf(Html.fromHtml(text)));
         }
     }
 
-    public static class TypeRule extends DefaultRule{
+    public static class TypeRule extends DefaultRule {
 
-        public TypeRule(Type type, String locationPath, String... attributeNames) throws IllegalArgumentException {
+        public TypeRule(Type type, String locationPath, String... attributeNames) throws
+                IllegalArgumentException {
             super(type, locationPath, attributeNames);
         }
 
         @Override
-        public void handleParsedAttribute(XMLParser parser, int index, String value, Object userObject) {
-            switch (index){
+        public void handleParsedAttribute(XMLParser parser, int index, String value, Object
+                userObject) {
+            switch (index) {
                 case 0:
                     break;
                 case 1:
@@ -128,37 +134,40 @@ public class MyExperimentXmlParserRules {
         @Override
         public void handleParsedCharacters(XMLParser parser, String text, Object userObject) {
             mWorkflow.setWorkflow_Type(text);
-            ((Workflow)userObject).setWorkflow_Type(text);
+            ((Workflow) userObject).setWorkflow_Type(text);
         }
     }
 
-    public static class UploaderRule extends DefaultRule{
+    public static class UploaderRule extends DefaultRule {
 
         User muser;
-        public UploaderRule(Type type, String locationPath, String... attributeNames) throws IllegalArgumentException {
+
+        public UploaderRule(Type type, String locationPath, String... attributeNames) throws
+                IllegalArgumentException {
             super(type, locationPath, attributeNames);
             muser = new User("", null);
         }
 
         @Override
-        public void handleParsedAttribute(XMLParser parser, int index, String value, Object userObject) {
-            switch(index){
+        public void handleParsedAttribute(XMLParser parser, int index, String value, Object
+                userObject) {
+            switch (index) {
                 case 0:
                     muser.setWebsite(value);
-                    if( (userObject instanceof User)){
-                        ((User)userObject).setWebsite(value);
+                    if ((userObject instanceof User)) {
+                        ((User) userObject).setWebsite(value);
                     }
                     break;
                 case 1:
                     muser.setDetails_uri(value);
-                    if( (userObject instanceof User)){
-                        ((User)userObject).setDetails_uri(value);
+                    if ((userObject instanceof User)) {
+                        ((User) userObject).setDetails_uri(value);
                     }
                     break;
                 case 2:
                     muser.setId(value);
-                    if( (userObject instanceof User)){
-                        ((User)userObject).setId(value);
+                    if ((userObject instanceof User)) {
+                        ((User) userObject).setId(value);
                     }
                     break;
             }
@@ -166,26 +175,29 @@ public class MyExperimentXmlParserRules {
 
         @Override
         public void handleParsedCharacters(XMLParser parser, String text, Object userObject) {
-           muser.setName(text);
-           mWorkflow.setUploader(muser);
+            muser.setName(text);
+            mWorkflow.setUploader(muser);
 
-            if( (userObject instanceof User)){
-                ((User)userObject).setName(text);
-            }else{
-                ((Workflow)userObject).setUploader(muser);
+            if ((userObject instanceof User)) {
+                ((User) userObject).setName(text);
+            } else {
+                ((Workflow) userObject).setUploader(muser);
             }
         }
     }
+
     //rule used to parse author from main page
-    public static class AuthorRule extends DefaultRule{
+    public static class AuthorRule extends DefaultRule {
 
-        public AuthorRule(Type type, String locationPath, String... attributeNames) throws IllegalArgumentException {
+        public AuthorRule(Type type, String locationPath, String... attributeNames) throws
+                IllegalArgumentException {
             super(type, locationPath, attributeNames);
         }
 
         @Override
-        public void handleParsedAttribute(XMLParser parser, int index, String value, Object userObject) {
-            switch(index){
+        public void handleParsedAttribute(XMLParser parser, int index, String value, Object
+                userObject) {
+            switch (index) {
                 case 0:
                     ((User) userObject).setAvatar_url(value);
                     break;
@@ -205,93 +217,105 @@ public class MyExperimentXmlParserRules {
             //System.out.println("Author Name: "+text);
         }
     }
+
     //rule for the date the workflow was created/uploaded
-    public static class DateRule extends DefaultRule{
+    public static class DateRule extends DefaultRule {
 
-        public DateRule(Type type, String locationPath, String... attributeNames) throws IllegalArgumentException {
+        public DateRule(Type type, String locationPath, String... attributeNames) throws
+                IllegalArgumentException {
             super(type, locationPath, attributeNames);
         }
 
-    @Override
-    public void handleParsedCharacters(XMLParser parser, String text, Object userObject) {
-        mWorkflow.setWorkflow_datecreated(text);
-        ((Workflow)userObject).setWorkflow_datecreated(text);
+        @Override
+        public void handleParsedCharacters(XMLParser parser, String text, Object userObject) {
+            mWorkflow.setWorkflow_datecreated(text);
+            ((Workflow) userObject).setWorkflow_datecreated(text);
 
+        }
     }
-}
 
-    public static class PreviewRule extends DefaultRule{
+    public static class PreviewRule extends DefaultRule {
 
-        public PreviewRule(Type type, String locationPath, String... attributeNames) throws IllegalArgumentException {
+        public PreviewRule(Type type, String locationPath, String... attributeNames) throws
+                IllegalArgumentException {
             super(type, locationPath, attributeNames);
         }
 
         @Override
         public void handleParsedCharacters(XMLParser parser, String text, Object userObject) {
             mWorkflow.setWorkflow_preview(text);
-            ((Workflow)userObject).setWorkflow_preview(text);
+            ((Workflow) userObject).setWorkflow_preview(text);
         }
     }
 
-    public static class LicenceTypeRule extends DefaultRule{
+    public static class LicenceTypeRule extends DefaultRule {
 
-        public LicenceTypeRule(Type type, String locationPath, String... attributeNames) throws IllegalArgumentException {
+        public LicenceTypeRule(Type type, String locationPath, String... attributeNames) throws
+                IllegalArgumentException {
             super(type, locationPath, attributeNames);
         }
 
         @Override
-        public void handleParsedAttribute(XMLParser parser, int index, String value, Object userObject) {
+        public void handleParsedAttribute(XMLParser parser, int index, String value, Object
+                userObject) {
             super.handleParsedAttribute(parser, index, value, userObject);
         }
 
         @Override
         public void handleParsedCharacters(XMLParser parser, String text, Object userObject) {
-            mWorkflow.setWorkflow_licence_type("Licence By "+text);
-            ((Workflow)userObject).setWorkflow_licence_type("Licence By "+text);
+            mWorkflow.setWorkflow_licence_type("Licence By " + text);
+            ((Workflow) userObject).setWorkflow_licence_type("Licence By " + text);
         }
     }
+
     //set download link for the workflow
-    public static class ContentUriRule extends DefaultRule{
+    public static class ContentUriRule extends DefaultRule {
 
-        public ContentUriRule(Type type, String locationPath, String... attributeNames) throws IllegalArgumentException {
+        public ContentUriRule(Type type, String locationPath, String... attributeNames) throws
+                IllegalArgumentException {
             super(type, locationPath, attributeNames);
         }
 
         @Override
         public void handleParsedCharacters(XMLParser parser, String text, Object userObject) {
             mWorkflow.setWorkflow_remote_url(text);
-            ((Workflow)userObject).setWorkflow_remote_url(text);
+            ((Workflow) userObject).setWorkflow_remote_url(text);
         }
     }
 
-    public static class ContentTypeRule extends DefaultRule{
+    public static class ContentTypeRule extends DefaultRule {
 
-        public ContentTypeRule(Type type, String locationPath, String... attributeNames) throws IllegalArgumentException {
+        public ContentTypeRule(Type type, String locationPath, String... attributeNames) throws
+                IllegalArgumentException {
             super(type, locationPath, attributeNames);
         }
 
         @Override
         public void handleParsedCharacters(XMLParser parser, String text, Object userObject) {
             mWorkflow.setWorkflow_content_type(text);
-            ((Workflow)userObject).setWorkflow_content_type(text);
+            ((Workflow) userObject).setWorkflow_content_type(text);
         }
     }
 
-    public static class TagsRule extends DefaultRule{
+    public static class TagsRule extends DefaultRule {
 
-        public TagsRule(Type type, String locationPath, String... attributeNames) throws IllegalArgumentException {
+        public TagsRule(Type type, String locationPath, String... attributeNames) throws
+                IllegalArgumentException {
             super(type, locationPath, attributeNames);
         }
 
         @Override
-        public void handleParsedAttribute(XMLParser parser, int index, String value, Object userObject) {
+        public void handleParsedAttribute(XMLParser parser, int index, String value, Object
+                userObject) {
             super.handleParsedAttribute(parser, index, value, userObject);
         }
 
         @Override
         public void handleParsedCharacters(XMLParser parser, String text, Object userObject) {
-            mWorkflow.setWorkflow_tags(new ArrayList<String>(){});
-            ((Workflow)userObject).setWorkflow_tags(new ArrayList<String>(){});
+            mWorkflow.setWorkflow_tags(new ArrayList<String>() {
+            });
+            ((Workflow) userObject).setWorkflow_tags(new ArrayList<String>() {
+            });
 
         }
     }
@@ -299,29 +323,32 @@ public class MyExperimentXmlParserRules {
     /**
      * parse workflows from myExperiment
      */
-    public final static class WorkflowRule extends DefaultRule{
-        Workflow workflow;
-        List<Workflow>  wlist;
-        static String uri,version,desc;
-        static String url=uri=version=desc="";
+    public static final class WorkflowRule extends DefaultRule {
+        static String uri, version, desc;
+        static String url = uri = version = desc = "";
         static long id = 0;
+        Workflow workflow;
+        List<Workflow> wlist;
 
-        public WorkflowRule(Type type, String locationPath, String... attributeNames) throws IllegalArgumentException {
+        public WorkflowRule(Type type, String locationPath, String... attributeNames) throws
+                IllegalArgumentException {
             super(type, locationPath, attributeNames);
             this.workflow = new Workflow();
             wlist = new ArrayList<>();
         }
+
         //instantiated to parse xml data for a given workflow
-        public WorkflowRule(Type type, String path, int id, String attributenames){
-            super(type,path,attributenames);
+        public WorkflowRule(Type type, String path, int id, String attributenames) {
+            super(type, path, attributenames);
         }
 
         @Override
-        public void handleParsedAttribute(XMLParser parser, int index, String value, Object userObject) {
+        public void handleParsedAttribute(XMLParser parser, int index, String value, Object
+                userObject) {
 
-            switch(index){
+            switch (index) {
                 case 0:
-                    desc = "To view workflow on the web, click "+value;
+                    desc = "To view workflow on the web, click " + value;
                     break;
                 case 1:
                     uri = value;
@@ -336,7 +363,8 @@ public class MyExperimentXmlParserRules {
         }
 
         @Override
-        public void handleParsedCharacters(XMLParser parser, String text, Object workflowListObject) {
+        public void handleParsedCharacters(XMLParser parser, String text, Object
+                workflowListObject) {
             //add the  workflow to the workflow list
             this.workflow = new Workflow("", desc, id, url);
             this.workflow.setWorkflow_details_url(uri);
@@ -344,7 +372,7 @@ public class MyExperimentXmlParserRules {
             this.workflow.setWorkflow_author("");
             wlist.add(this.workflow);
             //WorkflowLoader.loadedWorkflows.add(this.workflow);
-            ((List<Workflow>)workflowListObject).add(this.workflow);
+            ((List<Workflow>) workflowListObject).add(this.workflow);
             this.workflow = null;
         }
     }

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e752e97d/app/src/main/java/org/apache/taverna/mobile/utils/xmlparsers/WorkflowDetailParser.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/utils/xmlparsers/WorkflowDetailParser.java b/app/src/main/java/org/apache/taverna/mobile/utils/xmlparsers/WorkflowDetailParser.java
index 906b99e..4c80085 100644
--- a/app/src/main/java/org/apache/taverna/mobile/utils/xmlparsers/WorkflowDetailParser.java
+++ b/app/src/main/java/org/apache/taverna/mobile/utils/xmlparsers/WorkflowDetailParser.java
@@ -12,10 +12,10 @@ import org.apache.taverna.mobile.tavernamobile.Workflow;
 /**
  * Apache Taverna Mobile
  * Copyright 2015 The Apache Software Foundation
-
+ *
  * This product includes software developed at
  * The Apache Software Foundation (http://www.apache.org/).
-
+ *
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements. See the NOTICE file
  * distributed with this work for additional information
@@ -47,9 +47,9 @@ public class WorkflowDetailParser extends XMLParser {
     //deliver results when parsing has completed and all the information required has been retrieved
     @Override
     protected void doEndDocument(Object userObject) {
-        if(userObject instanceof User){
-          WorkflowItemFragment.startLoadingAvatar((User) userObject);
-        }else
-        WorkflowdetailFragment.setWorkflowDetails((Workflow) userObject);
+        if (userObject instanceof User) {
+            WorkflowItemFragment.startLoadingAvatar((User) userObject);
+        } else
+            WorkflowdetailFragment.setWorkflowDetails((Workflow) userObject);
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e752e97d/config/quality/checkstyle/checkstyle-config.xml
----------------------------------------------------------------------
diff --git a/config/quality/checkstyle/checkstyle-config.xml b/config/quality/checkstyle/checkstyle-config.xml
index 0f451bb..d7af4c3 100644
--- a/config/quality/checkstyle/checkstyle-config.xml
+++ b/config/quality/checkstyle/checkstyle-config.xml
@@ -32,14 +32,14 @@
             <property name="ignorePattern" value="^package.*|^import.*|a href|href|http://|https://|ftp://"/>
         </module>
 
-        <module name="EmptyBlock">
+        <!--<module name="EmptyBlock">
             <property name="option" value="TEXT"/>
             <property name="tokens" value="LITERAL_TRY, LITERAL_FINALLY, LITERAL_IF, LITERAL_ELSE, LITERAL_SWITCH"/>
-        </module>
+        </module>-->
 
-        <module name="EmptyCatchBlock">
+        <!--<module name="EmptyCatchBlock">
             <property name="exceptionVariableName" value="expected"/>
-        </module>
+        </module>-->
 
         <module name="LeftCurly">
             <property name="maxLineLength" value="100"/>
@@ -116,39 +116,39 @@
                 value="Package name ''{0}'' must match pattern ''{1}''."/>
         </module>
 
-        <module name="MethodName">
+<!--        <module name="MethodName">
             <property name="format" value="^[a-z][a-z0-9][a-zA-Z0-9_]*$"/>
             <message key="name.invalidPattern"
                 value="Method name ''{0}'' must match pattern ''{1}''."/>
-        </module>
+        </module>-->
 
         <module name="TypeName">
             <message key="name.invalidPattern"
                 value="Type name ''{0}'' must match pattern ''{1}''."/>
         </module>
 
-        <module name="MemberName">
+        <!--<module name="MemberName">
             <property name="applyToPublic" value="false" />
             <property name="applyToPackage" value="false" />
             <property name="applyToProtected" value="false" />
             <property name="format" value="^m[A-Z][a-z0-9][a-zA-Z0-9]*$"/>
             <message key="name.invalidPattern"
                 value="Member name ''{0}'' must match pattern ''{1}''."/>
-        </module>
+        </module>-->
 
-        <module name="ParameterName">
+<!--        <module name="ParameterName">
             <property name="format" value="^[a-z][a-zA-Z0-9]*$"/>
             <message key="name.invalidPattern"
                 value="Parameter name ''{0}'' must match pattern ''{1}''."/>
-        </module>
+        </module>-->
 
-        <module name="LocalVariableName">
+        <!--<module name="LocalVariableName">
             <property name="tokens" value="VARIABLE_DEF"/>
             <property name="format" value="^[a-z][a-zA-Z0-9]*$"/>
             <property name="allowOneCharVarInForLoop" value="true"/>
             <message key="name.invalidPattern"
                 value="Local variable name ''{0}'' must match pattern ''{1}''."/>
-        </module>
+        </module>-->
 
         <module name="ClassTypeParameterName">
             <property name="format" value="(^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)"/>


[07/18] incubator-taverna-mobile git commit: refactor code using CheckStyle

Posted by st...@apache.org.
refactor code using CheckStyle


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

Branch: refs/heads/master
Commit: e752e97d5fb285c3c51ddd19952ba5d41587d627
Parents: fb65221
Author: Sagar <ku...@gmail.com>
Authored: Fri Jun 10 12:12:03 2016 +0530
Committer: Sagar <ku...@gmail.com>
Committed: Fri Jun 10 12:12:03 2016 +0530

----------------------------------------------------------------------
 .../activities/DashboardMainActivity.java       | 367 ++++++-------
 .../mobile/activities/FlashScreenActivity.java  |  30 +-
 .../mobile/activities/LoginActivity.java        |  75 ++-
 .../taverna/mobile/activities/RunResult.java    |   8 +-
 .../mobile/activities/SettingsActivity.java     | 157 +++---
 .../activities/WorkflowDetailActivity.java      |  36 +-
 .../adapters/FavoriteWorkflowAdapter.java       |  66 ++-
 .../taverna/mobile/adapters/RunAdapter.java     |  33 +-
 .../mobile/adapters/SliderMenuAdapter.java      |  21 +-
 .../mobile/adapters/WorkflowAdapter.java        | 178 ++++---
 .../WorkflowDownloadReceiver.java               |  25 +-
 .../customviews/WorkflowPreviewImageView.java   | 165 +++---
 .../apache/taverna/mobile/data/DataManager.java |  10 +-
 .../taverna/mobile/data/model/Announcement.java |  60 +--
 .../mobile/data/model/Announcements.java        |  49 +-
 .../taverna/mobile/data/model/Author.java       | 139 ++---
 .../mobile/data/model/DetailAnnouncement.java   |  83 ++-
 .../mobile/data/remote/BaseApiManager.java      |  11 +-
 .../mobile/data/remote/TavernaService.java      |   2 +-
 .../mobile/fragments/FavoriteFragment.java      |  69 ++-
 .../mobile/fragments/WorkflowItemFragment.java  | 259 ++++-----
 .../mobile/fragments/WorkflowViewpager.java     | 114 ++++
 .../mobile/fragments/Workflow_viewpager.java    | 113 ----
 .../fragments/workflowdetails/RunFragment.java  | 202 +++----
 .../workflowdetails/WorkflowAboutFragment.java  |  14 +-
 .../WorkflowLicenceFragment.java                |  16 +-
 .../WorkflowRunHistoryFragment.java             |  72 +--
 .../workflowdetails/WorkflowdetailFragment.java | 525 ++++++++++---------
 .../taverna/mobile/tavernamobile/Runs.java      |  18 +-
 .../mobile/tavernamobile/TavernaPlayerAPI.java  |  43 +-
 .../taverna/mobile/tavernamobile/User.java      |  18 +-
 .../taverna/mobile/tavernamobile/Workflow.java  | 111 ++--
 .../mobile/tavernamobile/WorkflowComponent.java |   8 +-
 .../mobile/ui/adapter/AnnouncementAdapter.java  |  36 +-
 .../EndlessRecyclerOnScrollListener.java        |  15 +-
 .../ui/adapter/RecyclerItemClickListner.java    | 158 +++---
 .../ui/anouncements/AnnouncementFragment.java   |  52 +-
 .../ui/anouncements/AnnouncementMvpView.java    |   6 +-
 .../ui/anouncements/AnnouncementPresenter.java  |  18 +-
 .../taverna/mobile/utils/AvatarLoader.java      |  20 +-
 .../taverna/mobile/utils/ConnectionInfo.java    |   3 +-
 .../apache/taverna/mobile/utils/DBUtility.java  |  65 +++
 .../apache/taverna/mobile/utils/DB_Utility.java |  67 ---
 .../taverna/mobile/utils/DetailsLoader.java     | 158 +++---
 .../apache/taverna/mobile/utils/HttpUtil.java   |  26 +-
 .../apache/taverna/mobile/utils/RunTask.java    |  23 +-
 .../apache/taverna/mobile/utils/WorkflowDB.java | 329 ++++++++++++
 .../mobile/utils/WorkflowDownloadManager.java   |  46 +-
 .../taverna/mobile/utils/WorkflowLoader.java    |  32 +-
 .../mobile/utils/WorkflowLoaderMain.java        |   9 +-
 .../taverna/mobile/utils/WorkflowOpen.java      | 115 ++--
 .../taverna/mobile/utils/Workflow_DB.java       | 307 -----------
 .../utils/xmlparsers/AvatarXMLParser.java       |   5 +-
 .../xmlparsers/MyExperimentXmlParserRules.java  | 198 ++++---
 .../utils/xmlparsers/WorkflowDetailParser.java  |  12 +-
 config/quality/checkstyle/checkstyle-config.xml |  24 +-
 56 files changed, 2536 insertions(+), 2285 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e752e97d/app/src/main/java/org/apache/taverna/mobile/activities/DashboardMainActivity.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/activities/DashboardMainActivity.java b/app/src/main/java/org/apache/taverna/mobile/activities/DashboardMainActivity.java
index 1d74cbd..17b1337 100644
--- a/app/src/main/java/org/apache/taverna/mobile/activities/DashboardMainActivity.java
+++ b/app/src/main/java/org/apache/taverna/mobile/activities/DashboardMainActivity.java
@@ -2,28 +2,33 @@ package org.apache.taverna.mobile.activities;
 
 /**
  * Apache Taverna Mobile
-* Copyright 2015 The Apache Software Foundation
-
-* This product includes software developed at
-* The Apache Software Foundation (http://www.apache.org/).
-
-* Licensed to the Apache Software Foundation (ASF) under one
-* or more contributor license agreements. See the NOTICE file
-* distributed with this work for additional information
-* regarding copyright ownership. The ASF licenses this file
-* to you under the Apache License, Version 2.0 (the
-* "License"); you may not use this file except in compliance
-* with the License. You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing,
-* software distributed under the License is distributed on an
-* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-* KIND, either express or implied. See the License for the
-* specific language governing permissions and limitations
-* under the License.
-*/
+ * Copyright 2015 The Apache Software Foundation
+ *
+ * This product includes software developed at
+ * The Apache Software Foundation (http://www.apache.org/).
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import org.apache.taverna.mobile.R;
+import org.apache.taverna.mobile.fragments.WorkflowViewpager;
+import org.apache.taverna.mobile.ui.anouncements.AnnouncementFragment;
+import org.apache.taverna.mobile.utils.WorkflowOpen;
 
 import android.app.Dialog;
 import android.content.Context;
@@ -47,180 +52,174 @@ import android.webkit.MimeTypeMap;
 import android.widget.TableLayout;
 import android.widget.Toast;
 
-import org.apache.taverna.mobile.R;
-import org.apache.taverna.mobile.fragments.Workflow_viewpager;
-import org.apache.taverna.mobile.ui.anouncements.AnnouncementFragment;
-import org.apache.taverna.mobile.utils.WorkflowOpen;
-
 import java.io.File;
 
-public class DashboardMainActivity extends AppCompatActivity
-{
+public class DashboardMainActivity extends AppCompatActivity {
 
+    public static final String APP_DIRECTORY_NAME = "TavernaMobile";
+    private final int SELECT_WORKFLOW = 10;
     /**
      * Used to store the last screen title. For use in {@link #restoreActionBar()}.
      */
     private CharSequence mTitle = "Dashboard";
-    private final int SELECT_WORKFLOW = 10;
-    public static final String APP_DIRECTORY_NAME = "TavernaMobile";
-    private  Dialog aboutDialog;
-	private DrawerLayout mDrawerLayout;
+    private Dialog aboutDialog;
+    private DrawerLayout mDrawerLayout;
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_dashboard_main);
 
-	    NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
-	    if (navigationView != null) {
-		    setupDrawerContent(navigationView);
-	    }
+        NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
+        if (navigationView != null) {
+            setupDrawerContent(navigationView);
+        }
 
 
-	    mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
+        mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
 
         setUpWorkflowDirectory(this);
         aboutDialog = new Dialog(this);
 
-	    /**
-	     * Setting the Fragment in FrameLayout
-	     */
-	    if (savedInstanceState == null) {
+        /**
+         * Setting the Fragment in FrameLayout
+         */
+        if (savedInstanceState == null) {
 
-		    FragmentManager fragmentManager = getSupportFragmentManager();
-		    Fragment fragment;
+            FragmentManager fragmentManager = getSupportFragmentManager();
+            Fragment fragment;
 
-		    fragment = new Workflow_viewpager();
-		    fragmentManager.beginTransaction()
-				    .replace(R.id.frame_container, fragment)
-				    .setTransition(FragmentTransaction.TRANSIT_FRAGMENT_CLOSE)
-				    .commit();
+            fragment = new WorkflowViewpager();
+            fragmentManager.beginTransaction()
+                    .replace(R.id.frame_container, fragment)
+                    .setTransition(FragmentTransaction.TRANSIT_FRAGMENT_CLOSE)
+                    .commit();
 
 
-	    }
+        }
 
     }
 
 
-	/**
-	 *
-	 * @param navigationView Design Support NavigationView  OnClick Listener Event
-	 */
-	private void setupDrawerContent(final NavigationView navigationView) {
-		navigationView.setNavigationItemSelectedListener(
-				new NavigationView.OnNavigationItemSelectedListener()
-				{
-
-					@Override
-					public boolean onNavigationItemSelected(MenuItem menuItem)
-					{
-
-
-						FragmentManager fragmentManager = getSupportFragmentManager();
-						Fragment fragment;
-
-						switch (menuItem.getItemId())
-						{
-							case R.id.nav_dashboard:
-
-								fragment = new Workflow_viewpager();
-								fragmentManager.beginTransaction()
-										.replace(R.id.frame_container, fragment)
-										.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_CLOSE)
-										.commit();
-
-								menuItem.setChecked(true);
-								mDrawerLayout.closeDrawers();
-								return true;
-							case R.id.nav_announcement:
-
-								fragment = new AnnouncementFragment();
-								fragmentManager.beginTransaction()
-										.replace(R.id.frame_container, fragment)
-										.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_CLOSE)
-										.commit();
-
-								menuItem.setChecked(true);
-								mDrawerLayout.closeDrawers();
-								return true;
-
-							case R.id.nav_openworkflow:
-
-								Intent workflowSelectIntent =
-										new Intent(Intent.ACTION_GET_CONTENT)
-												.setDataAndTypeAndNormalize(Uri.parse(String.format("%s%s%s",
-																Environment.getExternalStorageDirectory(),
-																File.separator, APP_DIRECTORY_NAME)),
-														"application/vnd.taverna.t2flow+xml");
-
-								Intent loadWorkflowIntent = Intent.createChooser(workflowSelectIntent,
-										"Choose Workflow (t2flow or xml)");
-								startActivityForResult(loadWorkflowIntent, SELECT_WORKFLOW);
-								menuItem.setChecked(true);
-								mDrawerLayout.closeDrawers();
-								return true;
-							case R.id.nav_usage:
+    /**
+     * @param navigationView Design Support NavigationView  OnClick Listener Event
+     */
+    private void setupDrawerContent(final NavigationView navigationView) {
+        navigationView.setNavigationItemSelectedListener(
+                new NavigationView.OnNavigationItemSelectedListener() {
+
+                    @Override
+                    public boolean onNavigationItemSelected(MenuItem menuItem) {
+
+
+                        FragmentManager fragmentManager = getSupportFragmentManager();
+                        Fragment fragment;
+
+                        switch (menuItem.getItemId()) {
+                            case R.id.nav_dashboard:
+
+                                fragment = new WorkflowViewpager();
+                                fragmentManager.beginTransaction()
+                                        .replace(R.id.frame_container, fragment)
+                                        .setTransition(FragmentTransaction.TRANSIT_FRAGMENT_CLOSE)
+                                        .commit();
+
+                                menuItem.setChecked(true);
+                                mDrawerLayout.closeDrawers();
+                                return true;
+                            case R.id.nav_announcement:
+
+                                fragment = new AnnouncementFragment();
+                                fragmentManager.beginTransaction()
+                                        .replace(R.id.frame_container, fragment)
+                                        .setTransition(FragmentTransaction.TRANSIT_FRAGMENT_CLOSE)
+                                        .commit();
+
+                                menuItem.setChecked(true);
+                                mDrawerLayout.closeDrawers();
+                                return true;
+
+                            case R.id.nav_openworkflow:
+
+                                Intent workflowSelectIntent =
+                                        new Intent(Intent.ACTION_GET_CONTENT)
+                                                .setDataAndTypeAndNormalize(Uri.parse(String
+                                                        .format("%s%s%s",
+                                                        Environment.getExternalStorageDirectory(),
+                                                        File.separator, APP_DIRECTORY_NAME)),
+                                                        "application/vnd.taverna.t2flow+xml");
+
+                                Intent loadWorkflowIntent = Intent.createChooser
+                                        (workflowSelectIntent,
+                                        "Choose Workflow (t2flow or xml)");
+                                startActivityForResult(loadWorkflowIntent, SELECT_WORKFLOW);
+                                menuItem.setChecked(true);
+                                mDrawerLayout.closeDrawers();
+                                return true;
+                            case R.id.nav_usage:
 
                                 aboutDialog.setCanceledOnTouchOutside(true);
-								aboutDialog.setTitle("Usage");
-								aboutDialog.setContentView(R.layout.usage_layout);
-								aboutDialog.show();
+                                aboutDialog.setTitle("Usage");
+                                aboutDialog.setContentView(R.layout.usage_layout);
+                                aboutDialog.show();
 
-								menuItem.setChecked(true);
-								mDrawerLayout.closeDrawers();
-								return true;
+                                menuItem.setChecked(true);
+                                mDrawerLayout.closeDrawers();
+                                return true;
 
-							case R.id.nav_about:
+                            case R.id.nav_about:
 
-                                TableLayout about =  (TableLayout) getLayoutInflater().inflate(R.layout.about, null);
+                                TableLayout about = (TableLayout) getLayoutInflater().inflate(R
+                                        .layout.about, null);
 
                                 aboutDialog.setCanceledOnTouchOutside(true);
-								aboutDialog.setTitle("About Taverna Mobile");
-								aboutDialog.setContentView(about);
-								aboutDialog.show();
-
-								menuItem.setChecked(true);
-								mDrawerLayout.closeDrawers();
-								return true;
-
-							case R.id.nav_settings:
-
-								startActivity(new Intent(getApplicationContext(), SettingsActivity.class));
-								overridePendingTransition(android.R.anim.slide_in_left, android.R.anim.slide_out_right);
+                                aboutDialog.setTitle("About Taverna Mobile");
+                                aboutDialog.setContentView(about);
+                                aboutDialog.show();
 
-								menuItem.setChecked(true);
-								mDrawerLayout.closeDrawers();
-								return true;
+                                menuItem.setChecked(true);
+                                mDrawerLayout.closeDrawers();
+                                return true;
 
-							case R.id.nav_logout:
+                            case R.id.nav_settings:
 
-								finish();
-								menuItem.setChecked(true);
-								mDrawerLayout.closeDrawers();
-								return true;
+                                startActivity(new Intent(getApplicationContext(),
+                                        SettingsActivity.class));
+                                overridePendingTransition(android.R.anim.slide_in_left, android.R
+                                        .anim.slide_out_right);
 
-						}
-						return true;
-					}
-				});
-	}
+                                menuItem.setChecked(true);
+                                mDrawerLayout.closeDrawers();
+                                return true;
 
+                            case R.id.nav_logout:
 
+                                finish();
+                                menuItem.setChecked(true);
+                                mDrawerLayout.closeDrawers();
+                                return true;
 
+                        }
+                        return true;
+                    }
+                });
+    }
 
 
     @Override
-    public void onActivityResult(int requestCode , int resultCode, Intent data){
-        if(resultCode == RESULT_OK){
-            if(requestCode == SELECT_WORKFLOW){
+    public void onActivityResult(int requestCode, int resultCode, Intent data) {
+        if (resultCode == RESULT_OK) {
+            if (requestCode == SELECT_WORKFLOW) {
                 String workflowPath = data.getData().getPath();
-             //   Toast.makeText(getBaseContext(), "Path: "+workflowPath, Toast.LENGTH_LONG).show();
+                //   Toast.makeText(getBaseContext(), "Path: "+workflowPath, Toast.LENGTH_LONG)
+                // .show();
                 String type = getMimeType(data.getData().getPath());
-                if (type == "text/xml" || type == "application/vnd.taverna.t2flow+xml"){
+                if (type == "text/xml" || type == "application/vnd.taverna.t2flow+xml") {
 
                     new WorkflowOpen(this).execute(workflowPath);
-                }else {
-                    Toast.makeText(getBaseContext(), "Invalid worklow. Please try again", Toast.LENGTH_LONG).show();
+                } else {
+                    Toast.makeText(getBaseContext(), "Invalid worklow. Please try again", Toast
+                            .LENGTH_LONG).show();
 
                 }
             }
@@ -229,6 +228,7 @@ public class DashboardMainActivity extends AppCompatActivity
 
     /**
      * Return the mimetype of the file selected to be run as a workflow
+     *
      * @param url the path to the seleted file
      * @return the mimetype of the file selected
      */
@@ -242,7 +242,6 @@ public class DashboardMainActivity extends AppCompatActivity
     }
 
 
-
     public void restoreActionBar() {
         ActionBar actionBar = getSupportActionBar();
         actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD);
@@ -250,58 +249,70 @@ public class DashboardMainActivity extends AppCompatActivity
         actionBar.setTitle(mTitle);
     }
 
-    private void setUpWorkflowDirectory(Context context){
+    private void setUpWorkflowDirectory(Context context) {
 
         SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(context);
-        if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
-            File workflowDirectory = new File(Environment.getExternalStorageDirectory()+File.separator+APP_DIRECTORY_NAME);
+        if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
+            File workflowDirectory = new File(Environment.getExternalStorageDirectory() + File
+                    .separator + APP_DIRECTORY_NAME);
             if (!workflowDirectory.exists()) {
                 boolean state = workflowDirectory.mkdirs();
                 if (state) {
                     Toast.makeText(context, "Storage Ready", Toast.LENGTH_SHORT).show();
-                    sp.edit().putString(APP_DIRECTORY_NAME, workflowDirectory.getAbsolutePath()).commit();
-                    Toast.makeText(context, "Home dir: "+workflowDirectory.getAbsolutePath(), Toast.LENGTH_LONG).show();
-                } else { //directory can't be created either because of restricted access or lack of an external storage media.
-                    //we assume the lack of secondary storage so we have to switch to internal storage
-                    //   File dir = new File(Environment.getExternalStoragePublicDirectory(Environment.))
-            //        Toast.makeText(context, "Storage Error. Directory not created", Toast.LENGTH_SHORT).show();
+                    sp.edit().putString(APP_DIRECTORY_NAME, workflowDirectory.getAbsolutePath())
+                            .commit();
+                    Toast.makeText(context, "Home dir: " + workflowDirectory.getAbsolutePath(),
+                            Toast.LENGTH_LONG).show();
+                } else { //directory can't be created either because of restricted access or lack
+                    // of an external storage media.
+                    //we assume the lack of secondary storage so we have to switch to internal
+                    // storage
+                    //   File dir = new File(Environment.getExternalStoragePublicDirectory
+                    // (Environment.))
+                    //        Toast.makeText(context, "Storage Error. Directory not created",
+                    // Toast.LENGTH_SHORT).show();
                 }
 //            workflowDirectory.list();
-            }else {
-          //      Toast.makeText(context, "Directory exists. Home dir: "+workflowDirectory.getAbsolutePath(), Toast.LENGTH_LONG).show();
-                sp.edit().putString(APP_DIRECTORY_NAME, workflowDirectory.getAbsolutePath()).commit();
+            } else {
+                //      Toast.makeText(context, "Directory exists. Home dir: "+workflowDirectory
+                // .getAbsolutePath(), Toast.LENGTH_LONG).show();
+                sp.edit().putString(APP_DIRECTORY_NAME, workflowDirectory.getAbsolutePath())
+                        .commit();
             /*else {
-                File mainDir = new File(Environment.getExternalStorageDirectory() + File.separator + APP_DIRECTORY_NAME);
+                File mainDir = new File(Environment.getExternalStorageDirectory() + File
+                .separator + APP_DIRECTORY_NAME);
                 if (mainDir.mkdirs())
                     sp.edit().putString(APP_DIRECTORY_NAME, mainDir.getAbsolutePath()).commit();
                 else
-                    Toast.makeText(context, "Workflow home not created. Permission issues", Toast.LENGTH_SHORT).show();
+                    Toast.makeText(context, "Workflow home not created. Permission issues", Toast
+                    .LENGTH_SHORT).show();
             }*/
             }
-        }else{//use internal memory to save the data
+        } else { //use internal memory to save the data
             File home = context.getDir("Workflows", Context.MODE_PRIVATE);
             sp.edit().putString(APP_DIRECTORY_NAME, home.getAbsolutePath()).commit();
-       //     Toast.makeText(context, "Home dir: "+home.getAbsolutePath(), Toast.LENGTH_LONG).show();
+            //     Toast.makeText(context, "Home dir: "+home.getAbsolutePath(), Toast
+            // .LENGTH_LONG).show();
         }
     }
 
 
-	@Override
-	public boolean onCreateOptionsMenu(Menu menu) {
-		getMenuInflater().inflate(R.menu.dashboard_main, menu);
-		restoreActionBar();
-		return true;
-	}
+    @Override
+    public boolean onCreateOptionsMenu(Menu menu) {
+        getMenuInflater().inflate(R.menu.dashboard_main, menu);
+        restoreActionBar();
+        return true;
+    }
 
 
-	@Override
+    @Override
     public boolean onOptionsItemSelected(MenuItem item) {
-	    switch (item.getItemId()) {
-		    case android.R.id.home:
-			    mDrawerLayout.openDrawer(GravityCompat.START);
-			    return true;
-	    }
-	    return super.onOptionsItemSelected(item);
+        switch (item.getItemId()) {
+            case android.R.id.home:
+                mDrawerLayout.openDrawer(GravityCompat.START);
+                return true;
+        }
+        return super.onOptionsItemSelected(item);
     }
 
 }

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e752e97d/app/src/main/java/org/apache/taverna/mobile/activities/FlashScreenActivity.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/activities/FlashScreenActivity.java b/app/src/main/java/org/apache/taverna/mobile/activities/FlashScreenActivity.java
index e56ce4a..e5762e3 100644
--- a/app/src/main/java/org/apache/taverna/mobile/activities/FlashScreenActivity.java
+++ b/app/src/main/java/org/apache/taverna/mobile/activities/FlashScreenActivity.java
@@ -25,17 +25,17 @@ package org.apache.taverna.mobile.activities;
 * under the License.
 */
 
+import org.apache.taverna.mobile.R;
+
 import android.content.Context;
 import android.content.Intent;
+import android.os.Bundle;
 import android.os.Handler;
 import android.preference.PreferenceManager;
 import android.support.v7.app.ActionBarActivity;
-import android.os.Bundle;
 import android.view.Menu;
 import android.view.MenuItem;
 
-import org.apache.taverna.mobile.R;
-
 public class FlashScreenActivity extends ActionBarActivity {
 
     @Override
@@ -55,26 +55,32 @@ public class FlashScreenActivity extends ActionBarActivity {
 
         return super.onOptionsItemSelected(item);
     }
+
     @Override
-    public void onResume(){
+    public void onResume() {
         super.onResume();
         final Context context = this;
         //setup initial app settings
-        if(!PreferenceManager.getDefaultSharedPreferences(context).getBoolean("pref_set", false)){
-            PreferenceManager.getDefaultSharedPreferences(context).edit().putString("pref_server_url", "http://heater.cs.man.ac.uk:8090/taverna-2.5.4/").commit();
-            PreferenceManager.getDefaultSharedPreferences(context).edit().putString("pref_player_url", "http://heater.cs.man.ac.uk:3000/").commit();
-        }else{
-            PreferenceManager.getDefaultSharedPreferences(context).edit().putBoolean("pref_set", true).commit();
+        if (!PreferenceManager.getDefaultSharedPreferences(context).getBoolean("pref_set", false)) {
+            PreferenceManager.getDefaultSharedPreferences(context).edit().putString
+                    ("pref_server_url", "http://heater.cs.man.ac.uk:8090/taverna-2.5.4/").commit();
+            PreferenceManager.getDefaultSharedPreferences(context).edit().putString
+                    ("pref_player_url", "http://heater.cs.man.ac.uk:3000/").commit();
+        } else {
+            PreferenceManager.getDefaultSharedPreferences(context).edit().putBoolean("pref_set",
+                    true).commit();
         }
         Handler mhandler = new Handler();
         mhandler.postDelayed(new Runnable() {
             @Override
             public void run() {
-                if(!PreferenceManager.getDefaultSharedPreferences(context).getBoolean("pref_logged_in", false)) {
+                if (!PreferenceManager.getDefaultSharedPreferences(context).getBoolean
+                        ("pref_logged_in", false)) {
                     startActivity(new Intent(FlashScreenActivity.this, LoginActivity.class));
                     (FlashScreenActivity.this).finish();
-                }else{
-                    startActivity(new Intent(FlashScreenActivity.this, DashboardMainActivity.class));
+                } else {
+                    startActivity(new Intent(FlashScreenActivity.this, DashboardMainActivity
+                            .class));
                     (FlashScreenActivity.this).finish();
                 }
             }

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e752e97d/app/src/main/java/org/apache/taverna/mobile/activities/LoginActivity.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/activities/LoginActivity.java b/app/src/main/java/org/apache/taverna/mobile/activities/LoginActivity.java
index 4a67b48..11ed303 100644
--- a/app/src/main/java/org/apache/taverna/mobile/activities/LoginActivity.java
+++ b/app/src/main/java/org/apache/taverna/mobile/activities/LoginActivity.java
@@ -25,18 +25,17 @@ package org.apache.taverna.mobile.activities;
 * under the License.
 */
 
-import android.app.Activity;
+import org.apache.taverna.mobile.R;
+
 import android.app.ProgressDialog;
 import android.content.Context;
 import android.content.Intent;
 import android.os.AsyncTask;
+import android.os.Bundle;
 import android.preference.PreferenceManager;
-import android.support.v7.app.ActionBarActivity;
 import android.support.v4.app.Fragment;
-import android.os.Bundle;
-import android.text.TextUtils;
+import android.support.v7.app.ActionBarActivity;
 import android.util.Base64;
-import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.Menu;
 import android.view.MenuItem;
@@ -47,20 +46,9 @@ import android.widget.CheckBox;
 import android.widget.EditText;
 import android.widget.Toast;
 
-import org.apache.taverna.mobile.R;
-import org.apache.taverna.mobile.tavernamobile.TavernaPlayerAPI;
-import org.apache.taverna.mobile.tavernamobile.User;
-import org.apache.taverna.mobile.tavernamobile.Workflow;
-import org.apache.taverna.mobile.utils.HttpUtil;
-import org.json.JSONArray;
-import org.json.JSONException;
-import org.json.JSONObject;
-
 import java.io.BufferedReader;
 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;
@@ -87,13 +75,13 @@ public class LoginActivity extends ActionBarActivity {
 
     @Override
     public boolean onOptionsItemSelected(MenuItem item) {
-      return super.onOptionsItemSelected(item);
+        return super.onOptionsItemSelected(item);
     }
 
     /**
      * A placeholder fragment containing a simple view.
      */
-    public static class LoginFragment extends Fragment implements View.OnClickListener{
+    public static class LoginFragment extends Fragment implements View.OnClickListener {
 
         private View rootView;
         private Button loginButton;
@@ -122,9 +110,11 @@ public class LoginActivity extends ActionBarActivity {
             if (i == R.id.loginbutton) {
                 logginRemain = loginCheck.isChecked();
                 if (logginRemain) {
-                    PreferenceManager.getDefaultSharedPreferences(getActivity()).edit().putBoolean("pref_logged_in",true).apply();
+                    PreferenceManager.getDefaultSharedPreferences(getActivity()).edit()
+                            .putBoolean("pref_logged_in", true).apply();
                 } else {
-                    PreferenceManager.getDefaultSharedPreferences(getActivity()).edit().putBoolean("pref_logged_in",false).apply();
+                    PreferenceManager.getDefaultSharedPreferences(getActivity()).edit()
+                            .putBoolean("pref_logged_in", false).apply();
                 }
                 if (email.getText().toString().isEmpty()) {
                     email.setError(getString(R.string.emailerr));
@@ -132,17 +122,18 @@ public class LoginActivity extends ActionBarActivity {
                     password.setError(getString(R.string.passworderr));
                 } else {
                     // login request
-                    new LoginTask(getActivity()).execute(email.getText().toString(), password.getText().toString());
+                    new LoginTask(getActivity()).execute(email.getText().toString(), password
+                            .getText().toString());
                 }
 
             }
         }
 
-        private class LoginTask extends AsyncTask<String, Void, String>{
-            private Context context;
-            private ProgressDialog pd;
+        private class LoginTask extends AsyncTask<String, Void, String> {
             String cookie;
             String userurl;
+            private Context context;
+            private ProgressDialog pd;
 
             private LoginTask(Context context) {
                 this.context = context;
@@ -174,22 +165,23 @@ public class LoginActivity extends ActionBarActivity {
 
                     String authentication = userName + ":" + password;
                     con.setRequestMethod("GET");
-                    con.setRequestProperty("Authorization", "Basic " + Base64.encodeToString(authentication.getBytes(), Base64.DEFAULT));
+                    con.setRequestProperty("Authorization", "Basic " + Base64.encodeToString
+                            (authentication.getBytes(), Base64.DEFAULT));
                     con.setInstanceFollowRedirects(true);
                     HttpURLConnection.setFollowRedirects(true);
                     con.connect();
                     int status = con.getResponseCode();
                     response = String.valueOf(status);
-                    if(status != HttpURLConnection.HTTP_OK){
+                    if (status != HttpURLConnection.HTTP_OK) {
                         if (status == HttpURLConnection.HTTP_MOVED_PERM ||
                                 status == HttpURLConnection.HTTP_MOVED_TEMP ||
-                                status == HttpURLConnection.HTTP_SEE_OTHER || status == 307){
+                                status == HttpURLConnection.HTTP_SEE_OTHER || status == 307) {
                             redirect = true;
                         }
 
                     }
-                    System.out.println("Status code: "+status);
-                    if(redirect) {
+                    System.out.println("Status code: " + status);
+                    if (redirect) {
                         // get redirect url from "location" header field
                         String newUrl = con.getHeaderField("Location");
                         this.userurl = newUrl;
@@ -202,14 +194,15 @@ public class LoginActivity extends ActionBarActivity {
                         System.out.println("Redirect to URL : " + newUrl);
                         con.connect();
                     }
-                    BufferedReader br = new BufferedReader(new InputStreamReader(con.getInputStream()));
+                    BufferedReader br = new BufferedReader(new InputStreamReader(con
+                            .getInputStream()));
                     StringBuilder sb = new StringBuilder();
                     String s = "";
-                    while((s = br.readLine())!= null ){
+                    while ((s = br.readLine()) != null) {
                         sb.append(s);
                     }
                     br.close();
-                    System.out.println("data: "+sb.toString());
+                    System.out.println("data: " + sb.toString());
 
                     con.disconnect();
 
@@ -227,20 +220,24 @@ public class LoginActivity extends ActionBarActivity {
             @Override
             protected void onPostExecute(String response) {
                 pd.dismiss();
-                if(response != null) {
-                    switch(Integer.parseInt(response)){
+                if (response != null) {
+                    switch (Integer.parseInt(response)) {
                         case 401:
-                            Toast.makeText(getActivity(), getActivity().getString(R.string.auth_err), Toast.LENGTH_LONG).show();
+                            Toast.makeText(getActivity(), getActivity().getString(R.string
+                                    .auth_err), Toast.LENGTH_LONG).show();
                             break;
                         case 200:
                         case 307:
-                            this.context.startActivity(new Intent(this.context, DashboardMainActivity.class));
-                            getActivity().overridePendingTransition(R.anim.abc_slide_in_bottom, R.anim.abc_slide_out_top);
+                            this.context.startActivity(new Intent(this.context,
+                                    DashboardMainActivity.class));
+                            getActivity().overridePendingTransition(R.anim.abc_slide_in_bottom, R
+                                    .anim.abc_slide_out_top);
                             getActivity().finish();
                             break;
                     }
-                }else{
-                    Toast.makeText(getActivity(), getActivity().getString(R.string.servererr), Toast.LENGTH_LONG).show();
+                } else {
+                    Toast.makeText(getActivity(), getActivity().getString(R.string.servererr),
+                            Toast.LENGTH_LONG).show();
                 }
             }
         }

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e752e97d/app/src/main/java/org/apache/taverna/mobile/activities/RunResult.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/activities/RunResult.java b/app/src/main/java/org/apache/taverna/mobile/activities/RunResult.java
index 5459344..df91731 100644
--- a/app/src/main/java/org/apache/taverna/mobile/activities/RunResult.java
+++ b/app/src/main/java/org/apache/taverna/mobile/activities/RunResult.java
@@ -1,13 +1,13 @@
 package org.apache.taverna.mobile.activities;
 
+import org.apache.taverna.mobile.R;
+import org.apache.taverna.mobile.fragments.workflowdetails.RunFragment;
+
 import android.os.Bundle;
 import android.support.v7.app.ActionBarActivity;
 import android.view.Menu;
 import android.view.MenuItem;
 
-import org.apache.taverna.mobile.R;
-import org.apache.taverna.mobile.fragments.workflowdetails.RunFragment;
-
 public class RunResult extends ActionBarActivity {
 
     @Override
@@ -30,7 +30,7 @@ public class RunResult extends ActionBarActivity {
     @Override
     public boolean onOptionsItemSelected(MenuItem item) {
 
-       this.finish();
+        this.finish();
 
         return super.onOptionsItemSelected(item);
     }

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e752e97d/app/src/main/java/org/apache/taverna/mobile/activities/SettingsActivity.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/activities/SettingsActivity.java b/app/src/main/java/org/apache/taverna/mobile/activities/SettingsActivity.java
index 4a5048d..3dd2e5d 100644
--- a/app/src/main/java/org/apache/taverna/mobile/activities/SettingsActivity.java
+++ b/app/src/main/java/org/apache/taverna/mobile/activities/SettingsActivity.java
@@ -2,10 +2,10 @@ package org.apache.taverna.mobile.activities;
 /**
  * Apache Taverna Mobile
  * Copyright 2015 The Apache Software Foundation
-
+ *
  * This product includes software developed at
  * The Apache Software Foundation (http://www.apache.org/).
-
+ *
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements. See the NOTICE file
  * distributed with this work for additional information
@@ -24,6 +24,8 @@ package org.apache.taverna.mobile.activities;
  * under the License.
  */
 
+import org.apache.taverna.mobile.R;
+
 import android.annotation.TargetApi;
 import android.content.Context;
 import android.content.res.Configuration;
@@ -34,12 +36,9 @@ import android.preference.Preference;
 import android.preference.PreferenceActivity;
 import android.preference.PreferenceFragment;
 import android.preference.PreferenceManager;
-import android.support.annotation.NonNull;
 import android.support.v4.app.NavUtils;
 import android.view.MenuItem;
 
-import org.apache.taverna.mobile.R;
-
 import java.util.List;
 
 /**
@@ -61,11 +60,84 @@ public class SettingsActivity extends PreferenceActivity {
      * shown on tablets.
      */
     private static final boolean ALWAYS_SIMPLE_PREFS = false;
+    /**
+     * A preference value change listener that updates the preference's summary
+     * to reflect its new value.
+     */
+    private static Preference.OnPreferenceChangeListener sBindPreferenceSummaryToValueListener =
+            new Preference.OnPreferenceChangeListener() {
+        @Override
+        public boolean onPreferenceChange(Preference preference, Object value) {
+            String stringValue = value.toString();
+
+            if (preference instanceof ListPreference) {
+                // For list preferences, look up the correct display value in
+                // the preference's 'entries' list.
+                ListPreference listPreference = (ListPreference) preference;
+                int index = listPreference.findIndexOfValue(stringValue);
+
+                // Set the summary to reflect the new value.
+                preference.setSummary(
+                        index >= 0
+                                ? listPreference.getEntries()[index]
+                                : null);
+
+            } else {
+                // For all other preferences, set the summary to the value's
+                // simple string representation.
+                preference.setSummary(stringValue);
+            }
+            return true;
+        }
+    };
+
+    /**
+     * Helper method to determine if the device has an extra-large screen. For
+     * example, 10" tablets are extra-large.
+     */
+    private static boolean isXLargeTablet(Context context) {
+        return (context.getResources().getConfiguration().screenLayout
+                & Configuration.SCREENLAYOUT_SIZE_MASK) >= Configuration.SCREENLAYOUT_SIZE_XLARGE;
+    }
+
+    /**
+     * Determines whether the simplified settings UI should be shown. This is
+     * true if this is forced via {@link #ALWAYS_SIMPLE_PREFS}, or the device
+     * doesn't have newer APIs like {@link PreferenceFragment}, or the device
+     * doesn't have an extra-large screen. In these cases, a single-pane
+     * "simplified" settings UI should be shown.
+     */
+    private static boolean isSimplePreferences(Context context) {
+        return ALWAYS_SIMPLE_PREFS
+                || Build.VERSION.SDK_INT < Build.VERSION_CODES.HONEYCOMB
+                || !isXLargeTablet(context);
+    }
+
+    /**
+     * Binds a preference's summary to its value. More specifically, when the
+     * preference's value is changed, its summary (line of text below the
+     * preference title) is updated to reflect the value. The summary is also
+     * immediately updated upon calling this method. The exact display format is
+     * dependent on the type of preference.
+     *
+     * @see #sBindPreferenceSummaryToValueListener
+     */
+    private static void bindPreferenceSummaryToValue(Preference preference) {
+        // Set the listener to watch for value changes.
+        preference.setOnPreferenceChangeListener(sBindPreferenceSummaryToValueListener);
+
+        // Trigger the listener immediately with the preference's
+        // current value.
+        sBindPreferenceSummaryToValueListener.onPreferenceChange(preference,
+                PreferenceManager
+                        .getDefaultSharedPreferences(preference.getContext())
+                        .getString(preference.getKey(), ""));
+    }
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
-       // setupActionBar();
+        // setupActionBar();
     }
 
     /**
@@ -138,28 +210,6 @@ public class SettingsActivity extends PreferenceActivity {
     }
 
     /**
-     * Helper method to determine if the device has an extra-large screen. For
-     * example, 10" tablets are extra-large.
-     */
-    private static boolean isXLargeTablet(Context context) {
-        return (context.getResources().getConfiguration().screenLayout
-                & Configuration.SCREENLAYOUT_SIZE_MASK) >= Configuration.SCREENLAYOUT_SIZE_XLARGE;
-    }
-
-    /**
-     * Determines whether the simplified settings UI should be shown. This is
-     * true if this is forced via {@link #ALWAYS_SIMPLE_PREFS}, or the device
-     * doesn't have newer APIs like {@link PreferenceFragment}, or the device
-     * doesn't have an extra-large screen. In these cases, a single-pane
-     * "simplified" settings UI should be shown.
-     */
-    private static boolean isSimplePreferences(Context context) {
-        return ALWAYS_SIMPLE_PREFS
-                || Build.VERSION.SDK_INT < Build.VERSION_CODES.HONEYCOMB
-                || !isXLargeTablet(context);
-    }
-
-    /**
      * {@inheritDoc}
      */
     @Override
@@ -171,57 +221,6 @@ public class SettingsActivity extends PreferenceActivity {
     }
 
     /**
-     * A preference value change listener that updates the preference's summary
-     * to reflect its new value.
-     */
-    private static Preference.OnPreferenceChangeListener sBindPreferenceSummaryToValueListener = new Preference.OnPreferenceChangeListener() {
-        @Override
-        public boolean onPreferenceChange(Preference preference, Object value) {
-            String stringValue = value.toString();
-
-            if (preference instanceof ListPreference) {
-                // For list preferences, look up the correct display value in
-                // the preference's 'entries' list.
-                ListPreference listPreference = (ListPreference) preference;
-                int index = listPreference.findIndexOfValue(stringValue);
-
-                // Set the summary to reflect the new value.
-                preference.setSummary(
-                        index >= 0
-                                ? listPreference.getEntries()[index]
-                                : null);
-
-            }  else {
-                // For all other preferences, set the summary to the value's
-                // simple string representation.
-                preference.setSummary(stringValue);
-            }
-            return true;
-        }
-    };
-
-    /**
-     * Binds a preference's summary to its value. More specifically, when the
-     * preference's value is changed, its summary (line of text below the
-     * preference title) is updated to reflect the value. The summary is also
-     * immediately updated upon calling this method. The exact display format is
-     * dependent on the type of preference.
-     *
-     * @see #sBindPreferenceSummaryToValueListener
-     */
-    private static void bindPreferenceSummaryToValue(Preference preference) {
-        // Set the listener to watch for value changes.
-        preference.setOnPreferenceChangeListener(sBindPreferenceSummaryToValueListener);
-
-        // Trigger the listener immediately with the preference's
-        // current value.
-        sBindPreferenceSummaryToValueListener.onPreferenceChange(preference,
-                PreferenceManager
-                        .getDefaultSharedPreferences(preference.getContext())
-                        .getString(preference.getKey(), ""));
-    }
-
-    /**
      * This fragment shows general preferences only. It is used when the
      * activity is showing a two-pane settings UI.
      */

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e752e97d/app/src/main/java/org/apache/taverna/mobile/activities/WorkflowDetailActivity.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/activities/WorkflowDetailActivity.java b/app/src/main/java/org/apache/taverna/mobile/activities/WorkflowDetailActivity.java
index 170621b..23dbf05 100644
--- a/app/src/main/java/org/apache/taverna/mobile/activities/WorkflowDetailActivity.java
+++ b/app/src/main/java/org/apache/taverna/mobile/activities/WorkflowDetailActivity.java
@@ -3,10 +3,10 @@ package org.apache.taverna.mobile.activities;
 /**
  * Apache Taverna Mobile
  * Copyright 2015 The Apache Software Foundation
-
+ *
  * This product includes software developed at
  * The Apache Software Foundation (http://www.apache.org/).
-
+ *
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements. See the NOTICE file
  * distributed with this work for additional information
@@ -25,6 +25,12 @@ package org.apache.taverna.mobile.activities;
  * under the License.
  */
 
+import org.apache.taverna.mobile.R;
+import org.apache.taverna.mobile.fragments.workflowdetails.WorkflowAboutFragment;
+import org.apache.taverna.mobile.fragments.workflowdetails.WorkflowLicenceFragment;
+import org.apache.taverna.mobile.fragments.workflowdetails.WorkflowRunHistoryFragment;
+import org.apache.taverna.mobile.fragments.workflowdetails.WorkflowdetailFragment;
+
 import android.os.Bundle;
 import android.support.v4.app.Fragment;
 import android.support.v4.app.FragmentManager;
@@ -34,12 +40,6 @@ import android.support.v7.app.ActionBarActivity;
 import android.view.Menu;
 import android.view.MenuItem;
 
-import org.apache.taverna.mobile.R;
-import org.apache.taverna.mobile.fragments.workflowdetails.WorkflowAboutFragment;
-import org.apache.taverna.mobile.fragments.workflowdetails.WorkflowLicenceFragment;
-import org.apache.taverna.mobile.fragments.workflowdetails.WorkflowRunHistoryFragment;
-import org.apache.taverna.mobile.fragments.workflowdetails.WorkflowdetailFragment;
-
 import java.util.Locale;
 
 public class WorkflowDetailActivity extends ActionBarActivity {
@@ -80,16 +80,17 @@ public class WorkflowDetailActivity extends ActionBarActivity {
     @Override
     public boolean onOptionsItemSelected(MenuItem item) {
         // Handle action bar item clicks here. The action bar will
-        if(item.getItemId() == android.R.id.home){
+        if (item.getItemId() == android.R.id.home) {
             finish();
-            this.overridePendingTransition(android.R.anim.fade_in, android.R.anim.slide_out_right );
+            this.overridePendingTransition(android.R.anim.fade_in, android.R.anim.slide_out_right);
         }
         return super.onOptionsItemSelected(item);
     }
+
     @Override
-    public void onBackPressed(){
+    public void onBackPressed() {
         finish();
-        this.overridePendingTransition(android.R.anim.fade_in, android.R.anim.slide_out_right );
+        this.overridePendingTransition(android.R.anim.fade_in, android.R.anim.slide_out_right);
     }
 
     /**
@@ -104,16 +105,17 @@ public class WorkflowDetailActivity extends ActionBarActivity {
 
         @Override
         public Fragment getItem(int position) {
-            switch(position +1){
+            switch (position + 1) {
                 case 1:
-                return WorkflowdetailFragment.newInstance(position + 1);
+                    return WorkflowdetailFragment.newInstance(position + 1);
                 case 2:
                     //System.out.println(""+getIntent().getStringExtra("wtitle"));
-                   return WorkflowRunHistoryFragment.newInstance(getIntent().getStringExtra("wtitle"));
+                    return WorkflowRunHistoryFragment.newInstance(getIntent().getStringExtra
+                            ("wtitle"));
                 case 3:
-                    return WorkflowLicenceFragment.newInstance("","");
+                    return WorkflowLicenceFragment.newInstance("", "");
                 case 4:
-                    return WorkflowAboutFragment.newInstance("","");
+                    return WorkflowAboutFragment.newInstance("", "");
             }
             return WorkflowdetailFragment.newInstance(position + 1);
         }

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e752e97d/app/src/main/java/org/apache/taverna/mobile/adapters/FavoriteWorkflowAdapter.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/adapters/FavoriteWorkflowAdapter.java b/app/src/main/java/org/apache/taverna/mobile/adapters/FavoriteWorkflowAdapter.java
index a32be48..bfe292a 100644
--- a/app/src/main/java/org/apache/taverna/mobile/adapters/FavoriteWorkflowAdapter.java
+++ b/app/src/main/java/org/apache/taverna/mobile/adapters/FavoriteWorkflowAdapter.java
@@ -2,10 +2,10 @@ package org.apache.taverna.mobile.adapters;
 /**
  * Apache Taverna Mobile
  * Copyright 2015 The Apache Software Foundation
-
+ *
  * This product includes software developed at
  * The Apache Software Foundation (http://www.apache.org/).
-
+ *
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements. See the NOTICE file
  * distributed with this work for additional information
@@ -24,6 +24,10 @@ package org.apache.taverna.mobile.adapters;
  * under the License.
  */
 
+import org.apache.taverna.mobile.R;
+import org.apache.taverna.mobile.utils.WorkflowDB;
+import org.json.JSONException;
+
 import android.app.Dialog;
 import android.content.Context;
 import android.content.SharedPreferences;
@@ -35,39 +39,37 @@ import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
 import android.widget.Button;
-import android.widget.ImageButton;
 import android.widget.ImageView;
 import android.widget.TextView;
 import android.widget.Toast;
 
-import org.apache.taverna.mobile.R;
-import org.apache.taverna.mobile.utils.Workflow_DB;
-import org.json.JSONException;
-
 import java.util.ArrayList;
 import java.util.List;
 
 /**
  * Created by Larry Akah on 6/9/15.
  */
-public class FavoriteWorkflowAdapter extends RecyclerView.Adapter<FavoriteWorkflowAdapter.FViewHolder> {
+public class FavoriteWorkflowAdapter extends RecyclerView.Adapter<FavoriteWorkflowAdapter
+        .FViewHolder> {
 
+    public WorkflowDB favDB;
     private Context context;
     private List<ArrayList<Object>> dataSet;
-    public Workflow_DB favDB;
 
     public FavoriteWorkflowAdapter(Context c, List<ArrayList<Object>> data) {
         context = c;
         dataSet = data;
-        favDB = new Workflow_DB(context, WorkflowAdapter.WORKFLOW_FAVORITE_KEY);
+        favDB = new WorkflowDB(context, WorkflowAdapter.WORKFLOW_FAVORITE_KEY);
     }
 
     @Override
     public FViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) {
-        View itemview = LayoutInflater.from(context).inflate(R.layout.favorite_item_layout, viewGroup, false);
+        View itemview = LayoutInflater.from(context).inflate(R.layout.favorite_item_layout,
+                viewGroup, false);
         FViewHolder vh = new FViewHolder(itemview);
         return vh;
     }
+
     /**
      * Register a new observer to listen for data changes.
      * <p/>
@@ -77,17 +79,20 @@ public class FavoriteWorkflowAdapter extends RecyclerView.Adapter<FavoriteWorkfl
      * "something changed"} event if more specific data is not available.</p>
      * <p/>
      * <p>Components registering observers with an adapter are responsible for
-     * {@link #unregisterAdapterDataObserver(android.support.v7.widget.RecyclerView.AdapterDataObserver)
+     * {@link #unregisterAdapterDataObserver(android.support.v7.widget.RecyclerView
+     * .AdapterDataObserver)
      * unregistering} those observers when finished.</p>
      *
      * @param observer Observer to register
-     * @see #unregisterAdapterDataObserver(android.support.v7.widget.RecyclerView.AdapterDataObserver)
+     * @see #unregisterAdapterDataObserver(android.support.v7.widget.RecyclerView
+     * .AdapterDataObserver)
      */
     @Override
     public void registerAdapterDataObserver(RecyclerView.AdapterDataObserver observer) {
         super.registerAdapterDataObserver(observer);
         //observer.onChanged();
     }
+
     /**
      * Unregister an observer currently listening for data changes.
      * <p/>
@@ -115,13 +120,14 @@ public class FavoriteWorkflowAdapter extends RecyclerView.Adapter<FavoriteWorkfl
             @Override
             public void onClick(View view) {
                 try {
-                    Toast.makeText(context, String.format("%s", "Removed "),Toast.LENGTH_SHORT).show();
+                    Toast.makeText(context, String.format("%s", "Removed "), Toast.LENGTH_SHORT)
+                            .show();
                     //removeMarkedWorkflow(String.valueOf(data.get(0)));
                     favDB.delete(String.valueOf(data.get(0)));
                     notifyDataSetChanged();
                 } catch (JSONException e) {
                     e.printStackTrace();
-                }catch(Exception ex){
+                } catch (Exception ex) {
                     ex.printStackTrace();
                 }
 
@@ -132,27 +138,32 @@ public class FavoriteWorkflowAdapter extends RecyclerView.Adapter<FavoriteWorkfl
             public void onClick(View view) {
                 Dialog d = new Dialog(context);
                 TextView textView = new TextView(context);
-                String text = "Author -> "+ (String) data.get(6) + "\nTitle: "+data.get(2)+"\nDescription\n"+data.get(3);
+                String text = "Author -> " + (String) data.get(6) + "\nTitle: " + data.get(2) +
+                        "\nDescription\n" + data.get(3);
                 textView.setText(text);
                 textView.setTextSize(22);
                 textView.setTextColor(Color.BLACK);
-                d.setTitle(""+data.get(2));
+                d.setTitle("" + data.get(2));
                 d.setContentView(textView);
                 d.show();
             }
         });
     }
+
     //remove a workflow from the marked state
-    private void removeMarkedWorkflow(String strToRemove){
-        SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context);
-        char[] charsequence = sharedPreferences.getString(WorkflowAdapter.FAVORITE_LIST_DB, "").toCharArray();
-        for(int i=0; i<charsequence.length; i++){
-            if(charsequence[i] == strToRemove.charAt(0)){
+    private void removeMarkedWorkflow(String strToRemove) {
+        SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences
+                (context);
+        char[] charsequence = sharedPreferences.getString(WorkflowAdapter.FAVORITE_LIST_DB, "")
+                .toCharArray();
+        for (int i = 0; i < charsequence.length; i++) {
+            if (charsequence[i] == strToRemove.charAt(0)) {
                 charsequence[i] = '0';
                 break;
             }
         }
-        sharedPreferences.edit().putString(WorkflowAdapter.FAVORITE_LIST_DB, charsequence.toString()).apply();
+        sharedPreferences.edit().putString(WorkflowAdapter.FAVORITE_LIST_DB, charsequence
+                .toString()).apply();
     }
 
     @Override
@@ -160,23 +171,24 @@ public class FavoriteWorkflowAdapter extends RecyclerView.Adapter<FavoriteWorkfl
         return dataSet.size();
     }
 
-    public ArrayList<Object> getDataItemAt(int position){
-        return dataSet.size() == 0? null: dataSet.get(position);
+    public ArrayList<Object> getDataItemAt(int position) {
+        return dataSet.size() == 0 ? null : dataSet.get(position);
     }
 
     public class FViewHolder extends RecyclerView.ViewHolder {
 
         public final ImageView favorite_thumb;
-        public final TextView author, title, dateMarked;// dateAdd;
+        public final TextView author, title, dateMarked; // dateAdd;
         public final FloatingActionButton btn_delete;
         public final Button btn_view_fav;
+
         public FViewHolder(View itemView) {
             super(itemView);
             favorite_thumb = (ImageView) itemView.findViewById(R.id.author_profile_image);
             author = (TextView) itemView.findViewById(R.id.author);
             title = (TextView) itemView.findViewById(R.id.favorite_title);
             dateMarked = (TextView) itemView.findViewById(R.id.date_set);
-           btn_delete = (FloatingActionButton) itemView.findViewById(R.id.favoriteButtonDelete);
+            btn_delete = (FloatingActionButton) itemView.findViewById(R.id.favoriteButtonDelete);
             btn_view_fav = (Button) itemView.findViewById(R.id.buttonOpenFavorite);
         }
     }

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e752e97d/app/src/main/java/org/apache/taverna/mobile/adapters/RunAdapter.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/adapters/RunAdapter.java b/app/src/main/java/org/apache/taverna/mobile/adapters/RunAdapter.java
index e22d2e1..4a55423 100644
--- a/app/src/main/java/org/apache/taverna/mobile/adapters/RunAdapter.java
+++ b/app/src/main/java/org/apache/taverna/mobile/adapters/RunAdapter.java
@@ -2,10 +2,10 @@ package org.apache.taverna.mobile.adapters;
 /**
  * Apache Taverna Mobile
  * Copyright 2015 The Apache Software Foundation
-
+ *
  * This product includes software developed at
  * The Apache Software Foundation (http://www.apache.org/).
-
+ *
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements. See the NOTICE file
  * distributed with this work for additional information
@@ -23,6 +23,10 @@ package org.apache.taverna.mobile.adapters;
  * specific language governing permissions and limitations
  * under the License.
  */
+
+import org.apache.taverna.mobile.R;
+import org.apache.taverna.mobile.tavernamobile.Runs;
+
 import android.content.Context;
 import android.support.v7.widget.RecyclerView;
 import android.view.LayoutInflater;
@@ -31,9 +35,6 @@ import android.view.ViewGroup;
 import android.widget.ImageButton;
 import android.widget.TextView;
 
-import org.apache.taverna.mobile.R;
-import org.apache.taverna.mobile.tavernamobile.Runs;
-
 import java.util.List;
 
 
@@ -50,7 +51,9 @@ public class RunAdapter extends RecyclerView.Adapter<RunAdapter.RunHolder> {
     }
 
     /**
-     * Called when RecyclerView needs a new {@link android.support.v7.widget.RecyclerView.ViewHolder} of the given type to represent
+     * Called when RecyclerView needs a new
+     * {@link android.support.v7.widget.RecyclerView.ViewHolder}
+     * of the given type to represent
      * an item.
      * <p/>
      * This new ViewHolder should be constructed with a new View that can represent the items
@@ -70,13 +73,15 @@ public class RunAdapter extends RecyclerView.Adapter<RunAdapter.RunHolder> {
      */
     @Override
     public RunHolder onCreateViewHolder(ViewGroup parent, int viewType) {
-        View v = LayoutInflater.from(context).inflate(R.layout.workflow_run_item,parent, false);
+        View v = LayoutInflater.from(context).inflate(R.layout.workflow_run_item, parent, false);
         return new RunHolder(v);
     }
 
     /**
      * Called by RecyclerView to display the data at the specified position. This method
-     * should update the contents of the {@link android.support.v7.widget.RecyclerView.ViewHolder#itemView} to reflect the item at
+     * should update the contents of the
+     * {@link android.support.v7.widget.RecyclerView.ViewHolder#itemView}
+     * to reflect the item at
      * the given position.
      * <p/>
      * Note that unlike {@link android.widget.ListView}, RecyclerView will not call this
@@ -84,7 +89,9 @@ public class RunAdapter extends RecyclerView.Adapter<RunAdapter.RunHolder> {
      * is invalidated or the new position cannot be determined. For this reason, you should only
      * use the <code>position</code> parameter while acquiring the related data item inside this
      * method and should not keep a copy of it. If you need the position of an item later on
-     * (e.g. in a click listener), use {@link android.support.v7.widget.RecyclerView.ViewHolder#getAdapterPosition()} which will have
+     * (e.g. in a click listener), use
+     * {@link android.support.v7.widget.RecyclerView.ViewHolder#getAdapterPosition()}
+     * which will have
      * the updated adapter position.
      *
      * @param holder   The ViewHolder which should be updated to represent the contents of the
@@ -97,8 +104,8 @@ public class RunAdapter extends RecyclerView.Adapter<RunAdapter.RunHolder> {
         holder.runtitle.setText(lRun.getRun_name());
         holder.runstarted.setText(lRun.getRun_started_date());
         holder.runfinished.setText(lRun.getRun_ended_date());
-        holder.runAuthor.setText("Author->"+lRun.getRun_author());
-        switch(lRun.getState()){
+        holder.runAuthor.setText("Author->" + lRun.getRun_author());
+        switch (lRun.getState()) {
             case RUNNING:
                 holder.runStatus.setImageResource(android.R.drawable.presence_busy);
                 holder.textState.setText("Running");
@@ -115,7 +122,7 @@ public class RunAdapter extends RecyclerView.Adapter<RunAdapter.RunHolder> {
 
     }
 
-    public List<Runs> getRunList(){
+    public List<Runs> getRunList() {
         return this.runList;
     }
 
@@ -135,7 +142,7 @@ public class RunAdapter extends RecyclerView.Adapter<RunAdapter.RunHolder> {
     }
 
     public static class RunHolder extends RecyclerView.ViewHolder {
-        public final TextView runtitle, runstarted, runfinished,textState,runAuthor;
+        public final TextView runtitle, runstarted, runfinished, textState, runAuthor;
         public final ImageButton runStatus;
 
         public RunHolder(View itemView) {

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e752e97d/app/src/main/java/org/apache/taverna/mobile/adapters/SliderMenuAdapter.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/adapters/SliderMenuAdapter.java b/app/src/main/java/org/apache/taverna/mobile/adapters/SliderMenuAdapter.java
index 9b702a1..5a4bbc2 100644
--- a/app/src/main/java/org/apache/taverna/mobile/adapters/SliderMenuAdapter.java
+++ b/app/src/main/java/org/apache/taverna/mobile/adapters/SliderMenuAdapter.java
@@ -2,10 +2,10 @@ package org.apache.taverna.mobile.adapters;
 /**
  * Apache Taverna Mobile
  * Copyright 2015 The Apache Software Foundation
-
+ *
  * This product includes software developed at
  * The Apache Software Foundation (http://www.apache.org/).
-
+ *
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements. See the NOTICE file
  * distributed with this work for additional information
@@ -24,6 +24,8 @@ package org.apache.taverna.mobile.adapters;
  * under the License.
  */
 
+import org.apache.taverna.mobile.R;
+
 import android.content.Context;
 import android.view.LayoutInflater;
 import android.view.View;
@@ -32,19 +34,17 @@ import android.widget.BaseAdapter;
 import android.widget.ImageView;
 import android.widget.TextView;
 
-import org.apache.taverna.mobile.R;
-
 import java.util.List;
 
 /**
  * Created by root on 6/7/15.
  */
-public class SliderMenuAdapter extends BaseAdapter{
+public class SliderMenuAdapter extends BaseAdapter {
 
     private List<String> dataItems;
     private Context context;
 
-    public SliderMenuAdapter(Context c,List<String> items){
+    public SliderMenuAdapter(Context c, List<String> items) {
         dataItems = items;
         context = c;
     }
@@ -67,11 +67,12 @@ public class SliderMenuAdapter extends BaseAdapter{
     @Override
     public View getView(int i, View view, ViewGroup viewGroup) {
 
-        View menuitemview = LayoutInflater.from(context).inflate(R.layout.menu_item_layout, viewGroup, false);
+        View menuitemview = LayoutInflater.from(context).inflate(R.layout.menu_item_layout,
+                viewGroup, false);
 
         ImageView menuicon = (ImageView) menuitemview.findViewById(R.id.menuIcon);
         TextView menuitem = (TextView) menuitemview.findViewById(R.id.menuItemText);
-        switch(i +1){
+        switch (i + 1) {
             case 1:
                 menuicon.setImageResource(R.mipmap.ic_dashboard_home);
                 menuitem.setText(dataItems.get(i));
@@ -100,11 +101,11 @@ public class SliderMenuAdapter extends BaseAdapter{
         return menuitemview;
     }
 
-    public static class ViewHolder{
+    public static class ViewHolder {
         public final ImageView menuicon;
         public final TextView menuitem;
 
-        public ViewHolder(View view){
+        public ViewHolder(View view) {
             menuicon = (ImageView) view.findViewById(R.id.menuIcon);
             menuitem = (TextView) view.findViewById(R.id.menuItemText);
         }

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e752e97d/app/src/main/java/org/apache/taverna/mobile/adapters/WorkflowAdapter.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/adapters/WorkflowAdapter.java b/app/src/main/java/org/apache/taverna/mobile/adapters/WorkflowAdapter.java
index 1394422..19ee4f3 100644
--- a/app/src/main/java/org/apache/taverna/mobile/adapters/WorkflowAdapter.java
+++ b/app/src/main/java/org/apache/taverna/mobile/adapters/WorkflowAdapter.java
@@ -2,10 +2,10 @@ package org.apache.taverna.mobile.adapters;
 /**
  * Apache Taverna Mobile
  * Copyright 2015 The Apache Software Foundation
-
+ *
  * This product includes software developed at
  * The Apache Software Foundation (http://www.apache.org/).
-
+ *
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements. See the NOTICE file
  * distributed with this work for additional information
@@ -24,6 +24,17 @@ package org.apache.taverna.mobile.adapters;
  * under the License.
  */
 
+import com.thebuzzmedia.sjxp.rule.IRule;
+
+import org.apache.taverna.mobile.R;
+import org.apache.taverna.mobile.activities.WorkflowDetailActivity;
+import org.apache.taverna.mobile.fragments.workflowdetails.WorkflowdetailFragment;
+import org.apache.taverna.mobile.tavernamobile.User;
+import org.apache.taverna.mobile.tavernamobile.Workflow;
+import org.apache.taverna.mobile.utils.WorkflowDB;
+import org.apache.taverna.mobile.utils.xmlparsers.MyExperimentXmlParserRules;
+import org.apache.taverna.mobile.utils.xmlparsers.WorkflowDetailParser;
+
 import android.app.Activity;
 import android.content.Context;
 import android.content.Intent;
@@ -41,18 +52,6 @@ import android.widget.LinearLayout;
 import android.widget.TextView;
 import android.widget.Toast;
 
-import com.thebuzzmedia.sjxp.rule.IRule;
-
-import org.apache.taverna.mobile.R;
-import org.apache.taverna.mobile.activities.WorkflowDetailActivity;
-import org.apache.taverna.mobile.fragments.workflowdetails.WorkflowdetailFragment;
-import org.apache.taverna.mobile.tavernamobile.User;
-import org.apache.taverna.mobile.tavernamobile.Workflow;
-import org.apache.taverna.mobile.utils.Workflow_DB;
-import org.apache.taverna.mobile.utils.xmlparsers.MyExperimentXmlParserRules;
-import org.apache.taverna.mobile.utils.xmlparsers.WorkflowDetailParser;
-import org.json.JSONException;
-
 import java.io.IOException;
 import java.io.InputStream;
 import java.net.HttpURLConnection;
@@ -66,34 +65,37 @@ import java.util.List;
 /**
  * Created by Larry Akah on 6/8/15.
  */
-public class WorkflowAdapter extends RecyclerView.Adapter<WorkflowAdapter.ViewHolder>{
+public class WorkflowAdapter extends RecyclerView.Adapter<WorkflowAdapter.ViewHolder> {
+    public static final String WORKFLOW_FAVORITE_KEY = "WORKFLOW_FAVORITES"; //workflow key used
+    // to save workflows when marked as favorites
+    public static final String FAVORITE_LIST_DB = "FAVORITE_LIST";
+    public WorkflowDB favDB; //favorited keeps items that have been favorited in order to
+    // identify them during
     private Context context;
     private List<Workflow> workflowList; //workflow data to bind to the UI
     private WorkflowAdapter.ViewHolder mViewHolder;
-    public static final String WORKFLOW_FAVORITE_KEY = "WORKFLOW_FAVORITES"; //workflow key used to save workflows when marked as favorites
-    public static final String FAVORITE_LIST_DB = "FAVORITE_LIST";
-    public Workflow_DB favDB; //favorited keeps items that have been favorited in order to identify them during
-                                        // display in the list.
+
+    // display in the list.
     public WorkflowAdapter(Context c, List<Workflow> wk) {
         context = c;
         workflowList = wk;
-        favDB = new Workflow_DB(context, WORKFLOW_FAVORITE_KEY);
+        favDB = new WorkflowDB(context, WORKFLOW_FAVORITE_KEY);
     }
 
-    public WorkflowAdapter(Context c){
+    public WorkflowAdapter(Context c) {
         context = c;
         workflowList = new ArrayList<Workflow>();
-        favDB = new Workflow_DB(context, WORKFLOW_FAVORITE_KEY);
+        favDB = new WorkflowDB(context, WORKFLOW_FAVORITE_KEY);
     }
 
-    public void addItems(List<Workflow> workflow, int position) throws ClassCastException{
+    public void addItems(List<Workflow> workflow, int position) throws ClassCastException {
         //add items to the current list of list
-       //workflowList.add(position,workflow);
+        //workflowList.add(position,workflow);
         workflowList.addAll(workflow);
         notifyItemRangeInserted(position + 24, 25);
     }
 
-    public void removeItem(Workflow workflow){
+    public void removeItem(Workflow workflow) {
         workflowList.remove(workflow);
         //notifyItemRemoved();
     }
@@ -107,11 +109,13 @@ public class WorkflowAdapter extends RecyclerView.Adapter<WorkflowAdapter.ViewHo
      * "something changed"} event if more specific data is not available.</p>
      * <p/>
      * <p>Components registering observers with an adapter are responsible for
-     * {@link #unregisterAdapterDataObserver(android.support.v7.widget.RecyclerView.AdapterDataObserver)
+     * {@link #unregisterAdapterDataObserver(android.support.v7.widget.RecyclerView
+     * .AdapterDataObserver)
      * unregistering} those observers when finished.</p>
      *
      * @param observer Observer to register
-     * @see #unregisterAdapterDataObserver(android.support.v7.widget.RecyclerView.AdapterDataObserver)
+     * @see #unregisterAdapterDataObserver(android.support.v7.widget.RecyclerView
+     * .AdapterDataObserver)
      */
     @Override
     public void registerAdapterDataObserver(RecyclerView.AdapterDataObserver observer) {
@@ -134,15 +138,17 @@ public class WorkflowAdapter extends RecyclerView.Adapter<WorkflowAdapter.ViewHo
 
     @Override
     public WorkflowAdapter.ViewHolder onCreateViewHolder(ViewGroup parentViewGroup, int viewType) {
-        View v = LayoutInflater.from(context).inflate(R.layout.workflow_item_layout,parentViewGroup,false);
+        View v = LayoutInflater.from(context).inflate(R.layout.workflow_item_layout,
+                parentViewGroup, false);
         mViewHolder = new ViewHolder(v);
         return mViewHolder;
     }
 
     /**
      * Bind data set items for each data
+     *
      * @param viewHolder the recycled view used to bind data (Overwrite data values)
-     * @param i position of data in the dataset to use.
+     * @param i          position of data in the dataset to use.
      */
     @Override
     public void onBindViewHolder(final ViewHolder viewHolder, int i) {
@@ -151,41 +157,45 @@ public class WorkflowAdapter extends RecyclerView.Adapter<WorkflowAdapter.ViewHo
         final String author = workflowList.get(i).getWorkflow_author();
 //        final String author = workflowList.get(i).getUploader().getName();
         final String title = workflowList.get(i).getWorkflow_title();
-        String description  = workflowList.get(i).getWorkflow_description();
+        String description = workflowList.get(i).getWorkflow_description();
         final String uri = workflowList.get(i).getWorkflow_details_url();
         final String desc_full = description;
 
-        if(description.length() > 80) description = description.substring(0, 79)+" ...";
+        if (description.length() > 80) description = description.substring(0, 79) + " ...";
         viewHolder.author_name.setHint(author);
         viewHolder.wk_title.setHint(title);
         viewHolder.wk_description.setText(description);
         Linkify.addLinks(viewHolder.wk_description, Linkify.WEB_URLS);
 
         final Intent it = new Intent();
-        System.out.println("Workflow_uri:"+uri);
+        System.out.println("Workflow_uri:" + uri);
         it.setClass(context, WorkflowDetailActivity.class);
 //        it.putExtra("workflowid", workflow.get(i).getId()); //workflow_url
-        it.putExtra("uri",uri);//uri
-        it.putExtra("wtitle", title); //pass this workflow's title to the detail activity so the corresponding run can be fetched
+        it.putExtra("uri", uri); //uri
+        it.putExtra("wtitle", title); //pass this workflow's title to the detail activity so the
+        // corresponding run can be fetched
         it.putExtra("wid", wid);
-        WorkflowdetailFragment.WORKFLO_ID = title;//workflow.get(i).getId();
-
-            //determine whether to mark button as favorited or not
-           final String favs = PreferenceManager.getDefaultSharedPreferences(context).getString(FAVORITE_LIST_DB, "");
-            String[] ids = favs.split(",");
-            if(ids.length > 0) {
-                for (String id : ids)
-                    if (id.equalsIgnoreCase("" + wid)){
-                        viewHolder.btn_mark_workflow.setBackgroundResource(R.drawable.abc_list_selector_disabled_holo_light);
-                        break;
-                    }
-            }
+        WorkflowdetailFragment.WORKFLO_ID = title; //workflow.get(i).getId();
+
+        //determine whether to mark button as favorited or not
+        final String favs = PreferenceManager.getDefaultSharedPreferences(context).getString
+                (FAVORITE_LIST_DB, "");
+        String[] ids = favs.split(",");
+        if (ids.length > 0) {
+            for (String id : ids)
+                if (id.equalsIgnoreCase("" + wid)) {
+                    viewHolder.btn_mark_workflow.setBackgroundResource(R.drawable
+                            .abc_list_selector_disabled_holo_light);
+                    break;
+                }
+        }
 
         viewHolder.btn_view_workflow.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View view) {
                 context.startActivity(it);
-                ((Activity) context).overridePendingTransition(android.R.anim.slide_in_left, android.R.anim.fade_out);
+                ((Activity) context).overridePendingTransition(android.R.anim.slide_in_left,
+                        android.R.anim.fade_out);
             }
         });
 
@@ -194,33 +204,43 @@ public class WorkflowAdapter extends RecyclerView.Adapter<WorkflowAdapter.ViewHo
             public void onClick(View view) {
                 ArrayList<Object> mfav = new ArrayList<Object>();
                 //save current workflow as favorite
-                mfav.add(wid); mfav.add(author);mfav.add(title);mfav.add(desc_full);
+                mfav.add(wid);
+                mfav.add(author);
+                mfav.add(title);
+                mfav.add(desc_full);
                 mfav.add(SimpleDateFormat.getDateTimeInstance().format(new Date()));
                 mfav.add(uri);
                 mfav.add(viewHolder.author_name.getText());
                 int saved = favDB.insert(mfav);
 
-                if(saved >0) {
-                    viewHolder.btn_mark_workflow.setBackgroundResource(R.drawable.abc_list_selector_disabled_holo_light);
+                if (saved > 0) {
+                    viewHolder.btn_mark_workflow.setBackgroundResource(R.drawable
+                            .abc_list_selector_disabled_holo_light);
 
-                    PreferenceManager.getDefaultSharedPreferences(context).edit().putString(FAVORITE_LIST_DB, favs+wid+",").apply();
+                    PreferenceManager.getDefaultSharedPreferences(context).edit().putString
+                            (FAVORITE_LIST_DB, favs + wid + ",").apply();
                     //refresh fragment since data has changed
-                    FavoriteWorkflowAdapter favoriteWorkflowAdapter = (FavoriteWorkflowAdapter) ((RecyclerView) ((Activity) context).findViewById(R.id.favoriteList)).getAdapter();
-                   //try {
-                    if(null != favoriteWorkflowAdapter)
-                       favoriteWorkflowAdapter.notifyDataSetChanged();
-                   //}catch(NullPointerException np){
-                   //     np.printStackTrace();
-                  // }
-                    Toast.makeText(context, "Workflow marked as favorite", Toast.LENGTH_SHORT).show();
-                }else if(saved == -1){
-                    Toast.makeText(context,"Sorry! This workflow has already been marked as a favourite",Toast.LENGTH_SHORT).show();
-                }else
-                    Toast.makeText(context,"Error! Please try again",Toast.LENGTH_SHORT).show();
+                    FavoriteWorkflowAdapter favoriteWorkflowAdapter = (FavoriteWorkflowAdapter) (
+                            (RecyclerView) ((Activity) context).findViewById(R.id.favoriteList))
+                            .getAdapter();
+                    //try {
+                    if (null != favoriteWorkflowAdapter)
+                        favoriteWorkflowAdapter.notifyDataSetChanged();
+                    //}catch(NullPointerException np){
+                    //     np.printStackTrace();
+                    // }
+                    Toast.makeText(context, "Workflow marked as favorite", Toast.LENGTH_SHORT)
+                            .show();
+                } else if (saved == -1) {
+                    Toast.makeText(context, "Sorry! This workflow has already been marked as a " +
+                            "favourite", Toast.LENGTH_SHORT).show();
+                } else
+                    Toast.makeText(context, "Error! Please try again", Toast.LENGTH_SHORT).show();
 
             }
         });
-        viewHolder.wk_showmore.setText(Html.fromHtml(context.getResources().getString(R.string.seemore)));
+        viewHolder.wk_showmore.setText(Html.fromHtml(context.getResources().getString(R.string
+                .seemore)));
         viewHolder.wk_showmore.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View view) {
@@ -231,14 +251,15 @@ public class WorkflowAdapter extends RecyclerView.Adapter<WorkflowAdapter.ViewHo
             }
         });
 
-        synchronized (this){
+        synchronized (this) {
             new DetailLinkLoader(viewHolder).execute(uri, String.valueOf(i));
         }
     }
 
-    public void setData(List<Workflow> workflowList){
+    public void setData(List<Workflow> workflowList) {
         this.workflowList = workflowList;
     }
+
     @Override
     public long getItemId(int i) {
         return workflowList.get(i).getId();
@@ -249,17 +270,17 @@ public class WorkflowAdapter extends RecyclerView.Adapter<WorkflowAdapter.ViewHo
         return workflowList.size();
     }
 
-    public Workflow getItem(int position){
+    public Workflow getItem(int position) {
         return workflowList.get(position);
     }
 
-    public void addWorkflow(Workflow wk){
+    public void addWorkflow(Workflow wk) {
         workflowList.add(wk);
     }
 
     public static class ViewHolder extends RecyclerView.ViewHolder {
         public final ImageView author_profile;
-        public final TextView author_name, wk_title,wk_showmore,wk_description;
+        public final TextView author_name, wk_title, wk_showmore, wk_description;
         public final Button btn_view_workflow;
         public final Button btn_download_workflow;
         public final Button btn_mark_workflow;
@@ -273,8 +294,8 @@ public class WorkflowAdapter extends RecyclerView.Adapter<WorkflowAdapter.ViewHo
             author_name = (TextView) v.findViewById(R.id.workflow_author);
             wk_title = (TextView) v.findViewById(R.id.workflow_title);
             wk_showmore = (TextView) v.findViewById(R.id.show_more);
-           // wk_created = (TextView) v.findViewById(R.id.workflow_datecreated);
-           // wk_modified = (TextView) v.findViewById(R.id.workflow_dateupdated);
+            // wk_created = (TextView) v.findViewById(R.id.workflow_datecreated);
+            // wk_modified = (TextView) v.findViewById(R.id.workflow_dateupdated);
             wk_description = (TextView) v.findViewById(R.id.workflow_brief_description);
             //cache buttons
             btn_download_workflow = (Button) v.findViewById(R.id.button_download_workflow);
@@ -286,15 +307,15 @@ public class WorkflowAdapter extends RecyclerView.Adapter<WorkflowAdapter.ViewHo
     /**
      * Loads partially details of a given workflow to retrieve author information
      */
-    private class DetailLinkLoader extends AsyncTask<String, Void, Void>{
+    private class DetailLinkLoader extends AsyncTask<String, Void, Void> {
         ViewHolder mViewHolder;
 
-        public DetailLinkLoader(ViewHolder vh){
+        public DetailLinkLoader(ViewHolder vh) {
             this.mViewHolder = vh;
         }
 
         @Override
-        protected Void doInBackground(String ... strings) {
+        protected Void doInBackground(String... strings) {
             URL url = null;
             HttpURLConnection connection = null;
             try {
@@ -303,9 +324,12 @@ public class WorkflowAdapter extends RecyclerView.Adapter<WorkflowAdapter.ViewHo
                 connection.setDoInput(true);
                 connection.connect();
                 InputStream input = connection.getInputStream();
-                IRule avatarRule = new MyExperimentXmlParserRules.UploaderRule(IRule.Type.ATTRIBUTE,"/workflow/uploader", "resource","uri","id");
-                IRule uploaderRule = new MyExperimentXmlParserRules.UploaderRule(IRule.Type.CHARACTER,"/workflow/uploader");
-                WorkflowDetailParser detailMinParser = new WorkflowDetailParser(new IRule[]{avatarRule,uploaderRule});
+                IRule avatarRule = new MyExperimentXmlParserRules.UploaderRule(IRule.Type
+                        .ATTRIBUTE, "/workflow/uploader", "resource", "uri", "id");
+                IRule uploaderRule = new MyExperimentXmlParserRules.UploaderRule(IRule.Type
+                        .CHARACTER, "/workflow/uploader");
+                WorkflowDetailParser detailMinParser = new WorkflowDetailParser(new
+                        IRule[]{avatarRule, uploaderRule});
                 detailMinParser.parse(input, new User(strings[1], this.mViewHolder));
 
             } catch (MalformedURLException e) {


[02/18] incubator-taverna-mobile git commit: add checkstyle gradle file

Posted by st...@apache.org.
add checkstyle gradle file


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

Branch: refs/heads/master
Commit: fb652212562261cc8a41d6418ec56f6bcf436a47
Parents: 4f1f996
Author: Sagar <ku...@gmail.com>
Authored: Thu Jun 9 22:59:05 2016 +0530
Committer: Sagar <ku...@gmail.com>
Committed: Thu Jun 9 22:59:05 2016 +0530

----------------------------------------------------------------------
 app/build.gradle              |  1 +
 config/quality/quality.gradle | 26 ++++++++++++++++++++++++++
 2 files changed, 27 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/fb652212/app/build.gradle
----------------------------------------------------------------------
diff --git a/app/build.gradle b/app/build.gradle
index 110480a..fb281bd 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -1,5 +1,6 @@
 apply plugin: 'com.android.application'
 apply plugin: 'com.neenbedankt.android-apt'
+apply from: '../config/quality/quality.gradle'
 
 android {
     compileSdkVersion 23

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/fb652212/config/quality/quality.gradle
----------------------------------------------------------------------
diff --git a/config/quality/quality.gradle b/config/quality/quality.gradle
new file mode 100644
index 0000000..8883952
--- /dev/null
+++ b/config/quality/quality.gradle
@@ -0,0 +1,26 @@
+apply plugin: 'checkstyle'
+
+dependencies {
+    checkstyle 'com.puppycrawl.tools:checkstyle:6.5'
+}
+
+def qualityConfigDir = "$project.rootDir/config/quality";
+def reportsDir = "$project.buildDir/reports"
+
+check.dependsOn 'checkstyle'
+
+task checkstyle(type: Checkstyle, group: 'Verification', description: 'Runs code style checks') {
+    configFile file("$qualityConfigDir/checkstyle/checkstyle-config.xml")
+    source 'src'
+    include '**/*.java'
+    exclude '**/gen/**'
+
+    reports {
+        xml.enabled = true
+        xml {
+            destination "$reportsDir/checkstyle/checkstyle.xml"
+        }
+    }
+
+    classpath = files()
+}
\ No newline at end of file


[13/18] incubator-taverna-mobile git commit: add findbugs config xml and gradle task

Posted by st...@apache.org.
add findbugs config xml and gradle task


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

Branch: refs/heads/master
Commit: 326071a338e68d2454351145be2f774058e607ba
Parents: 347d558
Author: Sagar <ku...@gmail.com>
Authored: Mon Jun 13 15:28:48 2016 +0530
Committer: Sagar <ku...@gmail.com>
Committed: Mon Jun 13 15:28:48 2016 +0530

----------------------------------------------------------------------
 .../quality/findbugs/android-exclude-filter.xml | 20 ++++++++++++
 config/quality/quality.gradle                   | 32 +++++++++++++++++++-
 2 files changed, 51 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/326071a3/config/quality/findbugs/android-exclude-filter.xml
----------------------------------------------------------------------
diff --git a/config/quality/findbugs/android-exclude-filter.xml b/config/quality/findbugs/android-exclude-filter.xml
new file mode 100644
index 0000000..ccd73c6
--- /dev/null
+++ b/config/quality/findbugs/android-exclude-filter.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<FindBugsFilter>
+    <Match>
+        <Class name="~.*\.R\$.*"/>
+    </Match>
+    <Match>
+        <Class name="~.*\.Manifest\$.*"/>
+    </Match>
+
+
+    <!-- All bugs in test classes, except for JUnit-specific bugs -->
+    <Match>
+        <Class name="~.*\.*Test" />
+        <Not>
+            <Bug code="IJU" />
+        </Not>
+    </Match>
+
+
+</FindBugsFilter>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/326071a3/config/quality/quality.gradle
----------------------------------------------------------------------
diff --git a/config/quality/quality.gradle b/config/quality/quality.gradle
index 978277f..b99c433 100644
--- a/config/quality/quality.gradle
+++ b/config/quality/quality.gradle
@@ -1,5 +1,6 @@
 apply plugin: 'checkstyle'
 apply plugin: 'pmd'
+apply plugin: 'findbugs'
 
 dependencies {
     checkstyle 'com.puppycrawl.tools:checkstyle:6.5'
@@ -8,7 +9,7 @@ dependencies {
 def qualityConfigDir = "$project.rootDir/config/quality";
 def reportsDir = "$project.buildDir/reports"
 
-check.dependsOn 'checkstyle', 'pmd'
+check.dependsOn 'checkstyle', 'pmd','findbugs'
 
 task checkstyle(type: Checkstyle, group: 'Verification', description: 'Runs code style checks') {
     configFile file("$qualityConfigDir/checkstyle/checkstyle-config.xml")
@@ -45,4 +46,33 @@ task pmd(type: Pmd, group: 'Verification', description: 'Inspect sourcecode for
             destination "$reportsDir/pmd/pmd.html"
         }
     }
+}
+
+task findbugs(type: FindBugs,
+        group: 'Verification',
+        description: 'Inspect java bytecode for bugs',
+        dependsOn: ['compileDebugSources','compileReleaseSources']) {
+
+    ignoreFailures = false
+    effort = "max"
+    reportLevel = "high"
+    excludeFilter = new File("$qualityConfigDir/findbugs/android-exclude-filter.xml")
+    classes = files("$project.rootDir/app/build/intermediates/classes")
+
+    source 'src'
+    include '**/*.java'
+    exclude '**/gen/**'
+
+    reports {
+        xml.enabled = false
+        html.enabled = true
+        xml {
+            destination "$reportsDir/findbugs/findbugs.xml"
+        }
+        html {12
+            destination "$reportsDir/findbugs/findbugs.html"
+        }
+    }
+
+    classpath = files()
 }
\ No newline at end of file


[17/18] incubator-taverna-mobile git commit: remove error

Posted by st...@apache.org.
remove error


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

Branch: refs/heads/master
Commit: 1886389738dea80ea4d48d35c23be82b38619946
Parents: 76cb6bd
Author: Sagar <ku...@gmail.com>
Authored: Mon Jun 13 17:14:34 2016 +0530
Committer: Sagar <ku...@gmail.com>
Committed: Mon Jun 13 17:14:34 2016 +0530

----------------------------------------------------------------------
 .../activities/DashboardMainActivity.java       |  3 +-
 .../mobile/activities/LoginActivity.java        |  2 +-
 .../mobile/activities/SettingsActivity.java     | 48 ++++++++++----------
 .../adapters/FavoriteWorkflowAdapter.java       |  2 +-
 .../mobile/adapters/WorkflowAdapter.java        |  2 +-
 .../mobile/data/remote/BaseApiManager.java      |  2 +-
 .../mobile/fragments/WorkflowItemFragment.java  |  3 +-
 .../fragments/workflowdetails/RunFragment.java  |  2 +-
 .../WorkflowRunHistoryFragment.java             |  4 +-
 .../workflowdetails/WorkflowdetailFragment.java | 27 +++++------
 .../taverna/mobile/utils/DetailsLoader.java     |  7 +--
 .../apache/taverna/mobile/utils/HttpUtil.java   |  1 +
 .../apache/taverna/mobile/utils/RunTask.java    |  5 +-
 .../apache/taverna/mobile/utils/WorkflowDB.java |  2 +-
 .../taverna/mobile/utils/WorkflowOpen.java      | 13 ++++--
 15 files changed, 66 insertions(+), 57 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/18863897/app/src/main/java/org/apache/taverna/mobile/activities/DashboardMainActivity.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/activities/DashboardMainActivity.java b/app/src/main/java/org/apache/taverna/mobile/activities/DashboardMainActivity.java
index 22abada..6ec84d8 100644
--- a/app/src/main/java/org/apache/taverna/mobile/activities/DashboardMainActivity.java
+++ b/app/src/main/java/org/apache/taverna/mobile/activities/DashboardMainActivity.java
@@ -146,7 +146,8 @@ public class DashboardMainActivity extends AppCompatActivity {
                                                 .setDataAndTypeAndNormalize(
                                                         Uri.parse(String.format("%s%s%s",
                                                         Environment.getExternalStorageDirectory(),
-                                                        File.separator, APP_DIRECTORY_NAME)),
+                                                        File.separator,
+                                                        APP_DIRECTORY_NAME)),
                                                         "application/vnd.taverna.t2flow+xml");
 
                                 Intent loadWorkflowIntent = Intent.createChooser

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/18863897/app/src/main/java/org/apache/taverna/mobile/activities/LoginActivity.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/activities/LoginActivity.java b/app/src/main/java/org/apache/taverna/mobile/activities/LoginActivity.java
index c374ec0..6bcfd2a 100644
--- a/app/src/main/java/org/apache/taverna/mobile/activities/LoginActivity.java
+++ b/app/src/main/java/org/apache/taverna/mobile/activities/LoginActivity.java
@@ -199,7 +199,7 @@ public class LoginActivity extends ActionBarActivity {
                         con.connect();
                     }
                     BufferedReader br = new BufferedReader(new InputStreamReader(con
-                            .getInputStream(),"UTF-8"));
+                            .getInputStream(), "UTF-8"));
                     StringBuilder sb = new StringBuilder();
                     String s = "";
                     while ((s = br.readLine()) != null) {

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/18863897/app/src/main/java/org/apache/taverna/mobile/activities/SettingsActivity.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/activities/SettingsActivity.java b/app/src/main/java/org/apache/taverna/mobile/activities/SettingsActivity.java
index 3dd2e5d..a941a2c 100644
--- a/app/src/main/java/org/apache/taverna/mobile/activities/SettingsActivity.java
+++ b/app/src/main/java/org/apache/taverna/mobile/activities/SettingsActivity.java
@@ -66,30 +66,30 @@ public class SettingsActivity extends PreferenceActivity {
      */
     private static Preference.OnPreferenceChangeListener sBindPreferenceSummaryToValueListener =
             new Preference.OnPreferenceChangeListener() {
-        @Override
-        public boolean onPreferenceChange(Preference preference, Object value) {
-            String stringValue = value.toString();
-
-            if (preference instanceof ListPreference) {
-                // For list preferences, look up the correct display value in
-                // the preference's 'entries' list.
-                ListPreference listPreference = (ListPreference) preference;
-                int index = listPreference.findIndexOfValue(stringValue);
-
-                // Set the summary to reflect the new value.
-                preference.setSummary(
-                        index >= 0
-                                ? listPreference.getEntries()[index]
-                                : null);
-
-            } else {
-                // For all other preferences, set the summary to the value's
-                // simple string representation.
-                preference.setSummary(stringValue);
-            }
-            return true;
-        }
-    };
+                @Override
+                public boolean onPreferenceChange(Preference preference, Object value) {
+                    String stringValue = value.toString();
+
+                    if (preference instanceof ListPreference) {
+                        // For list preferences, look up the correct display value in
+                        // the preference's 'entries' list.
+                        ListPreference listPreference = (ListPreference) preference;
+                        int index = listPreference.findIndexOfValue(stringValue);
+
+                        // Set the summary to reflect the new value.
+                        preference.setSummary(
+                                index >= 0
+                                        ? listPreference.getEntries()[index]
+                                        : null);
+
+                    } else {
+                        // For all other preferences, set the summary to the value's
+                        // simple string representation.
+                        preference.setSummary(stringValue);
+                    }
+                    return true;
+                }
+            };
 
     /**
      * Helper method to determine if the device has an extra-large screen. For

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/18863897/app/src/main/java/org/apache/taverna/mobile/adapters/FavoriteWorkflowAdapter.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/adapters/FavoriteWorkflowAdapter.java b/app/src/main/java/org/apache/taverna/mobile/adapters/FavoriteWorkflowAdapter.java
index b64ad43..9522a3a 100644
--- a/app/src/main/java/org/apache/taverna/mobile/adapters/FavoriteWorkflowAdapter.java
+++ b/app/src/main/java/org/apache/taverna/mobile/adapters/FavoriteWorkflowAdapter.java
@@ -166,7 +166,7 @@ public class FavoriteWorkflowAdapter extends RecyclerView.Adapter<FavoriteWorkfl
         }
         sharedPreferences.edit().putString(WorkflowAdapter.FAVORITE_LIST_DB, Arrays.toString
                 (charsequence)
-                ).apply();
+        ).apply();
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/18863897/app/src/main/java/org/apache/taverna/mobile/adapters/WorkflowAdapter.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/adapters/WorkflowAdapter.java b/app/src/main/java/org/apache/taverna/mobile/adapters/WorkflowAdapter.java
index b9c4e86..03c28fe 100644
--- a/app/src/main/java/org/apache/taverna/mobile/adapters/WorkflowAdapter.java
+++ b/app/src/main/java/org/apache/taverna/mobile/adapters/WorkflowAdapter.java
@@ -67,10 +67,10 @@ import java.util.List;
  * Created by Larry Akah on 6/8/15.
  */
 public class WorkflowAdapter extends RecyclerView.Adapter<WorkflowAdapter.ViewHolder> {
-    private static final String TAG = "WorkflowAdapter";
     public static final String WORKFLOW_FAVORITE_KEY = "WORKFLOW_FAVORITES"; //workflow key used
     // to save workflows when marked as favorites
     public static final String FAVORITE_LIST_DB = "FAVORITE_LIST";
+    private static final String TAG = "WorkflowAdapter";
     public WorkflowDB favDB; //favorited keeps items that have been favorited in order to
     // identify them during
     private Context context;

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/18863897/app/src/main/java/org/apache/taverna/mobile/data/remote/BaseApiManager.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/data/remote/BaseApiManager.java b/app/src/main/java/org/apache/taverna/mobile/data/remote/BaseApiManager.java
index 5a384e4..f49ffd2 100644
--- a/app/src/main/java/org/apache/taverna/mobile/data/remote/BaseApiManager.java
+++ b/app/src/main/java/org/apache/taverna/mobile/data/remote/BaseApiManager.java
@@ -10,8 +10,8 @@ import retrofit2.converter.simplexml.SimpleXmlConverterFactory;
 public class BaseApiManager {
 
 
-    public TavernaService mTavernaService;
     final String ENDPOINT = "http://www.myexperiment.org/";
+    public TavernaService mTavernaService;
 
     public BaseApiManager() {
 

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/18863897/app/src/main/java/org/apache/taverna/mobile/fragments/WorkflowItemFragment.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/fragments/WorkflowItemFragment.java b/app/src/main/java/org/apache/taverna/mobile/fragments/WorkflowItemFragment.java
index 1a58a40..6b4e89d 100644
--- a/app/src/main/java/org/apache/taverna/mobile/fragments/WorkflowItemFragment.java
+++ b/app/src/main/java/org/apache/taverna/mobile/fragments/WorkflowItemFragment.java
@@ -89,12 +89,12 @@ public class WorkflowItemFragment extends Fragment implements SwipeRefreshLayout
      */
     private static RecyclerView mListView;
     private static View rootView;
-    private  boolean stateOn = false;
     private static TextView noDataText;
     private static LruCache<String, Bitmap> avatarCache;
     private static WorkflowAdapter workflowAdapter;
     //variables for controlling the infinite scroll mechanism
     private static int previousTotal = 0;
+    private boolean stateOn = false;
     private Animation in;
     private ProgressDialog mProgressDialog; //progressbar used to indicate the state of the
     // workflow loaders
@@ -131,6 +131,7 @@ public class WorkflowItemFragment extends Fragment implements SwipeRefreshLayout
     public static void setIsRefreshData(boolean isRefreshData) {
         WorkflowItemFragment.isRefreshData = isRefreshData;
     }
+
     public static WorkflowItemFragment newInstance(String param1, String param2) {
         WorkflowItemFragment fragment = new WorkflowItemFragment();
         Bundle args = new Bundle();

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/18863897/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/RunFragment.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/RunFragment.java b/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/RunFragment.java
index b4bde68..7ba68ec 100644
--- a/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/RunFragment.java
+++ b/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/RunFragment.java
@@ -272,7 +272,7 @@ public class RunFragment extends Fragment implements View.OnClickListener {
                 connection.connect(); //send request
 
                 InputStream dis = connection.getInputStream();
-                BufferedReader br = new BufferedReader(new InputStreamReader(dis,"UTF-8"));
+                BufferedReader br = new BufferedReader(new InputStreamReader(dis, "UTF-8"));
 
                 String jsonData = "";
                 while ((jsonData = br.readLine()) != null) {

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/18863897/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/WorkflowRunHistoryFragment.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/WorkflowRunHistoryFragment.java b/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/WorkflowRunHistoryFragment.java
index eea053e..774a197 100644
--- a/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/WorkflowRunHistoryFragment.java
+++ b/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/WorkflowRunHistoryFragment.java
@@ -147,7 +147,7 @@ public class WorkflowRunHistoryFragment extends Fragment implements LoaderManage
     public void onLoadFinished(Loader<Workflow> workflowLoader, Workflow workflow) {
 
         try {
-            if (workflow.getWorkflowRuns() != null || workflow.getWorkflowRuns().size() != 0) {
+            if (workflow.getWorkflowRuns() != null && workflow.getWorkflowRuns().size() != 0) {
 
                 runAdapter.setRunList(workflow.getWorkflowRuns());
                 mRecyclerView.setAdapter(runAdapter);
@@ -159,7 +159,7 @@ public class WorkflowRunHistoryFragment extends Fragment implements LoaderManage
                 emptyRunHistoryTextView.setVisibility(View.VISIBLE);
             }
         } catch (NullPointerException np) {
-            Log.e(TAG, "onLoadFinished: ", np);
+            Log.e(TAG, "onLoadFinished:", np);
         }
 
         // progressDialog.dismiss();

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/18863897/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/WorkflowdetailFragment.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/WorkflowdetailFragment.java b/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/WorkflowdetailFragment.java
index 22a100b..9835c04 100644
--- a/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/WorkflowdetailFragment.java
+++ b/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/WorkflowdetailFragment.java
@@ -106,19 +106,19 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
     private static final String BOX_APP_SECRET = "3uuuw36mm7jkflc";
     public static String mWorkfloId = "";
     public static Context cont;
-    public String workflow_uri;
     static View rootView;
     static Animation zoomin;
     static Animation zoomout;
     static Workflow currentWorkflow = null;
     private static ProgressDialog progressDialog;
     private static String download_url;
-    private  boolean mLoadState = false;
-    private  boolean mDropupload = false;
+    public String workflow_uri;
     public AlertDialog runDialog;
     public AlertDialog.Builder alertDialogBuilder;
     public boolean isZoomIn;
     SharedPreferences sharedPreferences;
+    private boolean mLoadState = false;
+    private boolean mDropupload = false;
     private DownloadManager downloadManager;
     private long wid;
 
@@ -234,6 +234,10 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
         WorkflowdetailFragment.rootView = rootView;
     }
 
+    public static void setCont(Context cont) {
+        WorkflowdetailFragment.cont = cont;
+    }
+
     @Override
     public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle
             savedInstanceState) {
@@ -286,12 +290,7 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
         return rootView;
     }
 
-    public static void setCont(Context cont) {
-        WorkflowdetailFragment.cont = cont;
-    }
-
     /**
-
      * Called when a fragment is first attached to its activity.
      * {@link #onCreate(android.os.Bundle)} will be called after this.
      */
@@ -507,7 +506,8 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
                 HttpURLConnection connection = (HttpURLConnection) workflowurl.openConnection();
                 String userpass = tavernaPlayerAPI.getPlayerUserName(this.context) + ":" +
                         tavernaPlayerAPI.getPlayerUserPassword(this.context);
-                String basicAuth = "Basic " + Base64.encodeToString(userpass.getBytes(Charset.forName("UTF-8")), Base64
+                String basicAuth = "Basic " + Base64.encodeToString(userpass.getBytes(Charset
+                        .forName("UTF-8")), Base64
                         .DEFAULT);
 
                 connection.setRequestProperty("Authorization", basicAuth);
@@ -521,7 +521,7 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
                 Log.i("Authorization ", "" + connection.getRequestProperty("Authorization"));
 
                 InputStream dis = connection.getInputStream();
-                BufferedReader br = new BufferedReader(new InputStreamReader(dis,"UTF-8"));
+                BufferedReader br = new BufferedReader(new InputStreamReader(dis, "UTF-8"));
 
                 String jsonData = "";
                 while ((jsonData = br.readLine()) != null) {
@@ -668,11 +668,12 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
 
                 String user = tavernaPlayerAPI.getPlayerUserName(this.context) + ":" +
                         tavernaPlayerAPI.getPlayerUserPassword(this.context);
-                String basicAuth = "Basic " + Base64.encodeToString(user.getBytes(Charset.forName("UTF-8")), Base64
+                String basicAuth = "Basic " + Base64.encodeToString(user.getBytes(Charset.forName
+                        ("UTF-8")), Base64
                         .DEFAULT);
                 //read the file from remote resource and encode the stream with a base64 algorithm
                 BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(wconn
-                        .getInputStream(),"UTF-8"));
+                        .getInputStream(), "UTF-8"));
                 String str = "";
                 while ((str = bufferedReader.readLine()) != null) {
                     sb.append(str); //in this string builder we have read the workflow( as
@@ -707,7 +708,7 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
                 dos.close();
 
                 InputStream dis = connection.getInputStream();
-                BufferedReader br = new BufferedReader(new InputStreamReader(dis,"UTF-8"));
+                BufferedReader br = new BufferedReader(new InputStreamReader(dis, "UTF-8"));
                 while ((str = br.readLine()) != null) {
                     sb.append(str);
                 }

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/18863897/app/src/main/java/org/apache/taverna/mobile/utils/DetailsLoader.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/utils/DetailsLoader.java b/app/src/main/java/org/apache/taverna/mobile/utils/DetailsLoader.java
index 66b4f84..cec8748 100644
--- a/app/src/main/java/org/apache/taverna/mobile/utils/DetailsLoader.java
+++ b/app/src/main/java/org/apache/taverna/mobile/utils/DetailsLoader.java
@@ -101,7 +101,8 @@ public class DetailsLoader extends AsyncTaskLoader<Workflow> {
                     connection = (HttpURLConnection) workflowurl.openConnection();
                     String userpass = tavernaPlayerAPI.getPlayerUserName(this.context) + ":" +
                             tavernaPlayerAPI.getPlayerUserPassword(this.context);
-                    String basicAuth = "Basic " + Base64.encodeToString(userpass.getBytes(Charset.forName("UTF-8")),
+                    String basicAuth = "Basic " + Base64.encodeToString(userpass.getBytes(Charset
+                            .forName("UTF-8")),
                             Base64.DEFAULT);
 
                     connection.setRequestProperty("Authorization", basicAuth);
@@ -167,7 +168,7 @@ public class DetailsLoader extends AsyncTaskLoader<Workflow> {
                 return workflow;
                 case TYPE_RUN_HISTORY: {
                     Log.e(TAG, "Downloading run history");
-                    BufferedReader br = new BufferedReader(new InputStreamReader(dis,"UTF-8"));
+                    BufferedReader br = new BufferedReader(new InputStreamReader(dis, "UTF-8"));
                     StringBuffer sb = new StringBuffer();
                     String jsonData = "";
                     while ((jsonData = br.readLine()) != null) {
@@ -209,7 +210,7 @@ public class DetailsLoader extends AsyncTaskLoader<Workflow> {
                 }
                 return workflow;
                 default:
-                    BufferedReader br = new BufferedReader(new InputStreamReader(dis,"UTF-8"));
+                    BufferedReader br = new BufferedReader(new InputStreamReader(dis, "UTF-8"));
                     StringBuffer sb = new StringBuffer();
                     String jsonData = "";
                     while ((jsonData = br.readLine()) != null) {

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/18863897/app/src/main/java/org/apache/taverna/mobile/utils/HttpUtil.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/utils/HttpUtil.java b/app/src/main/java/org/apache/taverna/mobile/utils/HttpUtil.java
index f043d93..0be41a3 100644
--- a/app/src/main/java/org/apache/taverna/mobile/utils/HttpUtil.java
+++ b/app/src/main/java/org/apache/taverna/mobile/utils/HttpUtil.java
@@ -47,6 +47,7 @@ import java.net.HttpURLConnection;
  */
 public class HttpUtil {
     private static final String TAG = "HttpUtil";
+
     public <T> Object doPostAuthenticate() {
         User muser = new User("", null);
 

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/18863897/app/src/main/java/org/apache/taverna/mobile/utils/RunTask.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/utils/RunTask.java b/app/src/main/java/org/apache/taverna/mobile/utils/RunTask.java
index ff9d39c..9305456 100644
--- a/app/src/main/java/org/apache/taverna/mobile/utils/RunTask.java
+++ b/app/src/main/java/org/apache/taverna/mobile/utils/RunTask.java
@@ -49,7 +49,8 @@ public class RunTask extends AsyncTask<String, Void, String> {
             HttpURLConnection connection = (HttpURLConnection) workflowurl.openConnection();
             String userpass = tavernaPlayerAPI.getPlayerUserName(this.context) + ":" +
                     tavernaPlayerAPI.getPlayerUserPassword(this.context);
-            String basicAuth = "Basic " + Base64.encodeToString(userpass.getBytes(Charset.forName("UTF-8")), Base64
+            String basicAuth = "Basic " + Base64.encodeToString(userpass.getBytes(Charset.forName
+                    ("UTF-8")), Base64
                     .DEFAULT);
 
             connection.setRequestProperty("Authorization", basicAuth);
@@ -68,7 +69,7 @@ public class RunTask extends AsyncTask<String, Void, String> {
             dos.close();
 
             InputStream dis = connection.getInputStream();
-            BufferedReader br = new BufferedReader(new InputStreamReader(dis,"UTF-8"));
+            BufferedReader br = new BufferedReader(new InputStreamReader(dis, "UTF-8"));
 
             String jsonData = "";
             while ((jsonData = br.readLine()) != null) {

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/18863897/app/src/main/java/org/apache/taverna/mobile/utils/WorkflowDB.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/utils/WorkflowDB.java b/app/src/main/java/org/apache/taverna/mobile/utils/WorkflowDB.java
index 6e62a01..f953ee9 100644
--- a/app/src/main/java/org/apache/taverna/mobile/utils/WorkflowDB.java
+++ b/app/src/main/java/org/apache/taverna/mobile/utils/WorkflowDB.java
@@ -50,9 +50,9 @@ public class WorkflowDB {
 
     private static final String TAG = "WorkflowDB";
     private final String ENTITY_KEY;
+    private final ArrayList<String> ITEM_IDS;
     private Context context;
     private SharedPreferences msharedpreference;
-    private final ArrayList<String> ITEM_IDS;
     private JSONObject dataobj; //hold all entries for a given ENTITY_KEY
 
     /**

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/18863897/app/src/main/java/org/apache/taverna/mobile/utils/WorkflowOpen.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/utils/WorkflowOpen.java b/app/src/main/java/org/apache/taverna/mobile/utils/WorkflowOpen.java
index 35ce80b..ce261ce 100644
--- a/app/src/main/java/org/apache/taverna/mobile/utils/WorkflowOpen.java
+++ b/app/src/main/java/org/apache/taverna/mobile/utils/WorkflowOpen.java
@@ -75,7 +75,8 @@ public class WorkflowOpen extends AsyncTask<String, Void, String> {
 
             String user = tavernaPlayerAPI.getPlayerUserName(this.context) + ":" +
                     tavernaPlayerAPI.getPlayerUserPassword(this.context);
-            String basicAuth = "Basic " + Base64.encodeToString(user.getBytes(Charset.forName("UTF-8")), Base64.DEFAULT);
+            String basicAuth = "Basic " + Base64.encodeToString(user.getBytes(Charset.forName
+                    ("UTF-8")), Base64.DEFAULT);
             //read the file from remote resource and encode the stream with a base64 algorithm
 
             try {
@@ -91,7 +92,8 @@ public class WorkflowOpen extends AsyncTask<String, Void, String> {
             }
 
             String data = "{\"document\":\"data:application/octet-stream;base64," +
-                    Base64.encodeToString(sb.toString().getBytes(Charset.forName("UTF-8")), Base64.URL_SAFE |
+                    Base64.encodeToString(sb.toString().getBytes(Charset.forName("UTF-8")),
+                            Base64.URL_SAFE |
                             Base64.NO_WRAP).replace('-', '+') + "\"}";
             String post = "{\"workflow\":" + data + "}";
             //clear sb so that we can use it again to fetch results from this post request
@@ -115,7 +117,7 @@ public class WorkflowOpen extends AsyncTask<String, Void, String> {
             dos.close();
 
             InputStream dis = connection.getInputStream();
-            BufferedReader br = new BufferedReader(new InputStreamReader(dis,"UTF-8"));
+            BufferedReader br = new BufferedReader(new InputStreamReader(dis, "UTF-8"));
             while ((str = br.readLine()) != null) {
                 sb.append(str);
             }
@@ -199,7 +201,8 @@ public class WorkflowOpen extends AsyncTask<String, Void, String> {
                 HttpURLConnection connection = (HttpURLConnection) workflowurl.openConnection();
                 String userpass = tavernaPlayerAPI.getPlayerUserName(this.context) + ":" +
                         tavernaPlayerAPI.getPlayerUserPassword(this.context);
-                String basicAuth = "Basic " + Base64.encodeToString(userpass.getBytes(Charset.forName("UTF-8")), Base64
+                String basicAuth = "Basic " + Base64.encodeToString(userpass.getBytes(Charset
+                        .forName("UTF-8")), Base64
                         .DEFAULT);
 
                 connection.setRequestProperty("Authorization", basicAuth);
@@ -211,7 +214,7 @@ public class WorkflowOpen extends AsyncTask<String, Void, String> {
                 Log.i("Authorization ", "" + connection.getRequestProperty("Authorization"));
 
                 InputStream dis = connection.getInputStream();
-                BufferedReader br = new BufferedReader(new InputStreamReader(dis,"UTF-8"));
+                BufferedReader br = new BufferedReader(new InputStreamReader(dis, "UTF-8"));
 
                 String jsonData = "";
                 while ((jsonData = br.readLine()) != null) {


[15/18] incubator-taverna-mobile git commit: reformat code using findbugs

Posted by st...@apache.org.
reformat code using findbugs


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

Branch: refs/heads/master
Commit: 18002d33667c458244eb2f1b8bb27c649583e428
Parents: 0df0ab5
Author: Sagar <ku...@gmail.com>
Authored: Mon Jun 13 16:53:38 2016 +0530
Committer: Sagar <ku...@gmail.com>
Committed: Mon Jun 13 16:53:38 2016 +0530

----------------------------------------------------------------------
 .../mobile/activities/LoginActivity.java        |  5 ++-
 .../adapters/FavoriteWorkflowAdapter.java       |  6 ++-
 .../mobile/fragments/WorkflowItemFragment.java  | 33 ++++++++++-----
 .../fragments/workflowdetails/RunFragment.java  |  2 +-
 .../WorkflowRunHistoryFragment.java             |  2 +-
 .../workflowdetails/WorkflowdetailFragment.java | 42 +++++++++++++-------
 .../taverna/mobile/utils/DetailsLoader.java     |  7 ++--
 .../apache/taverna/mobile/utils/RunTask.java    |  5 ++-
 .../taverna/mobile/utils/WorkflowOpen.java      | 11 ++---
 .../xmlparsers/MyExperimentXmlParserRules.java  |  2 +-
 10 files changed, 74 insertions(+), 41 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/18002d33/app/src/main/java/org/apache/taverna/mobile/activities/LoginActivity.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/activities/LoginActivity.java b/app/src/main/java/org/apache/taverna/mobile/activities/LoginActivity.java
index d7b46f9..c374ec0 100644
--- a/app/src/main/java/org/apache/taverna/mobile/activities/LoginActivity.java
+++ b/app/src/main/java/org/apache/taverna/mobile/activities/LoginActivity.java
@@ -53,6 +53,7 @@ import java.io.InputStreamReader;
 import java.net.HttpURLConnection;
 import java.net.MalformedURLException;
 import java.net.URL;
+import java.nio.charset.Charset;
 
 
 public class LoginActivity extends ActionBarActivity {
@@ -168,7 +169,7 @@ public class LoginActivity extends ActionBarActivity {
                     String authentication = userName + ":" + password;
                     con.setRequestMethod("GET");
                     con.setRequestProperty("Authorization", "Basic " + Base64.encodeToString
-                            (authentication.getBytes(), Base64.DEFAULT));
+                            (authentication.getBytes(Charset.forName("UTF-8")), Base64.DEFAULT));
                     con.setInstanceFollowRedirects(true);
                     HttpURLConnection.setFollowRedirects(true);
                     con.connect();
@@ -198,7 +199,7 @@ public class LoginActivity extends ActionBarActivity {
                         con.connect();
                     }
                     BufferedReader br = new BufferedReader(new InputStreamReader(con
-                            .getInputStream()));
+                            .getInputStream(),"UTF-8"));
                     StringBuilder sb = new StringBuilder();
                     String s = "";
                     while ((s = br.readLine()) != null) {

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/18002d33/app/src/main/java/org/apache/taverna/mobile/adapters/FavoriteWorkflowAdapter.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/adapters/FavoriteWorkflowAdapter.java b/app/src/main/java/org/apache/taverna/mobile/adapters/FavoriteWorkflowAdapter.java
index 0feb3ce..b64ad43 100644
--- a/app/src/main/java/org/apache/taverna/mobile/adapters/FavoriteWorkflowAdapter.java
+++ b/app/src/main/java/org/apache/taverna/mobile/adapters/FavoriteWorkflowAdapter.java
@@ -45,6 +45,7 @@ import android.widget.TextView;
 import android.widget.Toast;
 
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.List;
 
 /**
@@ -163,8 +164,9 @@ public class FavoriteWorkflowAdapter extends RecyclerView.Adapter<FavoriteWorkfl
                 break;
             }
         }
-        sharedPreferences.edit().putString(WorkflowAdapter.FAVORITE_LIST_DB, charsequence
-                .toString()).apply();
+        sharedPreferences.edit().putString(WorkflowAdapter.FAVORITE_LIST_DB, Arrays.toString
+                (charsequence)
+                ).apply();
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/18002d33/app/src/main/java/org/apache/taverna/mobile/fragments/WorkflowItemFragment.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/fragments/WorkflowItemFragment.java b/app/src/main/java/org/apache/taverna/mobile/fragments/WorkflowItemFragment.java
index 53649a0..1a58a40 100644
--- a/app/src/main/java/org/apache/taverna/mobile/fragments/WorkflowItemFragment.java
+++ b/app/src/main/java/org/apache/taverna/mobile/fragments/WorkflowItemFragment.java
@@ -89,7 +89,7 @@ public class WorkflowItemFragment extends Fragment implements SwipeRefreshLayout
      */
     private static RecyclerView mListView;
     private static View rootView;
-    private static boolean stateOn = false;
+    private  boolean stateOn = false;
     private static TextView noDataText;
     private static LruCache<String, Bitmap> avatarCache;
     private static WorkflowAdapter workflowAdapter;
@@ -116,6 +116,21 @@ public class WorkflowItemFragment extends Fragment implements SwipeRefreshLayout
     public WorkflowItemFragment() {
     }
 
+    public static void setCx(Context cx) {
+        WorkflowItemFragment.cx = cx;
+    }
+
+    public static void setRootView(View rootView) {
+        WorkflowItemFragment.rootView = rootView;
+    }
+
+    public static void setIsLoadMoreData(boolean isLoadMoreData) {
+        WorkflowItemFragment.isLoadMoreData = isLoadMoreData;
+    }
+
+    public static void setIsRefreshData(boolean isRefreshData) {
+        WorkflowItemFragment.isRefreshData = isRefreshData;
+    }
     public static WorkflowItemFragment newInstance(String param1, String param2) {
         WorkflowItemFragment fragment = new WorkflowItemFragment();
         Bundle args = new Bundle();
@@ -132,8 +147,8 @@ public class WorkflowItemFragment extends Fragment implements SwipeRefreshLayout
             public void run() {
                 WorkflowItemFragment.workflowAdapter = new WorkflowAdapter(cx, data);
                 if (isLoadMoreData) {
-                    isLoadMoreData = false;
-                    isRefreshData = false;
+                    setIsLoadMoreData(false);
+                    setIsRefreshData(false);
                     ((WorkflowAdapter) mListView.getAdapter()).addItems(data, previousTotal);
                 } else {
                     mListView.swapAdapter(workflowAdapter, false);
@@ -202,7 +217,7 @@ public class WorkflowItemFragment extends Fragment implements SwipeRefreshLayout
     public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setHasOptionsMenu(true);
-        cx = getActivity();
+        setCx(getActivity());
         mLinearLayoutManager = new LinearLayoutManager(cx);
         scrollListener = new InfiniteScrollListener();
         workflowObserver = new RecyclerView.AdapterDataObserver() {
@@ -228,7 +243,7 @@ public class WorkflowItemFragment extends Fragment implements SwipeRefreshLayout
     @Override
     public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle
             savedInstanceState) {
-        rootView = inflater.inflate(R.layout.fragment_item, container, false);
+        setRootView(inflater.inflate(R.layout.fragment_item, container, false));
         noDataText = (TextView) rootView.findViewById(android.R.id.empty);
         swipeRefreshLayout = (SwipeRefreshLayout) rootView.findViewById(R.id.refresh);
         swipeRefreshLayout.setOnRefreshListener(this);
@@ -281,7 +296,7 @@ public class WorkflowItemFragment extends Fragment implements SwipeRefreshLayout
     @Override
     public void onDestroyView() {
         super.onDestroyView();
-        rootView = null;
+        setRootView(null);
     }
 
     @Override
@@ -369,8 +384,8 @@ public class WorkflowItemFragment extends Fragment implements SwipeRefreshLayout
 
     @Override
     public void onRefresh() {
-        isRefreshData = true;
-        isLoadMoreData = false;
+        setIsRefreshData(true);
+        setIsLoadMoreData(false);
 
         new WorkflowLoader(getActivity(), swipeRefreshLayout).execute("" + 1);
     }
@@ -464,7 +479,7 @@ public class WorkflowItemFragment extends Fragment implements SwipeRefreshLayout
                     visibleThreshold)) {
                 //list has reached end, load more.
                 Toast.makeText(getActivity(), "Loading more", Toast.LENGTH_SHORT).show();
-                isLoadMoreData = true;
+                setIsLoadMoreData(true);
                 currentPage++;
                 new WorkflowLoader(getActivity(), swipeRefreshLayout).execute("" + currentPage);
                 Log.d(TAG, currentPage + "");

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/18002d33/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/RunFragment.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/RunFragment.java b/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/RunFragment.java
index 400eaaf..b4bde68 100644
--- a/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/RunFragment.java
+++ b/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/RunFragment.java
@@ -272,7 +272,7 @@ public class RunFragment extends Fragment implements View.OnClickListener {
                 connection.connect(); //send request
 
                 InputStream dis = connection.getInputStream();
-                BufferedReader br = new BufferedReader(new InputStreamReader(dis));
+                BufferedReader br = new BufferedReader(new InputStreamReader(dis,"UTF-8"));
 
                 String jsonData = "";
                 while ((jsonData = br.readLine()) != null) {

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/18002d33/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/WorkflowRunHistoryFragment.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/WorkflowRunHistoryFragment.java b/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/WorkflowRunHistoryFragment.java
index 70481f3..eea053e 100644
--- a/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/WorkflowRunHistoryFragment.java
+++ b/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/WorkflowRunHistoryFragment.java
@@ -147,7 +147,7 @@ public class WorkflowRunHistoryFragment extends Fragment implements LoaderManage
     public void onLoadFinished(Loader<Workflow> workflowLoader, Workflow workflow) {
 
         try {
-            if (workflow.getWorkflowRuns() != null | workflow.getWorkflowRuns().size() != 0) {
+            if (workflow.getWorkflowRuns() != null || workflow.getWorkflowRuns().size() != 0) {
 
                 runAdapter.setRunList(workflow.getWorkflowRuns());
                 mRecyclerView.setAdapter(runAdapter);

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/18002d33/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/WorkflowdetailFragment.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/WorkflowdetailFragment.java b/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/WorkflowdetailFragment.java
index c5f0cae..22a100b 100644
--- a/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/WorkflowdetailFragment.java
+++ b/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/WorkflowdetailFragment.java
@@ -38,8 +38,8 @@ import org.apache.taverna.mobile.tavernamobile.User;
 import org.apache.taverna.mobile.tavernamobile.Workflow;
 import org.apache.taverna.mobile.utils.DetailsLoader;
 import org.apache.taverna.mobile.utils.RunTask;
-import org.apache.taverna.mobile.utils.WorkflowDownloadManager;
 import org.apache.taverna.mobile.utils.WorkflowDB;
+import org.apache.taverna.mobile.utils.WorkflowDownloadManager;
 import org.json.JSONArray;
 import org.json.JSONException;
 import org.json.JSONObject;
@@ -86,6 +86,7 @@ import java.io.InputStreamReader;
 import java.net.HttpURLConnection;
 import java.net.MalformedURLException;
 import java.net.URL;
+import java.nio.charset.Charset;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.Date;
@@ -105,15 +106,15 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
     private static final String BOX_APP_SECRET = "3uuuw36mm7jkflc";
     public static String mWorkfloId = "";
     public static Context cont;
-    public static String workflow_uri;
+    public String workflow_uri;
     static View rootView;
     static Animation zoomin;
     static Animation zoomout;
     static Workflow currentWorkflow = null;
     private static ProgressDialog progressDialog;
     private static String download_url;
-    private static boolean mLoadState = false;
-    private static boolean mDropupload = false;
+    private  boolean mLoadState = false;
+    private  boolean mDropupload = false;
     public AlertDialog runDialog;
     public AlertDialog.Builder alertDialogBuilder;
     public boolean isZoomIn;
@@ -138,9 +139,6 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
         return fragment;
     }
 
-    public static WorkflowdetailFragment getInstance() {
-        return WorkflowdetailFragment.getInstance();
-    }
 
     public static void setWorkflowDetails(final Workflow wk) {
         currentWorkflow = wk;
@@ -228,6 +226,14 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
         //  preview.setOnClickListener(WorkflowdetailFragment.getInstance());
     }
 
+    public static void setProgressDialog(Context context) {
+        WorkflowdetailFragment.progressDialog = new ProgressDialog(context);
+    }
+
+    public static void setRootView(View rootView) {
+        WorkflowdetailFragment.rootView = rootView;
+    }
+
     @Override
     public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle
             savedInstanceState) {
@@ -236,8 +242,9 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
         AndroidAuthSession session = new AndroidAuthSession(appKeys);
         mDBApi = new DropboxAPI<AndroidAuthSession>(session);
         //    long workflowid = getActivity().getIntent().getLongExtra("workflowid", 0);
-        rootView = inflater.inflate(R.layout.fragment_workflow_detail, container, false);
-        progressDialog = new ProgressDialog(getActivity());
+        setRootView(inflater.inflate(R.layout.fragment_workflow_detail,
+                container, false));
+        setProgressDialog(getActivity());
         progressDialog.setMessage(getActivity().getResources().getString(R.string.loading));
         progressDialog.setCancelable(false);
         //   mWorkfloId = workflowid;
@@ -279,7 +286,12 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
         return rootView;
     }
 
+    public static void setCont(Context cont) {
+        WorkflowdetailFragment.cont = cont;
+    }
+
     /**
+
      * Called when a fragment is first attached to its activity.
      * {@link #onCreate(android.os.Bundle)} will be called after this.
      */
@@ -291,7 +303,7 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
     @Override
     public void onAttach(Context context) {
         super.onAttach(context);
-        cont = getActivity();
+        setCont(getActivity());
     }
 
     @Override
@@ -495,7 +507,7 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
                 HttpURLConnection connection = (HttpURLConnection) workflowurl.openConnection();
                 String userpass = tavernaPlayerAPI.getPlayerUserName(this.context) + ":" +
                         tavernaPlayerAPI.getPlayerUserPassword(this.context);
-                String basicAuth = "Basic " + Base64.encodeToString(userpass.getBytes(), Base64
+                String basicAuth = "Basic " + Base64.encodeToString(userpass.getBytes(Charset.forName("UTF-8")), Base64
                         .DEFAULT);
 
                 connection.setRequestProperty("Authorization", basicAuth);
@@ -509,7 +521,7 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
                 Log.i("Authorization ", "" + connection.getRequestProperty("Authorization"));
 
                 InputStream dis = connection.getInputStream();
-                BufferedReader br = new BufferedReader(new InputStreamReader(dis));
+                BufferedReader br = new BufferedReader(new InputStreamReader(dis,"UTF-8"));
 
                 String jsonData = "";
                 while ((jsonData = br.readLine()) != null) {
@@ -656,11 +668,11 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
 
                 String user = tavernaPlayerAPI.getPlayerUserName(this.context) + ":" +
                         tavernaPlayerAPI.getPlayerUserPassword(this.context);
-                String basicAuth = "Basic " + Base64.encodeToString(user.getBytes(), Base64
+                String basicAuth = "Basic " + Base64.encodeToString(user.getBytes(Charset.forName("UTF-8")), Base64
                         .DEFAULT);
                 //read the file from remote resource and encode the stream with a base64 algorithm
                 BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(wconn
-                        .getInputStream()));
+                        .getInputStream(),"UTF-8"));
                 String str = "";
                 while ((str = bufferedReader.readLine()) != null) {
                     sb.append(str); //in this string builder we have read the workflow( as
@@ -695,7 +707,7 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
                 dos.close();
 
                 InputStream dis = connection.getInputStream();
-                BufferedReader br = new BufferedReader(new InputStreamReader(dis));
+                BufferedReader br = new BufferedReader(new InputStreamReader(dis,"UTF-8"));
                 while ((str = br.readLine()) != null) {
                     sb.append(str);
                 }

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/18002d33/app/src/main/java/org/apache/taverna/mobile/utils/DetailsLoader.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/utils/DetailsLoader.java b/app/src/main/java/org/apache/taverna/mobile/utils/DetailsLoader.java
index 1313e13..66b4f84 100644
--- a/app/src/main/java/org/apache/taverna/mobile/utils/DetailsLoader.java
+++ b/app/src/main/java/org/apache/taverna/mobile/utils/DetailsLoader.java
@@ -48,6 +48,7 @@ import java.net.Authenticator;
 import java.net.HttpURLConnection;
 import java.net.MalformedURLException;
 import java.net.URL;
+import java.nio.charset.Charset;
 
 /**
  * Loads workflow details from the myexperiment API and presents them on the UI .The class is
@@ -100,7 +101,7 @@ public class DetailsLoader extends AsyncTaskLoader<Workflow> {
                     connection = (HttpURLConnection) workflowurl.openConnection();
                     String userpass = tavernaPlayerAPI.getPlayerUserName(this.context) + ":" +
                             tavernaPlayerAPI.getPlayerUserPassword(this.context);
-                    String basicAuth = "Basic " + Base64.encodeToString(userpass.getBytes(),
+                    String basicAuth = "Basic " + Base64.encodeToString(userpass.getBytes(Charset.forName("UTF-8")),
                             Base64.DEFAULT);
 
                     connection.setRequestProperty("Authorization", basicAuth);
@@ -166,7 +167,7 @@ public class DetailsLoader extends AsyncTaskLoader<Workflow> {
                 return workflow;
                 case TYPE_RUN_HISTORY: {
                     Log.e(TAG, "Downloading run history");
-                    BufferedReader br = new BufferedReader(new InputStreamReader(dis));
+                    BufferedReader br = new BufferedReader(new InputStreamReader(dis,"UTF-8"));
                     StringBuffer sb = new StringBuffer();
                     String jsonData = "";
                     while ((jsonData = br.readLine()) != null) {
@@ -208,7 +209,7 @@ public class DetailsLoader extends AsyncTaskLoader<Workflow> {
                 }
                 return workflow;
                 default:
-                    BufferedReader br = new BufferedReader(new InputStreamReader(dis));
+                    BufferedReader br = new BufferedReader(new InputStreamReader(dis,"UTF-8"));
                     StringBuffer sb = new StringBuffer();
                     String jsonData = "";
                     while ((jsonData = br.readLine()) != null) {

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/18002d33/app/src/main/java/org/apache/taverna/mobile/utils/RunTask.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/utils/RunTask.java b/app/src/main/java/org/apache/taverna/mobile/utils/RunTask.java
index 3aa06fb..ff9d39c 100644
--- a/app/src/main/java/org/apache/taverna/mobile/utils/RunTask.java
+++ b/app/src/main/java/org/apache/taverna/mobile/utils/RunTask.java
@@ -17,6 +17,7 @@ import java.io.InputStream;
 import java.io.InputStreamReader;
 import java.net.HttpURLConnection;
 import java.net.URL;
+import java.nio.charset.Charset;
 
 /**
  * Created by root on 7/11/15.
@@ -48,7 +49,7 @@ public class RunTask extends AsyncTask<String, Void, String> {
             HttpURLConnection connection = (HttpURLConnection) workflowurl.openConnection();
             String userpass = tavernaPlayerAPI.getPlayerUserName(this.context) + ":" +
                     tavernaPlayerAPI.getPlayerUserPassword(this.context);
-            String basicAuth = "Basic " + Base64.encodeToString(userpass.getBytes(), Base64
+            String basicAuth = "Basic " + Base64.encodeToString(userpass.getBytes(Charset.forName("UTF-8")), Base64
                     .DEFAULT);
 
             connection.setRequestProperty("Authorization", basicAuth);
@@ -67,7 +68,7 @@ public class RunTask extends AsyncTask<String, Void, String> {
             dos.close();
 
             InputStream dis = connection.getInputStream();
-            BufferedReader br = new BufferedReader(new InputStreamReader(dis));
+            BufferedReader br = new BufferedReader(new InputStreamReader(dis,"UTF-8"));
 
             String jsonData = "";
             while ((jsonData = br.readLine()) != null) {

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/18002d33/app/src/main/java/org/apache/taverna/mobile/utils/WorkflowOpen.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/utils/WorkflowOpen.java b/app/src/main/java/org/apache/taverna/mobile/utils/WorkflowOpen.java
index 693190a..35ce80b 100644
--- a/app/src/main/java/org/apache/taverna/mobile/utils/WorkflowOpen.java
+++ b/app/src/main/java/org/apache/taverna/mobile/utils/WorkflowOpen.java
@@ -31,6 +31,7 @@ import java.io.InputStream;
 import java.io.InputStreamReader;
 import java.net.HttpURLConnection;
 import java.net.URL;
+import java.nio.charset.Charset;
 
 /**
  * Read the selected xml file from storage and upload to player to generate workflowRun
@@ -74,7 +75,7 @@ public class WorkflowOpen extends AsyncTask<String, Void, String> {
 
             String user = tavernaPlayerAPI.getPlayerUserName(this.context) + ":" +
                     tavernaPlayerAPI.getPlayerUserPassword(this.context);
-            String basicAuth = "Basic " + Base64.encodeToString(user.getBytes(), Base64.DEFAULT);
+            String basicAuth = "Basic " + Base64.encodeToString(user.getBytes(Charset.forName("UTF-8")), Base64.DEFAULT);
             //read the file from remote resource and encode the stream with a base64 algorithm
 
             try {
@@ -90,7 +91,7 @@ public class WorkflowOpen extends AsyncTask<String, Void, String> {
             }
 
             String data = "{\"document\":\"data:application/octet-stream;base64," +
-                    Base64.encodeToString(sb.toString().getBytes("UTF-8"), Base64.URL_SAFE |
+                    Base64.encodeToString(sb.toString().getBytes(Charset.forName("UTF-8")), Base64.URL_SAFE |
                             Base64.NO_WRAP).replace('-', '+') + "\"}";
             String post = "{\"workflow\":" + data + "}";
             //clear sb so that we can use it again to fetch results from this post request
@@ -114,7 +115,7 @@ public class WorkflowOpen extends AsyncTask<String, Void, String> {
             dos.close();
 
             InputStream dis = connection.getInputStream();
-            BufferedReader br = new BufferedReader(new InputStreamReader(dis));
+            BufferedReader br = new BufferedReader(new InputStreamReader(dis,"UTF-8"));
             while ((str = br.readLine()) != null) {
                 sb.append(str);
             }
@@ -198,7 +199,7 @@ public class WorkflowOpen extends AsyncTask<String, Void, String> {
                 HttpURLConnection connection = (HttpURLConnection) workflowurl.openConnection();
                 String userpass = tavernaPlayerAPI.getPlayerUserName(this.context) + ":" +
                         tavernaPlayerAPI.getPlayerUserPassword(this.context);
-                String basicAuth = "Basic " + Base64.encodeToString(userpass.getBytes(), Base64
+                String basicAuth = "Basic " + Base64.encodeToString(userpass.getBytes(Charset.forName("UTF-8")), Base64
                         .DEFAULT);
 
                 connection.setRequestProperty("Authorization", basicAuth);
@@ -210,7 +211,7 @@ public class WorkflowOpen extends AsyncTask<String, Void, String> {
                 Log.i("Authorization ", "" + connection.getRequestProperty("Authorization"));
 
                 InputStream dis = connection.getInputStream();
-                BufferedReader br = new BufferedReader(new InputStreamReader(dis));
+                BufferedReader br = new BufferedReader(new InputStreamReader(dis,"UTF-8"));
 
                 String jsonData = "";
                 while ((jsonData = br.readLine()) != null) {

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/18002d33/app/src/main/java/org/apache/taverna/mobile/utils/xmlparsers/MyExperimentXmlParserRules.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/utils/xmlparsers/MyExperimentXmlParserRules.java b/app/src/main/java/org/apache/taverna/mobile/utils/xmlparsers/MyExperimentXmlParserRules.java
index a17ce71..638e96c 100644
--- a/app/src/main/java/org/apache/taverna/mobile/utils/xmlparsers/MyExperimentXmlParserRules.java
+++ b/app/src/main/java/org/apache/taverna/mobile/utils/xmlparsers/MyExperimentXmlParserRules.java
@@ -40,7 +40,7 @@ import java.util.List;
  */
 public class MyExperimentXmlParserRules {
 
-    public static Workflow mWorkflow = new Workflow();
+    public static final Workflow mWorkflow = new Workflow();
 
     public MyExperimentXmlParserRules() {
     }


[18/18] incubator-taverna-mobile git commit: Merge remote-tracking branch 'sagar15795/CodeAnalysisTools'

Posted by st...@apache.org.
Merge remote-tracking branch 'sagar15795/CodeAnalysisTools'

Code-cleanup and check style contributed by Sagar. This closes #15.


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

Branch: refs/heads/master
Commit: 4daa91d3f42b5a4474303fd39c7a7ec1483cebff
Parents: 17c8bc7 1886389
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Mon Jun 13 13:57:34 2016 +0100
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Mon Jun 13 13:57:34 2016 +0100

----------------------------------------------------------------------
 app/build.gradle                                |   1 +
 .../activities/DashboardMainActivity.java       | 376 ++++++------
 .../mobile/activities/FlashScreenActivity.java  |  30 +-
 .../mobile/activities/LoginActivity.java        |  91 +--
 .../taverna/mobile/activities/RunResult.java    |   8 +-
 .../mobile/activities/SettingsActivity.java     | 157 +++--
 .../activities/WorkflowDetailActivity.java      |  36 +-
 .../adapters/FavoriteWorkflowAdapter.java       |  75 ++-
 .../taverna/mobile/adapters/RunAdapter.java     |  39 +-
 .../mobile/adapters/SliderMenuAdapter.java      |  21 +-
 .../mobile/adapters/WorkflowAdapter.java        | 196 +++---
 .../WorkflowDownloadReceiver.java               |  25 +-
 .../customviews/WorkflowPreviewImageView.java   | 200 +++---
 .../apache/taverna/mobile/data/DataManager.java |  10 +-
 .../taverna/mobile/data/model/Announcement.java |  60 +-
 .../mobile/data/model/Announcements.java        |  49 +-
 .../taverna/mobile/data/model/Author.java       | 139 +++--
 .../mobile/data/model/DetailAnnouncement.java   |  83 ++-
 .../mobile/data/remote/BaseApiManager.java      |  11 +-
 .../mobile/data/remote/TavernaService.java      |   2 +-
 .../mobile/fragments/FavoriteFragment.java      |  74 +--
 .../mobile/fragments/WorkflowItemFragment.java  | 304 +++++----
 .../mobile/fragments/WorkflowViewpager.java     | 114 ++++
 .../mobile/fragments/Workflow_viewpager.java    | 113 ----
 .../fragments/workflowdetails/RunFragment.java  | 227 +++----
 .../workflowdetails/WorkflowAboutFragment.java  |  14 +-
 .../WorkflowLicenceFragment.java                |  16 +-
 .../WorkflowRunHistoryFragment.java             |  75 +--
 .../workflowdetails/WorkflowdetailFragment.java | 610 ++++++++++---------
 .../taverna/mobile/tavernamobile/Runs.java      |  47 +-
 .../mobile/tavernamobile/TavernaPlayerAPI.java  |  71 ++-
 .../taverna/mobile/tavernamobile/User.java      |  32 +-
 .../taverna/mobile/tavernamobile/Workflow.java  | 177 +++---
 .../mobile/tavernamobile/WorkflowComponent.java |   8 +-
 .../mobile/ui/adapter/AnnouncementAdapter.java  |  36 +-
 .../EndlessRecyclerOnScrollListener.java        |  25 +-
 .../ui/adapter/RecyclerItemClickListner.java    | 158 ++---
 .../ui/anouncements/AnnouncementFragment.java   |  55 +-
 .../ui/anouncements/AnnouncementMvpView.java    |   6 +-
 .../ui/anouncements/AnnouncementPresenter.java  |  18 +-
 .../taverna/mobile/utils/AvatarLoader.java      |  26 +-
 .../taverna/mobile/utils/ConnectionInfo.java    |  10 +-
 .../apache/taverna/mobile/utils/DBUtility.java  |  65 ++
 .../apache/taverna/mobile/utils/DB_Utility.java |  67 --
 .../taverna/mobile/utils/DetailsLoader.java     | 186 +++---
 .../apache/taverna/mobile/utils/HttpUtil.java   |  37 +-
 .../apache/taverna/mobile/utils/RunTask.java    |  32 +-
 .../apache/taverna/mobile/utils/WorkflowDB.java | 328 ++++++++++
 .../mobile/utils/WorkflowDownloadManager.java   |  46 +-
 .../taverna/mobile/utils/WorkflowLoader.java    |  41 +-
 .../mobile/utils/WorkflowLoaderMain.java        |   9 +-
 .../taverna/mobile/utils/WorkflowOpen.java      | 145 +++--
 .../taverna/mobile/utils/Workflow_DB.java       | 307 ----------
 .../utils/xmlparsers/AvatarXMLParser.java       |   5 +-
 .../xmlparsers/MyExperimentXmlParserRules.java  | 230 ++++---
 .../utils/xmlparsers/WorkflowDetailParser.java  |  13 +-
 config/quality/checkstyle/checkstyle-config.xml | 183 ++++++
 .../quality/findbugs/android-exclude-filter.xml |  39 ++
 config/quality/pmd/pmd-ruleset.xml              |  56 ++
 config/quality/quality.gradle                   |  95 +++
 gradle.properties                               |   5 +-
 gradle/wrapper/gradle-wrapper.properties        |   1 +
 62 files changed, 3211 insertions(+), 2504 deletions(-)
----------------------------------------------------------------------



[12/18] incubator-taverna-mobile git commit: remove Gradle Wrapper conflict

Posted by st...@apache.org.
remove Gradle Wrapper conflict


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

Branch: refs/heads/master
Commit: 347d558dc951b9fd5898ef996812e82501df26d6
Parents: cc6c0ca 17c8bc7
Author: Sagar <ku...@gmail.com>
Authored: Mon Jun 13 15:07:58 2016 +0530
Committer: Sagar <ku...@gmail.com>
Committed: Mon Jun 13 15:07:58 2016 +0530

----------------------------------------------------------------------
 .travis.yml                              | 30 +++++++++++++++++++++++++++
 gradle/wrapper/gradle-wrapper.properties |  1 +
 2 files changed, 31 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/347d558d/gradle/wrapper/gradle-wrapper.properties
----------------------------------------------------------------------
diff --cc gradle/wrapper/gradle-wrapper.properties
index 7ca2b70,63da2ff..f13e8da
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@@ -1,4 -1,4 +1,5 @@@
 +#Mon Jun 13 14:56:44 IST 2016
+ #Fri Jun 10 16:01:58 GMT+05:30 2016
  distributionBase=GRADLE_USER_HOME
  distributionPath=wrapper/dists
  zipStoreBase=GRADLE_USER_HOME


[14/18] incubator-taverna-mobile git commit: ignore DM_DEFAULT_ENCODING error

Posted by st...@apache.org.
ignore DM_DEFAULT_ENCODING error


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

Branch: refs/heads/master
Commit: 0df0ab5d1027566a77248932de33e5c420ed45af
Parents: 326071a
Author: Sagar <ku...@gmail.com>
Authored: Mon Jun 13 16:03:43 2016 +0530
Committer: Sagar <ku...@gmail.com>
Committed: Mon Jun 13 16:03:43 2016 +0530

----------------------------------------------------------------------
 config/quality/findbugs/android-exclude-filter.xml | 3 +++
 1 file changed, 3 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/0df0ab5d/config/quality/findbugs/android-exclude-filter.xml
----------------------------------------------------------------------
diff --git a/config/quality/findbugs/android-exclude-filter.xml b/config/quality/findbugs/android-exclude-filter.xml
index ccd73c6..a135338 100644
--- a/config/quality/findbugs/android-exclude-filter.xml
+++ b/config/quality/findbugs/android-exclude-filter.xml
@@ -7,6 +7,9 @@
         <Class name="~.*\.Manifest\$.*"/>
     </Match>
 
+    <Match>
+        <Bug pattern="DM_DEFAULT_ENCODING" />
+    </Match>
 
     <!-- All bugs in test classes, except for JUnit-specific bugs -->
     <Match>


[04/18] incubator-taverna-mobile git commit: refactor code using CheckStyle

Posted by st...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e752e97d/app/src/main/java/org/apache/taverna/mobile/tavernamobile/Workflow.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/tavernamobile/Workflow.java b/app/src/main/java/org/apache/taverna/mobile/tavernamobile/Workflow.java
index b4547ae..195775e 100644
--- a/app/src/main/java/org/apache/taverna/mobile/tavernamobile/Workflow.java
+++ b/app/src/main/java/org/apache/taverna/mobile/tavernamobile/Workflow.java
@@ -2,10 +2,10 @@ package org.apache.taverna.mobile.tavernamobile;
 /**
  * Apache Taverna Mobile
  * Copyright 2015 The Apache Software Foundation
-
+ *
  * This product includes software developed at
  * The Apache Software Foundation (http://www.apache.org/).
-
+ *
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements. See the NOTICE file
  * distributed with this work for additional information
@@ -24,12 +24,12 @@ package org.apache.taverna.mobile.tavernamobile;
  * under the License.
  */
 
+import org.apache.taverna.mobile.R;
+
 import android.content.Context;
 import android.graphics.Bitmap;
 import android.graphics.BitmapFactory;
 
-import org.apache.taverna.mobile.R;
-
 import java.util.ArrayList;
 import java.util.List;
 
@@ -45,48 +45,56 @@ public class Workflow {
     private String workflow_datecreated, workflow_datemodified;
     private Bitmap workflow_author_bitmap;
     private WorkflowComponent workflowComponent;
-    private String workflow_remote_url; //provides a link to download the workflow. Equivalent to content-uri in the xml form
-    private String workflow_web_url; //a string containing the workflow resource that can be loaded in  browser
-    private String workflow_details_url;//used to refer to the details of the workflow
+    private String workflow_remote_url; //provides a link to download the workflow. Equivalent to
+    // content-uri in the xml form
+    private String workflow_web_url; //a string containing the workflow resource that can be
+    // loaded in  browser
+    private String workflow_details_url; //used to refer to the details of the workflow
     private List<Runs> workflow_runs;
     private int workflow_input;
     private long id;
-    private String workflow_uploader;//indicate the user who uploaded the workflow
+    private String workflow_uploader; //indicate the user who uploaded the workflow
     private String workflow_Type; //describes whether it is a type 1 or 2 workflow
     private String workflow_preview; //a url to a preview image of the workflow
-    private String workflow_thumb_big; //a url to a full scale image of the workflow. I Will usually an SVG because the it is available for most of the workflows
+    private String workflow_thumb_big; //a url to a full scale image of the workflow. I Will
+    // usually an SVG because the it is available for most of the workflows
     private String workflow_licence_type; //describes a type of licensing for the workflow
-    private String workflow_content_type;//specifies a content type for the workflow;
-    private List<String> workflow_tags;//provides a list of string tags that could be used to index the workflow for searches
-    private String workflow_versions;//a list of version for the workflow uploaded over time
-    private List<String> workflow_credits;//key contributors to the workflow
-
-    public static enum workflow_input_type{ TYPE_INT, TYPE_STRING, TYPE_OBJECT};
+    private String workflow_content_type; //specifies a content type for the workflow;
+    private List<String> workflow_tags; //provides a list of string tags that could be used to
+    // index the workflow for searches
+    private String workflow_versions; //a list of version for the workflow uploaded over time
+    private List<String> workflow_credits; //key contributors to the workflow
 
     public Workflow() {
     }
 
+    ;
+
     public Workflow(Context context) {
         this.context = context;
         this.workflow_runs = new ArrayList<Runs>();
     }
-    public Workflow(String author, String description, long id, String url){
+
+    public Workflow(String author, String description, long id, String url) {
         this.workflow_author = author;
-        this.workflow_author_bitmap = null;//BitmapFactory.decodeResource(getResources(), R.drawable.ic_userprofile);
-        this.workflow_description =description;
-        this.workflow_input=1;
+        this.workflow_author_bitmap = null; //BitmapFactory.decodeResource(getResources(), R
+        // .drawable.ic_userprofile);
+        this.workflow_description = description;
+        this.workflow_input = 1;
         this.id = id;
         this.workflow_remote_url = url;
         this.workflow_runs = new ArrayList<Runs>();
     }
 
-    public Workflow(Context ctx, String title, String author, String description, long id, String url){
+    public Workflow(Context ctx, String title, String author, String description, long id, String
+            url) {
         this.context = ctx;
         this.workflow_author = author;
-        this.workflow_author_bitmap = BitmapFactory.decodeResource(this.context.getResources(), R.drawable.ic_userprofile);
-        this.workflow_description =description;
-        this.workflow_title =title;
-        this.workflow_input=1;
+        this.workflow_author_bitmap = BitmapFactory.decodeResource(this.context.getResources(), R
+                .drawable.ic_userprofile);
+        this.workflow_description = description;
+        this.workflow_title = title;
+        this.workflow_input = 1;
         this.id = id;
         this.workflow_remote_url = url;
         this.workflow_runs = new ArrayList<Runs>();
@@ -104,6 +112,10 @@ public class Workflow {
         return this.workflow_datecreated;
     }
 
+    public void setWorkflow_datecreated(String workflow_datecreated) {
+        this.workflow_datecreated = workflow_datecreated;
+    }
+
     public String getWorkflow_remote_url() {
         return this.workflow_remote_url;
     }
@@ -116,6 +128,10 @@ public class Workflow {
         return this.workflow_details_url;
     }
 
+    public void setWorkflow_details_url(String workflow_details_url) {
+        this.workflow_details_url = workflow_details_url;
+    }
+
     public User getUploader() {
         return this.uploader;
     }
@@ -124,10 +140,6 @@ public class Workflow {
         this.uploader = uploader;
     }
 
-    public void setWorkflow_details_url(String workflow_details_url) {
-        this.workflow_details_url = workflow_details_url;
-    }
-
     public String getPolicy() {
         return this.policy;
     }
@@ -144,10 +156,6 @@ public class Workflow {
         this.about = about;
     }
 
-    public void setWorkflow_datecreated(String workflow_datecreated) {
-        this.workflow_datecreated = workflow_datecreated;
-    }
-
     public String getWorkflow_datemodified() {
         return this.workflow_datemodified;
     }
@@ -164,7 +172,7 @@ public class Workflow {
         this.workflow_runs = workflow_runs;
     }
 
-    public void addWorkflowRun(Runs runs){ //adds a run to this workflow
+    public void addWorkflowRun(Runs runs) { //adds a run to this workflow
         this.workflow_runs.add(runs);
     }
 
@@ -176,46 +184,46 @@ public class Workflow {
         this.workflow_input = workflow_input;
     }
 
-    public workflow_input_type getInputType(){
-        return workflow_input_type.TYPE_INT;
+    public WorkflowInputType getInputType() {
+        return WorkflowInputType.TYPE_INT;
     }
 
     public String getWorkflow_author() {
         return this.workflow_author;
     }
 
-    public String getWorkflow_description() {
-        return this.workflow_description;
-    }
-
-    public String getWorkflow_title() {
-        return this.workflow_title;
+    public void setWorkflow_author(String workflow_author) {
+        this.workflow_author = workflow_author;
     }
 
-    public Bitmap getWorkflow_author_bitmap() {
-        return this.workflow_author_bitmap;
+    public String getWorkflow_description() {
+        return this.workflow_description;
     }
 
-    public WorkflowComponent getWorkflowComponent() {
-        return this.workflowComponent;
+    public void setWorkflow_description(String workflow_description) {
+        this.workflow_description = workflow_description;
     }
 
-    public void setWorkflow_author(String workflow_author) {
-        this.workflow_author = workflow_author;
+    public String getWorkflow_title() {
+        return this.workflow_title;
     }
 
     public void setWorkflow_title(String workflow_title) {
         this.workflow_title = workflow_title;
     }
 
-    public void setWorkflow_description(String workflow_description) {
-        this.workflow_description = workflow_description;
+    public Bitmap getWorkflow_author_bitmap() {
+        return this.workflow_author_bitmap;
     }
 
     public void setWorkflow_author_bitmap(Bitmap workflow_author_bitmap) {
         this.workflow_author_bitmap = workflow_author_bitmap;
     }
 
+    public WorkflowComponent getWorkflowComponent() {
+        return this.workflowComponent;
+    }
+
     public void setWorkflowComponent(WorkflowComponent workflowComponent) {
         this.workflowComponent = workflowComponent;
     }
@@ -304,6 +312,8 @@ public class Workflow {
     public String toString() {
         return this.workflow_title;
     }
+
+    public static enum WorkflowInputType { TYPE_INT, TYPE_STRING, TYPE_OBJECT }
 }
 /* Use the sample code if it becomes necessary to pass this objects amongst activities
 / simple class that just has one member property as an example
@@ -324,7 +334,8 @@ public class Workflow implements Parcelable {
         out.writeInt(mData);
     }
 
-// this is used to regenerate your object. All Parcelables must have a CREATOR that implements these two methods
+// this is used to regenerate your object. All Parcelables must have a CREATOR that implements
+these two methods
 public static final Parcelable.Creator<Workflow> CREATOR = new Parcelable.Creator<Workflow>() {
     public Workflow createFromParcel(Parcel in) {
         return new Workflow(in);

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e752e97d/app/src/main/java/org/apache/taverna/mobile/tavernamobile/WorkflowComponent.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/tavernamobile/WorkflowComponent.java b/app/src/main/java/org/apache/taverna/mobile/tavernamobile/WorkflowComponent.java
index dab4775..514824a 100644
--- a/app/src/main/java/org/apache/taverna/mobile/tavernamobile/WorkflowComponent.java
+++ b/app/src/main/java/org/apache/taverna/mobile/tavernamobile/WorkflowComponent.java
@@ -2,10 +2,10 @@ package org.apache.taverna.mobile.tavernamobile;
 /**
  * Apache Taverna Mobile
  * Copyright 2015 The Apache Software Foundation
-
+ *
  * This product includes software developed at
  * The Apache Software Foundation (http://www.apache.org/).
-
+ *
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements. See the NOTICE file
  * distributed with this work for additional information
@@ -23,9 +23,11 @@ package org.apache.taverna.mobile.tavernamobile;
  * specific language governing permissions and limitations
  * under the License.
  */
+
 /**
  * Created by Larry Akah on 6/8/15.
- * the component elements that make up a workflow's dataflow (e.g. Taverna has sources, sinks, processors, links and coordinations)
+ * the component elements that make up a workflow's dataflow (e.g. Taverna has sources, sinks,
+ * processors, links and coordinations)
  */
 public class WorkflowComponent {
 

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e752e97d/app/src/main/java/org/apache/taverna/mobile/ui/adapter/AnnouncementAdapter.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/ui/adapter/AnnouncementAdapter.java b/app/src/main/java/org/apache/taverna/mobile/ui/adapter/AnnouncementAdapter.java
index c25e50d..95f3239 100644
--- a/app/src/main/java/org/apache/taverna/mobile/ui/adapter/AnnouncementAdapter.java
+++ b/app/src/main/java/org/apache/taverna/mobile/ui/adapter/AnnouncementAdapter.java
@@ -18,6 +18,9 @@
  */
 package org.apache.taverna.mobile.ui.adapter;
 
+import org.apache.taverna.mobile.R;
+import org.apache.taverna.mobile.data.model.Announcement;
+
 import android.support.v7.widget.RecyclerView;
 import android.util.Log;
 import android.view.LayoutInflater;
@@ -26,9 +29,6 @@ import android.view.ViewGroup;
 import android.widget.ProgressBar;
 import android.widget.TextView;
 
-import org.apache.taverna.mobile.R;
-import org.apache.taverna.mobile.data.model.Announcement;
-
 import java.util.List;
 
 import butterknife.BindView;
@@ -37,12 +37,12 @@ import butterknife.ButterKnife;
 
 public class AnnouncementAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
 
-    private List<Announcement> mAnnouncementList;
     private final int VIEW_ITEM = 1;
     private final int VIEW_PROG = 0;
+    private List<Announcement> mAnnouncementList;
 
 
-    public AnnouncementAdapter( List<Announcement> announcementList) {
+    public AnnouncementAdapter(List<Announcement> announcementList) {
         mAnnouncementList = announcementList;
     }
 
@@ -50,15 +50,6 @@ public class AnnouncementAdapter extends RecyclerView.Adapter<RecyclerView.ViewH
         mAnnouncementList = announcementList;
     }
 
-    public static class ProgressViewHolder extends RecyclerView.ViewHolder {
-        public ProgressBar progressBar;
-        public ProgressViewHolder(View v) {
-            super(v);
-            progressBar = (ProgressBar)v.findViewById(R.id.progressBar1);
-        }
-    }
-
-
     @Override
     public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
         RecyclerView.ViewHolder vh;
@@ -78,9 +69,10 @@ public class AnnouncementAdapter extends RecyclerView.Adapter<RecyclerView.ViewH
 
     @Override
     public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
-        if(holder instanceof ViewHolder) {
-            ((ViewHolder) holder).tvAnnouncementTitle.setText(mAnnouncementList.get(position).getContent());
-            Log.e("", "onBindViewHolder: "+mAnnouncementList.get(1).getContent());
+        if (holder instanceof ViewHolder) {
+            ((ViewHolder) holder).tvAnnouncementTitle.setText(mAnnouncementList.get(position)
+                    .getContent());
+            Log.e("", "onBindViewHolder: " + mAnnouncementList.get(1).getContent());
         }
     }
 
@@ -91,9 +83,17 @@ public class AnnouncementAdapter extends RecyclerView.Adapter<RecyclerView.ViewH
 
     @Override
     public int getItemViewType(int position) {
-        return mAnnouncementList.get(position)!=null? VIEW_ITEM: VIEW_PROG;
+        return mAnnouncementList.get(position) != null ? VIEW_ITEM : VIEW_PROG;
     }
 
+    public static class ProgressViewHolder extends RecyclerView.ViewHolder {
+        public ProgressBar progressBar;
+
+        public ProgressViewHolder(View v) {
+            super(v);
+            progressBar = (ProgressBar) v.findViewById(R.id.progressBar1);
+        }
+    }
 
     class ViewHolder extends RecyclerView.ViewHolder {
 

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e752e97d/app/src/main/java/org/apache/taverna/mobile/ui/adapter/EndlessRecyclerOnScrollListener.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/ui/adapter/EndlessRecyclerOnScrollListener.java b/app/src/main/java/org/apache/taverna/mobile/ui/adapter/EndlessRecyclerOnScrollListener.java
index f3fb3f5..24bc319 100644
--- a/app/src/main/java/org/apache/taverna/mobile/ui/adapter/EndlessRecyclerOnScrollListener.java
+++ b/app/src/main/java/org/apache/taverna/mobile/ui/adapter/EndlessRecyclerOnScrollListener.java
@@ -24,12 +24,12 @@ import android.support.v7.widget.RecyclerView;
 
 public abstract class EndlessRecyclerOnScrollListener extends RecyclerView.OnScrollListener {
     public static String TAG = EndlessRecyclerOnScrollListener.class.getSimpleName();
-
-    private int previousTotal = 0; // The total number of items in the dataset after the last load
-    private boolean loading = true; // True if we are still waiting for the last set of data to load.
-    private int visibleThreshold = 1; // The minimum amount of items to have below your current scroll position before loading more.
     int firstVisibleItem, visibleItemCount, totalItemCount;
-
+    private int previousTotal = 0; // The total number of items in the dataset after the last load
+    private boolean loading = true; // True if we are still waiting for the last set of data to
+    // load.
+    private int visibleThreshold = 1; // The minimum amount of items to have below your current
+    // scroll position before loading more.
     private int current_page = 1;
 
     private LinearLayoutManager mLinearLayoutManager;
@@ -47,12 +47,13 @@ public abstract class EndlessRecyclerOnScrollListener extends RecyclerView.OnScr
         firstVisibleItem = mLinearLayoutManager.findFirstVisibleItemPosition();
 
         if (loading) {
-            if (totalItemCount > previousTotal+1) {
+            if (totalItemCount > previousTotal + 1) {
                 loading = false;
                 previousTotal = totalItemCount;
             }
         }
-        if (!loading && (totalItemCount - visibleItemCount) <= (firstVisibleItem + visibleThreshold)) {
+        if (!loading && (totalItemCount - visibleItemCount) <= (firstVisibleItem +
+                visibleThreshold)) {
             // End has been reached
             // Do something
             current_page++;

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e752e97d/app/src/main/java/org/apache/taverna/mobile/ui/adapter/RecyclerItemClickListner.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/ui/adapter/RecyclerItemClickListner.java b/app/src/main/java/org/apache/taverna/mobile/ui/adapter/RecyclerItemClickListner.java
index 5c0df16..ac17eb4 100644
--- a/app/src/main/java/org/apache/taverna/mobile/ui/adapter/RecyclerItemClickListner.java
+++ b/app/src/main/java/org/apache/taverna/mobile/ui/adapter/RecyclerItemClickListner.java
@@ -27,114 +27,114 @@ import android.view.View;
 
 
 public class RecyclerItemClickListner implements RecyclerView.OnItemTouchListener {
- 
+
     protected OnItemClickListener listener;
- 
+
     private GestureDetector gestureDetector;
- 
+
     @Nullable
     private View childView;
- 
+
     private int childViewPosition;
- 
+
     public RecyclerItemClickListner(Context context, OnItemClickListener listener) {
         this.gestureDetector = new GestureDetector(context, new GestureListener());
         this.listener = listener;
-    } 
- 
-    @Override 
+    }
+
+    @Override
     public boolean onInterceptTouchEvent(RecyclerView view, MotionEvent event) {
         childView = view.findChildViewUnder(event.getX(), event.getY());
         childViewPosition = view.getChildAdapterPosition(childView);
- 
+
         return childView != null && gestureDetector.onTouchEvent(event);
-    } 
- 
-    @Override 
+    }
+
+    @Override
     public void onTouchEvent(RecyclerView view, MotionEvent event) {
         // Not needed. 
-    } 
- 
-    @Override 
+    }
+
+    @Override
     public void onRequestDisallowInterceptTouchEvent(boolean disallowIntercept) {
- 
-    } 
- 
-    /** 
-     * A click listener for items. 
-     */ 
-    public interface OnItemClickListener { 
- 
-        /** 
-         * Called when an item is clicked. 
-         * 
-         * @param childView View of the item that was clicked. 
-         * @param position  Position of the item that was clicked. 
-         */ 
+
+    }
+
+    /**
+     * A click listener for items.
+     */
+    public interface OnItemClickListener {
+
+        /**
+         * Called when an item is clicked.
+         *
+         * @param childView View of the item that was clicked.
+         * @param position  Position of the item that was clicked.
+         */
         public void onItemClick(View childView, int position);
- 
-        /** 
-         * Called when an item is long pressed. 
-         * 
-         * @param childView View of the item that was long pressed. 
-         * @param position  Position of the item that was long pressed. 
-         */ 
+
+        /**
+         * Called when an item is long pressed.
+         *
+         * @param childView View of the item that was long pressed.
+         * @param position  Position of the item that was long pressed.
+         */
         public void onItemLongPress(View childView, int position);
- 
-    } 
- 
-    /** 
-     * A simple click listener whose methods can be overridden one by one. 
-     */ 
-    public static abstract class SimpleOnItemClickListener implements OnItemClickListener { 
- 
-        /** 
-         * Called when an item is clicked. The default implementation is a no-op. 
-         * 
-         * @param childView View of the item that was clicked. 
-         * @param position  Position of the item that was clicked. 
-         */ 
+
+    }
+
+    /**
+     * A simple click listener whose methods can be overridden one by one.
+     */
+    public abstract static class SimpleOnItemClickListener implements OnItemClickListener {
+
+        /**
+         * Called when an item is clicked. The default implementation is a no-op.
+         *
+         * @param childView View of the item that was clicked.
+         * @param position  Position of the item that was clicked.
+         */
         public void onItemClick(View childView, int position) {
             // Do nothing. 
-        } 
- 
-        /** 
-         * Called when an item is long pressed. The default implementation is a no-op. 
-         * 
-         * @param childView View of the item that was long pressed. 
-         * @param position  Position of the item that was long pressed. 
-         */ 
+        }
+
+        /**
+         * Called when an item is long pressed. The default implementation is a no-op.
+         *
+         * @param childView View of the item that was long pressed.
+         * @param position  Position of the item that was long pressed.
+         */
         public void onItemLongPress(View childView, int position) {
             // Do nothing. 
-        } 
- 
-    } 
- 
+        }
+
+    }
+
     protected class GestureListener extends GestureDetector.SimpleOnGestureListener {
- 
-        @Override 
+
+        @Override
         public boolean onSingleTapUp(MotionEvent event) {
             if (childView != null) {
                 listener.onItemClick(childView, childViewPosition);
-            } 
- 
-            return true; 
-        } 
- 
-        @Override 
+            }
+
+            return true;
+        }
+
+        @Override
         public void onLongPress(MotionEvent event) {
             if (childView != null) {
                 listener.onItemLongPress(childView, childViewPosition);
-            } 
-        } 
- 
-        @Override 
+            }
+        }
+
+        @Override
         public boolean onDown(MotionEvent event) {
             // Best practice to always return true here. 
             // http://developer.android.com/training/gestures/detector.html#detect 
-            return true; 
-        } 
- 
-    } 
- 
+            return true;
+        }
+
+    }
+
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e752e97d/app/src/main/java/org/apache/taverna/mobile/ui/anouncements/AnnouncementFragment.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/ui/anouncements/AnnouncementFragment.java b/app/src/main/java/org/apache/taverna/mobile/ui/anouncements/AnnouncementFragment.java
index d10f802..6143df4 100644
--- a/app/src/main/java/org/apache/taverna/mobile/ui/anouncements/AnnouncementFragment.java
+++ b/app/src/main/java/org/apache/taverna/mobile/ui/anouncements/AnnouncementFragment.java
@@ -18,6 +18,16 @@
  */
 package org.apache.taverna.mobile.ui.anouncements;
 
+import org.apache.taverna.mobile.R;
+import org.apache.taverna.mobile.data.DataManager;
+import org.apache.taverna.mobile.data.model.Announcements;
+import org.apache.taverna.mobile.data.model.DetailAnnouncement;
+import org.apache.taverna.mobile.ui.adapter.AnnouncementAdapter;
+import org.apache.taverna.mobile.ui.adapter.EndlessRecyclerOnScrollListener;
+import org.apache.taverna.mobile.ui.adapter.RecyclerItemClickListner;
+import org.apache.taverna.mobile.utils.ConnectionInfo;
+import org.apache.taverna.mobile.utils.ScrollChildSwipeRefreshLayout;
+
 import android.app.ProgressDialog;
 import android.os.Bundle;
 import android.support.design.widget.Snackbar;
@@ -39,21 +49,12 @@ import android.widget.Button;
 import android.widget.ProgressBar;
 import android.widget.TextView;
 
-import org.apache.taverna.mobile.R;
-import org.apache.taverna.mobile.data.DataManager;
-import org.apache.taverna.mobile.data.model.Announcements;
-import org.apache.taverna.mobile.data.model.DetailAnnouncement;
-import org.apache.taverna.mobile.ui.adapter.AnnouncementAdapter;
-import org.apache.taverna.mobile.ui.adapter.EndlessRecyclerOnScrollListener;
-import org.apache.taverna.mobile.ui.adapter.RecyclerItemClickListner;
-import org.apache.taverna.mobile.utils.ConnectionInfo;
-import org.apache.taverna.mobile.utils.ScrollChildSwipeRefreshLayout;
-
 import butterknife.BindView;
 import butterknife.ButterKnife;
 
 
-public class AnnouncementFragment extends Fragment implements RecyclerItemClickListner.OnItemClickListener, AnnouncementMvpView {
+public class AnnouncementFragment extends Fragment implements RecyclerItemClickListner
+        .OnItemClickListener, AnnouncementMvpView {
 
     public final String LOG_TAG = getClass().getSimpleName();
 
@@ -66,7 +67,7 @@ public class AnnouncementFragment extends Fragment implements RecyclerItemClickL
     @BindView(R.id.progress_circular)
     ProgressBar mProgressBar;
 
-    private  AlertDialog alertDialog;
+    private AlertDialog alertDialog;
 
     private ProgressDialog dialog;
 
@@ -87,7 +88,8 @@ public class AnnouncementFragment extends Fragment implements RecyclerItemClickL
     @Override
     public void onItemClick(View childView, int position) {
         showWaitProgress(true);
-        mAnnouncementPresenter.loadAnnouncementDetails(mAnnouncements.getAnnouncement().get(position).getId());
+        mAnnouncementPresenter.loadAnnouncementDetails(mAnnouncements.getAnnouncement().get
+                (position).getId());
     }
 
     @Override
@@ -103,12 +105,13 @@ public class AnnouncementFragment extends Fragment implements RecyclerItemClickL
         mAnnouncements = new Announcements();
         dataManager = new DataManager();
         mAnnouncementPresenter = new AnnouncementPresenter(dataManager);
-        mConnectionInfo =new ConnectionInfo(getContext());
+        mConnectionInfo = new ConnectionInfo(getContext());
     }
 
 
     @Override
-    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
+    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle
+            savedInstanceState) {
         View rootView = inflater.inflate(R.layout.fragment_announcement, container, false);
         ButterKnife.bind(this, rootView);
         mAnnouncementPresenter.attachView(this);
@@ -129,7 +132,8 @@ public class AnnouncementFragment extends Fragment implements RecyclerItemClickL
         mRecyclerView.setItemAnimator(new DefaultItemAnimator());
 
 
-        mSwipeRefresh.setColorSchemeResources(R.color.colorAccent, R.color.colorAccent, R.color.colorPrimary);
+        mSwipeRefresh.setColorSchemeResources(R.color.colorAccent, R.color.colorAccent, R.color
+                .colorPrimary);
         mSwipeRefresh.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
             @Override
             public void onRefresh() {
@@ -159,7 +163,8 @@ public class AnnouncementFragment extends Fragment implements RecyclerItemClickL
 
                 if (mConnectionInfo.isConnectingToInternet()) {
                     mAnnouncements.getAnnouncement().add(null);
-                    mAnnouncementAdapter.notifyItemInserted(mAnnouncements.getAnnouncement().size());
+                    mAnnouncementAdapter.notifyItemInserted(mAnnouncements.getAnnouncement().size
+                            ());
                     mPageNumber = ++mPageNumber;
                     mAnnouncementPresenter.loadAllAnnouncement(mPageNumber);
                     Log.i(LOG_TAG, "Loading more");
@@ -216,7 +221,7 @@ public class AnnouncementFragment extends Fragment implements RecyclerItemClickL
         TextView date = ButterKnife.findById(dialogView, R.id.tvDialogDate);
         TextView author = ButterKnife.findById(dialogView, R.id.tvDialogAuthor);
         WebView text = ButterKnife.findById(dialogView, R.id.wvDialogText);
-        Button buttonOk=ButterKnife.findById(dialogView, R.id.bDialogOK);
+        Button buttonOk = ButterKnife.findById(dialogView, R.id.bDialogOK);
         buttonOk.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
@@ -236,8 +241,9 @@ public class AnnouncementFragment extends Fragment implements RecyclerItemClickL
         super.onResume();
     }
 
-    public void showErrorSnackBar(){
-        final Snackbar snackbar = Snackbar.make(mRecyclerView, "No Internet Connection", Snackbar.LENGTH_LONG);
+    public void showErrorSnackBar() {
+        final Snackbar snackbar = Snackbar.make(mRecyclerView, "No Internet Connection", Snackbar
+                .LENGTH_LONG);
         snackbar.setAction("OK", new View.OnClickListener() {
             @Override
             public void onClick(View view) {
@@ -250,9 +256,9 @@ public class AnnouncementFragment extends Fragment implements RecyclerItemClickL
 
     @Override
     public void showWaitProgress(boolean b) {
-        if(b){
-           dialog  = ProgressDialog.show(getContext(), "Loading", "Please wait...", true);
-        }else{
+        if (b) {
+            dialog = ProgressDialog.show(getContext(), "Loading", "Please wait...", true);
+        } else {
             dialog.dismiss();
         }
     }

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e752e97d/app/src/main/java/org/apache/taverna/mobile/ui/anouncements/AnnouncementMvpView.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/ui/anouncements/AnnouncementMvpView.java b/app/src/main/java/org/apache/taverna/mobile/ui/anouncements/AnnouncementMvpView.java
index cfaaa57..e741d35 100644
--- a/app/src/main/java/org/apache/taverna/mobile/ui/anouncements/AnnouncementMvpView.java
+++ b/app/src/main/java/org/apache/taverna/mobile/ui/anouncements/AnnouncementMvpView.java
@@ -18,16 +18,20 @@
  */
 package org.apache.taverna.mobile.ui.anouncements;
 
-import org.apache.taverna.mobile.data.model.DetailAnnouncement;
 import org.apache.taverna.mobile.data.model.Announcements;
+import org.apache.taverna.mobile.data.model.DetailAnnouncement;
 import org.apache.taverna.mobile.ui.base.MvpView;
 
 
 public interface AnnouncementMvpView extends MvpView {
 
     void showAllAnouncement(Announcements announcements);
+
     void showProgressbar(boolean b);
+
     void showErrorSnackBar();
+
     void showWaitProgress(boolean b);
+
     void showAnnouncementDetail(DetailAnnouncement detailAnnouncement);
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e752e97d/app/src/main/java/org/apache/taverna/mobile/ui/anouncements/AnnouncementPresenter.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/ui/anouncements/AnnouncementPresenter.java b/app/src/main/java/org/apache/taverna/mobile/ui/anouncements/AnnouncementPresenter.java
index d4e5cfe..c8ca5a7 100644
--- a/app/src/main/java/org/apache/taverna/mobile/ui/anouncements/AnnouncementPresenter.java
+++ b/app/src/main/java/org/apache/taverna/mobile/ui/anouncements/AnnouncementPresenter.java
@@ -18,12 +18,13 @@
  */
 package org.apache.taverna.mobile.ui.anouncements;
 
-import android.util.Log;
-
 import org.apache.taverna.mobile.data.DataManager;
-import org.apache.taverna.mobile.data.model.DetailAnnouncement;
 import org.apache.taverna.mobile.data.model.Announcements;
+import org.apache.taverna.mobile.data.model.DetailAnnouncement;
 import org.apache.taverna.mobile.ui.base.BasePresenter;
+
+import android.util.Log;
+
 import rx.Observer;
 import rx.Subscription;
 import rx.android.schedulers.AndroidSchedulers;
@@ -37,7 +38,7 @@ public class AnnouncementPresenter extends BasePresenter<AnnouncementMvpView> {
     private Subscription mSubscriptions;
 
 
-    public AnnouncementPresenter(DataManager dataManager){
+    public AnnouncementPresenter(DataManager dataManager) {
         mDataManager = dataManager;
     }
 
@@ -52,7 +53,7 @@ public class AnnouncementPresenter extends BasePresenter<AnnouncementMvpView> {
         if (mSubscriptions != null) mSubscriptions.unsubscribe();
     }
 
-    public void loadAllAnnouncement(int pageNumber){
+    public void loadAllAnnouncement(int pageNumber) {
 
         mSubscriptions = mDataManager.getAllAnnouncement(pageNumber)
                 .observeOn(AndroidSchedulers.mainThread())
@@ -73,11 +74,12 @@ public class AnnouncementPresenter extends BasePresenter<AnnouncementMvpView> {
                     @Override
                     public void onNext(Announcements announcement) {
                         getMvpView().showAllAnouncement(announcement);
-                        Log.d(LOG_TAG,announcement.getAnnouncement().get(1).getResource());
+                        Log.d(LOG_TAG, announcement.getAnnouncement().get(1).getResource());
                     }
                 });
     }
-    public void loadAnnouncementDetails(String id){
+
+    public void loadAnnouncementDetails(String id) {
 
         mSubscriptions = mDataManager.getAnnouncementDetail(id)
                 .observeOn(AndroidSchedulers.mainThread())
@@ -90,7 +92,7 @@ public class AnnouncementPresenter extends BasePresenter<AnnouncementMvpView> {
 
                     @Override
                     public void onError(Throwable e) {
-                        Log.d(LOG_TAG,e.getMessage());
+                        Log.d(LOG_TAG, e.getMessage());
                         getMvpView().showWaitProgress(false);
                         getMvpView().showErrorSnackBar();
                     }

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e752e97d/app/src/main/java/org/apache/taverna/mobile/utils/AvatarLoader.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/utils/AvatarLoader.java b/app/src/main/java/org/apache/taverna/mobile/utils/AvatarLoader.java
index cf989fa..e724bfa 100644
--- a/app/src/main/java/org/apache/taverna/mobile/utils/AvatarLoader.java
+++ b/app/src/main/java/org/apache/taverna/mobile/utils/AvatarLoader.java
@@ -2,10 +2,10 @@ package org.apache.taverna.mobile.utils;
 /**
  * Apache Taverna Mobile
  * Copyright 2015 The Apache Software Foundation
-
+ *
  * This product includes software developed at
  * The Apache Software Foundation (http://www.apache.org/).
-
+ *
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements. See the NOTICE file
  * distributed with this work for additional information
@@ -23,7 +23,6 @@ package org.apache.taverna.mobile.utils;
  * specific language governing permissions and limitations
  * under the License.
  */
-import android.os.AsyncTask;
 
 import com.thebuzzmedia.sjxp.rule.IRule;
 
@@ -32,6 +31,8 @@ import org.apache.taverna.mobile.tavernamobile.User;
 import org.apache.taverna.mobile.utils.xmlparsers.AvatarXMLParser;
 import org.apache.taverna.mobile.utils.xmlparsers.MyExperimentXmlParserRules;
 
+import android.os.AsyncTask;
+
 import java.io.IOException;
 import java.io.InputStream;
 import java.net.HttpURLConnection;
@@ -39,11 +40,13 @@ import java.net.MalformedURLException;
 import java.net.URL;
 
 /**
- * initiates a process to fetch and parse uploader information so as to retrieve the id, name and avatar link
+ * initiates a process to fetch and parse uploader information so as to retrieve the id, name and
+ * avatar link
  * Created by Larry AKah on 6/29/15.
  */
 public class AvatarLoader extends AsyncTask<String, Void, Void> {
     WorkflowAdapter.ViewHolder vh;
+
     public AvatarLoader(WorkflowAdapter.ViewHolder userViewHolder) {
         this.vh = userViewHolder;
     }
@@ -59,9 +62,12 @@ public class AvatarLoader extends AsyncTask<String, Void, Void> {
             connection.setDoInput(true);
             connection.connect();
             InputStream input = connection.getInputStream();
-            IRule avatarRule = new MyExperimentXmlParserRules.AuthorRule(IRule.Type.ATTRIBUTE,"/user/avatar", "resource","uri","id");
-            IRule avatarName = new MyExperimentXmlParserRules.AuthorRule(IRule.Type.CHARACTER,"/user/name");
-            AvatarXMLParser avatarXMLParser = new AvatarXMLParser(new IRule[]{avatarRule, avatarName});
+            IRule avatarRule = new MyExperimentXmlParserRules.AuthorRule(IRule.Type.ATTRIBUTE,
+                    "/user/avatar", "resource", "uri", "id");
+            IRule avatarName = new MyExperimentXmlParserRules.AuthorRule(IRule.Type.CHARACTER,
+                    "/user/name");
+            AvatarXMLParser avatarXMLParser = new AvatarXMLParser(new IRule[]{avatarRule,
+                    avatarName});
 
             avatarXMLParser.parse(input, new User(strings[1], this.vh));
 

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e752e97d/app/src/main/java/org/apache/taverna/mobile/utils/ConnectionInfo.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/utils/ConnectionInfo.java b/app/src/main/java/org/apache/taverna/mobile/utils/ConnectionInfo.java
index cd11e90..8704071 100644
--- a/app/src/main/java/org/apache/taverna/mobile/utils/ConnectionInfo.java
+++ b/app/src/main/java/org/apache/taverna/mobile/utils/ConnectionInfo.java
@@ -36,7 +36,8 @@ public class ConnectionInfo {
 
 
     public boolean isConnectingToInternet() {
-        ConnectivityManager connectivity = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
+        ConnectivityManager connectivity = (ConnectivityManager) context.getSystemService(Context
+                .CONNECTIVITY_SERVICE);
         if (connectivity != null) {
             NetworkInfo[] info = connectivity.getAllNetworkInfo();
             if (info != null)

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e752e97d/app/src/main/java/org/apache/taverna/mobile/utils/DBUtility.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/utils/DBUtility.java b/app/src/main/java/org/apache/taverna/mobile/utils/DBUtility.java
new file mode 100644
index 0000000..df7b990
--- /dev/null
+++ b/app/src/main/java/org/apache/taverna/mobile/utils/DBUtility.java
@@ -0,0 +1,65 @@
+package org.apache.taverna.mobile.utils;
+/**
+ * Apache Taverna Mobile
+ * Copyright 2015 The Apache Software Foundation
+ *
+ * This product includes software developed at
+ * The Apache Software Foundation (http://www.apache.org/).
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import org.json.JSONArray;
+import org.json.JSONException;
+
+import java.util.ArrayList;
+
+/**
+ * This class contains all utility functions used by our database for basic functionality not
+ * directly related to the core
+ * functionality of it but that aids a core functionality to carryout its function efficiently.
+ * This class is designed to be a singleton class
+ *
+ * @author Larry Akah
+ */
+public class DBUtility {
+
+    /**
+     * Returns a new JSONArray of new key values to be stored ommitting the identified entry to be
+     * removed
+     */
+    public static JSONArray removeKey(JSONArray keys, String removeid) throws JSONException {
+        ArrayList<String> mkeys = new ArrayList<String>();
+        if (keys != null) {
+            for (int i = 0; i < keys.length(); i++) {
+                mkeys.add(keys.getString(i));
+            }
+            mkeys.remove(removeid);
+            JSONArray nkeyArray = new JSONArray();
+            for (String newkey : mkeys) {
+                nkeyArray.put(newkey);
+            }
+            return nkeyArray; //returns the new keys to save under the db;
+
+        } else {
+            return keys; //returns a null value indicating nothin to remove due to no keys available
+        }
+
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e752e97d/app/src/main/java/org/apache/taverna/mobile/utils/DB_Utility.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/utils/DB_Utility.java b/app/src/main/java/org/apache/taverna/mobile/utils/DB_Utility.java
deleted file mode 100644
index 4ae919c..0000000
--- a/app/src/main/java/org/apache/taverna/mobile/utils/DB_Utility.java
+++ /dev/null
@@ -1,67 +0,0 @@
-package org.apache.taverna.mobile.utils;
-/**
- * Apache Taverna Mobile
- * Copyright 2015 The Apache Software Foundation
-
- * This product includes software developed at
- * The Apache Software Foundation (http://www.apache.org/).
-
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-import org.json.JSONArray;
-import org.json.JSONException;
-
-import java.util.ArrayList;
-
-/**
- * This class contains all utility functions used by our database for basic functionality not directly related to the core
- * functionality of it but that aids a core functionality to carryout its function efficiently.
- * This class is designed to be a singleton class
- * @author Larry Akah
- *
- */
-public class DB_Utility {
-
-	/**
-	 * Returns a new JSONArray of new key values to be stored ommitting the identified entry to be removed
-	 * @param keys
-	 * @param removeid
-	 * @return
-	 * @throws org.json.JSONException
-	 */
-	public static JSONArray removeKey(JSONArray keys, String removeid) throws JSONException{
-		ArrayList<String> mkeys = new ArrayList<String>();
-		if(keys!=null){
-		for(int i=0; i<keys.length(); i++){
-			mkeys.add(keys.getString(i));
-			}
-		mkeys.remove(removeid);
-		JSONArray nkeyArray = new JSONArray();
-		for(String newkey: mkeys){
-			nkeyArray.put(newkey);
-		}
-		return nkeyArray; //returns the new keys to save under the db;
-		
-		}
-		else{
-			return keys; //returns a null value indicating nothin to remove due to no keys available
-		}
-		
-	}
-	
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e752e97d/app/src/main/java/org/apache/taverna/mobile/utils/DetailsLoader.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/utils/DetailsLoader.java b/app/src/main/java/org/apache/taverna/mobile/utils/DetailsLoader.java
index 013e826..9152b97 100644
--- a/app/src/main/java/org/apache/taverna/mobile/utils/DetailsLoader.java
+++ b/app/src/main/java/org/apache/taverna/mobile/utils/DetailsLoader.java
@@ -2,10 +2,10 @@ package org.apache.taverna.mobile.utils;
 /**
  * Apache Taverna Mobile
  * Copyright 2015 The Apache Software Foundation
-
+ *
  * This product includes software developed at
  * The Apache Software Foundation (http://www.apache.org/).
-
+ *
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements. See the NOTICE file
  * distributed with this work for additional information
@@ -24,11 +24,6 @@ package org.apache.taverna.mobile.utils;
  * under the License.
  */
 
-import android.content.AsyncTaskLoader;
-import android.content.Context;
-import android.util.Base64;
-import android.util.Log;
-
 import com.thebuzzmedia.sjxp.rule.IRule;
 
 import org.apache.taverna.mobile.tavernamobile.Runs;
@@ -40,6 +35,11 @@ import org.json.JSONArray;
 import org.json.JSONException;
 import org.json.JSONObject;
 
+import android.content.AsyncTaskLoader;
+import android.content.Context;
+import android.util.Base64;
+import android.util.Log;
+
 import java.io.BufferedReader;
 import java.io.IOException;
 import java.io.InputStream;
@@ -50,22 +50,24 @@ import java.net.MalformedURLException;
 import java.net.URL;
 
 /**
- * Loads workflow details from the myexperiment API and presents them on the UI .The class is generic and can be used to load the
+ * Loads workflow details from the myexperiment API and presents them on the UI .The class is
+ * generic and can be used to load the
  * different details sections of the app.
  * Created by Larry Akah on 6/14/15.
  */
 public class DetailsLoader extends AsyncTaskLoader<Workflow> {
 
-    public static enum LOAD_TYPE {TYPE_WORKFLOW_DETAIL, TYPE_RUN_HISTORY,  TYPE_POLICY, TYPE_ABOUT_WORKFLOW};
-    private LOAD_TYPE lt;
+    private LoadType lt;
+
+    ;
     private String uri;
     private Workflow workflow;
     private Context context;
 
-    public DetailsLoader(Context context, LOAD_TYPE load_type, String dataParam) {
+    public DetailsLoader(Context context, LoadType LoadType, String dataParam) {
         super(context);
         this.context = context;
-        this.lt = load_type;
+        this.lt = LoadType;
         uri = dataParam;
         this.workflow = new Workflow();
     }
@@ -82,7 +84,7 @@ public class DetailsLoader extends AsyncTaskLoader<Workflow> {
             TavernaPlayerAPI tavernaPlayerAPI = new TavernaPlayerAPI();
             URL workflowurl;
 
-            switch (this.lt){
+            switch (this.lt) {
                 case TYPE_WORKFLOW_DETAIL:
                     workflowurl = new URL(uri);
                     connection = (HttpURLConnection) workflowurl.openConnection();
@@ -91,21 +93,23 @@ public class DetailsLoader extends AsyncTaskLoader<Workflow> {
                     connection.connect(); //send request
 
                     Log.i("Workflow Response Code", "" + connection.getResponseCode());
-                    Log.i("Workflow Response msg", ""+connection.getResponseMessage());
+                    Log.i("Workflow Response msg", "" + connection.getResponseMessage());
                     dis = connection.getInputStream();
                     break;
                 case TYPE_RUN_HISTORY:
                     workflowurl = new URL(new TavernaPlayerAPI(this.context).PLAYER_RUN_URL);
                     connection = (HttpURLConnection) workflowurl.openConnection();
-                    String userpass = tavernaPlayerAPI.getPlayerUserName(this.context) + ":" + tavernaPlayerAPI.getPlayerUserPassword(this.context);
-                    String basicAuth = "Basic " + Base64.encodeToString(userpass.getBytes(), Base64.DEFAULT);
+                    String userpass = tavernaPlayerAPI.getPlayerUserName(this.context) + ":" +
+                            tavernaPlayerAPI.getPlayerUserPassword(this.context);
+                    String basicAuth = "Basic " + Base64.encodeToString(userpass.getBytes(),
+                            Base64.DEFAULT);
 
-                    connection.setRequestProperty ("Authorization", basicAuth);
+                    connection.setRequestProperty("Authorization", basicAuth);
                     connection.setRequestProperty("Accept", "application/json");
                     connection.setRequestMethod("GET");
                     connection.connect(); //send request
                     Log.i("RESPONSE CODE", "" + connection.getResponseCode());
-                    Log.i("RESPONSE Messsage. Run", ""+connection.getResponseMessage());
+                    Log.i("RESPONSE Messsage. Run", "" + connection.getResponseMessage());
                     dis = connection.getInputStream();
                     break;
                 case TYPE_POLICY:
@@ -116,46 +120,63 @@ public class DetailsLoader extends AsyncTaskLoader<Workflow> {
                     break;
             }
 
-            switch(this.lt) {
+            switch (this.lt) {
                 case TYPE_WORKFLOW_DETAIL: {
                     //make rules and apply the parser
-                    IRule workfl = new MyExperimentXmlParserRules.WorkflowDetailRule(IRule.Type.ATTRIBUTE,
-                            "/workflow", "uri","resource", "id","version");
-                    IRule title = new MyExperimentXmlParserRules.TitleRule(IRule.Type.CHARACTER,"/workflow/title");
-                    IRule description = new MyExperimentXmlParserRules.DescriptionRule(IRule.Type.CHARACTER, "/workflow/description");
-                    IRule type = new MyExperimentXmlParserRules.TypeRule(IRule.Type.CHARACTER, "/workflow/type");
-                    IRule attrType = new MyExperimentXmlParserRules.TypeRule(IRule.Type.ATTRIBUTE, "/workflow/type", "resource", "uri","id");
-                    IRule uploader = new MyExperimentXmlParserRules.UploaderRule(IRule.Type.CHARACTER, "/workflow/uploader");
-                    IRule attrUploader = new MyExperimentXmlParserRules.UploaderRule(IRule.Type.ATTRIBUTE, "/workflow/uploader",  "resource", "uri","id");
-                    IRule date = new MyExperimentXmlParserRules.DateRule(IRule.Type.CHARACTER, "/workflow/created-at");
-                    IRule preview = new MyExperimentXmlParserRules.PreviewRule(IRule.Type.CHARACTER, "/workflow/preview");
-                    IRule licetype = new MyExperimentXmlParserRules.LicenceTypeRule(IRule.Type.CHARACTER, "/workflow/licence-type");
-                    IRule attrlicetype = new MyExperimentXmlParserRules.LicenceTypeRule(IRule.Type.ATTRIBUTE,"/workflow/licence-type", "resource", "uri","id");
-                    IRule contenturi = new MyExperimentXmlParserRules.ContentUriRule(IRule.Type.CHARACTER, "/workflow/content-uri");
-                    IRule contentType = new MyExperimentXmlParserRules.ContentTypeRule(IRule.Type.CHARACTER, "/workflow/content-type");
-                    IRule tags = new MyExperimentXmlParserRules.TagsRule(IRule.Type.CHARACTER, "/workflow/tags/tag");
-                    IRule attrTags = new MyExperimentXmlParserRules.TagsRule(IRule.Type.ATTRIBUTE, "/workflow/tags/tag", "resource", "uri","id");
-
-                    WorkflowDetailParser parser = new WorkflowDetailParser(new IRule[]{workfl,title,description,type,
-                            attrlicetype,attrType, uploader,attrUploader,date,preview,licetype,contenturi,contentType,tags,attrTags});
-                 //   System.out.println(sb.toString());
+                    IRule workfl = new MyExperimentXmlParserRules.WorkflowDetailRule(IRule.Type
+                            .ATTRIBUTE,
+                            "/workflow", "uri", "resource", "id", "version");
+                    IRule title = new MyExperimentXmlParserRules.TitleRule(IRule.Type.CHARACTER,
+                            "/workflow/title");
+                    IRule description = new MyExperimentXmlParserRules.DescriptionRule(IRule.Type
+                            .CHARACTER, "/workflow/description");
+                    IRule type = new MyExperimentXmlParserRules.TypeRule(IRule.Type.CHARACTER,
+                            "/workflow/type");
+                    IRule attrType = new MyExperimentXmlParserRules.TypeRule(IRule.Type
+                            .ATTRIBUTE, "/workflow/type", "resource", "uri", "id");
+                    IRule uploader = new MyExperimentXmlParserRules.UploaderRule(IRule.Type
+                            .CHARACTER, "/workflow/uploader");
+                    IRule attrUploader = new MyExperimentXmlParserRules.UploaderRule(IRule.Type
+                            .ATTRIBUTE, "/workflow/uploader", "resource", "uri", "id");
+                    IRule date = new MyExperimentXmlParserRules.DateRule(IRule.Type.CHARACTER,
+                            "/workflow/created-at");
+                    IRule preview = new MyExperimentXmlParserRules.PreviewRule(IRule.Type
+                            .CHARACTER, "/workflow/preview");
+                    IRule licetype = new MyExperimentXmlParserRules.LicenceTypeRule(IRule.Type
+                            .CHARACTER, "/workflow/licence-type");
+                    IRule attrlicetype = new MyExperimentXmlParserRules.LicenceTypeRule(IRule
+                            .Type.ATTRIBUTE, "/workflow/licence-type", "resource", "uri", "id");
+                    IRule contenturi = new MyExperimentXmlParserRules.ContentUriRule(IRule.Type
+                            .CHARACTER, "/workflow/content-uri");
+                    IRule contentType = new MyExperimentXmlParserRules.ContentTypeRule(IRule.Type
+                            .CHARACTER, "/workflow/content-type");
+                    IRule tags = new MyExperimentXmlParserRules.TagsRule(IRule.Type.CHARACTER,
+                            "/workflow/tags/tag");
+                    IRule attrTags = new MyExperimentXmlParserRules.TagsRule(IRule.Type
+                            .ATTRIBUTE, "/workflow/tags/tag", "resource", "uri", "id");
+
+                    WorkflowDetailParser parser = new WorkflowDetailParser(new IRule[]{workfl,
+                            title, description, type,
+                            attrlicetype, attrType, uploader, attrUploader, date, preview,
+                            licetype, contenturi, contentType, tags, attrTags});
+                    //   System.out.println(sb.toString());
                     parser.parse(dis, this.workflow);
                 }
-                dis.close();
+                    dis.close();
                 //br.close();
-                    return workflow;
-                case TYPE_RUN_HISTORY:{
+                return workflow;
+                case TYPE_RUN_HISTORY: {
                     System.out.println("Downloading run history");
                     BufferedReader br = new BufferedReader(new InputStreamReader(dis));
                     StringBuffer sb = new StringBuffer();
                     String jsonData = "";
-                    while((jsonData = br.readLine()) != null){
+                    while ((jsonData = br.readLine()) != null) {
                         sb.append(jsonData);
                     }
                     workflow = new Workflow(this.context);
                     JSONArray jsonArray = new JSONArray(sb.toString());
                     Log.i("RUN JSON ", jsonArray.toString(2));
-                    for(int j=0; j< jsonArray.length();j++){
+                    for (int j = 0; j < jsonArray.length(); j++) {
                         JSONObject jsonObject = jsonArray.getJSONObject(j);
                         long id = jsonObject.getLong("id");
                         long workflow_id = jsonObject.getLong("workflow_id");
@@ -166,13 +187,13 @@ public class DetailsLoader extends AsyncTaskLoader<Workflow> {
                         JSONObject userobj = jsonObject.getJSONObject("user");
                         String username = userobj.getString("name");
                         StringBuffer nm = new StringBuffer(), ur = new StringBuffer();
-                        for(String n: name.toLowerCase().split(" "))
+                        for (String n : name.toLowerCase().split(" "))
                             nm.append(n);
-                        for (String p: uri.toLowerCase().split(" "))
+                        for (String p : uri.toLowerCase().split(" "))
                             ur.append(p);
 
-                        if(nm.toString().equals(ur.toString())) {
-                            Runs mrun = new Runs(name,started,ended,state);
+                        if (nm.toString().equals(ur.toString())) {
+                            Runs mrun = new Runs(name, started, ended, state);
                             mrun.setRun_id(id);
                             mrun.setRun_workflow_id(workflow_id);
                             mrun.setRun_author(username);
@@ -181,16 +202,16 @@ public class DetailsLoader extends AsyncTaskLoader<Workflow> {
                         }
                     }
                 }
-                    return workflow;
-                case TYPE_POLICY:{
+                return workflow;
+                case TYPE_POLICY: {
 
                 }
-                    return workflow;
+                return workflow;
                 default:
                     BufferedReader br = new BufferedReader(new InputStreamReader(dis));
                     StringBuffer sb = new StringBuffer();
                     String jsonData = "";
-                    while((jsonData = br.readLine()) != null){
+                    while ((jsonData = br.readLine()) != null) {
                         sb.append(jsonData);
                     }
                     dis.close();
@@ -221,32 +242,37 @@ public class DetailsLoader extends AsyncTaskLoader<Workflow> {
             forceLoad();
         }*/
         forceLoad();
-        Log.i("Loading State","loading started");
+        Log.i("Loading State", "loading started");
     }
 
     @Override
     protected void onStopLoading() {
-        Log.i("Loading detailComponent","loading stopped");
+        Log.i("Loading detailComponent", "loading stopped");
     }
 
     @Override
     public void deliverResult(Workflow data) {
-        if(isStarted()){
+        if (isStarted()) {
             super.deliverResult(data);
         }
     }
+
+    public static enum LoadType {
+        TYPE_WORKFLOW_DETAIL, TYPE_RUN_HISTORY, TYPE_POLICY,
+        TYPE_ABOUT_WORKFLOW
+    }
 }
 /**
  * JSONObject js = new JSONObject(sb.toString());
- Log.i("JSON ", js.toString(2));
- String created_at = js.getString("created_at");
- String updated_at = js.getString("updated_at");
- JSONObject user = js.getJSONObject("user");
- workflow = new Workflow(this.context, js.getString("title"),
- user.getString("name"),
- js.getString("description"),
- js.getInt("id"),
- js.getString("url"));
- workflow.setWorkflow_datecreated(created_at);
- workflow.setWorkflow_datemodified(updated_at);
+ * Log.i("JSON ", js.toString(2));
+ * String created_at = js.getString("created_at");
+ * String updated_at = js.getString("updated_at");
+ * JSONObject user = js.getJSONObject("user");
+ * workflow = new Workflow(this.context, js.getString("title"),
+ * user.getString("name"),
+ * js.getString("description"),
+ * js.getInt("id"),
+ * js.getString("url"));
+ * workflow.setWorkflow_datecreated(created_at);
+ * workflow.setWorkflow_datemodified(updated_at);
  **/
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e752e97d/app/src/main/java/org/apache/taverna/mobile/utils/HttpUtil.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/utils/HttpUtil.java b/app/src/main/java/org/apache/taverna/mobile/utils/HttpUtil.java
index 21d92af..5c995a5 100644
--- a/app/src/main/java/org/apache/taverna/mobile/utils/HttpUtil.java
+++ b/app/src/main/java/org/apache/taverna/mobile/utils/HttpUtil.java
@@ -12,18 +12,16 @@ import org.apache.http.impl.client.DefaultHttpClient;
 import org.apache.http.util.EntityUtils;
 import org.apache.taverna.mobile.tavernamobile.User;
 
-import java.io.DataInputStream;
 import java.io.IOException;
-import java.io.ObjectInputStream;
 import java.net.CookieStore;
 import java.net.HttpURLConnection;
 /**
  * Apache Taverna Mobile
  * Copyright 2015 The Apache Software Foundation
-
+ *
  * This product includes software developed at
  * The Apache Software Foundation (http://www.apache.org/).
-
+ *
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements. See the NOTICE file
  * distributed with this work for additional information
@@ -41,31 +39,35 @@ import java.net.HttpURLConnection;
  * specific language governing permissions and limitations
  * under the License.
  */
+
 /**
  * Created by Larry Akah on 6/18/15.
  */
 public class HttpUtil {
 
-    public <T> Object doPostAuthenticate(){
-        User muser = new User("",null);
+    public <T> Object doPostAuthenticate() {
+        User muser = new User("", null);
 
         return muser;
     }
 
-    public <T> Object doGetRequestResponse(String uri, Class<T> classType, String username, String password){
+    public <T> Object doGetRequestResponse(String uri, Class<T> classType, String username,
+                                           String password) {
         Object dataObject = null;
 
         HttpClient httpClient = new DefaultHttpClient();
         HttpGet httpGet = new HttpGet(uri);
         HttpResponse httpResponse = null;
         try {
-            ((AbstractHttpClient) httpClient).setCookieStore((org.apache.http.client.CookieStore) CookieStore.class.newInstance());
-            httpGet.addHeader(BasicScheme.authenticate(new UsernamePasswordCredentials(username,password), "UTF-8", false));
+            ((AbstractHttpClient) httpClient).setCookieStore((org.apache.http.client.CookieStore)
+                    CookieStore.class.newInstance());
+            httpGet.addHeader(BasicScheme.authenticate(new UsernamePasswordCredentials(username,
+                    password), "UTF-8", false));
             httpResponse = httpClient.execute(httpGet);
 
-            if(isSuccess(httpResponse, HttpURLConnection.HTTP_OK)){
+            if (isSuccess(httpResponse, HttpURLConnection.HTTP_OK)) {
                 HttpEntity entity = httpResponse.getEntity();
-                if(entity != null){
+                if (entity != null) {
                     String responseString = EntityUtils.toString(entity);
                     dataObject = this.deSerialize(classType, responseString);
                 }
@@ -91,7 +93,7 @@ public class HttpUtil {
     //de-serializes xml data to target class
     private <T> Object deSerialize(Class<T> classType, String responseString) {
         //TODO deserialize data and return the appropriate object
-       // ObjectInputStream ori = new ObjectInputStream(new DataInputStream(responseString)) ;
+        // ObjectInputStream ori = new ObjectInputStream(new DataInputStream(responseString)) ;
 
         return null;
     }

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e752e97d/app/src/main/java/org/apache/taverna/mobile/utils/RunTask.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/utils/RunTask.java b/app/src/main/java/org/apache/taverna/mobile/utils/RunTask.java
index d0710a5..e73bda0 100644
--- a/app/src/main/java/org/apache/taverna/mobile/utils/RunTask.java
+++ b/app/src/main/java/org/apache/taverna/mobile/utils/RunTask.java
@@ -1,5 +1,8 @@
 package org.apache.taverna.mobile.utils;
 
+import org.apache.taverna.mobile.activities.RunResult;
+import org.apache.taverna.mobile.tavernamobile.TavernaPlayerAPI;
+
 import android.app.ProgressDialog;
 import android.content.Context;
 import android.content.Intent;
@@ -7,9 +10,6 @@ import android.os.AsyncTask;
 import android.util.Base64;
 import android.util.Log;
 
-import org.apache.taverna.mobile.activities.RunResult;
-import org.apache.taverna.mobile.tavernamobile.TavernaPlayerAPI;
-
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.IOException;
@@ -34,8 +34,8 @@ public class RunTask extends AsyncTask<String, Void, String> {
     @Override
     protected void onPreExecute() {
         super.onPreExecute();
-            progressDialog.setMessage("Creating new run for the workflow");
-            progressDialog.show();
+        progressDialog.setMessage("Creating new run for the workflow");
+        progressDialog.show();
     }
 
     @Override
@@ -45,8 +45,10 @@ public class RunTask extends AsyncTask<String, Void, String> {
             TavernaPlayerAPI tavernaPlayerAPI = new TavernaPlayerAPI();
             URL workflowurl = new URL(new TavernaPlayerAPI(this.context).PLAYER_RUN_URL);
             HttpURLConnection connection = (HttpURLConnection) workflowurl.openConnection();
-            String userpass = tavernaPlayerAPI.getPlayerUserName(this.context) + ":" + tavernaPlayerAPI.getPlayerUserPassword(this.context);
-            String basicAuth = "Basic " + Base64.encodeToString(userpass.getBytes(), Base64.DEFAULT);
+            String userpass = tavernaPlayerAPI.getPlayerUserName(this.context) + ":" +
+                    tavernaPlayerAPI.getPlayerUserPassword(this.context);
+            String basicAuth = "Basic " + Base64.encodeToString(userpass.getBytes(), Base64
+                    .DEFAULT);
 
             connection.setRequestProperty("Authorization", basicAuth);
             connection.setRequestProperty("Accept", "application/json");
@@ -57,7 +59,8 @@ public class RunTask extends AsyncTask<String, Void, String> {
             connection.connect(); //send request
 
             DataOutputStream dos = new DataOutputStream(connection.getOutputStream());
-            dos.writeBytes(params[0]);//write post data which is a formatted json data representing inputs to a run
+            dos.writeBytes(params[0]); //write post data which is a formatted json data
+            // representing inputs to a run
 
             dos.flush();
             dos.close();
@@ -75,7 +78,7 @@ public class RunTask extends AsyncTask<String, Void, String> {
 
             return sb.toString();
 
-        }catch (IOException ex){
+        } catch (IOException ex) {
             ex.printStackTrace();
         }
         return sb.toString();
@@ -84,7 +87,7 @@ public class RunTask extends AsyncTask<String, Void, String> {
     @Override
     protected void onPostExecute(String s) {
         Log.i("RUN OutPut", s);
-            progressDialog.dismiss();
+        progressDialog.dismiss();
         Intent runIntent = new Intent();
         runIntent.setClass(this.context, RunResult.class);
         runIntent.putExtra("runresult", s);

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e752e97d/app/src/main/java/org/apache/taverna/mobile/utils/WorkflowDB.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/utils/WorkflowDB.java b/app/src/main/java/org/apache/taverna/mobile/utils/WorkflowDB.java
new file mode 100644
index 0000000..d9db76c
--- /dev/null
+++ b/app/src/main/java/org/apache/taverna/mobile/utils/WorkflowDB.java
@@ -0,0 +1,329 @@
+package org.apache.taverna.mobile.utils;
+/**
+ * Apache Taverna Mobile
+ * Copyright 2015 The Apache Software Foundation
+ *
+ * This product includes software developed at
+ * The Apache Software Foundation (http://www.apache.org/).
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import org.json.JSONArray;
+import org.json.JSONException;
+import org.json.JSONObject;
+
+import android.content.Context;
+import android.content.SharedPreferences;
+import android.preference.PreferenceManager;
+import android.util.Log;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.UUID;
+
+/**
+ * @author Larry Akah
+ * @version 1.0.0
+ *          This class is developed as a means to simplify the code base of the initial json_db
+ *          implementation.
+ *          It aims at using fully the java JSON API available to implement the CRUD functionality
+ *          of the json_db library.
+ *          This class is much more scalable and light-weight than the first implementation
+ */
+public class WorkflowDB {
+
+    private final String LIBTAG = getClass().getName();
+    private String ENTITY_KEY;
+    private Context context;
+    private SharedPreferences msharedpreference;
+    private ArrayList<String> ITEM_IDS;
+    private JSONObject DBJSON;
+    private JSONObject dataobj; //hold all entries for a given ENTITY_KEY
+
+    /**
+     * Constructor initializes a basic data store environment
+     *
+     * @param ctx       a reference to the application's context or sand box
+     * @param entityKey The main data store key for each entity space/schema
+     */
+    public WorkflowDB(Context ctx, String entityKey) {
+        context = ctx;
+        ENTITY_KEY = entityKey;
+        DBJSON = new JSONObject();
+        ITEM_IDS = new ArrayList<String>();
+        dataobj = DBJSON;
+    }
+
+    /**
+     * Inserts an entity set('row') into the data store
+     *
+     * @param items values for each 'column' in the entity
+     * @return the same instance for chaining multiple calls to this method.
+     */
+    public WorkflowDB put(ArrayList<Object> items) throws JSONException {
+
+        String item_id = this.generateRandomId();
+        ITEM_IDS.add(item_id);
+        JSONArray jarray = new JSONArray();
+        for (Object item : items) {
+            jarray.put(item);
+        }
+        dataobj.put(item_id, jarray);
+        return this;
+    }
+
+    /**
+     * Returns all entity entries from the data store. Each item of an entity is accompanied with
+     * the key or unique id of the items.
+     *
+     * @throws org.json.JSONException for errors during construction of a JSON data string.
+     * @throws NullPointerException   for any null accessed variable
+     * @author Larry Akah
+     */
+    public List<ArrayList<Object>> get() throws JSONException, NullPointerException {
+        msharedpreference = PreferenceManager.getDefaultSharedPreferences(context);
+        //read key and get existing data
+        List<ArrayList<Object>> results = new ArrayList<ArrayList<Object>>();
+        JSONObject mainJson = new JSONObject(msharedpreference.getString(ENTITY_KEY, "{" +
+                ENTITY_KEY + ":{}}"));
+
+        Log.i(ENTITY_KEY, mainJson.toString(2));
+
+        JSONArray keysJson = mainJson.getJSONArray("ids"); //retrieve a json array of ids for
+        // every entity entry
+        Log.i(ENTITY_KEY, keysJson.toString(2));
+
+        if (null != keysJson)
+            for (int i = 0; i < keysJson.length(); i++) {
+                //for each key, get the associated data
+                try {
+                    JSONArray resultArray = mainJson.getJSONArray(keysJson.getString(i));
+                    ArrayList<Object> mlist = new ArrayList<Object>();
+                    if (null != resultArray)
+                        for (int j = 0; j < resultArray.length(); j++) {
+                            mlist.add(resultArray.getString(j));
+
+                        }
+                    mlist.add(keysJson.getString(i)); // adds the entry key as last value of the
+                    // data returned
+                    results.add(mlist);
+                } catch (Exception e) {
+                    e.printStackTrace();
+                    continue;
+                }
+            }
+        return results;
+    }
+
+    /**
+     * updates a single item entry of an entity
+     *
+     * @param itemId  provides the id of the item to be updated
+     * @param newItem the new set of data to be used to update the entry
+     * @return boolean indicating whether the item was successfully updated or not. True means item
+     * was updated, false means otherwise.
+     */
+    public boolean update(String itemId, ArrayList<Object> newItem) {
+        boolean operationSucceeded = false;
+
+        JSONArray jarray = new JSONArray();
+        for (Object item : newItem) {
+            jarray.put(item);
+        }
+        try {
+            dataobj.put(itemId, jarray); //replace the current entry at the given ID.
+            Log.d(LIBTAG, "" + dataobj.toString(2));
+            operationSucceeded = true;
+        } catch (JSONException e) {
+            e.printStackTrace();
+            operationSucceeded = false;
+        } finally {
+            return operationSucceeded;
+        }
+    }
+
+    /**
+     * Updates all the items of a given entity
+     *
+     * @return the number of items successfully updated.
+     */
+    public int updateAll(List<ArrayList<String>> items) {
+        return 0;
+    }
+
+    /**
+     * Gets an entry of an entity from the data store
+     *
+     * @param id The id of the item('row') in question to return
+     * @throws org.json.JSONException for errors during construction of a JSON data string.
+     * @throws NullPointerException   for any null accessed variable
+     * @author Larry Akah
+     */
+    public ArrayList<Object> get(String id) throws JSONException, NullPointerException {
+        msharedpreference = PreferenceManager.getDefaultSharedPreferences(context);
+        //read key and get existing data
+        ArrayList<Object> results = new ArrayList<Object>();
+        JSONObject mainJson = new JSONObject(msharedpreference.getString(ENTITY_KEY, ENTITY_KEY +
+                ":{}"));
+
+        Log.i(ENTITY_KEY, mainJson.toString(2));
+
+        JSONArray keysJson = mainJson.getJSONArray("ids"); //retrieve a json array of ids for
+        // every entity entry
+        Log.i(ENTITY_KEY, keysJson.toString(2));
+
+        if (null != keysJson)
+            for (int i = 0; i < keysJson.length(); i++) {
+                //for each key, get the associated data
+                try {
+                    JSONArray resultArray = mainJson.getJSONArray(keysJson.getString(i));
+                    if (null != resultArray)
+                        for (int j = 0; j < resultArray.length(); j++) {
+                            results.add(resultArray.getString(j));
+                        }
+                } catch (Exception e) {
+                    e.printStackTrace();
+                    continue;
+                }
+            }
+        return results;
+    }
+
+    /**
+     * Persists all data by making the data permanent in the preference file on the fileSystem
+     * Save all id's in a different preference
+     *
+     * @return true or false indicating whether the save was successful or not
+     * @author Larry Akah
+     */
+    public boolean save() {
+        msharedpreference = PreferenceManager.getDefaultSharedPreferences(context);
+        boolean saved = false;
+        if (dataobj != null)
+            try {
+                saved = saveid(ITEM_IDS);
+                if (saved)
+                    msharedpreference.edit().putString(ENTITY_KEY, dataobj.toString()).apply();
+                return saved;
+            } catch (JSONException e) {
+                e.printStackTrace();
+                return false;
+            }
+        else
+            return false;
+    }
+
+    /**
+     * @return the number of entities inserted
+     */
+    public int insert(ArrayList<Object> item) {
+        long start = System.currentTimeMillis();
+        msharedpreference = PreferenceManager.getDefaultSharedPreferences(context);
+        try {
+            JSONObject jsonObject = new JSONObject(msharedpreference.getString(ENTITY_KEY, "{" +
+                    ENTITY_KEY + ":{}}")); //main json db
+            System.out.println(jsonObject.toString(1));
+
+            JSONArray jsonArray;
+            if (jsonObject.has("ids"))
+                jsonArray = jsonObject.optJSONArray("ids");
+            else
+                jsonArray = new JSONArray();
+
+            String newItemId = item.get(0).toString(); //use the workflow id as an entity key for
+            // the new entity
+
+            //verify if this workflow item has already been marked as favorite
+            for (int k = 0; k < jsonArray.length(); k++) {
+                if (jsonArray.get(k).toString().equalsIgnoreCase(newItemId))
+                    return -1;
+            }
+
+            jsonArray.put(jsonArray.length(), newItemId); //add new entity id
+            JSONArray newEntity = new JSONArray();
+            for (Object entity : item) {
+                newEntity.put(entity);
+            }
+            jsonObject.put("ids", jsonArray);
+            jsonObject.put(newItemId, newEntity);
+            msharedpreference.edit().putString(ENTITY_KEY, jsonObject.toString()).commit();
+            long end = System.currentTimeMillis();
+            System.out.println("Insert benchmark length = " + (end - start));
+            return 1;
+        } catch (JSONException e) {
+            e.printStackTrace();
+        }
+        return 0;
+    }
+
+    /**
+     * save the ids of all entity entries
+     *
+     * @param ids A list of auto-generated ids that point to each set of entity data in the data
+     *            store
+     * @author Larry Akah
+     */
+    private boolean saveid(ArrayList<String> ids) throws JSONException {
+        JSONArray jarray = new JSONArray();
+        for (Object item : ids) {
+            jarray.put(item);
+        }
+        dataobj.put("ids", jarray);
+
+        return jarray.length() == ids.size() ? true : false;
+    }
+
+    /**
+     * Removes an item from an entity entry
+     *
+     * @author Larry Akah
+     */
+    public WorkflowDB delete(String itemID) throws JSONException {
+        SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(context);
+        JSONObject dbjson = new JSONObject(sp.getString(ENTITY_KEY, ENTITY_KEY + ":{}"));
+
+        JSONArray currentkeys = dbjson.getJSONArray("ids");
+        JSONArray newKeys = DBUtility.removeKey(currentkeys, itemID);
+
+        dbjson.put("ids", newKeys);
+        sp.edit().putString(ENTITY_KEY, dbjson.toString()).apply();
+
+        return this;
+    }
+
+    /**
+     * Removes all items from an entity
+     *
+     * @author Larry Akah
+     */
+    public int bulkDelete(String entity_key) {
+
+        return 0;
+    }
+
+    /**
+     * Generates a random hexadecimal string to be used as ids for identifying each entry of an
+     * entity item. Proven to be collision resistant enough accross API KEYS
+     *
+     * @author Larry Akah
+     */
+    private String generateRandomId() {
+        return UUID.randomUUID().toString();
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e752e97d/app/src/main/java/org/apache/taverna/mobile/utils/WorkflowDownloadManager.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/utils/WorkflowDownloadManager.java b/app/src/main/java/org/apache/taverna/mobile/utils/WorkflowDownloadManager.java
index 3c645ce..b4b5c53 100644
--- a/app/src/main/java/org/apache/taverna/mobile/utils/WorkflowDownloadManager.java
+++ b/app/src/main/java/org/apache/taverna/mobile/utils/WorkflowDownloadManager.java
@@ -2,10 +2,10 @@ package org.apache.taverna.mobile.utils;
 /**
  * Apache Taverna Mobile
  * Copyright 2015 The Apache Software Foundation
-
+ *
  * This product includes software developed at
  * The Apache Software Foundation (http://www.apache.org/).
-
+ *
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements. See the NOTICE file
  * distributed with this work for additional information
@@ -23,6 +23,9 @@ package org.apache.taverna.mobile.utils;
  * specific language governing permissions and limitations
  * under the License.
  */
+
+import org.apache.taverna.mobile.R;
+
 import android.app.DownloadManager;
 import android.app.Notification;
 import android.app.NotificationManager;
@@ -32,8 +35,6 @@ import android.media.RingtoneManager;
 import android.net.Uri;
 import android.support.v4.app.NotificationCompat;
 
-import org.apache.taverna.mobile.R;
-
 import java.io.File;
 
 /**
@@ -58,44 +59,50 @@ public class WorkflowDownloadManager {
 
     /**
      * Download the given workflow
+     *
      * @param destination The destination file in which to save the downloaded file
      */
-    public void downloadWorkflow(File destination, String sourceurl) throws Exception{
+    public void downloadWorkflow(File destination, String sourceurl) throws Exception {
 
         DownloadManager.Query query = new DownloadManager.Query();
-        query.setFilterByStatus(DownloadManager.STATUS_PAUSED|
-                DownloadManager.STATUS_PENDING|
-                DownloadManager.STATUS_RUNNING|DownloadManager.STATUS_FAILED|
+        query.setFilterByStatus(DownloadManager.STATUS_PAUSED |
+                DownloadManager.STATUS_PENDING |
+                DownloadManager.STATUS_RUNNING | DownloadManager.STATUS_FAILED |
                 DownloadManager.STATUS_SUCCESSFUL);
         Cursor cur = this.downloadManager.query(query);
         int col = cur.getColumnIndex(DownloadManager.COLUMN_LOCAL_FILENAME);
 
-        for(cur.moveToFirst(); !cur.isAfterLast(); cur.moveToNext()) {
-            this.isDownloading = this.isDownloading || (destination.getName() == cur.getString(col));
+        for (cur.moveToFirst(); !cur.isAfterLast(); cur.moveToNext()) {
+            this.isDownloading = this.isDownloading || (destination.getName() == cur.getString
+                    (col));
         }
-       // cur.close();
+        // cur.close();
         if (!this.isDownloading) {
             Uri source = Uri.parse(sourceurl);
-            //extract the file name from the source url and append it to the workflow storage directory to be used to download the file into.
-            Uri destinationurl = Uri.withAppendedPath(Uri.fromFile(destination), Uri.parse(sourceurl).getLastPathSegment());
+            //extract the file name from the source url and append it to the workflow storage
+            // directory to be used to download the file into.
+            Uri destinationurl = Uri.withAppendedPath(Uri.fromFile(destination), Uri.parse
+                    (sourceurl).getLastPathSegment());
 
             DownloadManager.Request request = new DownloadManager.Request(source);
             request.setTitle("Workflow");
             request.setDescription("Downloading workflow");
             request.setDestinationUri(destinationurl);
-            request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED |
+            request.setNotificationVisibility(DownloadManager.Request
+                    .VISIBILITY_VISIBLE_NOTIFY_COMPLETED |
                     DownloadManager.Request.VISIBILITY_VISIBLE);
 
             long id = this.downloadManager.enqueue(request);
 
-            if(id != 0)
+            if (id != 0)
                 sendNotification(this.context.getResources().getString(R.string.downloadprogress));
             cur.close();
         }
     }
 
-    public void sendNotification(String message){
-        NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this.context);
+    public void sendNotification(String message) {
+        NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this
+                .context);
         notificationBuilder.setContentText(message)
                 .setContentTitle("Workflow Download")
                 .setSmallIcon(R.mipmap.ic_launcher)
@@ -103,8 +110,9 @@ public class WorkflowDownloadManager {
                 .setVisibility(Notification.VISIBILITY_PUBLIC)
                 .setWhen(0)
                 .setSound(RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION));
-        Notification nf  = notificationBuilder.build();
-        NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
+        Notification nf = notificationBuilder.build();
+        NotificationManager notificationManager = (NotificationManager) context.getSystemService
+                (Context.NOTIFICATION_SERVICE);
         notificationManager.notify(1, nf);
     }
 }


[11/18] incubator-taverna-mobile git commit: update gradle and increase memory size

Posted by st...@apache.org.
update gradle and increase memory size


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

Branch: refs/heads/master
Commit: cc6c0ca10efccb9cbeb4e041d7add5405cfc720b
Parents: e25d011
Author: Sagar <ku...@gmail.com>
Authored: Mon Jun 13 15:01:24 2016 +0530
Committer: Sagar <ku...@gmail.com>
Committed: Mon Jun 13 15:01:24 2016 +0530

----------------------------------------------------------------------
 gradle.properties                        | 5 ++++-
 gradle/wrapper/gradle-wrapper.properties | 4 ++--
 2 files changed, 6 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/cc6c0ca1/gradle.properties
----------------------------------------------------------------------
diff --git a/gradle.properties b/gradle.properties
index 1d3591c..c1ac6d2 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -15,4 +15,7 @@
 # When configured, Gradle will run in incubating parallel mode.
 # This option should only be used with decoupled projects. More details, visit
 # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
-# org.gradle.parallel=true
\ No newline at end of file
+# org.gradle.parallel=true
+
+org.gradle.daemon=true
+org.gradle.jvmargs=-XX:MaxPermSize=1024m -XX:+CMSClassUnloadingEnabled -XX:+HeapDumpOnOutOfMemoryError -Xmx2048m
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/cc6c0ca1/gradle/wrapper/gradle-wrapper.properties
----------------------------------------------------------------------
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index 0c71e76..7ca2b70 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
-#Wed Apr 10 15:27:10 PDT 2013
+#Mon Jun 13 14:56:44 IST 2016
 distributionBase=GRADLE_USER_HOME
 distributionPath=wrapper/dists
 zipStoreBase=GRADLE_USER_HOME
 zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-2.2.1-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-2.10-all.zip


[08/18] incubator-taverna-mobile git commit: add pmd rule sets and gradle config

Posted by st...@apache.org.
add pmd rule sets and gradle config


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

Branch: refs/heads/master
Commit: 6128a61493951e3bc48cf2f2ff6fc2eab75a2ed3
Parents: e752e97
Author: Sagar <ku...@gmail.com>
Authored: Fri Jun 10 22:46:28 2016 +0530
Committer: Sagar <ku...@gmail.com>
Committed: Fri Jun 10 22:46:28 2016 +0530

----------------------------------------------------------------------
 config/quality/pmd/pmd-ruleset.xml | 40 +++++++++++++++++++++++++++++++++
 config/quality/quality.gradle      | 24 +++++++++++++++++++-
 2 files changed, 63 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/6128a614/config/quality/pmd/pmd-ruleset.xml
----------------------------------------------------------------------
diff --git a/config/quality/pmd/pmd-ruleset.xml b/config/quality/pmd/pmd-ruleset.xml
new file mode 100644
index 0000000..2d66bd6
--- /dev/null
+++ b/config/quality/pmd/pmd-ruleset.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<ruleset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="Android Application Rules"
+         xmlns="http://pmd.sf.net/ruleset/1.0.0"
+         xsi:noNamespaceSchemaLocation="http://pmd.sf.net/ruleset_xml_schema.xsd"
+         xsi:schemaLocation="http://pmd.sf.net/ruleset/1.0.0 http://pmd.sf.net/ruleset_xml_schema.xsd">
+
+    <description>Custom ruleset for ribot Android application</description>
+
+    <exclude-pattern>.*/R.java</exclude-pattern>
+    <exclude-pattern>.*/gen/.*</exclude-pattern>
+
+    <rule ref="rulesets/java/android.xml" />
+    <rule ref="rulesets/java/clone.xml" />
+    <rule ref="rulesets/java/finalizers.xml" />
+    <rule ref="rulesets/java/imports.xml">
+        <!-- Espresso is designed this way !-->
+        <exclude name="TooManyStaticImports" />
+    </rule>
+    <rule ref="rulesets/java/logging-java.xml">
+        <!-- This rule wasn't working properly and given errors in every var call info -->
+        <exclude name="GuardLogStatementJavaUtil" />
+    </rule>
+    <rule ref="rulesets/java/braces.xml">
+        <!-- We allow single line if's without braces -->
+        <exclude name="IfStmtsMustUseBraces" />
+    </rule>
+    <rule ref="rulesets/java/strings.xml" >
+        <!-- Exclude because causes problems with SQL Strings that usually require duplication -->
+        <exclude name="AvoidDuplicateLiterals"/>
+    </rule>
+    <rule ref="rulesets/java/basic.xml" />
+    <rule ref="rulesets/java/naming.xml">
+        <exclude name="AbstractNaming" />
+        <exclude name="LongVariable" />
+        <exclude name="ShortMethodName" />
+        <exclude name="ShortVariable" />
+        <exclude name="ShortClassName" />
+        <exclude name="VariableNamingConventions" />
+    </rule>
+</ruleset>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/6128a614/config/quality/quality.gradle
----------------------------------------------------------------------
diff --git a/config/quality/quality.gradle b/config/quality/quality.gradle
index 8883952..978277f 100644
--- a/config/quality/quality.gradle
+++ b/config/quality/quality.gradle
@@ -1,4 +1,5 @@
 apply plugin: 'checkstyle'
+apply plugin: 'pmd'
 
 dependencies {
     checkstyle 'com.puppycrawl.tools:checkstyle:6.5'
@@ -7,7 +8,7 @@ dependencies {
 def qualityConfigDir = "$project.rootDir/config/quality";
 def reportsDir = "$project.buildDir/reports"
 
-check.dependsOn 'checkstyle'
+check.dependsOn 'checkstyle', 'pmd'
 
 task checkstyle(type: Checkstyle, group: 'Verification', description: 'Runs code style checks') {
     configFile file("$qualityConfigDir/checkstyle/checkstyle-config.xml")
@@ -23,4 +24,25 @@ task checkstyle(type: Checkstyle, group: 'Verification', description: 'Runs code
     }
 
     classpath = files()
+}
+
+task pmd(type: Pmd, group: 'Verification', description: 'Inspect sourcecode for bugs') {
+    ruleSetFiles = files("$qualityConfigDir/pmd/pmd-ruleset.xml")
+    ignoreFailures = false
+    ruleSets = []
+
+    source 'src'
+    include '**/*.java'
+    exclude '**/gen/**'
+
+    reports {
+        xml.enabled = true
+        html.enabled = true
+        xml {
+            destination "$reportsDir/pmd/pmd.xml"
+        }
+        html {
+            destination "$reportsDir/pmd/pmd.html"
+        }
+    }
 }
\ No newline at end of file


[16/18] incubator-taverna-mobile git commit: add ASF file headers

Posted by st...@apache.org.
add ASF file headers


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

Branch: refs/heads/master
Commit: 76cb6bd30e133c1e0d08d1eda750aa4b02ae07c4
Parents: 18002d3
Author: Sagar <ku...@gmail.com>
Authored: Mon Jun 13 16:56:49 2016 +0530
Committer: Sagar <ku...@gmail.com>
Committed: Mon Jun 13 16:56:49 2016 +0530

----------------------------------------------------------------------
 config/quality/checkstyle/checkstyle-config.xml    | 16 ++++++++++++++++
 config/quality/findbugs/android-exclude-filter.xml | 16 ++++++++++++++++
 config/quality/pmd/pmd-ruleset.xml                 | 16 ++++++++++++++++
 config/quality/quality.gradle                      | 17 +++++++++++++++++
 4 files changed, 65 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/76cb6bd3/config/quality/checkstyle/checkstyle-config.xml
----------------------------------------------------------------------
diff --git a/config/quality/checkstyle/checkstyle-config.xml b/config/quality/checkstyle/checkstyle-config.xml
index d7af4c3..dd0489c 100644
--- a/config/quality/checkstyle/checkstyle-config.xml
+++ b/config/quality/checkstyle/checkstyle-config.xml
@@ -1,4 +1,20 @@
 <?xml version="1.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.
+-->
 <!DOCTYPE module PUBLIC
     "-//Puppy Crawl//DTD Check Configuration 1.3//EN"
     "http://www.puppycrawl.com/dtds/configuration_1_3.dtd">

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/76cb6bd3/config/quality/findbugs/android-exclude-filter.xml
----------------------------------------------------------------------
diff --git a/config/quality/findbugs/android-exclude-filter.xml b/config/quality/findbugs/android-exclude-filter.xml
index a135338..2369bd0 100644
--- a/config/quality/findbugs/android-exclude-filter.xml
+++ b/config/quality/findbugs/android-exclude-filter.xml
@@ -1,4 +1,20 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!--
+   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.
+-->
 <FindBugsFilter>
     <Match>
         <Class name="~.*\.R\$.*"/>

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/76cb6bd3/config/quality/pmd/pmd-ruleset.xml
----------------------------------------------------------------------
diff --git a/config/quality/pmd/pmd-ruleset.xml b/config/quality/pmd/pmd-ruleset.xml
index 2d66bd6..f22a035 100644
--- a/config/quality/pmd/pmd-ruleset.xml
+++ b/config/quality/pmd/pmd-ruleset.xml
@@ -1,4 +1,20 @@
 <?xml version="1.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.
+-->
 <ruleset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="Android Application Rules"
          xmlns="http://pmd.sf.net/ruleset/1.0.0"
          xsi:noNamespaceSchemaLocation="http://pmd.sf.net/ruleset_xml_schema.xsd"

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/76cb6bd3/config/quality/quality.gradle
----------------------------------------------------------------------
diff --git a/config/quality/quality.gradle b/config/quality/quality.gradle
index b99c433..2f5fff6 100644
--- a/config/quality/quality.gradle
+++ b/config/quality/quality.gradle
@@ -1,3 +1,20 @@
+/*
+   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.
+*/
+
 apply plugin: 'checkstyle'
 apply plugin: 'pmd'
 apply plugin: 'findbugs'


[09/18] incubator-taverna-mobile git commit: refactor code using pmd

Posted by st...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e25d011a/app/src/main/java/org/apache/taverna/mobile/utils/HttpUtil.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/utils/HttpUtil.java b/app/src/main/java/org/apache/taverna/mobile/utils/HttpUtil.java
index 5c995a5..f043d93 100644
--- a/app/src/main/java/org/apache/taverna/mobile/utils/HttpUtil.java
+++ b/app/src/main/java/org/apache/taverna/mobile/utils/HttpUtil.java
@@ -12,6 +12,8 @@ import org.apache.http.impl.client.DefaultHttpClient;
 import org.apache.http.util.EntityUtils;
 import org.apache.taverna.mobile.tavernamobile.User;
 
+import android.util.Log;
+
 import java.io.IOException;
 import java.net.CookieStore;
 import java.net.HttpURLConnection;
@@ -44,7 +46,7 @@ import java.net.HttpURLConnection;
  * Created by Larry Akah on 6/18/15.
  */
 public class HttpUtil {
-
+    private static final String TAG = "HttpUtil";
     public <T> Object doPostAuthenticate() {
         User muser = new User("", null);
 
@@ -73,16 +75,16 @@ public class HttpUtil {
                 }
             }
         } catch (InstantiationException e) {
-            e.printStackTrace();
+            Log.e(TAG, "doGetRequestResponse: ", e);
             return e.getMessage();
         } catch (IllegalAccessException e) {
-            e.printStackTrace();
+            Log.e(TAG, "doGetRequestResponse: ", e);
             return e.getMessage();
         } catch (ClientProtocolException e) {
-            e.printStackTrace();
+            Log.e(TAG, "doGetRequestResponse: ", e);
             return e.getMessage();
         } catch (IOException e) {
-            e.printStackTrace();
+            Log.e(TAG, "doGetRequestResponse: ", e);
             return e.getMessage();
         }
 

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e25d011a/app/src/main/java/org/apache/taverna/mobile/utils/RunTask.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/utils/RunTask.java b/app/src/main/java/org/apache/taverna/mobile/utils/RunTask.java
index e73bda0..3aa06fb 100644
--- a/app/src/main/java/org/apache/taverna/mobile/utils/RunTask.java
+++ b/app/src/main/java/org/apache/taverna/mobile/utils/RunTask.java
@@ -23,6 +23,7 @@ import java.net.URL;
  */
 public class RunTask extends AsyncTask<String, Void, String> {
 
+    private static final String TAG = "RunTask";
     private Context context;
     private ProgressDialog progressDialog;
 
@@ -43,7 +44,7 @@ public class RunTask extends AsyncTask<String, Void, String> {
         StringBuffer sb = new StringBuffer();
         try {
             TavernaPlayerAPI tavernaPlayerAPI = new TavernaPlayerAPI();
-            URL workflowurl = new URL(new TavernaPlayerAPI(this.context).PLAYER_RUN_URL);
+            URL workflowurl = new URL(new TavernaPlayerAPI(this.context).mPlayerRunUrl);
             HttpURLConnection connection = (HttpURLConnection) workflowurl.openConnection();
             String userpass = tavernaPlayerAPI.getPlayerUserName(this.context) + ":" +
                     tavernaPlayerAPI.getPlayerUserPassword(this.context);
@@ -79,7 +80,7 @@ public class RunTask extends AsyncTask<String, Void, String> {
             return sb.toString();
 
         } catch (IOException ex) {
-            ex.printStackTrace();
+            Log.e(TAG, "doInBackground: ", ex);
         }
         return sb.toString();
     }

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e25d011a/app/src/main/java/org/apache/taverna/mobile/utils/WorkflowDB.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/utils/WorkflowDB.java b/app/src/main/java/org/apache/taverna/mobile/utils/WorkflowDB.java
index d9db76c..6e62a01 100644
--- a/app/src/main/java/org/apache/taverna/mobile/utils/WorkflowDB.java
+++ b/app/src/main/java/org/apache/taverna/mobile/utils/WorkflowDB.java
@@ -48,12 +48,11 @@ import java.util.UUID;
  */
 public class WorkflowDB {
 
-    private final String LIBTAG = getClass().getName();
-    private String ENTITY_KEY;
+    private static final String TAG = "WorkflowDB";
+    private final String ENTITY_KEY;
     private Context context;
     private SharedPreferences msharedpreference;
-    private ArrayList<String> ITEM_IDS;
-    private JSONObject DBJSON;
+    private final ArrayList<String> ITEM_IDS;
     private JSONObject dataobj; //hold all entries for a given ENTITY_KEY
 
     /**
@@ -65,9 +64,8 @@ public class WorkflowDB {
     public WorkflowDB(Context ctx, String entityKey) {
         context = ctx;
         ENTITY_KEY = entityKey;
-        DBJSON = new JSONObject();
         ITEM_IDS = new ArrayList<String>();
-        dataobj = DBJSON;
+        dataobj = new JSONObject();
     }
 
     /**
@@ -124,7 +122,7 @@ public class WorkflowDB {
                     // data returned
                     results.add(mlist);
                 } catch (Exception e) {
-                    e.printStackTrace();
+                    Log.e(TAG, "get: ", e);
                     continue;
                 }
             }
@@ -148,14 +146,14 @@ public class WorkflowDB {
         }
         try {
             dataobj.put(itemId, jarray); //replace the current entry at the given ID.
-            Log.d(LIBTAG, "" + dataobj.toString(2));
+            Log.d(TAG, "" + dataobj.toString(2));
             operationSucceeded = true;
         } catch (JSONException e) {
-            e.printStackTrace();
+            Log.e(TAG, "update: ", e);
             operationSucceeded = false;
-        } finally {
-            return operationSucceeded;
         }
+        return operationSucceeded;
+
     }
 
     /**
@@ -198,7 +196,7 @@ public class WorkflowDB {
                             results.add(resultArray.getString(j));
                         }
                 } catch (Exception e) {
-                    e.printStackTrace();
+                    Log.e(TAG, "get: ", e);
                     continue;
                 }
             }
@@ -215,18 +213,19 @@ public class WorkflowDB {
     public boolean save() {
         msharedpreference = PreferenceManager.getDefaultSharedPreferences(context);
         boolean saved = false;
-        if (dataobj != null)
+        if (dataobj != null) {
             try {
                 saved = saveid(ITEM_IDS);
                 if (saved)
                     msharedpreference.edit().putString(ENTITY_KEY, dataobj.toString()).apply();
                 return saved;
             } catch (JSONException e) {
-                e.printStackTrace();
+                Log.e(TAG, "save: ", e);
                 return false;
             }
-        else
+        } else {
             return false;
+        }
     }
 
     /**
@@ -238,14 +237,14 @@ public class WorkflowDB {
         try {
             JSONObject jsonObject = new JSONObject(msharedpreference.getString(ENTITY_KEY, "{" +
                     ENTITY_KEY + ":{}}")); //main json db
-            System.out.println(jsonObject.toString(1));
+            Log.d(TAG, jsonObject.toString(1));
 
             JSONArray jsonArray;
-            if (jsonObject.has("ids"))
+            if (jsonObject.has("ids")) {
                 jsonArray = jsonObject.optJSONArray("ids");
-            else
+            } else {
                 jsonArray = new JSONArray();
-
+            }
             String newItemId = item.get(0).toString(); //use the workflow id as an entity key for
             // the new entity
 
@@ -264,10 +263,10 @@ public class WorkflowDB {
             jsonObject.put(newItemId, newEntity);
             msharedpreference.edit().putString(ENTITY_KEY, jsonObject.toString()).commit();
             long end = System.currentTimeMillis();
-            System.out.println("Insert benchmark length = " + (end - start));
+            Log.d(TAG, "Insert benchmark length = " + (end - start));
             return 1;
         } catch (JSONException e) {
-            e.printStackTrace();
+            Log.e(TAG, "insert: ", e);
         }
         return 0;
     }

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e25d011a/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 c98f0f5..64fee15 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
@@ -49,6 +49,7 @@ import java.util.List;
  */
 public class WorkflowLoader extends AsyncTask<String, Object, Object> { //WorkflowLoaderMain {
 
+    private static final String TAG = "WorkflowLoader";
     private Context ctx;
     private List<Workflow> userWorkflows;
     private SwipeRefreshLayout refreshLayout;
@@ -86,13 +87,13 @@ public class WorkflowLoader extends AsyncTask<String, Object, Object> { //Workfl
             xmlParser.parse(dis, this.userWorkflows);
 
         } catch (MalformedURLException e) {
-            e.printStackTrace();
+            Log.e(TAG, "doInBackground: ", e);
         } catch (ProtocolException e) {
-            e.printStackTrace();
+            Log.e(TAG, "doInBackground: ", e);
         } catch (IOException e) {
-            e.printStackTrace();
+            Log.e(TAG, "doInBackground: ", e);
         } catch (Exception ex) {
-            ex.printStackTrace();
+            Log.e(TAG, "doInBackground: ", ex);
         }
         return this.userWorkflows;
     }
@@ -100,6 +101,6 @@ public class WorkflowLoader extends AsyncTask<String, Object, Object> { //Workfl
     @Override
     protected void onPostExecute(Object o) {
         refreshLayout.setRefreshing(false);
-        System.out.println("Workflow Count: " + this.userWorkflows.size());
+        Log.i(TAG, "Workflow Count: " + this.userWorkflows.size());
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e25d011a/app/src/main/java/org/apache/taverna/mobile/utils/WorkflowOpen.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/utils/WorkflowOpen.java b/app/src/main/java/org/apache/taverna/mobile/utils/WorkflowOpen.java
index b54124b..693190a 100644
--- a/app/src/main/java/org/apache/taverna/mobile/utils/WorkflowOpen.java
+++ b/app/src/main/java/org/apache/taverna/mobile/utils/WorkflowOpen.java
@@ -37,6 +37,7 @@ import java.net.URL;
  */
 public class WorkflowOpen extends AsyncTask<String, Void, String> {
 
+    private static final String TAG = "WorkflowOpen";
     TavernaPlayerAPI tavernaPlayerAPI = new TavernaPlayerAPI();
     private Context context;
     private ProgressDialog progressDialog;
@@ -59,14 +60,14 @@ public class WorkflowOpen extends AsyncTask<String, Void, String> {
      */
     @Override
     protected String doInBackground(String... params) {
-        StringBuffer sb = new StringBuffer();
+        StringBuffer sb = new StringBuffer(55);
         String str = "";
         try {
 
             //prepare connection requests
             File objectFile = new File(params[0]); //the resource xml file representing the
             // workflow to be uploaded to the player
-            String playerurl = new TavernaPlayerAPI(this.context).PLAYER_BASE_URL + "workflows" +
+            String playerurl = new TavernaPlayerAPI(this.context).getplayerBaseUrl() + "workflows" +
                     ".json";
             URL posturl = new URL(playerurl);
             HttpURLConnection connection = (HttpURLConnection) posturl.openConnection();
@@ -85,7 +86,7 @@ public class WorkflowOpen extends AsyncTask<String, Void, String> {
                 }
                 br.close();
             } catch (IOException e) {
-                e.printStackTrace();
+                Log.e(TAG, "doInBackground: ", e);
             }
 
             String data = "{\"document\":\"data:application/octet-stream;base64," +
@@ -94,7 +95,7 @@ public class WorkflowOpen extends AsyncTask<String, Void, String> {
             String post = "{\"workflow\":" + data + "}";
             //clear sb so that we can use it again to fetch results from this post request
             sb.delete(0, sb.length() - 1);
-            System.out.println("BODY=>" + post);
+            Log.i(TAG, "BODY=>" + post);
             connection.setRequestMethod("POST");
             connection.setRequestProperty("Authorization", basicAuth);
             connection.setRequestProperty("Accept", "*/*");
@@ -114,13 +115,14 @@ public class WorkflowOpen extends AsyncTask<String, Void, String> {
 
             InputStream dis = connection.getInputStream();
             BufferedReader br = new BufferedReader(new InputStreamReader(dis));
-            while ((str = br.readLine()) != null)
+            while ((str = br.readLine()) != null) {
                 sb.append(str);
-            System.out.println("Post Response Code: " + connection.getResponseCode());
-            System.out.println("Post response message: " + connection.getResponseMessage());
+            }
+            Log.i(TAG, "Post Response Code: " + connection.getResponseCode());
+            Log.i(TAG, "Post response message: " + connection.getResponseMessage());
             connection.disconnect();
         } catch (IOException e) {
-            e.printStackTrace();
+            Log.e(TAG, "doInBackground: ", e);
             sb.append("Error reading remote workflow. Please try again later");
         }
 
@@ -138,14 +140,14 @@ public class WorkflowOpen extends AsyncTask<String, Void, String> {
     @Override
     protected void onPostExecute(String s) {
         progressDialog.dismiss();
-        System.out.println(s);
+        Log.i(TAG, s);
         s = s.substring(1, s.length());
         try {
             JSONObject workflowJson = new JSONObject(s);
             new WorkflowRunTask(this.context).execute(workflowJson.getString("id"));
 
         } catch (JSONException e) {
-            e.printStackTrace();
+            Log.e(TAG, "onPostExecute: ", e);
         }
 
     }
@@ -192,7 +194,7 @@ public class WorkflowOpen extends AsyncTask<String, Void, String> {
             try {
 
                 URL workflowurl = new URL(new TavernaPlayerAPI(this.context)
-                        .PLAYER_RUN_FRAMEWORK_URL + params[0]);
+                        .mPlayerRunFrameworkUrl + params[0]);
                 HttpURLConnection connection = (HttpURLConnection) workflowurl.openConnection();
                 String userpass = tavernaPlayerAPI.getPlayerUserName(this.context) + ":" +
                         tavernaPlayerAPI.getPlayerUserPassword(this.context);
@@ -219,7 +221,7 @@ public class WorkflowOpen extends AsyncTask<String, Void, String> {
                 return sb.toString();
 
             } catch (IOException ex) {
-                ex.printStackTrace();
+                Log.e(TAG, "doInBackground: ", ex);
             }
             return sb.toString();
         }
@@ -269,7 +271,7 @@ public class WorkflowOpen extends AsyncTask<String, Void, String> {
                                 // name/input json object
 
                             } catch (JSONException e) {
-                                e.printStackTrace();
+                                Log.e(TAG, "onClick: ", e);
                             }
 
                         }
@@ -279,7 +281,7 @@ public class WorkflowOpen extends AsyncTask<String, Void, String> {
                             //start a run task to execute the run.
                             new RunTask(ctx).execute(json.toString());
                         } catch (JSONException e) {
-                            e.printStackTrace();
+                            Log.e(TAG, "onClick: ", e);
                         }
 
                     }
@@ -296,7 +298,7 @@ public class WorkflowOpen extends AsyncTask<String, Void, String> {
                 runDialog = alertDialogBuilder.create();
 
             } catch (JSONException e) {
-                e.printStackTrace();
+                Log.e(TAG, "onPostExecute: ", e);
             }
             progressDialog.dismiss();
             runDialog.show();

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e25d011a/app/src/main/java/org/apache/taverna/mobile/utils/xmlparsers/MyExperimentXmlParserRules.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/utils/xmlparsers/MyExperimentXmlParserRules.java b/app/src/main/java/org/apache/taverna/mobile/utils/xmlparsers/MyExperimentXmlParserRules.java
index 8167968..a17ce71 100644
--- a/app/src/main/java/org/apache/taverna/mobile/utils/xmlparsers/MyExperimentXmlParserRules.java
+++ b/app/src/main/java/org/apache/taverna/mobile/utils/xmlparsers/MyExperimentXmlParserRules.java
@@ -62,20 +62,20 @@ public class MyExperimentXmlParserRules {
                 userObject) {
             switch (index) {
                 case 0: //uri
-                    mWorkflow.setWorkflow_details_url(value);
-                    ((Workflow) userObject).setWorkflow_details_url(value);
+                    mWorkflow.setWorkflowDetailsUrl(value);
+                    ((Workflow) userObject).setWorkflowDetailsUrl(value);
                     break;
                 case 1: //resource
-                    mWorkflow.setWorkflow_web_url(value);
-                    ((Workflow) userObject).setWorkflow_web_url(value);
+                    mWorkflow.setWorkflowWebUrl(value);
+                    ((Workflow) userObject).setWorkflowWebUrl(value);
                     break;
                 case 2: //id
                     mWorkflow.setId(Integer.parseInt(value));
                     ((Workflow) userObject).setId(Integer.parseInt(value));
                     break;
                 case 3://version
-                    mWorkflow.setWorkflow_versions(value);
-                    ((Workflow) userObject).setWorkflow_versions(value);
+                    mWorkflow.setWorkflowVersions(value);
+                    ((Workflow) userObject).setWorkflowVersions(value);
                     break;
             }
         }
@@ -90,8 +90,8 @@ public class MyExperimentXmlParserRules {
 
         @Override
         public void handleParsedCharacters(XMLParser parser, String text, Object userObject) {
-            mWorkflow.setWorkflow_title(text);
-            ((Workflow) userObject).setWorkflow_title(text);
+            mWorkflow.setWorkflowTitle(text);
+            ((Workflow) userObject).setWorkflowTitle(text);
         }
     }
 
@@ -105,8 +105,8 @@ public class MyExperimentXmlParserRules {
         @Override
         public void handleParsedCharacters(XMLParser parser, String text, Object userObject) {
 
-            mWorkflow.setWorkflow_description(String.valueOf(Html.fromHtml(text)));
-            ((Workflow) userObject).setWorkflow_description(String.valueOf(Html.fromHtml(text)));
+            mWorkflow.setWorkflowDescription(String.valueOf(Html.fromHtml(text)));
+            ((Workflow) userObject).setWorkflowDescription(String.valueOf(Html.fromHtml(text)));
         }
     }
 
@@ -133,8 +133,8 @@ public class MyExperimentXmlParserRules {
 
         @Override
         public void handleParsedCharacters(XMLParser parser, String text, Object userObject) {
-            mWorkflow.setWorkflow_Type(text);
-            ((Workflow) userObject).setWorkflow_Type(text);
+            mWorkflow.setWorkflowType(text);
+            ((Workflow) userObject).setWorkflowType(text);
         }
     }
 
@@ -159,9 +159,9 @@ public class MyExperimentXmlParserRules {
                     }
                     break;
                 case 1:
-                    muser.setDetails_uri(value);
+                    muser.setDetailsUri(value);
                     if ((userObject instanceof User)) {
-                        ((User) userObject).setDetails_uri(value);
+                        ((User) userObject).setDetailsUri(value);
                     }
                     break;
                 case 2:
@@ -199,10 +199,10 @@ public class MyExperimentXmlParserRules {
                 userObject) {
             switch (index) {
                 case 0:
-                    ((User) userObject).setAvatar_url(value);
+                    ((User) userObject).setAvatarUrl(value);
                     break;
                 case 1:
-                    ((User) userObject).setDetails_uri(value);
+                    ((User) userObject).setDetailsUri(value);
                     break;
                 case 2:
                     ((User) userObject).setId(value);
@@ -228,8 +228,8 @@ public class MyExperimentXmlParserRules {
 
         @Override
         public void handleParsedCharacters(XMLParser parser, String text, Object userObject) {
-            mWorkflow.setWorkflow_datecreated(text);
-            ((Workflow) userObject).setWorkflow_datecreated(text);
+            mWorkflow.setWorkflowDatecreated(text);
+            ((Workflow) userObject).setWorkflowDatecreated(text);
 
         }
     }
@@ -243,8 +243,8 @@ public class MyExperimentXmlParserRules {
 
         @Override
         public void handleParsedCharacters(XMLParser parser, String text, Object userObject) {
-            mWorkflow.setWorkflow_preview(text);
-            ((Workflow) userObject).setWorkflow_preview(text);
+            mWorkflow.setWorkflowPreview(text);
+            ((Workflow) userObject).setWorkflowPreview(text);
         }
     }
 
@@ -263,8 +263,8 @@ public class MyExperimentXmlParserRules {
 
         @Override
         public void handleParsedCharacters(XMLParser parser, String text, Object userObject) {
-            mWorkflow.setWorkflow_licence_type("Licence By " + text);
-            ((Workflow) userObject).setWorkflow_licence_type("Licence By " + text);
+            mWorkflow.setWorkflowLicenceType("Licence By " + text);
+            ((Workflow) userObject).setWorkflowLicenceType("Licence By " + text);
         }
     }
 
@@ -278,8 +278,8 @@ public class MyExperimentXmlParserRules {
 
         @Override
         public void handleParsedCharacters(XMLParser parser, String text, Object userObject) {
-            mWorkflow.setWorkflow_remote_url(text);
-            ((Workflow) userObject).setWorkflow_remote_url(text);
+            mWorkflow.setWorkflowRemoteUrl(text);
+            ((Workflow) userObject).setWorkflowRemoteUrl(text);
         }
     }
 
@@ -292,8 +292,8 @@ public class MyExperimentXmlParserRules {
 
         @Override
         public void handleParsedCharacters(XMLParser parser, String text, Object userObject) {
-            mWorkflow.setWorkflow_content_type(text);
-            ((Workflow) userObject).setWorkflow_content_type(text);
+            mWorkflow.setWorkflowContentType(text);
+            ((Workflow) userObject).setWorkflowContentType(text);
         }
     }
 
@@ -312,9 +312,9 @@ public class MyExperimentXmlParserRules {
 
         @Override
         public void handleParsedCharacters(XMLParser parser, String text, Object userObject) {
-            mWorkflow.setWorkflow_tags(new ArrayList<String>() {
+            mWorkflow.setWorkflowTags(new ArrayList<String>() {
             });
-            ((Workflow) userObject).setWorkflow_tags(new ArrayList<String>() {
+            ((Workflow) userObject).setWorkflowTags(new ArrayList<String>() {
             });
 
         }
@@ -367,9 +367,9 @@ public class MyExperimentXmlParserRules {
                 workflowListObject) {
             //add the  workflow to the workflow list
             this.workflow = new Workflow("", desc, id, url);
-            this.workflow.setWorkflow_details_url(uri);
-            this.workflow.setWorkflow_title(text);
-            this.workflow.setWorkflow_author("");
+            this.workflow.setWorkflowDetailsUrl(uri);
+            this.workflow.setWorkflowTitle(text);
+            this.workflow.setWorkflowAuthor("");
             wlist.add(this.workflow);
             //WorkflowLoader.loadedWorkflows.add(this.workflow);
             ((List<Workflow>) workflowListObject).add(this.workflow);

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e25d011a/app/src/main/java/org/apache/taverna/mobile/utils/xmlparsers/WorkflowDetailParser.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/utils/xmlparsers/WorkflowDetailParser.java b/app/src/main/java/org/apache/taverna/mobile/utils/xmlparsers/WorkflowDetailParser.java
index 4c80085..9ec0bcd 100644
--- a/app/src/main/java/org/apache/taverna/mobile/utils/xmlparsers/WorkflowDetailParser.java
+++ b/app/src/main/java/org/apache/taverna/mobile/utils/xmlparsers/WorkflowDetailParser.java
@@ -49,7 +49,8 @@ public class WorkflowDetailParser extends XMLParser {
     protected void doEndDocument(Object userObject) {
         if (userObject instanceof User) {
             WorkflowItemFragment.startLoadingAvatar((User) userObject);
-        } else
+        } else {
             WorkflowdetailFragment.setWorkflowDetails((Workflow) userObject);
+        }
     }
 }


[06/18] incubator-taverna-mobile git commit: refactor code using CheckStyle

Posted by st...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e752e97d/app/src/main/java/org/apache/taverna/mobile/broadcastreceivers/WorkflowDownloadReceiver.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/broadcastreceivers/WorkflowDownloadReceiver.java b/app/src/main/java/org/apache/taverna/mobile/broadcastreceivers/WorkflowDownloadReceiver.java
index 0657b46..383f707 100644
--- a/app/src/main/java/org/apache/taverna/mobile/broadcastreceivers/WorkflowDownloadReceiver.java
+++ b/app/src/main/java/org/apache/taverna/mobile/broadcastreceivers/WorkflowDownloadReceiver.java
@@ -2,10 +2,10 @@ package org.apache.taverna.mobile.broadcastreceivers;
 /**
  * Apache Taverna Mobile
  * Copyright 2015 The Apache Software Foundation
-
+ *
  * This product includes software developed at
  * The Apache Software Foundation (http://www.apache.org/).
-
+ *
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements. See the NOTICE file
  * distributed with this work for additional information
@@ -23,15 +23,16 @@ package org.apache.taverna.mobile.broadcastreceivers;
  * specific language governing permissions and limitations
  * under the License.
  */
+
+import org.apache.taverna.mobile.R;
+import org.apache.taverna.mobile.utils.WorkflowDownloadManager;
+
 import android.app.DownloadManager;
 import android.content.BroadcastReceiver;
 import android.content.Context;
 import android.content.Intent;
 import android.database.Cursor;
 
-import org.apache.taverna.mobile.R;
-import org.apache.taverna.mobile.utils.WorkflowDownloadManager;
-
 public class WorkflowDownloadReceiver extends BroadcastReceiver {
     public WorkflowDownloadReceiver() {
     }
@@ -43,19 +44,21 @@ public class WorkflowDownloadReceiver extends BroadcastReceiver {
         DownloadManager mgr = (DownloadManager) context.getSystemService(Context.DOWNLOAD_SERVICE);
         WorkflowDownloadManager wdm = new WorkflowDownloadManager(context, mgr);
 
-        DownloadManager.Query query = new DownloadManager.Query(); //ask for information about the download queue
+        DownloadManager.Query query = new DownloadManager.Query(); //ask for information about
+        // the download queue
         query.setFilterById(receivedID);
         Cursor cur = mgr.query(query);
         int index = cur.getColumnIndex(DownloadManager.COLUMN_STATUS);
-//        String workflow = cur.getString(cur.getColumnIndex(DownloadManager.COLUMN_LOCAL_FILENAME));
+//        String workflow = cur.getString(cur.getColumnIndex(DownloadManager
+// .COLUMN_LOCAL_FILENAME));
 
-        if(cur.moveToFirst()) {
-            if(cur.getInt(index) == DownloadManager.STATUS_SUCCESSFUL){
+        if (cur.moveToFirst()) {
+            if (cur.getInt(index) == DownloadManager.STATUS_SUCCESSFUL) {
                 wdm.sendNotification(context.getResources().getString(R.string.downloadcomplete));
-            }else{
+            } else {
                 wdm.sendNotification(context.getResources().getString(R.string.downloadfailed));
             }
-        }else{
+        } else {
             wdm.sendNotification(context.getResources().getString(R.string.downloadfailed));
         }
         cur.close();

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e752e97d/app/src/main/java/org/apache/taverna/mobile/customviews/WorkflowPreviewImageView.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/customviews/WorkflowPreviewImageView.java b/app/src/main/java/org/apache/taverna/mobile/customviews/WorkflowPreviewImageView.java
index 5f5276e..fb0b497 100644
--- a/app/src/main/java/org/apache/taverna/mobile/customviews/WorkflowPreviewImageView.java
+++ b/app/src/main/java/org/apache/taverna/mobile/customviews/WorkflowPreviewImageView.java
@@ -2,10 +2,10 @@ package org.apache.taverna.mobile.customviews;
 /**
  * Apache Taverna Mobile
  * Copyright 2015 The Apache Software Foundation
-
+ *
  * This product includes software developed at
  * The Apache Software Foundation (http://www.apache.org/).
-
+ *
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements. See the NOTICE file
  * distributed with this work for additional information
@@ -37,13 +37,12 @@ import android.widget.ImageView;
 /**
  * Created by Akah Harvey on 6/29/15.
  */
-public class WorkflowPreviewImageView extends ImageView{
-    Matrix matrix = new Matrix();
-
+public class WorkflowPreviewImageView extends ImageView {
     static final int NONE = 0;
     static final int DRAG = 1;
     static final int ZOOM = 2;
     static final int CLICK = 3;
+    Matrix matrix = new Matrix();
     int mode = NONE;
 
     PointF last = new PointF();
@@ -60,8 +59,7 @@ public class WorkflowPreviewImageView extends ImageView{
     ScaleGestureDetector mScaleDetector;
     Context context;
 
-    public WorkflowPreviewImageView(Context context, AttributeSet attr)
-    {
+    public WorkflowPreviewImageView(Context context, AttributeSet attr) {
         super(context, attr);
         super.setClickable(true);
         this.context = context;
@@ -71,12 +69,10 @@ public class WorkflowPreviewImageView extends ImageView{
         setImageMatrix(matrix);
         setScaleType(ScaleType.MATRIX);
 
-        setOnTouchListener(new OnTouchListener()
-        {
+        setOnTouchListener(new OnTouchListener() {
 
             @Override
-            public boolean onTouch(View v, MotionEvent event)
-            {
+            public boolean onTouch(View v, MotionEvent event) {
                 mScaleDetector.onTouchEvent(event);
 
                 matrix.getValues(m);
@@ -84,8 +80,7 @@ public class WorkflowPreviewImageView extends ImageView{
                 float y = m[Matrix.MTRANS_Y];
                 PointF curr = new PointF(event.getX(), event.getY());
 
-                switch (event.getAction())
-                {
+                switch (event.getAction()) {
                     //when one finger is touching
                     //set the mode to DRAG
                     case MotionEvent.ACTION_DOWN:
@@ -105,38 +100,36 @@ public class WorkflowPreviewImageView extends ImageView{
                     case MotionEvent.ACTION_MOVE:
                         //if the mode is ZOOM or
                         //if the mode is DRAG and already zoomed
-                        if (mode == ZOOM || (mode == DRAG && saveScale > minScale))
-                        {
-                            float deltaX = curr.x - last.x;// x difference
-                            float deltaY = curr.y - last.y;// y difference
-                            float scaleWidth = Math.round(origWidth * saveScale);// width after applying current scale
-                            float scaleHeight = Math.round(origHeight * saveScale);// height after applying current scale
+                        if (mode == ZOOM || (mode == DRAG && saveScale > minScale)) {
+                            float deltaX = curr.x - last.x; // x difference
+                            float deltaY = curr.y - last.y; // y difference
+                            float scaleWidth = Math.round(origWidth * saveScale); // width after
+                            // applying current scale
+                            float scaleHeight = Math.round(origHeight * saveScale); // height
+                            // after applying current scale
                             //if scaleWidth is smaller than the views width
                             //in other words if the image width fits in the view
                             //limit left and right movement
-                            if (scaleWidth < width)
-                            {
+                            if (scaleWidth < width) {
                                 deltaX = 0;
-                                if (y + deltaY > 0)
+                                if (y + deltaY > 0) {
                                     deltaY = -y;
-                                else if (y + deltaY < -bottom)
+                                } else if (y + deltaY < -bottom) {
                                     deltaY = -(y + bottom);
-                            }
-                            //if scaleHeight is smaller than the views height
-                            //in other words if the image height fits in the view
-                            //limit up and down movement
-                            else if (scaleHeight < height)
-                            {
+                                }
+                            } else if (scaleHeight < height) {
+                                //if scaleHeight is smaller than the views height
+                                //in other words if the image height fits in the view
+                                //limit up and down movement
                                 deltaY = 0;
-                                if (x + deltaX > 0)
+                                if (x + deltaX > 0) {
                                     deltaX = -x;
-                                else if (x + deltaX < -right)
+                                } else if (x + deltaX < -right) {
                                     deltaX = -(x + right);
-                            }
+                                }
+                            } else {
                             //if the image doesnt fit in the width or height
                             //limit both up and down and left and right
-                            else
-                            {
                                 if (x + deltaX > 0)
                                     deltaX = -x;
                                 else if (x + deltaX < -right)
@@ -175,65 +168,80 @@ public class WorkflowPreviewImageView extends ImageView{
     }
 
     @Override
-    public void setImageBitmap(Bitmap bm)
-    {
+    public void setImageBitmap(Bitmap bm) {
         super.setImageBitmap(bm);
         bmWidth = bm.getWidth();
         bmHeight = bm.getHeight();
     }
 
-    public void setMaxZoom(float x)
-    {
+    public void setMaxZoom(float x) {
         maxScale = x;
     }
 
-    private class ScaleListener extends ScaleGestureDetector.SimpleOnScaleGestureListener
-    {
+    @Override
+    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
+        super.onMeasure(widthMeasureSpec, heightMeasureSpec);
+        width = MeasureSpec.getSize(widthMeasureSpec);
+        height = MeasureSpec.getSize(heightMeasureSpec);
+        //Fit to screen.
+        float scale;
+        float scaleX = width / bmWidth;
+        float scaleY = height / bmHeight;
+        scale = Math.min(scaleX, scaleY);
+        matrix.setScale(scale, scale);
+        setImageMatrix(matrix);
+        saveScale = 1f;
+
+        // Center the image
+        redundantYSpace = height - (scale * bmHeight);
+        redundantXSpace = width - (scale * bmWidth);
+        redundantYSpace /= 2;
+        redundantXSpace /= 2;
+
+        matrix.postTranslate(redundantXSpace, redundantYSpace);
+
+        origWidth = width - 2 * redundantXSpace;
+        origHeight = height - 2 * redundantYSpace;
+        right = width * saveScale - width - (2 * redundantXSpace * saveScale);
+        bottom = height * saveScale - height - (2 * redundantYSpace * saveScale);
+        setImageMatrix(matrix);
+    }
+
+    private class ScaleListener extends ScaleGestureDetector.SimpleOnScaleGestureListener {
 
         @Override
-        public boolean onScaleBegin(ScaleGestureDetector detector)
-        {
+        public boolean onScaleBegin(ScaleGestureDetector detector) {
             mode = ZOOM;
             return true;
         }
 
         @Override
-        public boolean onScale(ScaleGestureDetector detector)
-        {
+        public boolean onScale(ScaleGestureDetector detector) {
             float mScaleFactor = detector.getScaleFactor();
             float origScale = saveScale;
             saveScale *= mScaleFactor;
-            if (saveScale > maxScale)
-            {
+            if (saveScale > maxScale) {
                 saveScale = maxScale;
                 mScaleFactor = maxScale / origScale;
-            }
-            else if (saveScale < minScale)
-            {
+            } else if (saveScale < minScale) {
                 saveScale = minScale;
                 mScaleFactor = minScale / origScale;
             }
             right = width * saveScale - width - (2 * redundantXSpace * saveScale);
             bottom = height * saveScale - height - (2 * redundantYSpace * saveScale);
-            if (origWidth * saveScale <= width || origHeight * saveScale <= height)
-            {
+            if (origWidth * saveScale <= width || origHeight * saveScale <= height) {
                 matrix.postScale(mScaleFactor, mScaleFactor, width / 2, height / 2);
-                if (mScaleFactor < 1)
-                {
+                if (mScaleFactor < 1) {
                     matrix.getValues(m);
                     float x = m[Matrix.MTRANS_X];
                     float y = m[Matrix.MTRANS_Y];
-                    if (mScaleFactor < 1)
-                    {
-                        if (Math.round(origWidth * saveScale) < width)
-                        {
+                    if (mScaleFactor < 1) {
+                        if (Math.round(origWidth * saveScale) < width) {
                             if (y < -bottom)
                                 matrix.postTranslate(0, -(y + bottom));
                             else if (y > 0)
                                 matrix.postTranslate(0, -y);
-                        }
-                        else
-                        {
+                        } else {
                             if (x < -right)
                                 matrix.postTranslate(-(x + right), 0);
                             else if (x > 0)
@@ -241,10 +249,9 @@ public class WorkflowPreviewImageView extends ImageView{
                         }
                     }
                 }
-            }
-            else
-            {
-                matrix.postScale(mScaleFactor, mScaleFactor, detector.getFocusX(), detector.getFocusY());
+            } else {
+                matrix.postScale(mScaleFactor, mScaleFactor, detector.getFocusX(), detector
+                        .getFocusY());
                 matrix.getValues(m);
                 float x = m[Matrix.MTRANS_X];
                 float y = m[Matrix.MTRANS_Y];
@@ -262,34 +269,4 @@ public class WorkflowPreviewImageView extends ImageView{
             return true;
         }
     }
-
-    @Override
-    protected void onMeasure (int widthMeasureSpec, int heightMeasureSpec)
-    {
-        super.onMeasure(widthMeasureSpec, heightMeasureSpec);
-        width = MeasureSpec.getSize(widthMeasureSpec);
-        height = MeasureSpec.getSize(heightMeasureSpec);
-        //Fit to screen.
-        float scale;
-        float scaleX =  width / bmWidth;
-        float scaleY = height / bmHeight;
-        scale = Math.min(scaleX, scaleY);
-        matrix.setScale(scale, scale);
-        setImageMatrix(matrix);
-        saveScale = 1f;
-
-        // Center the image
-        redundantYSpace = height - (scale * bmHeight) ;
-        redundantXSpace = width - (scale * bmWidth);
-        redundantYSpace /= 2;
-        redundantXSpace /= 2;
-
-        matrix.postTranslate(redundantXSpace, redundantYSpace);
-
-        origWidth = width - 2 * redundantXSpace;
-        origHeight = height - 2 * redundantYSpace;
-        right = width * saveScale - width - (2 * redundantXSpace * saveScale);
-        bottom = height * saveScale - height - (2 * redundantYSpace * saveScale);
-        setImageMatrix(matrix);
-    }
 }

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e752e97d/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 d41accf..52863e3 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
@@ -1,7 +1,7 @@
 package org.apache.taverna.mobile.data;
 
-import org.apache.taverna.mobile.data.model.DetailAnnouncement;
 import org.apache.taverna.mobile.data.model.Announcements;
+import org.apache.taverna.mobile.data.model.DetailAnnouncement;
 import org.apache.taverna.mobile.data.remote.BaseApiManager;
 
 import rx.Observable;
@@ -13,22 +13,20 @@ public class DataManager {
 
     public BaseApiManager mBaseApiManager = new BaseApiManager();
 
-    public DataManager(){
+    public DataManager() {
     }
 
     /**
-     *
      * @return List of all Announcement
      */
-    public Observable<Announcements> getAllAnnouncement(int pageNumber){
+    public Observable<Announcements> getAllAnnouncement(int pageNumber) {
         return mBaseApiManager.getTavernaApi().getAllAnnouncements(pageNumber);
     }
 
     /**
-     *
      * @return Detail of Announcement
      */
-    public Observable<DetailAnnouncement> getAnnouncementDetail(String id){
+    public Observable<DetailAnnouncement> getAnnouncementDetail(String id) {
         return mBaseApiManager.getTavernaApi().getAnnouncement(id);
     }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e752e97d/app/src/main/java/org/apache/taverna/mobile/data/model/Announcement.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/data/model/Announcement.java b/app/src/main/java/org/apache/taverna/mobile/data/model/Announcement.java
index 7f32e5a..3904374 100644
--- a/app/src/main/java/org/apache/taverna/mobile/data/model/Announcement.java
+++ b/app/src/main/java/org/apache/taverna/mobile/data/model/Announcement.java
@@ -1,30 +1,48 @@
 package org.apache.taverna.mobile.data.model;
 
-import android.os.Parcel;
-import android.os.Parcelable;
-
 import org.simpleframework.xml.Attribute;
 import org.simpleframework.xml.Text;
 
+import android.os.Parcel;
+import android.os.Parcelable;
+
 /**
  * Created by Sagar
  */
 public class Announcement implements Parcelable {
 
+    public static final Parcelable.Creator<Announcement> CREATOR = new Parcelable
+            .Creator<Announcement>() {
+        @Override
+        public Announcement createFromParcel(Parcel source) {
+            return new Announcement(source);
+        }
+
+        @Override
+        public Announcement[] newArray(int size) {
+            return new Announcement[size];
+        }
+    };
     @Attribute(name = "resource", required = false)
     String resource;
-
-
     @Attribute(name = "uri", required = false)
     String uri;
-
-
     @Attribute(name = "id", required = false)
     String id;
-
     @Text
     String content;
 
+    public Announcement() {
+    }
+
+
+    protected Announcement(Parcel in) {
+        this.resource = in.readString();
+        this.uri = in.readString();
+        this.id = in.readString();
+        this.content = in.readString();
+    }
+
     public String getContent() {
         return content;
     }
@@ -33,7 +51,6 @@ public class Announcement implements Parcelable {
         this.content = content;
     }
 
-
     public String getResource() {
         return this.resource;
     }
@@ -42,7 +59,6 @@ public class Announcement implements Parcelable {
         this.resource = _value;
     }
 
-
     public String getUri() {
         return this.uri;
     }
@@ -51,7 +67,6 @@ public class Announcement implements Parcelable {
         this.uri = _value;
     }
 
-
     public String getId() {
         return this.id;
     }
@@ -60,7 +75,6 @@ public class Announcement implements Parcelable {
         this.id = _value;
     }
 
-
     @Override
     public int describeContents() {
         return 0;
@@ -73,26 +87,4 @@ public class Announcement implements Parcelable {
         dest.writeString(this.id);
         dest.writeString(this.content);
     }
-
-    public Announcement() {
-    }
-
-    protected Announcement(Parcel in) {
-        this.resource = in.readString();
-        this.uri = in.readString();
-        this.id = in.readString();
-        this.content = in.readString();
-    }
-
-    public static final Parcelable.Creator<Announcement> CREATOR = new Parcelable.Creator<Announcement>() {
-        @Override
-        public Announcement createFromParcel(Parcel source) {
-            return new Announcement(source);
-        }
-
-        @Override
-        public Announcement[] newArray(int size) {
-            return new Announcement[size];
-        }
-    };
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e752e97d/app/src/main/java/org/apache/taverna/mobile/data/model/Announcements.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/data/model/Announcements.java b/app/src/main/java/org/apache/taverna/mobile/data/model/Announcements.java
index 01454da..3050637 100644
--- a/app/src/main/java/org/apache/taverna/mobile/data/model/Announcements.java
+++ b/app/src/main/java/org/apache/taverna/mobile/data/model/Announcements.java
@@ -1,10 +1,11 @@
 package org.apache.taverna.mobile.data.model;
-import android.os.Parcel;
-import android.os.Parcelable;
 
 import org.simpleframework.xml.ElementList;
 import org.simpleframework.xml.Root;
 
+import android.os.Parcel;
+import android.os.Parcelable;
+
 import java.util.List;
 
 /**
@@ -13,15 +14,36 @@ import java.util.List;
 @Root(name = "announcements")
 public class Announcements implements Parcelable {
 
+    public static final Parcelable.Creator<Announcements> CREATOR = new Parcelable
+            .Creator<Announcements>() {
+        @Override
+        public Announcements createFromParcel(Parcel source) {
+            return new Announcements(source);
+        }
+
+        @Override
+        public Announcements[] newArray(int size) {
+            return new Announcements[size];
+        }
+    };
     @ElementList(name = "announcement", inline = true, required = false)
     List<Announcement> announcement;
 
+    public Announcements() {
+    }
 
 
+    protected Announcements(Parcel in) {
+        this.announcement = in.createTypedArrayList(Announcement.CREATOR);
+    }
 
-    public List<Announcement> getAnnouncement() { return this.announcement; }
-    public void setAnnouncement(List<Announcement> _value) { this.announcement = _value; }
+    public List<Announcement> getAnnouncement() {
+        return this.announcement;
+    }
 
+    public void setAnnouncement(List<Announcement> _value) {
+        this.announcement = _value;
+    }
 
     @Override
     public int describeContents() {
@@ -32,23 +54,4 @@ public class Announcements implements Parcelable {
     public void writeToParcel(Parcel dest, int flags) {
         dest.writeTypedList(this.announcement);
     }
-
-    public Announcements() {
-    }
-
-    protected Announcements(Parcel in) {
-        this.announcement = in.createTypedArrayList(Announcement.CREATOR);
-    }
-
-    public static final Parcelable.Creator<Announcements> CREATOR = new Parcelable.Creator<Announcements>() {
-        @Override
-        public Announcements createFromParcel(Parcel source) {
-            return new Announcements(source);
-        }
-
-        @Override
-        public Announcements[] newArray(int size) {
-            return new Announcements[size];
-        }
-    };
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e752e97d/app/src/main/java/org/apache/taverna/mobile/data/model/Author.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/data/model/Author.java b/app/src/main/java/org/apache/taverna/mobile/data/model/Author.java
index 111f64f..09df99f 100644
--- a/app/src/main/java/org/apache/taverna/mobile/data/model/Author.java
+++ b/app/src/main/java/org/apache/taverna/mobile/data/model/Author.java
@@ -1,82 +1,89 @@
 package org.apache.taverna.mobile.data.model;
 
-import android.os.Parcel;
-import android.os.Parcelable;
-
 import org.simpleframework.xml.Attribute;
 import org.simpleframework.xml.Text;
 
+import android.os.Parcel;
+import android.os.Parcelable;
+
 /**
  * Created by Sagar
  */
 public class Author implements Parcelable {
 
-        @Attribute(name="resource", required = false)
-        String resource;
-
-
-        @Attribute(name="uri", required = false)
-        String uri;
-
-
-        @Attribute(name="id", required = false)
-        String id;
-
-        @Text
-        String content;
-
-        public String getContent() {
-            return content;
-        }
-        public void setContent(String content) {
-            this.content = content;
-        }
-
-
-        public String getResource() { return this.resource; }
-        public void setResource(String _value) { this.resource = _value; }
-
-
-        public String getUri() { return this.uri; }
-        public void setUri(String _value) { this.uri = _value; }
-
-
-        public String getId() { return this.id; }
-        public void setId(String _value) { this.id = _value; }
-
-
+    public static final Parcelable.Creator<Author> CREATOR = new Parcelable.Creator<Author>() {
         @Override
-        public int describeContents() {
-                return 0;
+        public Author createFromParcel(Parcel source) {
+            return new Author(source);
         }
 
         @Override
-        public void writeToParcel(Parcel dest, int flags) {
-                dest.writeString(this.resource);
-                dest.writeString(this.uri);
-                dest.writeString(this.id);
-                dest.writeString(this.content);
-        }
-
-        public Author() {
+        public Author[] newArray(int size) {
+            return new Author[size];
         }
-
-        protected Author(Parcel in) {
-                this.resource = in.readString();
-                this.uri = in.readString();
-                this.id = in.readString();
-                this.content = in.readString();
-        }
-
-        public static final Parcelable.Creator<Author> CREATOR = new Parcelable.Creator<Author>() {
-                @Override
-                public Author createFromParcel(Parcel source) {
-                        return new Author(source);
-                }
-
-                @Override
-                public Author[] newArray(int size) {
-                        return new Author[size];
-                }
-        };
+    };
+    @Attribute(name = "resource", required = false)
+    String resource;
+    @Attribute(name = "uri", required = false)
+    String uri;
+    @Attribute(name = "id", required = false)
+    String id;
+    @Text
+    String content;
+
+    public Author() {
+    }
+
+
+    protected Author(Parcel in) {
+        this.resource = in.readString();
+        this.uri = in.readString();
+        this.id = in.readString();
+        this.content = in.readString();
+    }
+
+    public String getContent() {
+        return content;
+    }
+
+    public void setContent(String content) {
+        this.content = content;
+    }
+
+    public String getResource() {
+        return this.resource;
+    }
+
+    public void setResource(String _value) {
+        this.resource = _value;
+    }
+
+    public String getUri() {
+        return this.uri;
+    }
+
+    public void setUri(String _value) {
+        this.uri = _value;
+    }
+
+    public String getId() {
+        return this.id;
+    }
+
+    public void setId(String _value) {
+        this.id = _value;
+    }
+
+    @Override
+    public int describeContents() {
+        return 0;
+    }
+
+    @Override
+    public void writeToParcel(Parcel dest, int flags) {
+        dest.writeString(this.resource);
+        dest.writeString(this.uri);
+        dest.writeString(this.id);
+        dest.writeString(this.content);
+    }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e752e97d/app/src/main/java/org/apache/taverna/mobile/data/model/DetailAnnouncement.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/data/model/DetailAnnouncement.java b/app/src/main/java/org/apache/taverna/mobile/data/model/DetailAnnouncement.java
index d291fe3..2715d88 100644
--- a/app/src/main/java/org/apache/taverna/mobile/data/model/DetailAnnouncement.java
+++ b/app/src/main/java/org/apache/taverna/mobile/data/model/DetailAnnouncement.java
@@ -1,44 +1,61 @@
 package org.apache.taverna.mobile.data.model;
 
-import android.os.Parcel;
-import android.os.Parcelable;
-
 import org.simpleframework.xml.Attribute;
 import org.simpleframework.xml.Element;
 import org.simpleframework.xml.Root;
 
+import android.os.Parcel;
+import android.os.Parcelable;
+
 /**
  * Created by Sagar
  */
 @Root(name = "announcement")
 public class DetailAnnouncement implements Parcelable {
 
+    public static final Parcelable.Creator<DetailAnnouncement> CREATOR = new Parcelable
+            .Creator<DetailAnnouncement>() {
+        @Override
+        public DetailAnnouncement createFromParcel(Parcel source) {
+            return new DetailAnnouncement(source);
+        }
+
+        @Override
+        public DetailAnnouncement[] newArray(int size) {
+            return new DetailAnnouncement[size];
+        }
+    };
+    @Attribute(name = "resource", required = false)
+    String resource;
+    @Attribute(name = "uri", required = false)
+    String uri;
+    @Attribute(name = "id", required = false)
+    String id;
     @Element(name = "author")
     private Author author;
-
     @Element(name = "title")
     private String title;
-
     @Element(name = "text")
     private String text;
-
     @Element(name = "created-at")
     private String date;
-
-    @Attribute(name = "resource", required = false)
-    String resource;
-
-
-    @Attribute(name = "uri", required = false)
-    String uri;
-
-
-    @Attribute(name = "id", required = false)
-    String id;
-
     @Element(name = "id")
     private String idElement;
 
+    public DetailAnnouncement() {
+    }
+
+    protected DetailAnnouncement(Parcel in) {
+        this.author = in.readParcelable(Author.class.getClassLoader());
+        this.title = in.readString();
+        this.text = in.readString();
+        this.date = in.readString();
+        this.resource = in.readString();
+        this.uri = in.readString();
+        this.id = in.readString();
+        this.idElement = in.readString();
+    }
+
     public String getIdElement() {
         return idElement;
     }
@@ -55,7 +72,6 @@ public class DetailAnnouncement implements Parcelable {
         this.resource = _value;
     }
 
-
     public String getUri() {
         return this.uri;
     }
@@ -64,7 +80,6 @@ public class DetailAnnouncement implements Parcelable {
         this.uri = _value;
     }
 
-
     public String getId() {
         return this.id;
     }
@@ -73,7 +88,6 @@ public class DetailAnnouncement implements Parcelable {
         this.id = _value;
     }
 
-
     public Author getAuthor() {
         return author;
     }
@@ -106,7 +120,6 @@ public class DetailAnnouncement implements Parcelable {
         this.date = date;
     }
 
-
     @Override
     public int describeContents() {
         return 0;
@@ -123,32 +136,6 @@ public class DetailAnnouncement implements Parcelable {
         dest.writeString(this.id);
         dest.writeString(this.idElement);
     }
-
-    public DetailAnnouncement() {
-    }
-
-    protected DetailAnnouncement(Parcel in) {
-        this.author = in.readParcelable(Author.class.getClassLoader());
-        this.title = in.readString();
-        this.text = in.readString();
-        this.date = in.readString();
-        this.resource = in.readString();
-        this.uri = in.readString();
-        this.id = in.readString();
-        this.idElement = in.readString();
-    }
-
-    public static final Parcelable.Creator<DetailAnnouncement> CREATOR = new Parcelable.Creator<DetailAnnouncement>() {
-        @Override
-        public DetailAnnouncement createFromParcel(Parcel source) {
-            return new DetailAnnouncement(source);
-        }
-
-        @Override
-        public DetailAnnouncement[] newArray(int size) {
-            return new DetailAnnouncement[size];
-        }
-    };
 }
 
 

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e752e97d/app/src/main/java/org/apache/taverna/mobile/data/remote/BaseApiManager.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/data/remote/BaseApiManager.java b/app/src/main/java/org/apache/taverna/mobile/data/remote/BaseApiManager.java
index ec97b34..4fa690b 100644
--- a/app/src/main/java/org/apache/taverna/mobile/data/remote/BaseApiManager.java
+++ b/app/src/main/java/org/apache/taverna/mobile/data/remote/BaseApiManager.java
@@ -10,13 +10,12 @@ import retrofit2.converter.simplexml.SimpleXmlConverterFactory;
 public class BaseApiManager {
 
 
-    String ENDPOINT = "http://www.myexperiment.org/";
-
     public TavernaService mTavernaService;
+    String ENDPOINT = "http://www.myexperiment.org/";
 
-    public BaseApiManager(){
+    public BaseApiManager() {
 
-        mTavernaService = createApi(TavernaService.class,ENDPOINT);
+        mTavernaService = createApi(TavernaService.class, ENDPOINT);
     }
 
     /******** Helper class that sets up a new services *******/
@@ -29,10 +28,10 @@ public class BaseApiManager {
                 .addCallAdapterFactory(RxJavaCallAdapterFactory.create())
                 .build();
 
-        return  retrofit.create(clazz);
+        return retrofit.create(clazz);
     }
 
-    public TavernaService getTavernaApi(){
+    public TavernaService getTavernaApi() {
         return mTavernaService;
     }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e752e97d/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 f483490..cbc05e3 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
@@ -1,7 +1,7 @@
 package org.apache.taverna.mobile.data.remote;
 
-import org.apache.taverna.mobile.data.model.DetailAnnouncement;
 import org.apache.taverna.mobile.data.model.Announcements;
+import org.apache.taverna.mobile.data.model.DetailAnnouncement;
 
 import retrofit2.http.GET;
 import retrofit2.http.Query;

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e752e97d/app/src/main/java/org/apache/taverna/mobile/fragments/FavoriteFragment.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/fragments/FavoriteFragment.java b/app/src/main/java/org/apache/taverna/mobile/fragments/FavoriteFragment.java
index dccaa01..86278a8 100644
--- a/app/src/main/java/org/apache/taverna/mobile/fragments/FavoriteFragment.java
+++ b/app/src/main/java/org/apache/taverna/mobile/fragments/FavoriteFragment.java
@@ -25,6 +25,12 @@ package org.apache.taverna.mobile.fragments;
 * under the License.
 */
 
+import org.apache.taverna.mobile.R;
+import org.apache.taverna.mobile.adapters.FavoriteWorkflowAdapter;
+import org.apache.taverna.mobile.adapters.WorkflowAdapter;
+import org.apache.taverna.mobile.utils.WorkflowDB;
+import org.json.JSONException;
+
 import android.os.Bundle;
 import android.support.v4.app.Fragment;
 import android.support.v7.widget.LinearLayoutManager;
@@ -34,16 +40,9 @@ import android.view.LayoutInflater;
 import android.view.MenuItem;
 import android.view.View;
 import android.view.ViewGroup;
-import android.widget.AdapterView;
 import android.widget.TextView;
 import android.widget.Toast;
 
-import org.apache.taverna.mobile.R;
-import org.apache.taverna.mobile.adapters.FavoriteWorkflowAdapter;
-import org.apache.taverna.mobile.adapters.WorkflowAdapter;
-import org.apache.taverna.mobile.utils.Workflow_DB;
-import org.json.JSONException;
-
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
@@ -51,16 +50,19 @@ import java.util.List;
 /**
  * Created by Larry Akah on 6/6/15.
  */
-public class FavoriteFragment extends Fragment implements RecyclerView.OnCreateContextMenuListener{
+public class FavoriteFragment extends Fragment implements RecyclerView.OnCreateContextMenuListener {
     /**
      * The fragment argument representing the section number for this
      * fragment.
      */
     private static final String ARG_SECTION_NUMBER = "SECTION_NUMBER";
     public FavoriteWorkflowAdapter favoriteAdapter;
+    public WorkflowDB myWorkflowDb;
     private RecyclerView wFavoriteListView;
     private RecyclerView.AdapterDataObserver dataObserver;
-    public Workflow_DB myWorkflowDb;
+
+    public FavoriteFragment() {
+    }
 
     /**
      * Returns a new instance of this fragment for the given section
@@ -75,22 +77,19 @@ public class FavoriteFragment extends Fragment implements RecyclerView.OnCreateC
         return fragment;
     }
 
-    public FavoriteFragment() {
-    }
-
     @Override
-    public void onCreate(Bundle savedInstanceState){
+    public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
-        dataObserver = new RecyclerView.AdapterDataObserver(){
+        dataObserver = new RecyclerView.AdapterDataObserver() {
             @Override
             public void onChanged() {
                 super.onChanged();
-               // Toast.makeText(getActivity(), "data changed", Toast.LENGTH_SHORT).show();
+                // Toast.makeText(getActivity(), "data changed", Toast.LENGTH_SHORT).show();
                 setUpFavoriteData();
                 setUpListView();
             }
         };
-       setUpFavoriteData();
+        setUpFavoriteData();
 
     }
 
@@ -98,7 +97,7 @@ public class FavoriteFragment extends Fragment implements RecyclerView.OnCreateC
     public View onCreateView(LayoutInflater inflater, ViewGroup container,
                              Bundle savedInstanceState) {
         View rootView = inflater.inflate(R.layout.fragment_dashboard_main, container, false);
-        wFavoriteListView = (RecyclerView)rootView.findViewById(R.id.favoriteList);
+        wFavoriteListView = (RecyclerView) rootView.findViewById(R.id.favoriteList);
         wFavoriteListView.setHasFixedSize(true);
         wFavoriteListView.setLayoutManager(new LinearLayoutManager(getActivity()));
         wFavoriteListView.setAdapter(favoriteAdapter);
@@ -108,15 +107,16 @@ public class FavoriteFragment extends Fragment implements RecyclerView.OnCreateC
     /**
      * Prepare the data to be used in the list as favorite items
      */
-    private void setUpFavoriteData(){
-        myWorkflowDb = new Workflow_DB(getActivity(), WorkflowAdapter.WORKFLOW_FAVORITE_KEY);
+    private void setUpFavoriteData() {
+        myWorkflowDb = new WorkflowDB(getActivity(), WorkflowAdapter.WORKFLOW_FAVORITE_KEY);
         try {
             List<ArrayList<Object>> mfavorites = myWorkflowDb.get();
             favoriteAdapter = new FavoriteWorkflowAdapter(getActivity(), mfavorites);
             favoriteAdapter.registerAdapterDataObserver(dataObserver);
         } catch (JSONException e) {
             e.printStackTrace();
-            favoriteAdapter = new FavoriteWorkflowAdapter(getActivity(),  Collections.<ArrayList<Object>>emptyList());
+            favoriteAdapter = new FavoriteWorkflowAdapter(getActivity(), Collections
+                    .<ArrayList<Object>>emptyList());
             favoriteAdapter.registerAdapterDataObserver(dataObserver);
         }
     }
@@ -124,9 +124,10 @@ public class FavoriteFragment extends Fragment implements RecyclerView.OnCreateC
     /**
      * Populate the listview using the adapter
      */
-    private void setUpListView(){
+    private void setUpListView() {
         wFavoriteListView.setAdapter(favoriteAdapter);
     }
+
     /**
      * Called when a context menu for the {@code view} is about to be shown.
      * Unlike {@link #onCreateOptionsMenu}, this will be called every
@@ -143,14 +144,11 @@ public class FavoriteFragment extends Fragment implements RecyclerView.OnCreateC
      * <p/>
      * It is not safe to hold onto the context menu after this method returns.
      * {@inheritDoc}
-     *
-     * @param menu
-     * @param v
-     * @param menuInfo
      */
     @Override
-    public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
-       // super.onCreateContextMenu(menu, v, menuInfo);
+    public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo
+            menuInfo) {
+        // super.onCreateContextMenu(menu, v, menuInfo);
         menu.add("View");
         menu.add("Remove");
         menu.setHeaderIcon(R.mipmap.ic_launcher);
@@ -178,14 +176,13 @@ public class FavoriteFragment extends Fragment implements RecyclerView.OnCreateC
     @Override
     public boolean onContextItemSelected(MenuItem item) {
         String title = (String) item.getTitle();
-        if(title.equals("View")){
-            Toast.makeText(getActivity(),"View", Toast.LENGTH_SHORT).show();
+        if (title.equals("View")) {
+            Toast.makeText(getActivity(), "View", Toast.LENGTH_SHORT).show();
             return true;
-        }
-        else if (title.equals("Remove")){
-            Toast.makeText(getActivity(),"Removing", Toast.LENGTH_SHORT).show();
+        } else if (title.equals("Remove")) {
+            Toast.makeText(getActivity(), "Removing", Toast.LENGTH_SHORT).show();
             return true;
-        }else
+        } else
             return super.onContextItemSelected(item);
     }
 
@@ -198,7 +195,7 @@ public class FavoriteFragment extends Fragment implements RecyclerView.OnCreateC
     @Override
     public void onResume() {
         super.onResume();
-       // setUpListView();
+        // setUpListView();
         //wFavoriteListView.setOnCreateContextMenuListener(this);
         //registerForContextMenu(wFavoriteListView);
 
@@ -218,9 +215,9 @@ public class FavoriteFragment extends Fragment implements RecyclerView.OnCreateC
     /**
      * Causes the empty textView to be set and become visible
      */
-    private void setEmptyText(){
+    private void setEmptyText() {
         View emptyView = wFavoriteListView.getChildAt(1);
-        if(emptyView instanceof TextView){
+        if (emptyView instanceof TextView) {
             emptyView.setVisibility(View.VISIBLE);
         }
     }

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e752e97d/app/src/main/java/org/apache/taverna/mobile/fragments/WorkflowItemFragment.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/fragments/WorkflowItemFragment.java b/app/src/main/java/org/apache/taverna/mobile/fragments/WorkflowItemFragment.java
index 2b83374..98523a1 100644
--- a/app/src/main/java/org/apache/taverna/mobile/fragments/WorkflowItemFragment.java
+++ b/app/src/main/java/org/apache/taverna/mobile/fragments/WorkflowItemFragment.java
@@ -2,10 +2,10 @@ package org.apache.taverna.mobile.fragments;
 /**
  * Apache Taverna Mobile
  * Copyright 2015 The Apache Software Foundation
-
+ *
  * This product includes software developed at
  * The Apache Software Foundation (http://www.apache.org/).
-
+ *
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements. See the NOTICE file
  * distributed with this work for additional information
@@ -24,6 +24,13 @@ package org.apache.taverna.mobile.fragments;
  * under the License.
  */
 
+import org.apache.taverna.mobile.R;
+import org.apache.taverna.mobile.adapters.WorkflowAdapter;
+import org.apache.taverna.mobile.tavernamobile.User;
+import org.apache.taverna.mobile.tavernamobile.Workflow;
+import org.apache.taverna.mobile.utils.AvatarLoader;
+import org.apache.taverna.mobile.utils.WorkflowLoader;
+
 import android.app.Activity;
 import android.app.ProgressDialog;
 import android.app.SearchManager;
@@ -52,14 +59,6 @@ import android.widget.ImageView;
 import android.widget.TextView;
 import android.widget.Toast;
 
-import org.apache.taverna.mobile.R;
-import org.apache.taverna.mobile.activities.DashboardMainActivity;
-import org.apache.taverna.mobile.adapters.WorkflowAdapter;
-import org.apache.taverna.mobile.tavernamobile.User;
-import org.apache.taverna.mobile.tavernamobile.Workflow;
-import org.apache.taverna.mobile.utils.AvatarLoader;
-import org.apache.taverna.mobile.utils.WorkflowLoader;
-
 import java.io.IOException;
 import java.io.InputStream;
 import java.net.HttpURLConnection;
@@ -73,43 +72,47 @@ import java.util.List;
  * with a GridView.
  * <p/>
  */
-public class WorkflowItemFragment extends Fragment implements SwipeRefreshLayout.OnRefreshListener,SearchView.OnQueryTextListener {
+public class WorkflowItemFragment extends Fragment implements SwipeRefreshLayout
+        .OnRefreshListener, SearchView.OnQueryTextListener {
 
     // the fragment initialization parameters, e.g. ARG_ITEM_NUMBER
     private static final String ARG_PARAM1 = "param1";
     private static final String ARG_PARAM2 = "param2";
-
-    private Animation in;
-    private ProgressDialog mProgressDialog; //progressbar used to indicate the state of the workflow loaders
-
-    private String mParam1;
-    private String mParam2;
-
+    public static Context cx;
+    //variables controlling the different kinds of data loading
+    public static boolean isLoadMoreData = false;
+    public static boolean isRefreshData = false;
     /**
      * The fragment's ListView/GridView.
      */
     private static RecyclerView mListView;
-    private SwipeRefreshLayout swipeRefreshLayout;
-
     private static View rootView;
-    public static Context cx;
     private static boolean STATE_ON = false;
     private static TextView noDataText;
     private static LruCache<String, Bitmap> avatarCache;
-    private LinearLayoutManager mLinearLayoutManager;
     private static WorkflowAdapter workflowAdapter;
-
     //variables for controlling the infinite scroll mechanism
     private static int previousTotal = 0;
+    private Animation in;
+    private ProgressDialog mProgressDialog; //progressbar used to indicate the state of the
+    // workflow loaders
+    private String mParam1;
+    private String mParam2;
+    private SwipeRefreshLayout swipeRefreshLayout;
+    private LinearLayoutManager mLinearLayoutManager;
     private int visibleThreshold = 3;
     private int firstVisibleItem, visibleItemCount, totalItemCount;
     private int currentPage = 1;
-    private boolean loading  = true;
+    private boolean loading = true;
     private InfiniteScrollListener scrollListener;
     private RecyclerView.AdapterDataObserver workflowObserver;
-    //variables controlling the different kinds of data loading
-    public static boolean isLoadMoreData = false;
-    public static boolean isRefreshData = false;
+
+    /**
+     * Mandatory empty constructor for the fragment manager to instantiate the
+     * fragment (e.g. upon screen orientation changes).
+     */
+    public WorkflowItemFragment() {
+    }
 
     public static WorkflowItemFragment newInstance(String param1, String param2) {
         WorkflowItemFragment fragment = new WorkflowItemFragment();
@@ -120,13 +123,77 @@ public class WorkflowItemFragment extends Fragment implements SwipeRefreshLayout
         return fragment;
     }
 
+    public static void updateWorkflowUI(final List<Workflow> data) {
+
+        ((Activity) cx).runOnUiThread(new Runnable() {
+            @Override
+            public void run() {
+                WorkflowItemFragment.workflowAdapter = new WorkflowAdapter(cx, data);
+                if (isLoadMoreData) {
+                    isLoadMoreData = false;
+                    isRefreshData = false;
+                    ((WorkflowAdapter) mListView.getAdapter()).addItems(data, previousTotal);
+                } else
+                    mListView.swapAdapter(workflowAdapter, false);
+
+                if (WorkflowItemFragment.workflowAdapter.getItemCount() == 0) {
+                    mListView.setVisibility(View.GONE);
+                    noDataText.setVisibility(View.VISIBLE);
+                    //  Toast.makeText(cx, cx.getResources().getString(R.string
+                    // .err_workflow_conn), Toast.LENGTH_LONG).show();
+                } else {
+                    mListView.setVisibility(View.VISIBLE);
+                    noDataText.setVisibility(View.GONE);
+                }
+            }
+        });
+    }
+
+    public static void startLoadingAvatar(final User author) {
+
+        ((Activity) cx).runOnUiThread(new Runnable() {
+            @Override
+            public void run() {
+                synchronized (this) {
+                    author.getUserViewHolder().author_name.setText(author.getName());
+                    //((TextView) rootView.findViewById(R.id.workflow_author)).setText(author
+                    // .getName());
+                    //check whether avatar is already in the cache before trying to download it
+                    // from remote resource
+                    if (avatarCache.get(author.getDetails_uri()) == null)
+                        new AvatarLoader(author.getUserViewHolder()).execute(author
+                                .getDetails_uri(), author.getRow_id());
+                    else {
+                        author.getUserViewHolder().author_profile.setImageBitmap(avatarCache.get
+                                (author.getDetails_uri()));
+//                        ((ImageView) rootView.findViewById(R.id.author_profile_image))
+// .setImageBitmap(avatarCache.get(author.getDetails_uri()));
+                    }
+                    System.out.println("Author cached ID " + author.getDetails_uri() + "\n Name: " +
+                            "" + author.getName());
+                }
+            }
+        });
+    }
+
     /**
-     * Mandatory empty constructor for the fragment manager to instantiate the
-     * fragment (e.g. upon screen orientation changes).
+     * Called when avatar xml has finished parsing. fetches the avatar remotely and updates the item
+     * in the list view
+     *
+     * @param author the author avatar to load
      */
-    public WorkflowItemFragment() {
-    }
+    public static void updateAvatar(final User author) {
 
+        ((Activity) cx).runOnUiThread(new Runnable() {
+            @Override
+            public void run() {
+                //      new LoadAuthorAvatar((ImageView) rootView.findViewById(R.id
+                // .author_profile_image),author.getDetails_uri()).execute(author.getAvatar_url());
+                new LoadAuthorAvatar(author.getUserViewHolder().author_profile, author
+                        .getDetails_uri()).execute(author.getAvatar_url());
+            }
+        });
+    }
 
     @Override
     public void onCreate(Bundle savedInstanceState) {
@@ -135,13 +202,14 @@ public class WorkflowItemFragment extends Fragment implements SwipeRefreshLayout
         cx = getActivity();
         mLinearLayoutManager = new LinearLayoutManager(cx);
         scrollListener = new InfiniteScrollListener();
-        workflowObserver= new RecyclerView.AdapterDataObserver() {
+        workflowObserver = new RecyclerView.AdapterDataObserver() {
 
             @Override
             public void onItemRangeInserted(int positionStart, int itemCount) {
                 super.onItemRangeInserted(positionStart, itemCount);
-                mListView.swapAdapter(workflowAdapter,false);
-                Toast.makeText(getActivity(), "adding more workflows to listview", Toast.LENGTH_SHORT).show();
+                mListView.swapAdapter(workflowAdapter, false);
+                Toast.makeText(getActivity(), "adding more workflows to listview", Toast
+                        .LENGTH_SHORT).show();
             }
         };
         workflowAdapter = new WorkflowAdapter(getActivity());
@@ -151,11 +219,12 @@ public class WorkflowItemFragment extends Fragment implements SwipeRefreshLayout
             mParam1 = getArguments().getString(ARG_PARAM1);
             mParam2 = getArguments().getString(ARG_PARAM2);
         }
-        in = AnimationUtils.loadAnimation(getActivity(),android.R.anim.slide_in_left);
+        in = AnimationUtils.loadAnimation(getActivity(), android.R.anim.slide_in_left);
     }
 
     @Override
-    public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {
+    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle
+            savedInstanceState) {
         rootView = inflater.inflate(R.layout.fragment_item, container, false);
         noDataText = (TextView) rootView.findViewById(android.R.id.empty);
         swipeRefreshLayout = (SwipeRefreshLayout) rootView.findViewById(R.id.refresh);
@@ -171,12 +240,13 @@ public class WorkflowItemFragment extends Fragment implements SwipeRefreshLayout
         mListView.setItemAnimator(new DefaultItemAnimator());
 
         final int maxMemory = (int) (Runtime.getRuntime().maxMemory() / 1024);
-        // Use 1/8th of the available memory for this memory cache. up to 4MB for high screen densities and 1.2Mb for low sds
+        // Use 1/8th of the available memory for this memory cache. up to 4MB for high screen
+        // densities and 1.2Mb for low sds
         final int cacheSize = maxMemory / 8;
-        avatarCache = new LruCache<String, Bitmap>(cacheSize){
+        avatarCache = new LruCache<String, Bitmap>(cacheSize) {
             @Override
-            protected int sizeOf(String key, Bitmap bitmap){
-            // The cache size will be measured in kilobytes
+            protected int sizeOf(String key, Bitmap bitmap) {
+                // The cache size will be measured in kilobytes
                 return bitmap.getByteCount() / 1024;
             }
         };
@@ -189,7 +259,7 @@ public class WorkflowItemFragment extends Fragment implements SwipeRefreshLayout
         super.onAttach(activity);
         try {
 
-           // ((DashboardMainActivity) activity).onSectionAttached(1);
+            // ((DashboardMainActivity) activity).onSectionAttached(1);
         } catch (ClassCastException e) {
             throw new ClassCastException(activity.toString()
                     + " must implement OnFragmentInteractionListener");
@@ -214,8 +284,8 @@ public class WorkflowItemFragment extends Fragment implements SwipeRefreshLayout
     @Override
     public void onResume() {
         super.onResume();
-        if(!STATE_ON) {
-            new WorkflowLoader(getActivity(), swipeRefreshLayout).execute(""+currentPage);
+        if (!STATE_ON) {
+            new WorkflowLoader(getActivity(), swipeRefreshLayout).execute("" + currentPage);
 
             if (mListView.getAdapter().getItemCount() == 0) {
                 mListView.setVisibility(View.GONE);
@@ -226,7 +296,8 @@ public class WorkflowItemFragment extends Fragment implements SwipeRefreshLayout
                 noDataText.setVisibility(View.GONE);
             }
         }
-//        ((RecyclerView)(getActivity()).findViewById(R.id.favoriteList)).getAdapter().notifyDataSetChanged();
+//        ((RecyclerView)(getActivity()).findViewById(R.id.favoriteList)).getAdapter()
+// .notifyDataSetChanged();
     }
 
     @Override
@@ -239,12 +310,14 @@ public class WorkflowItemFragment extends Fragment implements SwipeRefreshLayout
     public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
         super.onCreateOptionsMenu(menu, inflater);
         //menu.clear();
-        if(menu.size() == 1) {
+        if (menu.size() == 1) {
             //get the searchview and set the searchable configuration
-            SearchManager searchManager = (SearchManager) getActivity().getSystemService(Context.SEARCH_SERVICE);
+            SearchManager searchManager = (SearchManager) getActivity().getSystemService(Context
+                    .SEARCH_SERVICE);
             SearchView searchView = (SearchView) menu.findItem(R.id.action_search).getActionView();
             //assuming this activity is the searchable activity
-            searchView.setSearchableInfo(searchManager.getSearchableInfo(getActivity().getComponentName()));
+            searchView.setSearchableInfo(searchManager.getSearchableInfo(getActivity()
+                    .getComponentName()));
             searchView.setSubmitButtonEnabled(true);
             searchView.setOnQueryTextListener(this);
 //            searchView.setOnSearchClickListener(this);
@@ -257,8 +330,8 @@ public class WorkflowItemFragment extends Fragment implements SwipeRefreshLayout
 
     @Override
     public boolean onOptionsItemSelected(MenuItem item) {
-        if(item.getTitle().equals("Refresh")){
-            new WorkflowLoader(getActivity(),swipeRefreshLayout).execute("1");
+        if (item.getTitle().equals("Refresh")) {
+            new WorkflowLoader(getActivity(), swipeRefreshLayout).execute("1");
             return true;
         }
         return super.onOptionsItemSelected(item);
@@ -267,15 +340,15 @@ public class WorkflowItemFragment extends Fragment implements SwipeRefreshLayout
     @Override
     public void onDestroy() {
         super.onDetach();
-      //  workflowAdapter.unregisterAdapterDataObserver(workflowObserver);
+        //  workflowAdapter.unregisterAdapterDataObserver(workflowObserver);
     }
 
     //handle a request to query for given workflows
-    private void performSearch(String search){
+    private void performSearch(String search) {
         WorkflowAdapter ladapter = new WorkflowAdapter(getActivity());
         WorkflowAdapter wk = workflowAdapter;
 
-        if(!TextUtils.isEmpty(search)) {
+        if (!TextUtils.isEmpty(search)) {
             if (null != wk)
                 for (int i = 0; i < wk.getItemCount(); i++) {
                     Workflow workflow = wk.getItem(i);
@@ -286,7 +359,8 @@ public class WorkflowItemFragment extends Fragment implements SwipeRefreshLayout
 
             mListView.swapAdapter(ladapter, true);
             if (ladapter.getItemCount() == 0)
-                Toast.makeText(getActivity(), "No workflows found matching criteria", Toast.LENGTH_SHORT).show();
+                Toast.makeText(getActivity(), "No workflows found matching criteria", Toast
+                        .LENGTH_SHORT).show();
         }
     }
 
@@ -295,11 +369,13 @@ public class WorkflowItemFragment extends Fragment implements SwipeRefreshLayout
         isRefreshData = true;
         isLoadMoreData = false;
 
-        new WorkflowLoader(getActivity(),swipeRefreshLayout).execute(""+1);
+        new WorkflowLoader(getActivity(), swipeRefreshLayout).execute("" + 1);
     }
 
     /**
-     * Search action triggered, handle the search request. Filter the workflows by name/title and swap current adapter with the new adapter
+     * Search action triggered, handle the search request. Filter the workflows by name/title and
+     * swap current adapter with the new adapter
+     *
      * @param query Search string criteria
      * @return whether or not user handled request 'manually'
      */
@@ -315,66 +391,6 @@ public class WorkflowItemFragment extends Fragment implements SwipeRefreshLayout
         return true;
     }
 
-    public static void updateWorkflowUI(final List<Workflow> data) {
-
-        ((Activity)cx).runOnUiThread(new Runnable() {
-            @Override
-            public void run() {
-                WorkflowItemFragment.workflowAdapter = new WorkflowAdapter(cx,data);
-                if(isLoadMoreData) {
-                    isLoadMoreData = false;
-                    isRefreshData = false;
-                    ((WorkflowAdapter)mListView.getAdapter()).addItems(data, previousTotal);
-                }else
-                    mListView.swapAdapter(workflowAdapter, false);
-
-                if(WorkflowItemFragment.workflowAdapter.getItemCount() == 0){
-                    mListView.setVisibility(View.GONE);
-                    noDataText.setVisibility(View.VISIBLE);
-                  //  Toast.makeText(cx, cx.getResources().getString(R.string.err_workflow_conn), Toast.LENGTH_LONG).show();
-                }else{
-                    mListView.setVisibility(View.VISIBLE);
-                    noDataText.setVisibility(View.GONE);
-                }
-            }
-        });
-    }
-
-    public static void startLoadingAvatar(final User author) {
-
-        ((Activity)cx).runOnUiThread(new Runnable() {
-            @Override
-            public void run() {
-                synchronized (this) {
-                    author.getUserViewHolder().author_name.setText(author.getName());
-                    //((TextView) rootView.findViewById(R.id.workflow_author)).setText(author.getName());
-                    //check whether avatar is already in the cache before trying to download it from remote resource
-                    if(avatarCache.get(author.getDetails_uri()) == null)
-                        new AvatarLoader(author.getUserViewHolder()).execute(author.getDetails_uri(), author.getRow_id());
-                    else{
-                        author.getUserViewHolder().author_profile.setImageBitmap(avatarCache.get(author.getDetails_uri()));
-//                        ((ImageView) rootView.findViewById(R.id.author_profile_image)).setImageBitmap(avatarCache.get(author.getDetails_uri()));
-                    }
-                    System.out.println("Author cached ID "+author.getDetails_uri()+"\n Name: "+author.getName());
-                }
-            }
-        });
-    }
-
-    /**
-     * Called when avatar xml has finished parsing. fetches the avatar remotely and updates the item in the list view
-     * @param author the author avatar to load
-     */
-    public static void updateAvatar(final User author) {
-
-        ((Activity)cx).runOnUiThread(new Runnable() {
-            @Override
-            public void run() {
-               //      new LoadAuthorAvatar((ImageView) rootView.findViewById(R.id.author_profile_image),author.getDetails_uri()).execute(author.getAvatar_url());
-                new LoadAuthorAvatar( author.getUserViewHolder().author_profile,author.getDetails_uri()).execute(author.getAvatar_url());
-            }
-        });
-    }
     /**
      * Load the Author Avatar from a background Task
      */
@@ -413,13 +429,13 @@ public class WorkflowItemFragment extends Fragment implements SwipeRefreshLayout
             try {
                 avatarCache.put(row_id_as_key, bitmap);
 
-            }catch(NullPointerException np){
+            } catch (NullPointerException np) {
 
             }
         }
     }
 
-    private class InfiniteScrollListener extends RecyclerView.OnScrollListener{
+    private class InfiniteScrollListener extends RecyclerView.OnScrollListener {
         /**
          * Callback method to be invoked when the RecyclerView has been scrolled. This will be
          * called after the scroll has completed.
@@ -437,18 +453,19 @@ public class WorkflowItemFragment extends Fragment implements SwipeRefreshLayout
             visibleItemCount = mListView.getChildCount();
             totalItemCount = mLinearLayoutManager.getItemCount();
             firstVisibleItem = mLinearLayoutManager.findFirstVisibleItemPosition();
-            if(loading){
-                if(totalItemCount > previousTotal){
+            if (loading) {
+                if (totalItemCount > previousTotal) {
                     loading = false;
                     previousTotal = totalItemCount;
                 }
             }
-            if(!loading && (totalItemCount - visibleItemCount) <= (firstVisibleItem+visibleThreshold)){
+            if (!loading && (totalItemCount - visibleItemCount) <= (firstVisibleItem +
+                    visibleThreshold)) {
                 //list has reached end, load more.
                 Toast.makeText(getActivity(), "Loading more", Toast.LENGTH_SHORT).show();
                 isLoadMoreData = true;
                 currentPage++;
-                new WorkflowLoader(getActivity(),swipeRefreshLayout).execute(""+currentPage);
+                new WorkflowLoader(getActivity(), swipeRefreshLayout).execute("" + currentPage);
                 System.out.println(currentPage);
                 loading = true;
             }

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e752e97d/app/src/main/java/org/apache/taverna/mobile/fragments/WorkflowViewpager.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/fragments/WorkflowViewpager.java b/app/src/main/java/org/apache/taverna/mobile/fragments/WorkflowViewpager.java
new file mode 100644
index 0000000..0d5acb6
--- /dev/null
+++ b/app/src/main/java/org/apache/taverna/mobile/fragments/WorkflowViewpager.java
@@ -0,0 +1,114 @@
+package org.apache.taverna.mobile.fragments;
+
+import org.apache.taverna.mobile.R;
+
+import android.os.Bundle;
+import android.support.design.widget.TabLayout;
+import android.support.v4.app.Fragment;
+import android.support.v4.app.FragmentManager;
+import android.support.v4.app.FragmentPagerAdapter;
+import android.support.v4.view.ViewPager;
+import android.support.v7.app.ActionBar;
+import android.support.v7.app.AppCompatActivity;
+import android.support.v7.widget.Toolbar;
+import android.util.Log;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Created by rajan on 8/3/16.
+ */
+public class WorkflowViewpager extends Fragment {
+
+    private final String LOG_TAG = getClass().getSimpleName();
+
+    ViewPager viewPager;
+    TabLayout tabLayout;
+
+
+    public static WorkflowViewpager getInstance(int position) {
+        WorkflowViewpager myFragment = new WorkflowViewpager();
+        Bundle args = new Bundle();
+        args.putInt("position", position);
+        myFragment.setArguments(args);
+        return myFragment;
+    }
+
+    @Override
+    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle
+            savedInstanceState) {
+        View workflow_pager = inflater.inflate(R.layout.viewpager_workflow, container, false);
+
+        /**
+         * Setting the tool bar in MainActivity for all fragment
+         */
+        Toolbar toolbar = (Toolbar) workflow_pager.findViewById(R.id.toolbar);
+        ((AppCompatActivity) getActivity()).setSupportActionBar(toolbar);
+
+        final ActionBar ab = ((AppCompatActivity) getActivity()).getSupportActionBar();
+        ab.setHomeAsUpIndicator(R.drawable.ic_menu);
+        ab.setDisplayHomeAsUpEnabled(true);
+
+
+        viewPager = (ViewPager) workflow_pager.findViewById(R.id.mviewpager);
+        final Adapter adapter = new Adapter(getChildFragmentManager());
+
+        /**
+         * Dynamically Adding tabs
+         * To add the new Tab "Go to res/values/category_id and add new title and category id"
+         */
+        adapter.addFragment(new WorkflowItemFragment(), getResources().getString(R.string
+                .title_explore));
+        adapter.addFragment(new FavoriteFragment(), getResources().getString(R.string
+                .title_favorite));
+
+        viewPager.setAdapter(adapter);
+        viewPager.setOffscreenPageLimit(2);
+        tabLayout = (TabLayout) workflow_pager.findViewById(R.id.mtablayout);
+        tabLayout.setupWithViewPager(viewPager);
+
+        return workflow_pager;
+    }
+
+
+    @Override
+    public void onViewCreated(View view, Bundle savedInstanceState) {
+        super.onViewCreated(view, savedInstanceState);
+        Log.i(LOG_TAG, "Workflow_viewpager.onCreate");
+
+    }
+
+    static class Adapter extends FragmentPagerAdapter {
+        private final List<Fragment> mFragments = new ArrayList<>();
+        private final List<String> mFragmentTitles = new ArrayList<>();
+
+        public Adapter(FragmentManager fm) {
+            super(fm);
+        }
+
+        public void addFragment(Fragment fragment, String title) {
+            mFragments.add(fragment);
+            mFragmentTitles.add(title);
+        }
+
+        @Override
+        public Fragment getItem(int position) {
+            return mFragments.get(position);
+        }
+
+        @Override
+        public int getCount() {
+            return mFragments.size();
+        }
+
+
+        @Override
+        public CharSequence getPageTitle(int position) {
+            return mFragmentTitles.get(position);
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e752e97d/app/src/main/java/org/apache/taverna/mobile/fragments/Workflow_viewpager.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/fragments/Workflow_viewpager.java b/app/src/main/java/org/apache/taverna/mobile/fragments/Workflow_viewpager.java
deleted file mode 100644
index 753645f..0000000
--- a/app/src/main/java/org/apache/taverna/mobile/fragments/Workflow_viewpager.java
+++ /dev/null
@@ -1,113 +0,0 @@
-package org.apache.taverna.mobile.fragments;
-
-import android.os.Bundle;
-import android.support.design.widget.TabLayout;
-import android.support.v4.app.Fragment;
-import android.support.v4.app.FragmentPagerAdapter;
-import android.support.v4.view.ViewPager;
-import android.support.v7.app.ActionBar;
-import android.support.v7.app.AppCompatActivity;
-import android.support.v7.widget.Toolbar;
-import android.util.Log;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.support.v4.app.FragmentManager;
-import org.apache.taverna.mobile.R;
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * Created by rajan on 8/3/16.
- */
-public class Workflow_viewpager extends Fragment{
-
-	private final String LOG_TAG = getClass().getSimpleName();
-
-	ViewPager viewPager;
-	TabLayout tabLayout;
-
-
-	public static Workflow_viewpager getInstance(int position) {
-		Workflow_viewpager myFragment = new Workflow_viewpager();
-		Bundle args = new Bundle();
-		args.putInt("position", position);
-		myFragment.setArguments(args);
-		return myFragment;
-	}
-
-	@Override
-	public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
-		View workflow_pager = inflater.inflate(R.layout.viewpager_workflow, container, false);
-
-		/**
-		 * Setting the tool bar in MainActivity for all fragment
-		 */
-		Toolbar toolbar = (Toolbar) workflow_pager.findViewById(R.id.toolbar);
-		((AppCompatActivity) getActivity()).setSupportActionBar(toolbar);
-
-		final ActionBar ab = ((AppCompatActivity) getActivity()).getSupportActionBar();
-		ab.setHomeAsUpIndicator(R.drawable.ic_menu);
-		ab.setDisplayHomeAsUpEnabled(true);
-
-
-		viewPager = (ViewPager) workflow_pager.findViewById(R.id.mviewpager);
-		final Adapter adapter = new Adapter(getChildFragmentManager());
-
-		/**
-		 * Dynamically Adding tabs
-		 * To add the new Tab "Go to res/values/category_id and add new title and category id"
-		 */
-		adapter.addFragment(new WorkflowItemFragment() , getResources().getString(R.string.title_explore));
-		adapter.addFragment(new FavoriteFragment(), getResources().getString(R.string.title_favorite));
-
-		viewPager.setAdapter(adapter);
-		viewPager.setOffscreenPageLimit(2);
-		tabLayout = (TabLayout) workflow_pager.findViewById(R.id.mtablayout);
-		tabLayout.setupWithViewPager(viewPager);
-
-		return workflow_pager;
-	}
-
-
-
-	@Override
-	public void onViewCreated(View view, Bundle savedInstanceState)
-	{
-		super.onViewCreated(view, savedInstanceState);
-		Log.i(LOG_TAG, "Workflow_viewpager.onCreate");
-
-	}
-
-	static class Adapter extends FragmentPagerAdapter
-	{
-		private final List<Fragment> mFragments = new ArrayList<>();
-		private final List<String> mFragmentTitles = new ArrayList<>();
-
-		public Adapter(FragmentManager fm) {
-			super(fm);
-		}
-
-		public void addFragment(Fragment fragment, String title) {
-			mFragments.add(fragment);
-			mFragmentTitles.add(title);
-		}
-
-		@Override
-		public Fragment getItem(int position) {
-			return mFragments.get(position);
-		}
-
-		@Override
-		public int getCount() {
-			return mFragments.size();
-		}
-
-
-
-		@Override
-		public CharSequence getPageTitle(int position) {
-			return mFragmentTitles.get(position);
-		}
-	}
-}