You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@streams.apache.org by "Steve Blackmon (JIRA)" <ji...@apache.org> on 2018/01/08 17:02:02 UTC

[jira] [Closed] (STREAMS-448) TwitterUserInformationConfiguration only accepts Twitter IDs not usernames

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

Steve Blackmon closed STREAMS-448.
----------------------------------

> 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
>             Fix For: 0.5
>
>
> 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.4.14#64029)