/** * */ package com.trendrr.oss.strest.models.json; import java.io.InputStream; import java.io.OutputStream; import java.io.UnsupportedEncodingException; import java.util.Map; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import com.trendrr.oss.DynMap; import com.trendrr.oss.strest.models.ShardRequest; import com.trendrr.oss.strest.models.StrestHeader; import com.trendrr.oss.strest.models.StrestRequest; import com.trendrr.oss.strest.models.StrestHeader.Method; import com.trendrr.oss.strest.models.StrestHeader.Name; import com.trendrr.oss.strest.models.StrestHeader.TxnAccept; /** * @author Dustin Norlander * @created Apr 26, 2012 * */ public class StrestJsonRequest extends StrestJsonBase implements StrestRequest { private ShardRequest shard = null; /** * @param map */ public StrestJsonRequest(DynMap map) { super(map); this.setProtocol(StrestHeader.STREST_PROTOCOL, StrestHeader.STREST_VERSION); } public StrestJsonRequest() { super(); this.setProtocol(StrestHeader.STREST_PROTOCOL, StrestHeader.STREST_VERSION); } protected static Log log = LogFactory.getLog(StrestJsonRequest.class); /* (non-Javadoc) * @see com.trendrr.strest.server.v2.StrestRequest#setMethod(com.trendrr.strest.server.v2.StrestHeader.Method) */ @Override public void setMethod(Method method) { this.map.putWithDot("strest.method", method.toString()); } /* (non-Javadoc) * @see com.trendrr.strest.server.v2.StrestRequest#getMethod() */ @Override public Method getMethod() { return StrestHeader.Method.instance(this.map.getString("strest.method")); } /* (non-Javadoc) * @see com.trendrr.strest.server.v2.StrestRequest#setUri(java.lang.String) */ @Override public void setUri(String uri) { this.map.putWithDot("strest.uri", uri); } /* (non-Javadoc) * @see com.trendrr.strest.server.v2.StrestRequest#getUri() */ @Override public String getUri() { return this.map.getString("strest.uri"); } /* (non-Javadoc) * @see com.trendrr.strest.server.v2.StrestRequest#setTxnAccept(com.trendrr.strest.server.v2.StrestHeader.TxnAccept) */ @Override public void setTxnAccept(TxnAccept accept) { this.addHeader(Name.TXN_ACCEPT, accept.getJson()); } /* (non-Javadoc) * @see com.trendrr.strest.server.v2.StrestRequest#getTxnAccept() */ @Override public TxnAccept getTxnAccept() { TxnAccept accept = TxnAccept.instance(this.getHeader(Name.TXN_ACCEPT)); if (accept == null) return TxnAccept.SINGLE; return accept; } /* (non-Javadoc) * @see com.trendrr.strest.server.v2.StrestRequest#setParams(com.trendrr.oss.DynMap) */ @Override public void setParams(DynMap params) { this.map.putWithDot("strest.params", params); } /* (non-Javadoc) * @see com.trendrr.strest.server.v2.StrestRequest#getParams() */ @Override public DynMap getParams() { return this.map.getMap("strest.params"); } /* (non-Javadoc) * @see com.trendrr.strest.server.v2.models.StrestPacketBase#cleanup() */ @Override public void cleanup() { super.cleanup(); } // /* (non-Javadoc) // * @see com.trendrr.oss.strest.models.StrestPacketBase#toMap() // */ // @Override // public Map<String, Object> toMap() { // return this.map; // } /* (non-Javadoc) * @see com.trendrr.oss.strest.models.StrestRequest#setShardRequest(com.trendrr.oss.strest.models.ShardRequest) */ @Override public void setShardRequest(ShardRequest shard) { this.shard = shard; this.map.putWithDot("strest.shard.partition", shard.getPartition()); this.map.putWithDot("strest.shard.key", shard.getKey()); this.map.putWithDot("strest.shard.revision", shard.getRevision()); } /* (non-Javadoc) * @see com.trendrr.oss.strest.models.StrestRequest#getShardRequest() */ @Override public ShardRequest getShardRequest() { return this.shard; } }