/*
* Copyright 2016 IBM Corp.
*
* Licensed 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.
*/
(function () {
var Utils = require(EclairJS_Globals.NAMESPACE + '/Utils');
//
// static methods
//
/**
* @memberof module:eclairjs/streaming/twitter
* @constructor
*/
var TwitterUtils = function () {
};
var JavaTwitterUtils = Java.type('org.apache.spark.streaming.twitter.TwitterUtils');
var JavaStreamingContext = Java.type('org.apache.spark.streaming.api.java.JavaStreamingContext');
/**
* Create a input stream that returns tweets received from Twitter.
* Storage level of the data will be the default StorageLevel.MEMORY_AND_DISK_SER_2.
* @param {module:eclairjs/streaming.StreamingContext} jssc JavaStreamingContext object
* @param {module:eclairjs/streaming/twitter.TwitterAuthorization} twitterAuth Twitter Authorization
* @param {string[]} filters Set of filter strings to get only those tweets that match them
* @returns {ReceiverInputDStream}
*/
TwitterUtils.createStream = function (jssc, twitterAuth, filters) {
var jssc_uw = Utils.unwrapObject(jssc);
var twitterAuth_uw = Utils.unwrapObject(twitterAuth);
if (!twitterAuth_uw)
twitterAuth_uw = null;
if (!filters)
filters = null;
var javaObject = JavaTwitterUtils["createStream(JavaStreamingContext,twitter4j.auth.Authorization,String[])"]
(jssc_uw, twitterAuth_uw, filters);
return Utils.javaToJs(javaObject, jssc);
};
/**
* Create a input stream that returns tweets received from Twitter.
* @param {module:eclairjs/streaming.StreamingContext} ssc StreamingContext object
* @param {Authorization} twitterAuth Twitter4J authentication, or None to use Twitter4J's default OAuth
* authorization; this uses the system properties twitter4j.oauth.consumerKey,
* twitter4j.oauth.consumerSecret, twitter4j.oauth.accessToken and
* twitter4j.oauth.accessTokenSecret
* @param {string[]} filters Set of filter strings to get only those tweets that match them
* @param {module:eclairjs/storage.StorageLevel} storageLevel Storage level to use for storing the received objects
* @returns {ReceiverInputDStream}
* @ignore
*/
TwitterUtils.createStream0 = function (ssc, twitterAuth, filters, storageLevel) {
throw "not implemented by ElairJS";
// var ssc_uw = Utils.unwrapObject(ssc);
// var twitterAuth_uw = Utils.unwrapObject(twitterAuth);
// var storageLevel_uw = Utils.unwrapObject(storageLevel);
// var javaObject = org.apache.spark.streaming.twitter.TwitterUtils.createStream(ssc_uw,twitterAuth_uw,filters,storageLevel_uw);
// return Utils.javaToJs(javaObject);
};
/**
* Create a input stream that returns tweets received from Twitter using Twitter4J's default
* OAuth authentication; this requires the system properties twitter4j.oauth.consumerKey,
* twitter4j.oauth.consumerSecret, twitter4j.oauth.accessToken and
* twitter4j.oauth.accessTokenSecret.
* Storage level of the data will be the default StorageLevel.MEMORY_AND_DISK_SER_2.
* @param {JavaStreamingContext} jssc JavaStreamingContext object
* @returns {JavaReceiverInputDStream}
* @ignore
*/
TwitterUtils.createStream1 = function (jssc) {
throw "not implemented by ElairJS";
// var jssc_uw = Utils.unwrapObject(jssc);
// var javaObject = org.apache.spark.streaming.twitter.TwitterUtils.createStream(jssc_uw);
// return new JavaReceiverInputDStream(javaObject);
};
/**
* Create a input stream that returns tweets received from Twitter using Twitter4J's default
* OAuth authentication; this requires the system properties twitter4j.oauth.consumerKey,
* twitter4j.oauth.consumerSecret, twitter4j.oauth.accessToken and
* twitter4j.oauth.accessTokenSecret.
* Storage level of the data will be the default StorageLevel.MEMORY_AND_DISK_SER_2.
* @param {JavaStreamingContext} jssc JavaStreamingContext object
* @param {string[]} filters Set of filter strings to get only those tweets that match them
* @returns {JavaReceiverInputDStream}
* @ignore
*/
TwitterUtils.createStream2 = function (jssc, filters) {
throw "not implemented by ElairJS";
// var jssc_uw = Utils.unwrapObject(jssc);
// var javaObject = org.apache.spark.streaming.twitter.TwitterUtils.createStream(jssc_uw,filters);
// return new JavaReceiverInputDStream(javaObject);
};
/**
* Create a input stream that returns tweets received from Twitter using Twitter4J's default
* OAuth authentication; this requires the system properties twitter4j.oauth.consumerKey,
* twitter4j.oauth.consumerSecret, twitter4j.oauth.accessToken and
* twitter4j.oauth.accessTokenSecret.
* @param {JavaStreamingContext} jssc JavaStreamingContext object
* @param {string[]} filters Set of filter strings to get only those tweets that match them
* @param {module:eclairjs/storage.StorageLevel} storageLevel Storage level to use for storing the received objects
* @returns {JavaReceiverInputDStream}
* @ignore
*/
TwitterUtils.createStream3 = function (jssc, filters, storageLevel) {
throw "not implemented by ElairJS";
// var jssc_uw = Utils.unwrapObject(jssc);
// var storageLevel_uw = Utils.unwrapObject(storageLevel);
// var javaObject = org.apache.spark.streaming.twitter.TwitterUtils.createStream(jssc_uw,filters,storageLevel_uw);
// return new JavaReceiverInputDStream(javaObject);
};
/**
* Create a input stream that returns tweets received from Twitter.
* Storage level of the data will be the default StorageLevel.MEMORY_AND_DISK_SER_2.
* @param {JavaStreamingContext} jssc JavaStreamingContext object
* @param {Authorization} twitterAuth Twitter4J Authorization
* @returns {JavaReceiverInputDStream}
* @ignore
*/
TwitterUtils.createStream4 = function (jssc, twitterAuth) {
throw "not implemented by ElairJS";
// var jssc_uw = Utils.unwrapObject(jssc);
// var twitterAuth_uw = Utils.unwrapObject(twitterAuth);
// var javaObject = org.apache.spark.streaming.twitter.TwitterUtils.createStream(jssc_uw,twitterAuth_uw);
// return new JavaReceiverInputDStream(javaObject);
};
/**
* Create a input stream that returns tweets received from Twitter.
* @param {JavaStreamingContext} jssc JavaStreamingContext object
* @param {Authorization} twitterAuth Twitter4J Authorization object
* @param {string[]} filters Set of filter strings to get only those tweets that match them
* @param {module:eclairjs/storage.StorageLevel} storageLevel Storage level to use for storing the received objects
* @returns {JavaReceiverInputDStream}
* @ignore
*/
TwitterUtils.createStream6 = function (jssc, twitterAuth, filters, storageLevel) {
throw "not implemented by ElairJS";
// var jssc_uw = Utils.unwrapObject(jssc);
// var twitterAuth_uw = Utils.unwrapObject(twitterAuth);
// var storageLevel_uw = Utils.unwrapObject(storageLevel);
// var javaObject = org.apache.spark.streaming.twitter.TwitterUtils.createStream(jssc_uw,twitterAuth_uw,filters,storageLevel_uw);
// return new JavaReceiverInputDStream(javaObject);
};
module.exports = TwitterUtils;
})();