mirror of
https://code.briarproject.org/briar/briar.git
synced 2026-02-11 18:29:05 +01:00
Remove methods for manually reading lists and dictionaries.
This commit is contained in:
@@ -60,23 +60,11 @@ public interface BdfReader {
|
|||||||
|
|
||||||
BdfList readList() throws IOException;
|
BdfList readList() throws IOException;
|
||||||
|
|
||||||
void readListStart() throws IOException;
|
|
||||||
|
|
||||||
boolean hasListEnd() throws IOException;
|
|
||||||
|
|
||||||
void readListEnd() throws IOException;
|
|
||||||
|
|
||||||
void skipList() throws IOException;
|
void skipList() throws IOException;
|
||||||
|
|
||||||
boolean hasDictionary() throws IOException;
|
boolean hasDictionary() throws IOException;
|
||||||
|
|
||||||
BdfDictionary readDictionary() throws IOException;
|
BdfDictionary readDictionary() throws IOException;
|
||||||
|
|
||||||
void readDictionaryStart() throws IOException;
|
|
||||||
|
|
||||||
boolean hasDictionaryEnd() throws IOException;
|
|
||||||
|
|
||||||
void readDictionaryEnd() throws IOException;
|
|
||||||
|
|
||||||
void skipDictionary() throws IOException;
|
void skipDictionary() throws IOException;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -365,22 +365,11 @@ final class BdfReaderImpl implements BdfReader {
|
|||||||
private BdfList readList(int level) throws IOException {
|
private BdfList readList(int level) throws IOException {
|
||||||
if (!hasList()) throw new FormatException();
|
if (!hasList()) throw new FormatException();
|
||||||
if (level > nestedLimit) throw new FormatException();
|
if (level > nestedLimit) throw new FormatException();
|
||||||
BdfList list = new BdfList();
|
|
||||||
readListStart();
|
|
||||||
while (!hasListEnd()) list.add(readObject(level + 1));
|
|
||||||
readListEnd();
|
|
||||||
return list;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void readListStart() throws IOException {
|
|
||||||
if (!hasList()) throw new FormatException();
|
|
||||||
hasLookahead = false;
|
hasLookahead = false;
|
||||||
}
|
BdfList list = new BdfList();
|
||||||
|
while (!hasEnd()) list.add(readObject(level + 1));
|
||||||
@Override
|
readEnd();
|
||||||
public boolean hasListEnd() throws IOException {
|
return list;
|
||||||
return hasEnd();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean hasEnd() throws IOException {
|
private boolean hasEnd() throws IOException {
|
||||||
@@ -389,11 +378,6 @@ final class BdfReaderImpl implements BdfReader {
|
|||||||
return next == END;
|
return next == END;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void readListEnd() throws IOException {
|
|
||||||
readEnd();
|
|
||||||
}
|
|
||||||
|
|
||||||
private void readEnd() throws IOException {
|
private void readEnd() throws IOException {
|
||||||
if (!hasEnd()) throw new FormatException();
|
if (!hasEnd()) throw new FormatException();
|
||||||
hasLookahead = false;
|
hasLookahead = false;
|
||||||
@@ -403,7 +387,7 @@ final class BdfReaderImpl implements BdfReader {
|
|||||||
public void skipList() throws IOException {
|
public void skipList() throws IOException {
|
||||||
if (!hasList()) throw new FormatException();
|
if (!hasList()) throw new FormatException();
|
||||||
hasLookahead = false;
|
hasLookahead = false;
|
||||||
while (!hasListEnd()) skipObject();
|
while (!hasEnd()) skipObject();
|
||||||
hasLookahead = false;
|
hasLookahead = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -422,10 +406,10 @@ final class BdfReaderImpl implements BdfReader {
|
|||||||
private BdfDictionary readDictionary(int level) throws IOException {
|
private BdfDictionary readDictionary(int level) throws IOException {
|
||||||
if (!hasDictionary()) throw new FormatException();
|
if (!hasDictionary()) throw new FormatException();
|
||||||
if (level > nestedLimit) throw new FormatException();
|
if (level > nestedLimit) throw new FormatException();
|
||||||
|
hasLookahead = false;
|
||||||
BdfDictionary dictionary = new BdfDictionary();
|
BdfDictionary dictionary = new BdfDictionary();
|
||||||
readDictionaryStart();
|
|
||||||
String prevKey = null;
|
String prevKey = null;
|
||||||
while (!hasDictionaryEnd()) {
|
while (!hasEnd()) {
|
||||||
String key = readString();
|
String key = readString();
|
||||||
if (canonical && prevKey != null && key.compareTo(prevKey) <= 0) {
|
if (canonical && prevKey != null && key.compareTo(prevKey) <= 0) {
|
||||||
// Keys not unique and sorted
|
// Keys not unique and sorted
|
||||||
@@ -434,31 +418,15 @@ final class BdfReaderImpl implements BdfReader {
|
|||||||
dictionary.put(key, readObject(level + 1));
|
dictionary.put(key, readObject(level + 1));
|
||||||
prevKey = key;
|
prevKey = key;
|
||||||
}
|
}
|
||||||
readDictionaryEnd();
|
|
||||||
return dictionary;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void readDictionaryStart() throws IOException {
|
|
||||||
if (!hasDictionary()) throw new FormatException();
|
|
||||||
hasLookahead = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean hasDictionaryEnd() throws IOException {
|
|
||||||
return hasEnd();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void readDictionaryEnd() throws IOException {
|
|
||||||
readEnd();
|
readEnd();
|
||||||
|
return dictionary;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void skipDictionary() throws IOException {
|
public void skipDictionary() throws IOException {
|
||||||
if (!hasDictionary()) throw new FormatException();
|
if (!hasDictionary()) throw new FormatException();
|
||||||
hasLookahead = false;
|
hasLookahead = false;
|
||||||
while (!hasDictionaryEnd()) {
|
while (!hasEnd()) {
|
||||||
skipString();
|
skipString();
|
||||||
skipObject();
|
skipObject();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -526,25 +526,6 @@ public class BdfReaderImplTest extends BrambleTestCase {
|
|||||||
r.readList();
|
r.readList();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
|
||||||
public void testReadListManually() throws Exception {
|
|
||||||
// A list containing 1, "foo", and null
|
|
||||||
setContents("60" + "21" + "01" +
|
|
||||||
"41" + "03" + "666F6F" +
|
|
||||||
"00" + "80");
|
|
||||||
r.readListStart();
|
|
||||||
assertFalse(r.hasListEnd());
|
|
||||||
assertEquals(1, r.readLong());
|
|
||||||
assertFalse(r.hasListEnd());
|
|
||||||
assertEquals("foo", r.readString());
|
|
||||||
assertFalse(r.hasListEnd());
|
|
||||||
assertTrue(r.hasNull());
|
|
||||||
r.readNull();
|
|
||||||
assertTrue(r.hasListEnd());
|
|
||||||
r.readListEnd();
|
|
||||||
assertTrue(r.eof());
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testSkipList() throws Exception {
|
public void testSkipList() throws Exception {
|
||||||
// A list containing 1, "foo", and 128
|
// A list containing 1, "foo", and 128
|
||||||
@@ -609,26 +590,6 @@ public class BdfReaderImplTest extends BrambleTestCase {
|
|||||||
r.readDictionary();
|
r.readDictionary();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
|
||||||
public void testReadDictionaryManually() throws Exception {
|
|
||||||
// A dictionary containing "foo" -> 123 and "bar" -> null
|
|
||||||
setContents("70" + "41" + "03" + "666F6F" + "21" + "7B" +
|
|
||||||
"41" + "03" + "626172" + "00" + "80");
|
|
||||||
r.readDictionaryStart();
|
|
||||||
assertFalse(r.hasDictionaryEnd());
|
|
||||||
assertEquals("foo", r.readString());
|
|
||||||
assertFalse(r.hasDictionaryEnd());
|
|
||||||
assertEquals(123, r.readLong());
|
|
||||||
assertFalse(r.hasDictionaryEnd());
|
|
||||||
assertEquals("bar", r.readString());
|
|
||||||
assertFalse(r.hasDictionaryEnd());
|
|
||||||
assertTrue(r.hasNull());
|
|
||||||
r.readNull();
|
|
||||||
assertTrue(r.hasDictionaryEnd());
|
|
||||||
r.readDictionaryEnd();
|
|
||||||
assertTrue(r.eof());
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testSkipDictionary() throws Exception {
|
public void testSkipDictionary() throws Exception {
|
||||||
// A map containing "foo" -> 123 and "bar" -> null
|
// A map containing "foo" -> 123 and "bar" -> null
|
||||||
|
|||||||
Reference in New Issue
Block a user