com.vodafone360.people.service.utils.hessian
Class HessianDecoder

java.lang.Object
  extended by com.vodafone360.people.service.utils.hessian.HessianDecoder

public class HessianDecoder
extends java.lang.Object

Hessian decoding . TODO: Currently casting every response to a Map, losing for example push events "c0" which only contains a string. This may need a fix.


Field Summary
private static java.lang.String KEY_ACTIVITY_LIST
           
private static java.lang.String KEY_AVAILABLE_IDENTITY_LIST
           
private static java.lang.String KEY_CONTACT_ID_LIST
           
private static java.lang.String KEY_CONTACT_LIST
           
private static java.lang.String KEY_IDENTITY_LIST
           
private static java.lang.String KEY_SESSION
           
private static java.lang.String KEY_USER_PROFILE
           
private static java.lang.String KEY_USER_PROFILE_LIST
           
 
Constructor Summary
HessianDecoder()
           
 
Method Summary
 java.util.List<BaseDataType> decodeHessianByteArray(byte[] data, Request.Type type, boolean isZipped)
          Parse Hessian encoded byte array placing parsed contents into List.
 java.util.Hashtable<java.lang.String,java.lang.Object> decodeHessianByteArrayToHashtable(byte[] data)
           
private  java.util.List<BaseDataType> decodeResponse(java.io.InputStream is, Request.Type type)
          TODO: we cast every response to a Map, losing e.g. push event "c0" which only contains a string - to fix
private  void decodeResponseByRequestType(java.util.List<BaseDataType> clist, java.util.Hashtable<java.lang.String,java.lang.Object> hash, Request.Type type)
           
private  void getContacts(java.util.List<BaseDataType> clist, java.util.Vector<?> cont)
           
private  void parseExternalResponse(java.util.List<BaseDataType> clist, java.io.InputStream is, int tag)
           
private  void parsePushMessage(java.util.List<BaseDataType> list, java.util.Hashtable<java.lang.String,java.lang.Object> hash)
           
private  void parsePushPayload(RpgPushMessage msg, java.util.List<BaseDataType> list)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

KEY_ACTIVITY_LIST

private static final java.lang.String KEY_ACTIVITY_LIST
See Also:
Constant Field Values

KEY_AVAILABLE_IDENTITY_LIST

private static final java.lang.String KEY_AVAILABLE_IDENTITY_LIST
See Also:
Constant Field Values

KEY_CONTACT_ID_LIST

private static final java.lang.String KEY_CONTACT_ID_LIST
See Also:
Constant Field Values

KEY_CONTACT_LIST

private static final java.lang.String KEY_CONTACT_LIST
See Also:
Constant Field Values

KEY_IDENTITY_LIST

private static final java.lang.String KEY_IDENTITY_LIST
See Also:
Constant Field Values

KEY_SESSION

private static final java.lang.String KEY_SESSION
See Also:
Constant Field Values

KEY_USER_PROFILE

private static final java.lang.String KEY_USER_PROFILE
See Also:
Constant Field Values

KEY_USER_PROFILE_LIST

private static final java.lang.String KEY_USER_PROFILE_LIST
See Also:
Constant Field Values
Constructor Detail

HessianDecoder

public HessianDecoder()
Method Detail

decodeHessianByteArray

public java.util.List<BaseDataType> decodeHessianByteArray(byte[] data,
                                                           Request.Type type,
                                                           boolean isZipped)
                                                    throws java.io.IOException
Parse Hessian encoded byte array placing parsed contents into List.

Parameters:
data - byte array containing Hessian encoded data
type - Event type
Returns:
List of BaseDataType items parsed from Hessian data
Throws:
java.io.IOException

decodeHessianByteArrayToHashtable

public java.util.Hashtable<java.lang.String,java.lang.Object> decodeHessianByteArrayToHashtable(byte[] data)
                                                                                         throws java.io.IOException
Throws:
java.io.IOException

decodeResponse

private java.util.List<BaseDataType> decodeResponse(java.io.InputStream is,
                                                    Request.Type type)
                                             throws java.io.IOException
TODO: we cast every response to a Map, losing e.g. push event "c0" which only contains a string - to fix

Parameters:
is -
type -
Returns:
Throws:
java.io.IOException

parseExternalResponse

private void parseExternalResponse(java.util.List<BaseDataType> clist,
                                   java.io.InputStream is,
                                   int tag)
                            throws java.io.IOException
Throws:
java.io.IOException

decodeResponseByRequestType

private void decodeResponseByRequestType(java.util.List<BaseDataType> clist,
                                         java.util.Hashtable<java.lang.String,java.lang.Object> hash,
                                         Request.Type type)

getContacts

private void getContacts(java.util.List<BaseDataType> clist,
                         java.util.Vector<?> cont)

parsePushMessage

private void parsePushMessage(java.util.List<BaseDataType> list,
                              java.util.Hashtable<java.lang.String,java.lang.Object> hash)

parsePushPayload

private void parsePushPayload(RpgPushMessage msg,
                              java.util.List<BaseDataType> list)


JavaDoc