@@ -78,10 +78,7 @@ public IntermediateRepresentation deserialize()
7878 final  List <Token > tokens  = new  ArrayList <>();
7979 while  (offset  < size )
8080 {
81-  final  Token  token  = deserializeToken ();
82- 
83-  // System.out.println(token.toString()); 
84-  tokens .add (token );
81+  tokens .add (deserializeToken ());
8582 }
8683
8784 int  i  = 0 , size  = tokens .size ();
@@ -146,7 +143,7 @@ private void deserializeFrame()
146143
147144 if  (serializedFrame .sbeIrVersion () != 0 )
148145 {
149-  // TODO:  throw exception since we don't know how to handle this 
146+  throw  new   IllegalStateException ( "Unknown SBE version: "  +  serializedFrame . sbeIrVersion ()); 
150147 }
151148
152149 final  byte [] byteArray  = new  byte [1024 ];
@@ -159,38 +156,38 @@ private void deserializeFrame()
159156 }
160157
161158 private  Token  deserializeToken ()
159+  throws  UnsupportedEncodingException 
162160 {
163-  final  Token .Builder  builder  = new  Token .Builder ();
161+  final  Token .Builder  tokenBuilder  = new  Token .Builder ();
164162 final  Encoding .Builder  encBuilder  = new  Encoding .Builder ();
165163
166164 final  byte [] byteArray  = new  byte [1024 ];
167165
168166 serializedToken .wrapForDecode (directBuffer , offset , serializedToken .blockLength (), 0 );
169167
170-  builder .offset (serializedToken .tokenOffset ())
171-  .size (serializedToken .tokenSize ())
172-  .schemaId (serializedToken .schemaID ())
173-  .version (serializedToken .tokenVersion ())
174-  .signal (SerializationUtils .signal (serializedToken .signal ()));
168+  tokenBuilder .offset (serializedToken .tokenOffset ())
169+    .size (serializedToken .tokenSize ())
170+    .schemaId (serializedToken .schemaID ())
171+    .version (serializedToken .tokenVersion ())
172+    .signal (SerializationUtils .signal (serializedToken .signal ()));
175173
176174 final  PrimitiveType  type  = SerializationUtils .primitiveType (serializedToken .primitiveType ());
177175
178176 encBuilder .primitiveType (type )
179177 .byteOrder (SerializationUtils .byteOrder (serializedToken .byteOrder ()));
180178
181-  // must deserialize vardata in order 
182- 
183-  builder .name (new  String (byteArray , 0 , serializedToken .getName (byteArray , 0 , byteArray .length )));
179+  tokenBuilder .name (new  String (byteArray , 0 , serializedToken .getName (byteArray , 0 , byteArray .length )));
184180
185181 encBuilder .constVal (SerializationUtils .getVal (valBuffer , type , serializedToken .getConstVal (valArray , 0 , valArray .length )));
186182 encBuilder .minVal (SerializationUtils .getVal (valBuffer , type , serializedToken .getMinVal (valArray , 0 , valArray .length )));
187183 encBuilder .maxVal (SerializationUtils .getVal (valBuffer , type , serializedToken .getMaxVal (valArray , 0 , valArray .length )));
188184 encBuilder .nullVal (SerializationUtils .getVal (valBuffer , type , serializedToken .getNullVal (valArray , 0 , valArray .length )));
189185
190-  encBuilder .characterEncoding (new  String (byteArray , 0 , serializedToken .getCharacterEncoding (byteArray , 0 , byteArray .length )));
186+  final  int  charEncodingSize  = serializedToken .getCharacterEncoding (byteArray , 0 , byteArray .length );
187+  encBuilder .characterEncoding (new  String (byteArray , 0 , charEncodingSize , SerializedToken .characterEncodingCharacterEncoding ()));
191188
192189 offset  += serializedToken .size ();
193190
194-  return  builder .encoding (encBuilder .build ()).build ();
191+  return  tokenBuilder .encoding (encBuilder .build ()).build ();
195192 }
196193}
0 commit comments