IsbnSniff Java program
=> Description This command-line program retrieve useful book informations from several book databases. The program need an internet connection for performing requests.
=> Usage Program usage is accessible using this command : java -jar dist/ISBNSniff.jar -h
=> Engines supported The actual supported engines are BookShare, Google Books, Amazon, IsbnDb, LibraryThing and OpenLibrary
=> Examples Configuration file with keys registered for each are stored in a sample configuration (conf/conf.ini)
For retrieving book details from ISBNs defined in command line: java -jar dist/ISBNSniff.jar -c conf/conf.ini -l 9780295973975,029597401X
It is also possible to perform a massive import of ISBNs by specifying a CSV file in input: java -jar dist/ISBNSniff.jar -c conf/conf.ini -i csv -iF input/8_isbn.csv
By default the details are printed on the standard output, but you can specify output the results in XML or BibteX format: java -jar dist/ISBNSniff.jar -c conf/conf.ini -i csv -iF input/8_isbn.csv -o xml output/output.xml or java -jar dist/ISBNSniff.jar -c conf/conf.ini -i csv -iF input/8_isbn.csv -o bibtex output/output.bib
=> Project Tree structure: dist/ Compiled project directory dist/lib/ Dependencies required by the program dist/javadoc/ Javadoc documentation conf/ Configuration file samples output/ Output files samples in BibTeX and XML format input/ Input files samples in CSV format src/isbnsniff/ Main program Java classes src/Engine*/ Java classes for each Book Search Engine
=> JavaDoc A Developper documentation generated by Javadoc is available here: dist/javadoc/index.html
=> XML templates, XSD Shemas and Pojos generation Some search engines as IsbnDb or LibraryThing work with generated file classes (XML or Json POJOs) This classes are generated from specified XSDs. XML POJOs can be generated from an XSD shema using Java xjc tool.
The following example will generated file classes for IsbnDb Engine: xjc.exe -nv -p src/EngineIsbnDb/isbndbXml.jaxb src/EngineIsbnDb/isbndb.xsd
Json POJOs can be generated using online "Json Gen" tool (http://jsongen.byingtondesign.com/).
=> Development IsbnSniff project has been developed with Netbeans IDE using Apache Ant
=> Project Dependencies ISBNSniff.jar depend of the following libraries (dist/lib/ folder): amazonAPI.jar Amazon generated Web Service (from WSDL) commons-cli-1.2.jar Apache Commons CLI commons-codec-1.6.jar Apache Commons Codec commons-collections-3.2.1.jar Apache Commons Collections commons-configuration-1.8.jar Apache Commons Configuration commons-csv-20070730.jar Apache Commons CSV commons-lang-2.6.jar Apache Commons Lang commons-logging-1.1.1.jar Apache Commons Logging google-api-client-1.10.3-beta.jar Google API - Client google-api-services-books-v1-rev9-1.7.2-beta.jar Google API - Google Books google-http-client-1.10.3-beta.jar Google API - Http client gson-2.1.jar Google Gson guava-11.0.1.jar Google Core Library Guava httpclient-4.0.3.jar Apache HttpComponents and HttpClient jackson-annotations-2.0.4.jar Jackson Annotations jackson-core-2.0.4.jar Jackson Core jackson-core-asl-1.9.4.jar Jackson Core ASL jackson-databind-2.0.4.jar Jackson Databind jtidy-4aug2000r7-dev.jar JTidy HTML Parser servlet-api-2.4.jar Java API for Servlets xercesImpl-2.6.1.jar Xerces XML Processor xmlParserAPIs-2.6.1.jar