Loads the book data from information contained
in the booklist.txt file.
if (bookAuthorMap == null) {
// First request - create the data
bookAuthorMap = new HashMap();
ArrayList list = new ArrayList();
try {
buffer = new byte[1024];
os = new ByteArrayOutputStream();
InputStream is =
HeaderBookServiceServantData.class.getResourceAsStream("booklist.txt");
BufferedReader reader = new BufferedReader(new InputStreamReader(is));
String line;
while ((line = reader.readLine()) != null) {
StringTokenizer st = new StringTokenizer(line, "!");
if (st.countTokens() == 2) {
String title = st.nextToken();
String canonicalTitle = title.trim().toUpperCase();
String author = st.nextToken();
// Store the author name
bookAuthorMap.put(canonicalTitle, author);
// Add a new book title
list.add(title);
}
}
bookTitles = new String[list.size()];
list.toArray(bookTitles);
} catch (Exception ex) {
// Just return an empty or partial list
ex.printStackTrace();
}
}