package com.appengine.dockstats.resource;
//~--- non-JDK imports --------------------------------------------------------
import com.appengine.dockstats.entities.DockStation;
import com.appengine.dockstats.factory.BikeFactory;
import com.google.appengine.api.memcache.MemcacheService;
import com.google.appengine.api.memcache.MemcacheServiceFactory;
import org.ho.yaml.YamlEncoder;
import org.restlet.resource.Get;
import org.restlet.resource.ServerResource;
//~--- JDK imports ------------------------------------------------------------
import java.io.IOException;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
public class TestGetParam extends ServerResource {
@Get
public String getDefault() throws IOException {
String temp = "YAML";
temp = BikeFactory.generateBikeData(BikeFactory.DataType.YAML).getData();
return temp;
}
/**
* String temp = "YAML";
MemcacheService memcache = MemcacheServiceFactory.getMemcacheService();
StringBufferOutputStream outputStream = new StringBufferOutputStream();
YamlEncoder enc = new YamlEncoder(outputStream);
Map<String, String> columnValues = null;
if (memcache.contains("cycleData")) {
// buffer.append("<updatedOn>" + memcache.get("updateTime") + "</updatedOn>");
Map<Integer, DockStation> mp = (Map<Integer, DockStation>) memcache.get("cycleData");
Iterator it = mp.entrySet().iterator();
String updateTime = (String) memcache.get("updateTime");
while (it.hasNext()) {
columnValues = new HashMap<String, String>();
Map.Entry pairs = (Map.Entry) it.next();
DockStation ds = (DockStation) pairs.getValue();
columnValues.put("ID", ds.getId() + "");
columnValues.put("Name", ds.getName() + "");
columnValues.put("Latitude", ds.getLatitude() + "");
columnValues.put("Longitude", ds.getLongitude() + "");
columnValues.put("BikesAvailable", ds.getNbBikeAvailable() + "");
columnValues.put("EmptySlots", ds.getNbEmptyDocks() + "");
columnValues.put("Installed", ds.isInstalled() + "");
columnValues.put("Locked", ds.isLocked() + "");
columnValues.put("Temporary", ds.isTemporary() + "");
columnValues.put("UpdateTime", updateTime);
enc.writeObject(columnValues);
}
} else {
columnValues = new HashMap<String, String>();
columnValues.put("Error", "Data Feed not available");
enc.writeObject(columnValues);
}
enc.close();
temp = outputStream.toString();
return temp;
*/
/*
* @Get("xml")
* public String getXML() throws IOException {
* String temp = "CSV";
*
*
* StringWriter strWriter = new StringWriter();
* char delimeter = ',';
* CsvWriter writer = new CsvWriter(strWriter, delimeter);
* MemcacheService memcache = MemcacheServiceFactory.getMemcacheService();
* String[] columnName = {
* "ID", "Name", "Latitude", "Longitude", "BikesAvailable", "EmptySlots", "Installed", "Locked", "Temporary",
* "UpdateTime"
* };
*
* writer.writeRecord(columnName);
*
* if (memcache.contains("cycleData")) {
*
* // buffer.append("<updatedOn>" + memcache.get("updateTime") + "</updatedOn>");
* Map<Integer, DockStation> mp = (Map<Integer, DockStation>) memcache.get("cycleData");
* Iterator it = mp.entrySet().iterator();
* String updateTime = (String) memcache.get("updateTime");
* List<String> columnValues = null;
*
* // writer.writeRecord(columns);
* while (it.hasNext()) {
* columnValues = new ArrayList<String>();
*
* Map.Entry pairs = (Map.Entry) it.next();
* DockStation ds = (DockStation) pairs.getValue();
*
* columnValues.add(ds.getId() + "");
* columnValues.add(ds.getName() + "");
* columnValues.add(ds.getLatitude() + "");
* columnValues.add(ds.getLongitude() + "");
* columnValues.add(ds.getNbBikeAvailable() + "");
* columnValues.add(ds.getNbEmptyDocks() + "");
* columnValues.add(ds.isInstalled() + "");
* columnValues.add(ds.isLocked() + "");
* columnValues.add(ds.isTemporary() + "");
* columnValues.add(updateTime);
*
* String str[] = (String[]) columnValues.toArray(new String[columnValues.size()]);
*
* writer.writeRecord(str);
* }
* } else {
*
* // buffer.append("<error>Data Feed not available</error>");
* }
*
* temp = strWriter.toString();
*
* return temp;
* }
*/
}