Android Open Source - cbl-phonegap-chatdemo C B Lite






From Project

Back to project page cbl-phonegap-chatdemo.

License

The source code is released under:

Apache License

If you think the Android project cbl-phonegap-chatdemo listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.couchbase.cblite.phonegap;
/*from   w w w .jav a 2  s  . com*/
import android.content.Context;

import org.apache.cordova.CallbackContext;
import org.apache.cordova.CordovaPlugin;
import org.apache.cordova.CordovaWebView;
import org.apache.cordova.CordovaInterface;
import org.json.JSONArray;

import com.couchbase.lite.android.AndroidContext;
import com.couchbase.lite.Manager;
import com.couchbase.lite.listener.LiteListener;
import com.couchbase.lite.listener.LiteServlet;
import com.couchbase.lite.listener.Credentials;
import com.couchbase.lite.router.URLStreamHandlerFactory;
import com.couchbase.lite.View;
import com.couchbase.lite.javascript.JavaScriptViewCompiler;
import com.couchbase.lite.util.Log;

import java.io.IOException;
import java.io.File;

public class CBLite extends CordovaPlugin {

  private static final int DEFAULT_LISTEN_PORT = 5984;
  private boolean initFailed = false;
  private int listenPort;
    private Credentials allowedCredentials;

  /**
   * Constructor.
   */
  public CBLite() {
    super();
    System.out.println("CBLite() constructor called");
  }

  public void initialize(CordovaInterface cordova, CordovaWebView webView) {
    System.out.println("initialize() called");

    super.initialize(cordova, webView);
    initCBLite();

  }

  private void initCBLite() {
    try {

        allowedCredentials = new Credentials();

      URLStreamHandlerFactory.registerSelfIgnoreError();

      View.setCompiler(new JavaScriptViewCompiler());

      Manager server = startCBLite(this.cordova.getActivity());

      listenPort = startCBLListener(DEFAULT_LISTEN_PORT, server, allowedCredentials);

      System.out.println("initCBLite() completed successfully");


    } catch (final Exception e) {
      e.printStackTrace();
      initFailed = true;
    }

  }

  @Override
  public boolean execute(String action, JSONArray args,
      CallbackContext callback) {
    if (action.equals("getURL")) {
      try {

        if (initFailed == true) {
          callback.error("Failed to initialize couchbase lite.  See console logs");
          return false;
        } else {
          String callbackRespone = String.format(
              "http://%s:%s@localhost:%d/",
                            allowedCredentials.getLogin(),
                            allowedCredentials.getPassword(),
                            listenPort
                    );

          callback.success(callbackRespone);

          return true;
        }

      } catch (final Exception e) {
        e.printStackTrace();
        callback.error(e.getMessage());
      }
    }
    return false;
  }

  protected Manager startCBLite(Context context) {
    Manager manager;
    try {
            Manager.enableLogging(Log.TAG, Log.VERBOSE);
      Manager.enableLogging(Log.TAG_SYNC, Log.VERBOSE);
      Manager.enableLogging(Log.TAG_QUERY, Log.VERBOSE);
      Manager.enableLogging(Log.TAG_VIEW, Log.VERBOSE);
      Manager.enableLogging(Log.TAG_CHANGE_TRACKER, Log.VERBOSE);
      Manager.enableLogging(Log.TAG_BLOB_STORE, Log.VERBOSE);
      Manager.enableLogging(Log.TAG_DATABASE, Log.VERBOSE);
      Manager.enableLogging(Log.TAG_LISTENER, Log.VERBOSE);
      Manager.enableLogging(Log.TAG_MULTI_STREAM_WRITER, Log.VERBOSE);
      Manager.enableLogging(Log.TAG_REMOTE_REQUEST, Log.VERBOSE);
      Manager.enableLogging(Log.TAG_ROUTER, Log.VERBOSE);
      manager = new Manager(new AndroidContext(context), Manager.DEFAULT_OPTIONS);
      
    } catch (IOException e) {
      throw new RuntimeException(e);
    }
    return manager;
  }

  private int startCBLListener(int listenPort, Manager manager, Credentials allowedCredentials) {

    LiteListener listener = new LiteListener(manager, listenPort, allowedCredentials);
    int boundPort = listener.getListenPort();
    Thread thread = new Thread(listener);
    thread.start();
    return boundPort;

  }

  public void onResume(boolean multitasking) {
    System.out.println("CBLite.onResume() called");
  }

  public void onPause(boolean multitasking) {
    System.out.println("CBLite.onPause() called");
  }


}




Java Source Code List

