腾讯 iweibo Java API 1.2.1 bug 修正一处

发现一腾讯 iweibo Java API Bug,Bug 发生于 iweibo API 函数处在 EJB 内,而在非 EJB(如web应用本身、客户端程序等非远程调用),应该是相同的引用在进行比较,则没有引发错误。

BasicAPI.java 文件内比较字符串必须使用String.equals() 函数,而该文件内对字符串比较却使用"=="符号,作为对象而言,这更类似于地址比较,而不是内容比较,故做修改,具体如下:

 

涉及文件

com.tencent.weibo.api.BasicAPI.java

 

受影响的函数

public BasicAPI(String OAuthVersion);

public BasicAPI(String OAuthVersion, QHttpClient qHttpClient);

 

原实现代码,字符串比较采用“==”符号:

  public BasicAPI(String OAuthVersion){
    if (OAuthVersion == OAuthConstants.OAUTH_VERSION_1 ) {
      requestAPI = new OAuthV1Request();
      apiBaseUrl=APIConstants.API_V1_BASE_URL;
    }else if(OAuthVersion == OAuthConstants.OAUTH_VERSION_2_A){
      requestAPI = new OAuthV2Request();
      apiBaseUrl=APIConstants.API_V2_BASE_URL;
    }
  }
    
  public BasicAPI(String OAuthVersion, QHttpClient qHttpClient){
    if (OAuthVersion == OAuthConstants.OAUTH_VERSION_1  ) {
      requestAPI = new OAuthV1Request(qHttpClient);
      apiBaseUrl=APIConstants.API_V1_BASE_URL;
    }else if(OAuthVersion == OAuthConstants.OAUTH_VERSION_2_A){
      requestAPI = new OAuthV2Request(qHttpClient);
      apiBaseUrl=APIConstants.API_V2_BASE_URL;
    }
  }


 更改后的实现代码,由“==”符号更改为 equals() 函数对字符串进行比较: 

  public BasicAPI(String OAuthVersion){
    if (OAuthVersion.equals(OAuthConstants.OAUTH_VERSION_1) == true){
      requestAPI = new OAuthV1Request();
      apiBaseUrl = APIConstants.API_V1_BASE_URL;
    }
    else if (OAuthVersion.equals(OAuthConstants.OAUTH_VERSION_2_A) == true){
      requestAPI = new OAuthV2Request();
      apiBaseUrl = APIConstants.API_V2_BASE_URL;
    }
  }

  public BasicAPI(String OAuthVersion, QHttpClient qHttpClient){
    if (OAuthVersion.equals(OAuthConstants.OAUTH_VERSION_1) == true){
      requestAPI = new OAuthV1Request(qHttpClient);
      apiBaseUrl = APIConstants.API_V1_BASE_URL;
    }
    else if (OAuthVersion.equals(OAuthConstants.OAUTH_VERSION_2_A) == true){
      requestAPI = new OAuthV2Request(qHttpClient);
      apiBaseUrl = APIConstants.API_V2_BASE_URL;
    }
  }

 

修改完毕后重新编译和打包,发布EJB,Web应用调用正常,Bug处理完毕。

 

Q群讨论:236201801

.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值