Trevor Grant created STREAMS-448:
------------------------------------
Summary: 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)