Skip to content

Commit 64e5784

Browse files
committed
Twitter updates have broken Twitter River, Update to latest version of Twitter4J, closes elastic#627.
1 parent f8b1d1e commit 64e5784

File tree

4 files changed

+36
-14
lines changed

4 files changed

+36
-14
lines changed

.idea/dictionaries/kimchy.xml

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/modules/plugin-river-twitter.iml

Lines changed: 4 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

plugins/river/twitter/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,8 @@ configurations {
3232
dependencies {
3333
compile project(':elasticsearch')
3434

35-
compile('org.twitter4j:twitter4j-core:2.1.7') { transitive = false }
36-
distLib('org.twitter4j:twitter4j-core:2.1.7') { transitive = false }
35+
compile('org.twitter4j:twitter4j-core:2.1.10') { transitive = false }
36+
distLib('org.twitter4j:twitter4j-core:2.1.10') { transitive = false }
3737
}
3838

3939
task explodedDist(dependsOn: [jar], description: 'Builds the plugin zip file') << {

plugins/river/twitter/src/main/java/org/elasticsearch/river/twitter/TwitterRiver.java

Lines changed: 29 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@
3838
import org.elasticsearch.river.RiverSettings;
3939
import twitter4j.*;
4040

41-
import java.net.URL;
4241
import java.util.List;
4342
import java.util.Map;
4443
import java.util.concurrent.atomic.AtomicInteger;
@@ -185,7 +184,8 @@ public class TwitterRiver extends AbstractRiverComponent implements River {
185184
dropThreshold = 10;
186185
}
187186

188-
stream = new TwitterStreamFactory(new StatusHandler()).getInstance(user, password);
187+
stream = new TwitterStreamFactory().getInstance(user, password);
188+
stream.addListener(new StatusHandler());
189189
}
190190

191191
@Override public void start() {
@@ -244,14 +244,15 @@ private class StatusHandler extends StatusAdapter {
244244
builder.field("source", status.getSource());
245245
builder.field("truncated", status.isTruncated());
246246

247-
248-
if (status.getUserMentions() != null) {
247+
if (status.getUserMentionEntities() != null) {
249248
builder.startArray("mention");
250-
for (User user : status.getUserMentions()) {
249+
for (UserMentionEntity user : status.getUserMentionEntities()) {
251250
builder.startObject();
252251
builder.field("id", user.getId());
253252
builder.field("name", user.getName());
254253
builder.field("screen_name", user.getScreenName());
254+
builder.field("start", user.getStart());
255+
builder.field("end", user.getEnd());
255256
builder.endObject();
256257
}
257258
builder.endArray();
@@ -271,8 +272,16 @@ private class StatusHandler extends StatusAdapter {
271272
builder.endObject();
272273
}
273274

274-
if (status.getHashtags() != null) {
275-
builder.array("hashtag", status.getHashtags());
275+
if (status.getHashtagEntities() != null) {
276+
builder.startArray("hashtag");
277+
for (HashtagEntity hashtag : status.getHashtagEntities()) {
278+
builder.startObject();
279+
builder.field("text", hashtag.getText());
280+
builder.field("start", hashtag.getStart());
281+
builder.field("end", hashtag.getEnd());
282+
builder.endObject();
283+
}
284+
builder.endArray();
276285
}
277286
if (status.getContributors() != null) {
278287
builder.array("contributor", status.getContributors());
@@ -295,11 +304,21 @@ private class StatusHandler extends StatusAdapter {
295304
builder.field("url", status.getPlace().getURL());
296305
builder.endObject();
297306
}
298-
if (status.getURLs() != null) {
307+
if (status.getURLEntities() != null) {
299308
builder.startArray("link");
300-
for (URL url : status.getURLs()) {
309+
for (URLEntity url : status.getURLEntities()) {
301310
if (url != null) {
302-
builder.value(url.toExternalForm());
311+
builder.startObject();
312+
builder.field("url", url.getURL().toExternalForm());
313+
if (url.getDisplayURL() != null) {
314+
builder.field("display_url", url.getDisplayURL());
315+
}
316+
if (url.getExpandedURL() != null) {
317+
builder.field("expand_url", url.getExpandedURL());
318+
}
319+
builder.field("start", url.getStart());
320+
builder.field("end", url.getEnd());
321+
builder.endObject();
303322
}
304323
}
305324
builder.endArray();

0 commit comments

Comments
 (0)