package com.appengine.dockstats; //~--- non-JDK imports -------------------------------------------------------- import com.appengine.dockstats.entities.DockStation; import com.google.appengine.api.memcache.MemcacheService; import com.google.appengine.api.memcache.MemcacheServiceFactory; //~--- JDK imports ------------------------------------------------------------ import java.util.Iterator; import java.util.Map; public class FeedTableData { private MemcacheService memcache; public FeedTableData() { memcache = MemcacheServiceFactory.getMemcacheService(); } /** * Get Dock Stats for all docks. * @return xmlFeed */ public String getTableData() { StringBuffer buffer = new StringBuffer(); buffer.append("{\"aaData\": ["); if (memcache.contains("cycleData")) { String time = (String) memcache.get("updateTime"); Map<Integer, DockStation> mp = (Map<Integer, DockStation>) memcache.get("cycleData"); Iterator it = mp.entrySet().iterator(); while (it.hasNext()) { Map.Entry pairs = (Map.Entry) it.next(); buffer.append("["); DockStation ds = (DockStation) pairs.getValue(); buffer.append("\""); buffer.append(ds.getId()); buffer.append("\""); buffer.append(Constants.COMMA); buffer.append("\""); buffer.append(ds.getName()); buffer.append("\""); buffer.append(Constants.COMMA); buffer.append("\""); buffer.append(ds.getNbBikeAvailable()); buffer.append("\""); buffer.append(Constants.COMMA); buffer.append("\""); buffer.append(ds.getNbEmptyDocks()); buffer.append("\""); buffer.append(Constants.COMMA); buffer.append("\""); buffer.append(time); buffer.append("\""); buffer.append("]"); if (it.hasNext()) { buffer.append(Constants.COMMA); } } } else { // Error } buffer.append("] }"); return buffer.toString(); } }