Java tutorial
/* * Copyright (c) <2011> <Marco Tarasconi> * * Permission is hereby granted, free of charge, to any person * obtaining a copy of this software and associated documentation * files (the "Software"), to deal in the Software without * restriction, including without limitation the rights to use, * copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the * Software is furnished to do so, subject to the following * conditions: * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR * OTHER DEALINGS IN THE SOFTWARE. * */ package it.unipr.aotlab.TwitterMiner.twitter.client; import java.io.FileNotFoundException; import it.unipr.aotlab.TwitterMiner.database.RedisBackend; import twitter4j.FilterQuery; import twitter4j.TwitterException; import twitter4j.TwitterStream; import twitter4j.TwitterStreamFactory; /** * This class connects to Twitter and gets a stream of tweets about some chosen * topics * * @author Marco Tarasconi */ public class TwitterMain { private static TwitterStreamListener listener = null; private static RedisBackend redisDB = null; /** * The args[] are used to filter twitter stream (example: * "#twitter #facebook #social #redis"). If no filter is specified, the * default "#twitter" filter is used * * @param args * @throws FileNotFoundException * @throws TwitterException */ public static void main(String[] args) throws FileNotFoundException { redisDB = new RedisBackend(); listener = new TwitterStreamListener(redisDB); /** Number of old tweets to catch before starting to listen live stream */ int count = 0; TwitterStream twitterStream = new TwitterStreamFactory().getInstance(); twitterStream.addListener(listener); FilterQuery filterQuery = new FilterQuery(); filterQuery.count(count); if (args.length == 0) { args = new String[1]; args[0] = "#twitter"; } filterQuery.track(args); twitterStream.filter(filterQuery); } }