/** * */ package com.trendrr.oss.strest.models; import java.io.ByteArrayInputStream; import java.io.InputStream; import java.io.OutputStream; 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.StrestHeader.ContentEncoding; 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 Jul 29, 2013 * */ public class DefaultStrestRequest implements StrestRequest { protected static Log log = LogFactory.getLog(DefaultStrestRequest.class); protected float protocolVersion = StrestHeader.STREST_VERSION; protected String protocolName = StrestHeader.STREST_PROTOCOL; protected String txnId; protected ShardRequest shard; protected Method method; protected String uri; protected TxnAccept accept = TxnAccept.SINGLE; protected DynMap params = new DynMap(); protected InputStream content; protected int contentLength = 0; protected StrestHeader.ContentEncoding contentEncoding = StrestHeader.ContentEncoding.STRING; /* (non-Javadoc) * @see com.trendrr.oss.strest.models.StrestPacketBase#setProtocol(java.lang.String, float) */ @Override public void setProtocol(String protocolName, float version) { this.protocolVersion = version; this.protocolName = protocolName; } /* (non-Javadoc) * @see com.trendrr.oss.strest.models.StrestPacketBase#getProtocolVersion() */ @Override public float getProtocolVersion() { return this.protocolVersion; } /* (non-Javadoc) * @see com.trendrr.oss.strest.models.StrestPacketBase#getProtocolName() */ @Override public String getProtocolName() { return this.protocolName; } /* (non-Javadoc) * @see com.trendrr.oss.strest.models.StrestPacketBase#setTxnId(java.lang.String) */ @Override public void setTxnId(String id) { this.txnId = id; } /* (non-Javadoc) * @see com.trendrr.oss.strest.models.StrestPacketBase#getTxnId() */ @Override public String getTxnId() { return this.txnId; } /* (non-Javadoc) * @see com.trendrr.oss.strest.models.StrestPacketBase#cleanup() */ @Override public void cleanup() { // TODO Auto-generated method stub } /* (non-Javadoc) * @see com.trendrr.oss.strest.models.StrestPacketBase#toByteArray() */ @Override public byte[] toByteArray() { // TODO Auto-generated method stub return null; } /* (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; } /* (non-Javadoc) * @see com.trendrr.oss.strest.models.StrestRequest#getShardRequest() */ @Override public ShardRequest getShardRequest() { return this.shard; } /* (non-Javadoc) * @see com.trendrr.oss.strest.models.StrestRequest#setMethod(com.trendrr.oss.strest.models.StrestHeader.Method) */ @Override public void setMethod(Method method) { this.method = method; } /* (non-Javadoc) * @see com.trendrr.oss.strest.models.StrestRequest#getMethod() */ @Override public Method getMethod() { return this.method; } /* (non-Javadoc) * @see com.trendrr.oss.strest.models.StrestRequest#setUri(java.lang.String) */ @Override public void setUri(String uri) { this.uri = uri; } /* (non-Javadoc) * @see com.trendrr.oss.strest.models.StrestRequest#getUri() */ @Override public String getUri() { return this.uri; } /* (non-Javadoc) * @see com.trendrr.oss.strest.models.StrestRequest#setTxnAccept(com.trendrr.oss.strest.models.StrestHeader.TxnAccept) */ @Override public void setTxnAccept(TxnAccept accept) { this.accept = accept; } /* (non-Javadoc) * @see com.trendrr.oss.strest.models.StrestRequest#getTxnAccept() */ @Override public TxnAccept getTxnAccept() { return this.accept; } /* (non-Javadoc) * @see com.trendrr.oss.strest.models.StrestRequest#setParams(com.trendrr.oss.DynMap) */ @Override public void setParams(DynMap params) { this.params = params; } /* (non-Javadoc) * @see com.trendrr.oss.strest.models.StrestRequest#getParams() */ @Override public DynMap getParams() { return this.params; } /* (non-Javadoc) * @see com.trendrr.oss.strest.models.StrestPacketBase#setContent(java.lang.String, long, java.io.InputStream) */ @Override public void setContent(ContentEncoding contentEncoding, int contentLength, InputStream content) throws Exception { this.content = content; this.contentEncoding = contentEncoding; this.contentLength = contentLength; } public void setContent(String content) throws Exception { this.setContent(ContentEncoding.STRING, content.getBytes("utf8")); } public void setContent(ContentEncoding contentEncoding, byte[] content) throws Exception { this.content = new ByteArrayInputStream(content); this.contentEncoding = contentEncoding; this.contentLength = content.length; } /* (non-Javadoc) * @see com.trendrr.oss.strest.models.StrestPacketBase#getContent() */ @Override public InputStream getContent() { return this.content; } /* (non-Javadoc) * @see com.trendrr.oss.strest.models.StrestPacketBase#getContentEncoding() */ @Override public ContentEncoding getContentEncoding() { return this.contentEncoding; } /* (non-Javadoc) * @see com.trendrr.oss.strest.models.StrestPacketBase#getContentLength() */ @Override public int getContentLength() { return this.contentLength; } /* (non-Javadoc) * @see com.trendrr.oss.DynMapConvertable#toDynMap() */ @Override public DynMap toDynMap() { log.warn("ToDynMap in DefaultStrestRequest not implimented. todo"); return null; } }