package twitter4j.internal.json;
import java.io.Serializable;
import java.util.Arrays;
import java.util.Collections;
import java.util.Date;
import java.util.Iterator;
import twitter4j.Location;
import twitter4j.ResponseList;
import twitter4j.Trend;
import twitter4j.Trends;
import twitter4j.TwitterException;
import twitter4j.conf.Configuration;
import twitter4j.internal.http.HttpResponse;
import twitter4j.internal.org.json.JSONArray;
import twitter4j.internal.org.json.JSONException;
import twitter4j.internal.org.json.JSONObject;
final class TrendsJSONImpl
extends TwitterResponseImpl
implements Trends, Serializable
{
private static final long serialVersionUID = -7151479143843312309L;
private Date asOf;
private Location location;
private Date trendAt;
private Trend[] trends;
TrendsJSONImpl(String paramString)
throws TwitterException
{
this(paramString, false);
}
TrendsJSONImpl(String paramString, boolean paramBoolean)
throws TwitterException
{
init(paramString, paramBoolean);
}
TrendsJSONImpl(Date paramDate1, Location paramLocation, Date paramDate2, Trend[] paramArrayOfTrend)
{
this.asOf = paramDate1;
this.location = paramLocation;
this.trendAt = paramDate2;
this.trends = paramArrayOfTrend;
}
TrendsJSONImpl(HttpResponse paramHttpResponse, Configuration paramConfiguration)
throws TwitterException
{
super(paramHttpResponse);
init(paramHttpResponse.asString(), paramConfiguration.isJSONStoreEnabled());
if (paramConfiguration.isJSONStoreEnabled())
{
DataObjectFactoryUtil.clearThreadLocalMap();
DataObjectFactoryUtil.registerJSONObject(this, paramHttpResponse.asString());
}
}
static ResponseList<Trends> createTrendsList(HttpResponse paramHttpResponse, boolean paramBoolean)
throws TwitterException
{
JSONObject localJSONObject1 = paramHttpResponse.asJSONObject();
ResponseListImpl localResponseListImpl;
for (;;)
{
Date localDate;
Location localLocation;
String str;
Trend[] arrayOfTrend;
try
{
localDate = z_T4JInternalParseUtil.parseTrendsDate(localJSONObject1.getString("as_of"));
JSONObject localJSONObject2 = localJSONObject1.getJSONObject("trends");
localLocation = extractLocation(localJSONObject1, paramBoolean);
localResponseListImpl = new ResponseListImpl(localJSONObject2.length(), paramHttpResponse);
Iterator localIterator = localJSONObject2.keys();
if (!localIterator.hasNext()) {
break;
}
str = (String)localIterator.next();
arrayOfTrend = jsonArrayToTrendArray(localJSONObject2.getJSONArray(str), paramBoolean);
if (str.length() == 19)
{
localResponseListImpl.add(new TrendsJSONImpl(localDate, localLocation, z_T4JInternalParseUtil.getDate(str, "yyyy-MM-dd HH:mm:ss"), arrayOfTrend));
continue;
}
if (str.length() != 16) {
break label209;
}
}
catch (JSONException localJSONException)
{
throw new TwitterException(localJSONException.getMessage() + ":" + paramHttpResponse.asString(), localJSONException);
}
localResponseListImpl.add(new TrendsJSONImpl(localDate, localLocation, z_T4JInternalParseUtil.getDate(str, "yyyy-MM-dd HH:mm"), arrayOfTrend));
continue;
label209:
if (str.length() == 10) {
localResponseListImpl.add(new TrendsJSONImpl(localDate, localLocation, z_T4JInternalParseUtil.getDate(str, "yyyy-MM-dd"), arrayOfTrend));
}
}
Collections.sort(localResponseListImpl);
return localResponseListImpl;
}
private static Location extractLocation(JSONObject paramJSONObject, boolean paramBoolean)
throws TwitterException
{
if (paramJSONObject.isNull("locations")) {}
for (Location localLocation = null;; localLocation = null) {
for (;;)
{
return localLocation;
try
{
ResponseList localResponseList = LocationJSONImpl.createLocationList(paramJSONObject.getJSONArray("locations"), paramBoolean);
if (localResponseList.size() != 0) {
localLocation = (Location)localResponseList.get(0);
}
}
catch (JSONException localJSONException)
{
throw new AssertionError("locations can't be null");
}
}
}
}
private static Trend[] jsonArrayToTrendArray(JSONArray paramJSONArray, boolean paramBoolean)
throws JSONException
{
Trend[] arrayOfTrend = new Trend[paramJSONArray.length()];
for (int i = 0; i < paramJSONArray.length(); i++) {
arrayOfTrend[i] = new TrendJSONImpl(paramJSONArray.getJSONObject(i), paramBoolean);
}
return arrayOfTrend;
}
public int compareTo(Trends paramTrends)
{
return this.trendAt.compareTo(paramTrends.getTrendAt());
}
public boolean equals(Object paramObject)
{
boolean bool = true;
if (this == paramObject) {}
for (;;)
{
return bool;
if (!(paramObject instanceof Trends))
{
bool = false;
}
else
{
Trends localTrends = (Trends)paramObject;
if (this.asOf != null)
{
if (this.asOf.equals(localTrends.getAsOf())) {}
}
else {
while (localTrends.getAsOf() != null)
{
bool = false;
break;
}
}
if (this.trendAt != null)
{
if (this.trendAt.equals(localTrends.getTrendAt())) {}
}
else {
while (localTrends.getTrendAt() != null)
{
bool = false;
break;
}
}
if (!Arrays.equals(this.trends, localTrends.getTrends())) {
bool = false;
}
}
}
}
public Date getAsOf()
{
return this.asOf;
}
public Location getLocation()
{
return this.location;
}
public Date getTrendAt()
{
return this.trendAt;
}
public Trend[] getTrends()
{
return this.trends;
}
public int hashCode()
{
int i = 0;
int j;
int k;
if (this.asOf != null)
{
j = this.asOf.hashCode();
k = j * 31;
if (this.trendAt == null) {
break label72;
}
}
label72:
for (int m = this.trendAt.hashCode();; m = 0)
{
int n = 31 * (k + m);
if (this.trends != null) {
i = Arrays.hashCode(this.trends);
}
return n + i;
j = 0;
break;
}
}
void init(String paramString, boolean paramBoolean)
throws TwitterException
{
for (;;)
{
try
{
if (paramString.startsWith("["))
{
JSONArray localJSONArray1 = new JSONArray(paramString);
if (localJSONArray1.length() > 0)
{
localJSONObject = localJSONArray1.getJSONObject(0);
this.asOf = z_T4JInternalParseUtil.parseTrendsDate(localJSONObject.getString("as_of"));
this.location = extractLocation(localJSONObject, paramBoolean);
JSONArray localJSONArray2 = localJSONObject.getJSONArray("trends");
this.trendAt = this.asOf;
this.trends = jsonArrayToTrendArray(localJSONArray2, paramBoolean);
return;
}
throw new TwitterException("No trends found on the specified woeid");
}
}
catch (JSONException localJSONException)
{
throw new TwitterException(localJSONException.getMessage(), localJSONException);
}
JSONObject localJSONObject = new JSONObject(paramString);
}
}
public String toString()
{
StringBuilder localStringBuilder = new StringBuilder().append("TrendsJSONImpl{asOf=").append(this.asOf).append(", trendAt=").append(this.trendAt).append(", trends=");
if (this.trends == null) {}
for (Object localObject = null;; localObject = Arrays.asList(this.trends)) {
return localObject + '}';
}
}
}
/* Location: F:\neembuu\Research\android_apps\output_jar.jar
* Qualified Name: twitter4j.internal.json.TrendsJSONImpl
* JD-Core Version: 0.7.0.1
*/