Skip to content

Commit

Permalink
TFJ-225 the domain has moved from http://yusuke.homeip.net/twitter4j/
Browse files Browse the repository at this point in the history
…to http://twitter.org/

artifactId has been changed from twitter4j to twitter4j-core.

TFJ-231 deprecated public constructors of Twitter, AsyncTwitter and TwitterStream

git-svn-id: http://yusuke.homeip.net/svn/twitter4j/trunk@511 117b7e0d-5933-0410-9d29-ab41bb01d86b
  • Loading branch information
yusuke committed Jan 22, 2010
1 parent f99a818 commit e2f6c0a
Show file tree
Hide file tree
Showing 28 changed files with 143 additions and 76 deletions.
2 changes: 1 addition & 1 deletion pom.xml
Expand Up @@ -3,7 +3,7 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>net.homeip.yusuke</groupId>
<artifactId>twitter4j</artifactId>
<artifactId>twitter4j-core</artifactId>
<packaging>jar</packaging>
<name>twitter4j</name>
<version>2.1.0-SNAPSHOT</version>
Expand Down
10 changes: 6 additions & 4 deletions src/main/java/twitter4j/AsyncTwitter.java
Expand Up @@ -59,7 +59,7 @@
* @see twitter4j.TwitterListener
* @author Yusuke Yamamoto - yusuke at mac.com
*/
public class AsyncTwitter extends OAuthSupportTwitter implements java.io.Serializable,
public class AsyncTwitter extends TwitterOAuthSupportBase implements java.io.Serializable,
SearchMethodsAsync,
TimelineMethodsAsync,
StatusMethodsAsync,
Expand All @@ -83,13 +83,15 @@ public class AsyncTwitter extends OAuthSupportTwitter implements java.io.Seriali
private TwitterListener listener;

