streams-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Steve Blackmon (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (STREAMS-448) TwitterUserInformationConfiguration only accepts Twitter IDs not usernames
Date Sat, 17 Dec 2016 20:07:58 GMT

     [ https://issues.apache.org/jira/browse/STREAMS-448?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Steve Blackmon updated STREAMS-448:
-----------------------------------
    Sprint: 0.4.1  (was: 0.5.0)

> TwitterUserInformationConfiguration only accepts Twitter IDs not usernames
> --------------------------------------------------------------------------
>
>                 Key: STREAMS-448
>                 URL: https://issues.apache.org/jira/browse/STREAMS-448
>             Project: Streams
>          Issue Type: Bug
>            Reporter: Trevor Grant
>
> When attempting to create a stream with a Twitter provider, the `info` field should contain
numerical TwitterIDs or usernames, however when using twitter usernames an error is generated
> ```
> java.lang.IllegalArgumentException
> 	at com.google.common.base.Preconditions.checkArgument(Preconditions.java:108)
> 	at org.apache.streams.twitter.provider.TwitterTimelineProvider.startStream(TwitterTimelineProvider.java:110)
> ```
> TO RECREATE:
> ```scala
> import com.typesafe.config._
> import org.apache.streams.config._
> import org.apache.streams.core._
> import java.util.Iterator
> import org.apache.streams.twitter.TwitterUserInformationConfiguration
> import org.apache.streams.twitter.pojo._
> import org.apache.streams.twitter.provider._
> val hocon = s"""
>     twitter {
>       oauth {
>        consumerKey = ""
>     consumerSecret = ""
>     accessToken = ""
>     accessTokenSecret = ""
>       }
>       retrySleepMs = 5000
>   retryMax = 250
>   info = [
>     rawkintrevo   <--- This will create an error
>     1566016094 <--- this will not
>   ]
>     }
> """
> val buf = scala.collection.mutable.ArrayBuffer.empty[Object]
> val typesafe = ConfigFactory.parseString(hocon)
> val config = new ComponentConfigurator(classOf[TwitterUserInformationConfiguration]).detectConfiguration(typesafe,
"twitter");
> val provider = new TwitterTimelineProvider(config);
> provider.prepare(null)
> provider.startStream()
> while(provider.isRunning()) {
>     val resultSet = provider.readCurrent()
>     resultSet.size()
>     val iterator = resultSet.iterator();
>     while(iterator.hasNext()) {
>         val datum = iterator.next();
>         println(datum.getDocument)
>         buf += datum.getDocument
>     }   
> }
> ```



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message