/* Copyright (C) 2002, Google, Inc. */
package com.google.soap.search;
import java.io.*;
/**
* The GoogleAPIDemo is a demonstration of using the Google Web APIs for
* search and fetching pages from the cache.
*
* @see com.google.soap.search.GoogleSearch
* @see com.google.soap.search.GoogleSearchResult
*/
public class GoogleAPIDemo {
/** Demonstration program to call the Google Web APIs service.
** Usage:
** java com.google.soap.search.GoogleAPIDemo [key] search Foo
** java com.google.soap.search.GoogleAPIDemo [key] cached http://www.google.com/
** java com.google.soap.search.GoogleAPIDemo [key] spell "britnay spars"
**/
public static void main(String[] args) {
// Parse the command line
if (args.length != 3) {
printUsageAndExit();
}
String clientKey = args[0];
String directive = args[1];
String directiveArg = args[2];
// Report the arguments received
System.out.println("Parameters:");
System.out.println("Client key = " + clientKey);
System.out.println("Directive = " + directive);
System.out.println("Args = " + directiveArg);
// Create a Google Search object, set our authorization key
GoogleSearch s = new GoogleSearch();
s.setKey(clientKey);
// Depending on user input, do search or cache query, then print out result
try {
if (directive.equalsIgnoreCase("search")) {
s.setQueryString(directiveArg);
GoogleSearchResult r = s.doSearch();
System.out.println("Google Search Results:");
System.out.println("======================");
System.out.println(r.toString());
} else if (directive.equalsIgnoreCase("cached")) {
System.out.println("Cached page:");
System.out.println("============");
byte [] cachedBytes = s.doGetCachedPage(directiveArg);
// Note - this conversion to String should be done with reference
// to the encoding of the cached page, but we don't do that here.
String cachedString = new String(cachedBytes);
System.out.println(cachedString);
} else if (directive.equalsIgnoreCase("spell")) {
System.out.println("Spelling suggestion:");
String suggestion = s.doSpellingSuggestion(directiveArg);
System.out.println(suggestion);
} else {
printUsageAndExit();
}
} catch (GoogleSearchFault f) {
System.out.println("The call to the Google Web APIs failed:");
System.out.println(f.toString());
}
}
private static void printUsageAndExit() {
System.err.println("Usage: java " +
GoogleAPIDemo.class.getName() +
" " +
" (search | cached | spell )");
System.exit(1);
}
}