public Tuple read() throws IOException {
  try {
    Map fields=jsonTupleStream.next();
    if (fields == null) {
      Map m=new HashMap();
      m.put("EOF",true);
      return new Tuple(m);
    }
 else {
      String msg=(String)fields.get("EXCEPTION");
      if (msg != null) {
        HandledException ioException=new HandledException(msg);
        throw ioException;
      }
      if (trace) {
        fields.put("_CORE_",this.baseUrl);
        if (slice != null) {
          fields.put("_SLICE_",slice);
        }
      }
      if (fieldMappings != null) {
        fields=mapFields(fields,fieldMappings);
      }
      return new Tuple(fields);
    }
  }
 catch (  HandledException e) {
    throw new IOException("--> " + this.baseUrl + ":"+ e.getMessage());
  }
catch (  Exception e) {
    throw new IOException("--> " + this.baseUrl + ": An exception has occurred on the server, refer to server log for details.",e);
  }
}

public Tuple read ( ) throws IOException { try { Map fields = jsonTupleStream . next ( ) ; if ( fields == null ) { Map m = new HashMap ( ) ; m . put ( "EOF" , true ) ; return new Tuple ( m ) ; } else { String msg = ( String ) fields . get ( "EXCEPTION" ) ; if ( msg != null ) { HandledException ioException = new HandledException ( msg ) ; throw ioException ; } if ( trace ) { fields . put ( "_CORE_" , this . baseUrl ) ; if ( slice != null ) { fields . put ( "_SLICE_" , slice ) ; } } if ( fieldMappings != null ) { fields = mapFields ( fields , fieldMappings ) ; } return new Tuple ( fields ) ; } } catch ( HandledException e ) { throw new IOException ( "--> " + this . baseUrl + ":" + e . getMessage ( ) ) ; } catch ( Exception e ) { throw new IOException ( "--> " + this . baseUrl + ": An exception has occurred on the server, refer to server log for details." , e ) ; } }
reads a tuple from the stream . the stream is completed when tuple . eof = = true .
