com.risevision.ui.client.common.data.DataAccessController.java Source code

Java tutorial

Introduction

Here is the source code for com.risevision.ui.client.common.data.DataAccessController.java

Source

// Copyright  2010 - May 2014 Rise Vision Incorporated.
// Use of this software is governed by the GPLv3 license
// (reproduced in the LICENSE file).

package com.risevision.ui.client.common.data;

import java.util.Date;

import com.google.gwt.http.client.URL;
import com.risevision.ui.client.common.controller.ConfigurationController;
import com.risevision.ui.client.common.data.DataControllerBase.DataResponseBase;
import com.risevision.ui.client.common.service.oauth2.OAuth2ServiceWrapper;

public class DataAccessController {
    private static ConfigurationController configController = ConfigurationController.getInstance();

    public static void getData(String urlToken, String method, String tq, DataResponseBase response) {

        String action = configController.getConfiguration().getServerURL() + "/v2" + urlToken;
        String callback = "callback" + (int) (Math.random() * 1000000) + "_" + new Date().getTime();
        String tqx = "responseHandler:" + callback;

        String url = action + "?tq=" + URL.encodeQueryString(tq) + "&tqx=" + tqx + "&access_token="
                + OAuth2ServiceWrapper.getAccessToken();
        getDataNative(url, callback, response);

    }

    public static void getFinancialData(String urlToken, String tq, DataResponseBase response,
            boolean customQuery) {
        String action = configController.getConfiguration().getFinancialServerURL() + urlToken;
        //      String action = "http://contentfinancial2.appspot.com" + urlToken;

        String callback = "callback" + (int) (Math.random() * 1000000) + "_" + new Date().getTime();
        String tqx = "responseHandler:" + callback;

        String url = action + "?tqx=" + tqx + "&";
        if (customQuery) {
            url += tq;
        } else {
            url += "tq=" + URL.encodeQueryString(tq);
        }

        getDataNative(url, callback, response);

    }

    //   private void onResponse(JavaScriptObject jso) {
    //      JSOModel jsoModel = (JSOModel) jso;
    //
    //      String status = jsoModel.get("status");
    //      if (status.equalsIgnoreCase("OK")) {
    //         parseData(jsoModel.getObject("table"));
    //      }
    //   }

    private static native String createURLNative(String consumerSecret, String tokenSecret, String action,
            String method, String tqx, String tq, String oauth_consumer_key, String oauth_token) /*-{
                                                                                                 var accessor = { 
                                                                                                 consumerSecret: consumerSecret, 
                                                                                                 tokenSecret: tokenSecret
                                                                                                 };
                                                                                                     
                                                                                                 // NOTE: createURL functionality relies on the object being created in Javascript; GWT doesn't construct
                                                                                                 // the object properly 
                                                                                                 var messageURL = $wnd.createURL(accessor, action, method, tqx, tq, oauth_consumer_key, oauth_token);
                                                                                                     
                                                                                                 return messageURL;
                                                                                                 }-*/;

    public static native void getDataNative(String url, String callbackName, DataResponseBase response) /*-{
                                                                                                        //      debugger;
                                                                                                            
                                                                                                        var instance = this;
                                                                                                        var callbackSuccess = function(data) {
                                                                                                        //         @com.risevision.ui.client.common.data.DataAccessController::onResponse(Lcom/google/gwt/core/client/JavaScriptObject;)( response );
                                                                                                        response.@com.risevision.ui.client.common.data.DataControllerBase.DataResponseBase::onResponse(Lcom/google/gwt/core/client/JavaScriptObject;)( data );
                                                                                                        };
                                                                                                            
                                                                                                        var callbackError = function(errorString) {
                                                                                                        response.@com.risevision.ui.client.common.data.DataControllerBase.DataResponseBase::onError(Ljava/lang/String;)( errorString );
                                                                                                        };
                                                                                                            
                                                                                                        //       $wnd.$.ajax({
                                                                                                        //         url: url,
                                                                                                        //          dataType: "jsonp",
                                                                                                        //          cache: true,
                                                                                                        //          jsonp: false,
                                                                                                        //          jsonpCallback: callbackName, 
                                                                                                        //          success: function(data) { 
                                                                                                        ////                debugger;
                                                                                                        //
                                                                                                        //               try {
                                                                                                        //                   callbackSuccess(data);
                                                                                                        //               }
                                                                                                        //               catch (err) {
                                                                                                        //                  $wnd.alert("Error - " + result + " - " + err.message);
                                                                                                        //               }
                                                                                                        //                             
                                                                                                        ////                if (uppercase(data.status) == "OK") {
                                                                                                        ////                   callback(data);
                                                                                                        ////                }
                                                                                                        ////                else {
                                                                                                        ////                   // report error;
                                                                                                        ////                }
                                                                                                        //                
                                                                                                        ////                $wnd.logText("status: " + data.status);
                                                                                                        //          },
                                                                                                        //         error: function(xOptions, textStatus) {
                                                                                                        //            debugger;
                                                                                                        //            
                                                                                                        //            callbackError(textStatus);
                                                                                                        //         }
                                                                                                        //      });
                                                                                                            
                                                                                                        // using separate JSONP library that allows for error catching in the requests
                                                                                                        $wnd.$.jsonp({
                                                                                                        url: url,
                                                                                                        cache: true,
                                                                                                        callback: callbackName, 
                                                                                                        success: function(data) { 
                                                                                                        //                debugger;
                                                                                                            
                                                                                                        try {
                                                                                                        callbackSuccess(data);
                                                                                                        }
                                                                                                        catch (err) {
                                                                                                        $wnd.alert("Error - " + result + " - " + err.message);
                                                                                                        }
                                                                                                        },
                                                                                                        error: function(xOptions, textStatus) {
                                                                                                        //               debugger;
                                                                                                            
                                                                                                        callbackError(textStatus);
                                                                                                        }
                                                                                                        });
                                                                                                            
                                                                                                        }-*/;

}