com.couchbase.cblite.phonegap.CBLite.java
com.couchbase.cblite.phonegap.CBLite.java
com.phonegap.helloworld.CordovaApp.java
com.squareup.okhttp.Address.java
com.squareup.okhttp.ConnectionPool.java
com.squareup.okhttp.Connection.java
com.squareup.okhttp.Dispatcher.java
com.squareup.okhttp.Failure.java
com.squareup.okhttp.HttpResponseCache.java
com.squareup.okhttp.Job.java
com.squareup.okhttp.MediaType.java
com.squareup.okhttp.OkAuthenticator.java
com.squareup.okhttp.OkHttpClient.java
com.squareup.okhttp.OkResponseCache.java
com.squareup.okhttp.Request.java
com.squareup.okhttp.ResponseSource.java
com.squareup.okhttp.Response.java
com.squareup.okhttp.RouteDatabase.java
com.squareup.okhttp.Route.java
com.squareup.okhttp.TunnelRequest.java
com.squareup.okhttp.internal.AbstractOutputStream.java
com.squareup.okhttp.internal.Base64.java
com.squareup.okhttp.internal.DiskLruCache.java
com.squareup.okhttp.internal.Dns.java
com.squareup.okhttp.internal.FaultRecoveringOutputStream.java
com.squareup.okhttp.internal.NamedRunnable.java
com.squareup.okhttp.internal.Platform.java
com.squareup.okhttp.internal.StrictLineReader.java
com.squareup.okhttp.internal.Util.java
com.squareup.okhttp.internal.http.AbstractHttpInputStream.java
com.squareup.okhttp.internal.http.HeaderParser.java
com.squareup.okhttp.internal.http.HttpAuthenticator.java
com.squareup.okhttp.internal.http.HttpDate.java
com.squareup.okhttp.internal.http.HttpEngine.java
com.squareup.okhttp.internal.http.HttpTransport.java
com.squareup.okhttp.internal.http.HttpURLConnectionImpl.java
com.squareup.okhttp.internal.http.HttpsEngine.java
com.squareup.okhttp.internal.http.HttpsURLConnectionImpl.java
com.squareup.okhttp.internal.http.OkResponseCacheAdapter.java
com.squareup.okhttp.internal.http.Policy.java
com.squareup.okhttp.internal.http.RawHeaders.java
com.squareup.okhttp.internal.http.RequestHeaders.java
com.squareup.okhttp.internal.http.ResponseHeaders.java
com.squareup.okhttp.internal.http.RetryableOutputStream.java
com.squareup.okhttp.internal.http.RouteSelector.java
com.squareup.okhttp.internal.http.SpdyTransport.java
com.squareup.okhttp.internal.http.Transport.java
com.squareup.okhttp.internal.http.UnknownLengthHttpInputStream.java
com.squareup.okhttp.internal.spdy.ErrorCode.java
com.squareup.okhttp.internal.spdy.FrameReader.java
com.squareup.okhttp.internal.spdy.FrameWriter.java
com.squareup.okhttp.internal.spdy.HeadersMode.java
com.squareup.okhttp.internal.spdy.Hpack.java
com.squareup.okhttp.internal.spdy.Http20Draft06.java
com.squareup.okhttp.internal.spdy.IncomingStreamHandler.java
com.squareup.okhttp.internal.spdy.NameValueBlockReader.java
com.squareup.okhttp.internal.spdy.Ping.java
com.squareup.okhttp.internal.spdy.Settings.java
com.squareup.okhttp.internal.spdy.Spdy3.java
com.squareup.okhttp.internal.spdy.SpdyConnection.java
com.squareup.okhttp.internal.spdy.SpdyStream.java
com.squareup.okhttp.internal.spdy.Variant.java
com.squareup.okhttp.internal.tls.DistinguishedNameParser.java
com.squareup.okhttp.internal.tls.OkHostnameVerifier.java
org.apache.cordova.App.java
org.apache.cordova.AuthenticationToken.java
org.apache.cordova.CallbackContext.java
org.apache.cordova.ConfigXmlParser.java
org.apache.cordova.Config.java
org.apache.cordova.CordovaActivity.java
org.apache.cordova.CordovaArgs.java
org.apache.cordova.CordovaBridge.java
org.apache.cordova.CordovaChromeClient.java
org.apache.cordova.CordovaInterface.java
org.apache.cordova.CordovaPlugin.java
org.apache.cordova.CordovaPreferences.java
org.apache.cordova.CordovaResourceApi.java
org.apache.cordova.CordovaUriHelper.java
org.apache.cordova.CordovaWebViewClient.java
org.apache.cordova.CordovaWebView.java
org.apache.cordova.DirectoryManager.java
org.apache.cordova.DroidGap.java
org.apache.cordova.ExifHelper.java
org.apache.cordova.ExposedJsApi.java
org.apache.cordova.FileHelper.java
org.apache.cordova.IceCreamCordovaWebViewClient.java
org.apache.cordova.JSONUtils.java
org.apache.cordova.LOG.java
org.apache.cordova.LinearLayoutSoftKeyboardDetect.java
org.apache.cordova.NativeToJsMessageQueue.java
org.apache.cordova.PluginEntry.java
org.apache.cordova.PluginManager.java
org.apache.cordova.PluginResult.java
org.apache.cordova.ScrollEvent.java
org.apache.cordova.Whitelist.java