]> www.average.org Git - WhereAmI.git/blobdiff - src/org/average/whereami/Oracle.java
enable HTTP logging
[WhereAmI.git] / src / org / average / whereami / Oracle.java
index 1de3879b7db2b24b53d768f13a5bf74b09441312..b3d992e410a437fe0e9852407aa7d830854696f5 100644 (file)
@@ -3,6 +3,11 @@ package org.average.whereami;
 import org.average.whereami.PersistentStore;
 
 import java.io.IOException;
+import com.google.api.client.http.HttpTransport;
+import java.util.logging.Handler;
+import java.util.logging.Level;
+import java.util.logging.LogRecord;
+import java.util.logging.Logger;
 
 import com.google.api.client.extensions.android2.AndroidHttp;
 import com.google.api.client.auth.oauth2.draft10.AccessTokenResponse;
@@ -20,23 +25,21 @@ abstract public class Oracle {
 
        final String TAG = getClass().getName();
 
-       public HttpTransport httpTransport;
-       public JsonFactory jsonFactory;
-       public PersistentStore store;
-       public String authErrorMessage;
+       static public PersistentStore store;
+       static public HttpTransport httpTransport =
+                       AndroidHttp.newCompatibleTransport();
+       static public JsonFactory jsonFactory = new JacksonFactory();
+       static public String authErrorMessage;
 
        public Oracle(final Resources res, final PersistentStore store) {
                authErrorMessage = res.getString(R.string.autherror);
                this.store = store;
-
-               httpTransport = AndroidHttp.newCompatibleTransport();
-               jsonFactory = new JacksonFactory();
+               enableLogging();
        }
 
        private class MyAccessProtectedResource
                extends GoogleAccessProtectedResource {
 
-       // Why on earth contructors are not inherited?!?!
                public MyAccessProtectedResource(
                                String accessToken,
                                HttpTransport transport,
@@ -62,13 +65,14 @@ abstract public class Oracle {
                }
        }
 
-       public MyAccessProtectedResource accessProtectedResource() {
+       public MyAccessProtectedResource
+                               newMyAccessProtectedResource() {
                AccessTokenResponse token = store.readTokens();
                Log.v(TAG, "tokens - access: \"" + token.accessToken +
                        "\", refresh: \"" + token.refreshToken +
                        "\", client_id: \"" + ClientCredentials.CLIENT_ID +
                        "\", client_secret: \"" +
-                                       ClientCredentials.CLIENT_SECRET +
+                               ClientCredentials.CLIENT_SECRET +
                        "\"");
                return new MyAccessProtectedResource(
                        token.accessToken, httpTransport, jsonFactory,
@@ -78,4 +82,19 @@ abstract public class Oracle {
        }
 
        abstract public String getResult();
+
+       public static void enableLogging() {
+               Logger logger = Logger.getLogger(HttpTransport.class.getName());
+               logger.setLevel(Level.CONFIG);
+               logger.addHandler(new Handler() {
+                       @Override
+                       public void close() throws SecurityException {}
+                       @Override
+                       public void flush() {}
+                       @Override
+                       public void publish(LogRecord record) {
+                               Log.v("HttpTransport", record.getMessage());
+                       }
+               });
+       }
 }