--- android/MarketStats/src/dk/thoerup/marketstats/ShowStats.java 2010/04/23 13:40:35 661
+++ android/MarketStats/src/dk/thoerup/marketstats/ShowStats.java 2010/04/23 14:13:39 662
@@ -3,9 +3,10 @@
import java.io.IOException;
import java.io.PrintWriter;
import java.net.InetSocketAddress;
+import java.util.ArrayList;
+import java.util.Collections;
import java.util.Date;
import java.util.Formatter;
-import java.util.List;
import java.util.Locale;
import java.util.logging.Logger;
@@ -21,22 +22,18 @@
import com.gc.android.market.api.model.Market.App;
import com.gc.android.market.api.model.Market.AppsRequest;
import com.gc.android.market.api.model.Market.AppsResponse;
-import com.gc.android.market.api.model.Market.Comment;
import com.gc.android.market.api.model.Market.CommentsRequest;
-import com.gc.android.market.api.model.Market.CommentsResponse;
import com.gc.android.market.api.model.Market.ResponseContext;
public class ShowStats extends HttpServlet {
private static final long serialVersionUID = 1L;
- final int TIMEOUT = 15*60;
+ final int TIMEOUT = 30*60;
static final Logger log = Logger.getLogger(ShowStats.class.getName());
String login;
String password;
-
-
@Override
@@ -49,7 +46,7 @@
protected String doLookup(String appId) throws IOException {
MemcachedClient c = new MemcachedClient(new InetSocketAddress("localhost", 11211));
-
+
String key = "marketstats:" + appId;
String response = (String) c.get(key);
@@ -71,7 +68,7 @@
MarketSession session = new MarketSession();
session.login(login,password);
- session.setLocale( Locale.ENGLISH );
+
AppsRequest appsRequest = AppsRequest.newBuilder()
.setAppId(appId)
@@ -84,7 +81,7 @@
.setStartIndex(0)
.setEntriesCount(10)
.build();
-
+
@@ -97,7 +94,7 @@
Formatter form = new Formatter(sb);
App app = response.getApp(0);
sb.append( "
" + app.getTitle() + "
");
- sb.append("Ver: " + app.getVersion() + "(" + app.getVersionCode() + ")\n" );
+ sb.append("Ver: " + app.getVersion() + " (" + app.getVersionCode() + ")\n" );
sb.append("Ratingcount: " + app.getRatingsCount() + "\n");
sb.append("Rating: " );
@@ -105,53 +102,49 @@
form.format("%.4f", rating);
sb.append("\n");
- sb.append("Downloads: " + app.getExtendedInfo().getDownloadsCountText() + "(" + app.getExtendedInfo().getDownloadsCount() + ")\n" );
+ sb.append("Downloads: " + app.getExtendedInfo().getDownloadsCountText() + " (" + app.getExtendedInfo().getDownloadsCount() + ")\n" );
sb.append("\n");
}
};
- Callback commentsCb = new Callback() {
-
- @Override
- public void onResult(ResponseContext context, CommentsResponse response) {
- //System.out.println("Response : " + response);
- //sb.append("Response: " + response + "\n");
- sb.append("--------------------------------------------------------------\n");
- sb.append("Total comments: " + response.getEntriesCount() +"\n\n");
-
-
- List cl = response.getCommentsList();
- for (Comment c : cl) {
- sb.append("User: " + c.getAuthorName() + "\n");
- sb.append("Rating: " + c.getRating() + "\n");
- sb.append("Time: " + new Date(c.getCreationTime()).toString() + "\n");
- sb.append( c.getText() + "\n");
- sb.append("\n");
- sb.append(c.getUnknownFields().toString() );
-
- }
- sb.append( response.getUnknownFields().toString() );
-
+ ArrayList commentBeans = new ArrayList();
+ CommentCallback commentsCb = new CommentCallback();
+ commentsCb.setList( commentBeans );
- }
+ commentsCb.setLocale("en");
+ session.setLocale( Locale.ENGLISH );
- };
session.append(appsRequest, appsCb);
session.append(commentsRequest, commentsCb);
session.flush();
+
+ commentsCb.setLocale( "da" );
session.setLocale( new Locale("da") );
session.append(commentsRequest, commentsCb);
session.flush();
+ Collections.sort(commentBeans);
+
+ sb.append("-----------------------------------------------------------------\n");
+ for (CommentBean c : commentBeans) {
+ sb.append("User: " + c.author + " (" + c.locale + ")\n");
+ sb.append("Rating: " + c.rating + "\n");
+ sb.append("Time: " + new Date(c.time).toString() + "\n");
+ sb.append( c.text + "\n");
+ sb.append("\n");
+
+ }
+
+
return sb.toString();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String appId = request.getParameter("appId");
-
+
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.print( "" + doLookup(appId) + "
" );