/**
* @param screenName
* @param password
* Creates a basic authenticated AsyncTwitter instance.
* @param screenName screen name
* @param password password
* @deprecated use new AsyncTwitterFactory.getBasicAuthorizedInstance() instead.
*/
public AsyncTwitter(String screenName, String password) {
public AsyncTwitter(String screenName, String password, TwitterListener listener) {
super(ConfigurationContext.getInstance(), screenName, password);
twitter = new TwitterFactory().getInstance(auth);
this.listener = listener;
}

/*package*/
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/twitter4j/AsyncTwitterFactory.java
Expand Up @@ -36,7 +36,7 @@
* @author Yusuke Yamamoto - yusuke at mac.com
* @since Twitter4J 2.1.0
*/
public final class AsyncTwitterFactory extends OAuthSupportTwitterFactoryBase<AsyncTwitter> implements java.io.Serializable {
public final class AsyncTwitterFactory extends TwitterFactoryOAuthSupportBase<AsyncTwitter> implements java.io.Serializable {
private TwitterListener listener;
private static final long serialVersionUID = -2565686715640816219L;

Expand Down
3 changes: 2 additions & 1 deletion src/main/java/twitter4j/StatusStream.java
Expand Up @@ -26,8 +26,9 @@
*/
package twitter4j;

import twitter4j.conf.Configuration;
import twitter4j.http.HttpResponse;
import twitter4j.ParseUtil;
import twitter4j.StatusJSONImpl;
import twitter4j.logging.Logger;
import twitter4j.org.json.JSONException;
import twitter4j.org.json.JSONObject;
Expand Down
3 changes: 3 additions & 0 deletions src/main/java/twitter4j/TweetJSONImpl.java
Expand Up @@ -26,6 +26,9 @@
*/
package twitter4j;

import twitter4j.GeoLocation;
import twitter4j.Tweet;
import twitter4j.TwitterException;
import twitter4j.org.json.JSONException;
import twitter4j.org.json.JSONObject;

Expand Down
3 changes: 2 additions & 1 deletion src/main/java/twitter4j/Twitter.java
Expand Up @@ -59,10 +59,11 @@

/**
* A java representation of the <a href="http://apiwiki.twitter.com/">Twitter API</a>
* <br>This class is thread safe and can be cached/re-used and used concurrently.
*
* @author Yusuke Yamamoto - yusuke at mac.com
*/
public class Twitter extends OAuthSupportTwitter
public class Twitter extends TwitterOAuthSupportBase
implements java.io.Serializable,
SearchMethods,
TimelineMethods,
Expand Down
Expand Up @@ -27,29 +27,30 @@
package twitter4j;

import twitter4j.conf.Configuration;
import twitter4j.conf.ConfigurationContext;
import twitter4j.http.Authorization;
import twitter4j.http.BasicAuthorization;
import twitter4j.http.NullAuthorization;

/**
* Base class of Twitter / AsyncTwitter / TwitterStream supports Basic Authorization.
* @author Yusuke Yamamoto - yusuke at mac.com
*/
abstract class TwitterSupport implements java.io.Serializable {
abstract class TwitterBase implements java.io.Serializable {
protected final Configuration conf;

protected Authorization auth;
private static final long serialVersionUID = -3812176145960812140L;

/*package*/ TwitterSupport(Configuration conf){
/*package*/ TwitterBase(Configuration conf){
this.conf = conf;
initBasicAuthorization(conf.getUser(), conf.getPassword());
}

/*package*/ TwitterSupport(Configuration conf, String userId, String password){
/*package*/ TwitterBase(Configuration conf, String userId, String password){
this.conf = conf;
initBasicAuthorization(userId, password);
}

private void initBasicAuthorization(String screenName, String password){
if (null != screenName && null != password) {
auth = new BasicAuthorization(screenName, password);
Expand All @@ -59,7 +60,7 @@ private void initBasicAuthorization(String screenName, String password){
}
}

/*package*/ TwitterSupport(Configuration conf, Authorization auth) {
/*package*/ TwitterBase(Configuration conf, Authorization auth) {
this.conf = conf;
this.auth = auth;
}
Expand Down Expand Up @@ -105,9 +106,9 @@ public Authorization getAuthorization(){
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (!(o instanceof TwitterSupport)) return false;
if (!(o instanceof TwitterBase)) return false;

TwitterSupport that = (TwitterSupport) o;
TwitterBase that = (TwitterBase) o;

if (!auth.equals(that.auth)) return false;

Expand Down
6 changes: 3 additions & 3 deletions src/main/java/twitter4j/TwitterFactory.java
Expand Up @@ -30,13 +30,13 @@
import twitter4j.http.Authorization;

/**
* A factory class for Twitter.<br>
* An instance of this class is completely thread safe and can be re-used and used concurrently.
* A factory class for Twitter.
* <br>An instance of this class is completely thread safe and can be re-used and used concurrently.
*
* @author Yusuke Yamamoto - yusuke at mac.com
* @since Twitter4J 2.1.0
*/
public final class TwitterFactory extends OAuthSupportTwitterFactoryBase<Twitter> implements java.io.Serializable {
public final class TwitterFactory extends TwitterFactoryOAuthSupportBase<Twitter> implements java.io.Serializable {
private static final long serialVersionUID = 5193900138477709155L;

/**
Expand Down
9 changes: 8 additions & 1 deletion src/main/java/twitter4j/TwitterFactoryBase.java
Expand Up @@ -73,7 +73,14 @@ public T getInstance(Authorization auth) {
return getInstance(conf, auth);
}

public T getBasicAuthorizedInstance(String screenName, String password) {
/**
* Returns a Basic Authenticated instance.
*
* @param screenName screen name
* @param password password
* @return an instance
*/
public T getInstance(String screenName, String password) {
return getInstance(new BasicAuthorization(screenName, password));
}

Expand Down
Expand Up @@ -33,34 +33,42 @@
import twitter4j.http.OAuthAuthorization;

/**
* A FactoryBase class which supports both Basic Authorization and OAuth
* A FactoryBase class supports both Basic Authorization and OAuth authorization
* @author Yusuke Yamamoto - yusuke at mac.com
*/
abstract class OAuthSupportTwitterFactoryBase<T> extends TwitterFactoryBase<T> {
abstract class TwitterFactoryOAuthSupportBase<T> extends TwitterFactoryBase<T> {
/**
* Creates a Factory
*/
protected OAuthSupportTwitterFactoryBase() {
protected TwitterFactoryOAuthSupportBase() {
super();
}

/**
* Creates a Factory with a specified config tree path.
* @param configTreePath the path
*/
protected OAuthSupportTwitterFactoryBase(String configTreePath) {
protected TwitterFactoryOAuthSupportBase(String configTreePath) {
super(configTreePath);
}

protected abstract T getInstance(Configuration conf, Authorization auth);

/**
* Creates a Factory with a specified config tree path.
* @param conf the configuration
*/
protected OAuthSupportTwitterFactoryBase(Configuration conf) {
protected TwitterFactoryOAuthSupportBase(Configuration conf) {
super(conf);
}

/**
* Returns a OAuth Authenticated instance.
*
* @param consumerKey consumer key
* @param consumerSecret consumer secret
* @return an instance
*/
public T getOAuthAuthorizedInstance(String consumerKey, String consumerSecret) {
if (null == consumerKey && null == consumerSecret) {
throw new IllegalStateException("Consumer key and Consumer secret not supplied.");
Expand All @@ -69,6 +77,14 @@ public T getOAuthAuthorizedInstance(String consumerKey, String consumerSecret) {
return getOAuthSupportInstance(oauth);
}

/**
* Returns a OAuth Authenticated instance.
*
* @param consumerKey consumer key
* @param consumerSecret consumer secret
* @param accessToken access token
* @return an instance
*/
public T getOAuthAuthorizedInstance(String consumerKey, String consumerSecret, AccessToken accessToken) {
if (null == consumerKey && null == consumerSecret) {
throw new IllegalStateException("Consumer key and Consumer secret not supplied.");
Expand All @@ -78,6 +94,13 @@ public T getOAuthAuthorizedInstance(String consumerKey, String consumerSecret, A
return getOAuthSupportInstance(oauth);
}

/**
* Returns a OAuth Authenticated instance.<br>
* consumer key and consumer Secret must be provided by twitter4j.properties, or system properties.
*
* @param accessToken access token
* @return an instance
*/
public T getOAuthAuthorizedInstance(AccessToken accessToken) {
String consumerKey = conf.getOAuthConsumerKey();
String consumerSecret = conf.getOAuthConsumerSecret();
Expand All @@ -93,5 +116,4 @@ public T getOAuthAuthorizedInstance(AccessToken accessToken) {
public T getOAuthSupportInstance(Authorization auth) {
return getInstance(conf, auth);
}

}
@@ -1,30 +1,29 @@
package twitter4j;

import twitter4j.conf.Configuration;
import twitter4j.conf.ConfigurationContext;
import twitter4j.http.*;

import java.io.IOException;
import java.io.ObjectInputStream;
import java.util.ArrayList;
import java.util.List;

class OAuthSupportTwitter extends TwitterSupport implements HttpResponseListener, OAuthSupport, java.io.Serializable {
class TwitterOAuthSupportBase extends TwitterBase implements HttpResponseListener, OAuthSupport, java.io.Serializable {
protected transient HttpClientWrapper http;

protected List<RateLimitStatusListener> rateLimitStatusListeners = new ArrayList<RateLimitStatusListener>();
private static final long serialVersionUID = 6960663978976449394L;

OAuthSupportTwitter(Configuration conf) {
TwitterOAuthSupportBase(Configuration conf) {
super(conf); // this will populate BasicAuthorization from the configuration
init();
}

OAuthSupportTwitter(Configuration conf, String screenName, String password) {
TwitterOAuthSupportBase(Configuration conf, String screenName, String password) {
super(conf, screenName, password);
init();
}
/*package*/ OAuthSupportTwitter(Configuration conf, Authorization auth) {
/*package*/ TwitterOAuthSupportBase(Configuration conf, Authorization auth) {
super(conf, auth);
init();
}
Expand Down Expand Up @@ -207,10 +206,10 @@ public void addRateLimitStatusListener(RateLimitStatusListener listener){
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (!(o instanceof OAuthSupportTwitter)) return false;
if (!(o instanceof TwitterOAuthSupportBase)) return false;
if (!super.equals(o)) return false;

OAuthSupportTwitter that = (OAuthSupportTwitter) o;
TwitterOAuthSupportBase that = (TwitterOAuthSupportBase) o;

if (!rateLimitStatusListeners.equals(that.rateLimitStatusListeners))
return false;
Expand Down
29 changes: 18 additions & 11 deletions src/main/java/twitter4j/TwitterStream.java
Expand Up @@ -45,7 +45,7 @@
* @author Yusuke Yamamoto - yusuke at mac.com
* @since Twitter4J 2.0.4
*/
public class TwitterStream extends TwitterSupport implements java.io.Serializable {
public class TwitterStream extends TwitterBase implements java.io.Serializable {
private final HttpClientWrapper http;
private static final Logger logger = Logger.getLogger();

Expand All @@ -68,25 +68,36 @@ public TwitterStream() {
/**
* Constructs a TwitterStream instance. UserID and password should be provided by either twitter4j.properties or system property.
* since Twitter4J 2.0.10
* @deprecated use new TwitterStreamFactory.getBasicAuthorizedInstance() instead.
* @param screenName screen name
* @param password password
* @deprecated use new TwitterStreamFactory.getInstance() instead.
*/
public TwitterStream(String userId, String password) {
super(ConfigurationContext.getInstance(), userId, password);
public TwitterStream(String screenName, String password) {
super(ConfigurationContext.getInstance(), screenName, password);
http = new HttpClientWrapper(new StreamingReadTimeoutConfiguration(conf));
ensureBasicEnabled();
}

public TwitterStream(String userId, String password, StatusListener listener) {
super(ConfigurationContext.getInstance(), userId, password);
/**
* Constructs a TwitterStream instance. UserID and password should be provided by either twitter4j.properties or system property.
* since Twitter4J 2.0.10
* @param screenName screen name
* @param password password
* @param listener listener
* @deprecated use new TwitterStreamFactory.getInstance() instead.
*/
public TwitterStream(String screenName, String password, StatusListener listener) {
super(ConfigurationContext.getInstance(), screenName, password);
this.statusListener = listener;
http = new HttpClientWrapper(new StreamingReadTimeoutConfiguration(conf));
ensureBasicEnabled();
}

/*package*/
TwitterStream(Configuration conf, Authorization auth) {
TwitterStream(Configuration conf, Authorization auth, StatusListener listener) {
super(conf, auth);
http = new HttpClientWrapper(new StreamingReadTimeoutConfiguration(conf));
this.statusListener = listener;
ensureBasicEnabled();
}

Expand Down Expand Up @@ -297,10 +308,6 @@ public StatusListener getStatusListener() {
return statusListener;
}

public void setStatusListener(StatusListener statusListener) {
this.statusListener = statusListener;
}

abstract class StreamHandlingThread extends Thread {
StatusStream stream = null;
Object[] args;
Expand Down

0 comments on commit e2f6c0a

Please sign in to comment.