Index: src/java/org/apache/nutch/indexer/IndexerReducer.java
===================================================================
--- src/java/org/apache/nutch/indexer/IndexerReducer.java	(revision 1297463)
+++ src/java/org/apache/nutch/indexer/IndexerReducer.java	(working copy)
@@ -48,7 +48,7 @@
     filters = new IndexingFilters(conf);
     scoringFilters = new ScoringFilters(conf);
     try {
-      store = StorageUtils.createDataStore(conf, String.class, WebPage.class);
+      store = StorageUtils.createWebStore(conf, String.class, WebPage.class);
     } catch (ClassNotFoundException e) {
       throw new IOException(e);
     }
Index: src/java/org/apache/nutch/storage/StorageUtils.java
===================================================================
--- src/java/org/apache/nutch/storage/StorageUtils.java	(revision 1297463)
+++ src/java/org/apache/nutch/storage/StorageUtils.java	(working copy)
@@ -36,15 +36,6 @@
 public class StorageUtils {
 
   @SuppressWarnings("unchecked")
-  public static <K, V extends Persistent> DataStore<K, V> createDataStore(Configuration conf,
-      Class<K> keyClass, Class<V> persistentClass) throws ClassNotFoundException, GoraException {
-    Class<? extends DataStore<K, V>> dataStoreClass =
-      (Class<? extends DataStore<K, V>>) getDataStoreClass(conf);
-    return DataStoreFactory.createDataStore(dataStoreClass,
-            keyClass, persistentClass);
-  }
-
-  @SuppressWarnings("unchecked")
   public static <K, V extends Persistent> DataStore<K, V> createWebStore(Configuration conf,
       Class<K> keyClass, Class<V> persistentClass) throws ClassNotFoundException, GoraException {
     String schema = conf.get("storage.schema", "webpage");
Index: src/java/org/apache/nutch/storage/WebTableCreator.java
===================================================================
--- src/java/org/apache/nutch/storage/WebTableCreator.java	(revision 1297463)
+++ src/java/org/apache/nutch/storage/WebTableCreator.java	(working copy)
@@ -22,7 +22,7 @@
 public class WebTableCreator {
   public static void main(String[] args) throws Exception {
     DataStore<String, WebPage> store =
-      StorageUtils.createDataStore(NutchConfiguration.create(), String.class,
+      StorageUtils.createWebStore(NutchConfiguration.create(), String.class,
         WebPage.class);
 
     System.out.println(store);
Index: src/java/org/apache/nutch/util/domain/DomainStatistics.java
===================================================================
--- src/java/org/apache/nutch/util/domain/DomainStatistics.java	(revision 1297463)
+++ src/java/org/apache/nutch/util/domain/DomainStatistics.java	(working copy)
@@ -45,6 +45,7 @@
 import org.apache.hadoop.util.ToolRunner;
 import org.apache.nutch.crawl.CrawlStatus;
 import org.apache.nutch.crawl.WebTableReader.WebTableRegexMapper;
+import org.apache.nutch.metadata.Nutch;
 import org.apache.nutch.storage.StorageUtils;
 import org.apache.nutch.storage.WebPage;
 import org.apache.nutch.util.NutchConfiguration;
@@ -76,36 +77,41 @@
 
 	public int run(String[] args) throws IOException, ClassNotFoundException,
 			InterruptedException {
-		if (args.length < 3) {
-			System.out
-					.println("usage: DomainStatistics outDir host|domain|suffix [numOfReducer]");
-			return 1;
-		}
-		String outputDir = args[0];
-		int numOfReducers = 1;
+	  if (args.length < 2) {
+      System.out
+          .println("usage: DomainStatistics outDir host|domain|suffix [-numReducers n] [-crawlId <id>]");
+      return 1;
+    }
+    String outputDir = args[0];
+    
+    int mode = 0;
+    if (args[1].equals("host"))
+      mode = MODE_HOST;
+    else if (args[1].equals("domain"))
+      mode = MODE_DOMAIN;
+    else if (args[1].equals("suffix"))
+      mode = MODE_SUFFIX;
+    getConf().setInt("domain.statistics.mode", mode);
+    
+    int numOfReducers = 1;
+    for (int i = 0; i < args.length; i++) {
+      if ("-numReducers".equals(args[i])) {
+        numOfReducers = Integer.parseInt(args[i+1]);
+        i++;
+      } else if ("-crawlId".equals(args[i])) {
+        getConf().set(Nutch.CRAWL_ID_KEY, args[i+1]);
+        i++;
+      }
+    }
 
-		if (args.length > 2) {
-			numOfReducers = Integer.parseInt(args[2]);
-		}
+    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+    long start = System.currentTimeMillis();
+    LOG.info("DomainStatistics: starting at " + sdf.format(start));
 
-		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-		long start = System.currentTimeMillis();
-		LOG.info("DomainStatistics: starting at " + sdf.format(start));
+    Job job = new NutchJob(getConf(), "Domain statistics");
+    DataStore<String, WebPage> store = StorageUtils.createWebStore(
+        job.getConfiguration(), String.class, WebPage.class);
 
-		Job job = new NutchJob(getConf(), "Domain statistics");
-
-		int mode = 0;
-		if (args[1].equals("host"))
-			mode = MODE_HOST;
-		else if (args[1].equals("domain"))
-			mode = MODE_DOMAIN;
-		else if (args[1].equals("suffix"))
-			mode = MODE_SUFFIX;
-		job.getConfiguration().setInt("domain.statistics.mode", mode);
-
-		DataStore<String, WebPage> store = StorageUtils.createDataStore(
-				job.getConfiguration(), String.class, WebPage.class);
-
 		Query<String, WebPage> query = store.newQuery();
 		query.setFields(WebPage._ALL_FIELDS);
 
