@Override public BSONCallback createBSONCallback() { return new BasicBSONCallback(); }
@Override public Object arrayDone() { return objectDone(); }
@Override public void objectStart(final String name) { _lastArray = false; super.objectStart(name); }
public BSONObject readObject(final byte [] pData) { _length = pData.length; final BasicBSONCallback c = new BasicBSONCallback(); _decode(pData, 0, c); return (BSONObject)c.get(); }
@Override public void gotLong(final String name, final long value) { _put(name, value); }
public void loadSplitsFromSplitFile(final FileStatus inputFile, final Path splitFile) throws NoSplitFileException, IOException { ArrayList<FileSplit> splits = new ArrayList<FileSplit>(); FileSystem fs = splitFile.getFileSystem(getConf()); // throws IOException FileStatus splitFileStatus; try { splitFileStatus = fs.getFileStatus(splitFile); LOG.info("Found split file at : " + splitFileStatus); } catch (Exception e) { throw new NoSplitFileException(); } FSDataInputStream fsDataStream = fs.open(splitFile); // throws IOException while (fsDataStream.getPos() < splitFileStatus.getLen()) { callback.reset(); bsonDec.decode(fsDataStream, callback); BSONObject splitInfo = (BSONObject) callback.get(); splits.add(createFileSplitFromBSON(splitInfo, fs, inputFile)); } splitsList = splits; }//}}}
/** * Creates a new instance. */ public BasicBSONCallback() { stack = new LinkedList<BSONObject>(); nameStack = new LinkedList<String>(); reset(); }
public BSONObject readObject( InputStream in ) throws IOException { BasicBSONCallback c = new BasicBSONCallback(); decode( in , c ); return (BSONObject)c.get(); }
@Override public void gotString(final String name, final String value) { _put(name, value); }
public BasicBSONCallback() { reset(); }
@Override public BSONObject readObject(final byte[] bytes) { BSONCallback bsonCallback = new BasicBSONCallback(); decode(bytes, bsonCallback); return (BSONObject) bsonCallback.get(); }
@Override public BSONObject readObject(byte[] b, int offset) { _length = Bits.readInt(b, offset); final BasicBSONCallback c = new BasicBSONCallback(); _decode(b, offset, c); return (BSONObject)c.get(); }
@Override public void objectStart(final String name) { _lastArray = false; super.objectStart(name); }
@Override public void gotDouble(final String name, final double value) { _put(name, value); }
@Override public Object objectDone() { String name = curName(); BSONObject document = (BSONObject) super.objectDone(); if (!(document instanceof BasicBSONList)) { Iterator<String> iterator = document.keySet().iterator(); if (iterator.hasNext() && iterator.next().equals("$ref") && iterator.hasNext() && iterator.next().equals("$id")) { _put(name, new DBRef((String) document.get("$db"), (String) document.get("$ref"), document.get("$id"))); } } return document; }
fsDataStream.seek(pos); while (pos < split.getStart()) { callback.reset(); bsonDec.decode(fsDataStream, callback); pos = fsDataStream.getPos();
public BSONCallback createBSONCallback() { return new BasicBSONCallback(); }
public void arrayStart() { objectStart(true); }
@Override public void gotInt(final String name, final int value) { _put(name, value); }