Example #1
0
  public void onConfigure(DashboardRepository repository) {
    for (Entry<Key, Map<String, ?>> settingsEntry :
        getSettings().getServiceSettings(TwitterService.class).entrySet()) {
      Key key = settingsEntry.getKey();

      TwitterSettings settings = new TwitterSettings(settingsEntry.getValue());

      String oAuthConsumerKey = settings.getApplicationKey().getKey();
      String oAuthConsumerSecret = settings.getApplicationKey().getSecret();

      List<Twitter> keyTwitters = new ArrayList<Twitter>();
      for (Entry<String, OAuthKey> tokenEntry : settings.getTokens().entrySet()) {

        OAuthKey token = tokenEntry.getValue();

        ConfigurationBuilder builder = new ConfigurationBuilder();
        builder.setOAuthConsumerKey(oAuthConsumerKey);
        builder.setOAuthConsumerSecret(oAuthConsumerSecret);
        builder.setOAuthAccessToken(token.getKey());
        builder.setOAuthAccessTokenSecret(token.getSecret());
        Configuration conf = builder.build();

        Authorization authorization = AuthorizationFactory.getInstance(conf);
        Twitter twitter = new TwitterFactory().getInstance(authorization);
        keyTwitters.add(twitter);
      }
      twitters.put(key, keyTwitters);
      mentions.put(key, new TreeSet<Status>());
      timeline.put(key, new TreeSet<Status>());
      repository.addDataSource(key, TwitterTimeline.class, new TwitterTimelineImpl(key, this));
      repository.addDataSource(key, TwitterMentions.class, new TwitterMentionsImpl(key, this));
    }
  }