Android Open Source - fh-android-sdk Cloud Props






From Project

Back to project page fh-android-sdk.

License

The source code is released under:

Copyright (c) 2014 FeedHenry Ltd, All Rights Reserved. Please refer to your contract with FeedHenry for the software license agreement. If you do not have a contract, you do not have a license to use...

If you think the Android project fh-android-sdk 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.feedhenry.sdk;
//from ww w.  j  a  va 2  s  .  com
import java.util.Properties;
import org.json.fh.JSONObject;

import com.feedhenry.sdk.utils.FHLog;

public class CloudProps {

  private Properties mProperties;
  private JSONObject mCloudProps;
  private String mHostUrl;
  
  private static final String LOG_TAG = "com.feedhenry.sdk.CloudProps";
  
  private static String INVALID_URI_PATTERN = "(_.*?)\\.";
  
  public CloudProps(Properties pAppProps, JSONObject pCloudProps){
    mCloudProps = pCloudProps;
    mProperties = pAppProps;
  }
  
  /**
   * Construct a cloudProps instance for local development. The cloud url will be the value of "host" specified in 
   * assets/fhconfig.local.properties file.
   * @param pAppPropsForDev needs to contain at least a "host" key
   */
  public CloudProps(Properties pAppPropsForDev){
  mProperties = pAppPropsForDev;
  mCloudProps = new JSONObject();
  mCloudProps.put("url", mProperties.get(FH.APP_HOST_KEY));
  }
  
  /**
   * Return the cloud host of the app
   * @return the cloud host (no trailing "/")
   */
  public String getCloudHost(){
    if(null == mHostUrl){
      String hostUrl = null;
      try {
        if (mCloudProps.has("url")) {
          hostUrl = mCloudProps.getString("url");
        } else {
          String appMode = mProperties.getProperty(FH.APP_MODE_KEY);
          JSONObject hosts = mCloudProps.getJSONObject("hosts");
          if(hosts.has("url")){
            hostUrl = hosts.getString("url");
          } else {
            if ("dev".equalsIgnoreCase(appMode)) {
              hostUrl = hosts.getString("debugCloudUrl");
            } else {
              hostUrl = hosts.getString("releaseCloudUrl");
            }
          }
        }
        hostUrl = hostUrl.endsWith("/") ? hostUrl.substring(0,hostUrl.length() - 1) : hostUrl;
        //previously cloud host url could look like this: testing-nge0bsskhnq2slb3b1luvbwr-dev_testing.df.dev.e111.feedhenry.net
        //however, "_" is not valid in JAVA as URI host, that will cause the parsed URI contains null host.
        //since dynofarm now accept urls like this: testing-nge0bsskhnq2slb3b1luvbwr-dev.df.dev.e111.feedhenry.net
        //we need to remove the "_" + dynomame part if it exists
        hostUrl = hostUrl.replaceFirst(INVALID_URI_PATTERN, ".");
        mHostUrl = hostUrl;
        FHLog.v(LOG_TAG, "host url = " + mHostUrl);
      } catch (Exception e) {
        FHLog.e(LOG_TAG, e.getMessage(), e);
      }
    }
    
    return mHostUrl;
  }
  
  public Properties getAppProperties(){
    return mProperties;
  }
}




Java Source Code List

com.feedhenry.fhandroidexampleapp.FHActActivity.java
com.feedhenry.fhandroidexampleapp.FHAndroidExampleActivity.java
com.feedhenry.fhandroidexampleapp.FHAuthActivity.java
com.feedhenry.fhandroidexampleapp.FHLoginActivity.java
com.feedhenry.fhandroidexampleapp.FHSyncActivity.java
com.feedhenry.fhandroidexampleapp.FhUtil.java
com.feedhenry.fhandroidexampleapp.ItemDetailsActivity.java
com.feedhenry.fhandroidexampleapp.SyncCollisionResolveActivity.java
com.feedhenry.fhandroidexampleapp.SyncCollisionsListActivity.java
com.feedhenry.sdk.CloudProps.java
com.feedhenry.sdk.FHActCallback.java
com.feedhenry.sdk.FHAct.java
com.feedhenry.sdk.FHHttpClient.java
com.feedhenry.sdk.FHRemote.java
com.feedhenry.sdk.FHResponse.java
com.feedhenry.sdk.FH.java
com.feedhenry.sdk.api.FHActRequest.java
com.feedhenry.sdk.api.FHAuthRequest.java
com.feedhenry.sdk.api.FHCloudRequest.java
com.feedhenry.sdk.api.FHInitializeRequest.java
com.feedhenry.sdk.exceptions.FHInvalidActionException.java
com.feedhenry.sdk.exceptions.FHNotReadyException.java
com.feedhenry.sdk.oauth.FHOAuthIntent.java
com.feedhenry.sdk.oauth.FHOAuthWebView.java
com.feedhenry.sdk.sync.FHSyncClient.java
com.feedhenry.sdk.sync.FHSyncConfig.java
com.feedhenry.sdk.sync.FHSyncDataRecord.java
com.feedhenry.sdk.sync.FHSyncDataset.java
com.feedhenry.sdk.sync.FHSyncListener.java
com.feedhenry.sdk.sync.FHSyncNotificationHandler.java
com.feedhenry.sdk.sync.FHSyncPendingRecord.java
com.feedhenry.sdk.sync.FHSyncUtils.java
com.feedhenry.sdk.sync.NotificationMessage.java
com.feedhenry.sdk.utils.FHLog.java
com.feedhenry.starter.FHStarterActivity.java
com.loopj.android.http.AsyncHttpClient.java
com.loopj.android.http.AsyncHttpRequest.java
com.loopj.android.http.AsyncHttpResponseHandler.java
com.loopj.android.http.Base64DataException.java
com.loopj.android.http.Base64OutputStream.java
com.loopj.android.http.Base64.java
com.loopj.android.http.BaseJsonHttpResponseHandler.java
com.loopj.android.http.BinaryHttpResponseHandler.java
com.loopj.android.http.DataAsyncHttpResponseHandler.java
com.loopj.android.http.FileAsyncHttpResponseHandler.java
com.loopj.android.http.JsonHttpResponseHandler.java
com.loopj.android.http.JsonStreamerEntity.java
com.loopj.android.http.MyRedirectHandler.java
com.loopj.android.http.MySSLSocketFactory.java
com.loopj.android.http.PersistentCookieStore.java
com.loopj.android.http.PreemtiveAuthorizationHttpRequestInterceptor.java
com.loopj.android.http.RangeFileAsyncHttpResponseHandler.java
com.loopj.android.http.RequestHandle.java
com.loopj.android.http.RequestParams.java
com.loopj.android.http.ResponseHandlerInterface.java
com.loopj.android.http.RetryHandler.java
com.loopj.android.http.SerializableCookie.java
com.loopj.android.http.SimpleMultipartEntity.java
com.loopj.android.http.SyncHttpClient.java
com.loopj.android.http.TextHttpResponseHandler.java
org.json.fh.CDL.java
org.json.fh.CookieList.java
org.json.fh.Cookie.java
org.json.fh.HTTPTokener.java
org.json.fh.HTTP.java
org.json.fh.JSONArray.java
org.json.fh.JSONException.java
org.json.fh.JSONObject.java
org.json.fh.JSONString.java
org.json.fh.JSONStringer.java
org.json.fh.JSONTokener.java
org.json.fh.JSONWriter.java
org.json.fh.XMLTokener.java
org.json.fh.XML.java