package net.lr.tutorial.karaf.vote.adapter;
import net.lr.tutorial.karaf.vote.model.Vote;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import twitter4j.DirectMessage;
import twitter4j.Status;
public class TwitterConverter {
Logger LOG = LoggerFactory.getLogger(TwitterConverter.class);
public Vote convert(DirectMessage message) {
try {
String text = message.getText();
String[] parts = text.split(" ");
String topic = parts[0];
int voteNum = Integer.parseInt(parts[1]);
String fromUser = message.getSender().getName();
return new Vote(topic, voteNum, fromUser, message.getCreatedAt());
} catch (Throwable e) {
LOG.info("Invalid tweet " + message.getText() + ": " + e.getMessage());
return null;
}
}
public Vote convert(Status tweet) {
try {
String text = tweet.getText();
String[] parts = text.split(" ");
String topic = parts[1];
int voteNum = Integer.parseInt(parts[2]);
String fromUser = tweet.getSource();
return new Vote(topic, voteNum, fromUser, tweet.getCreatedAt());
} catch (Throwable e) {
LOG.info("Invalid tweet " + tweet.getText() + ": " + e.getMessage());
return null;
}
}
}