Index: Injector.java
===================================================================
--- Injector.java	(revision 698144)
+++ Injector.java	(working copy)
@@ -68,6 +68,19 @@
                     OutputCollector<Text, CrawlDatum> output, Reporter reporter)
       throws IOException {
       String url = value.toString();              // value is line of text
+      // if tabs : metadata that could be stored
+      // must be name=value and separated by \t
+      Map<String,String> metadata = new TreeMap<String,String>();
+      if (url.indexOf("\t")!=-1){
+    	  String[] splits = url.split("\t");
+    	  url = splits[0];
+    	  for (int s=1;s<splits.length;s++){
+    		  // find separation between name and value
+    		  int indexEquals = splits[s].indexOf("=");
+    		  if (indexEquals==-1) continue;
+    		  metadata.put(splits[s].substring(0, indexEquals),splits[s].substring(indexEquals+1));
+    	  }
+      }
       try {
         url = urlNormalizers.normalize(url, URLNormalizers.SCOPE_INJECT);
         url = filters.filter(url);             // filter the url
@@ -89,6 +102,13 @@
           }
           datum.setScore(scoreInjected);
         }
+        // now add the metadata
+        Iterator keysIter = metadata.keySet().iterator();
+        while (keysIter.hasNext()){
+        	String keymd = (String) keysIter.next();
+        	String valuemd = (String) metadata.get(keymd);
+        	datum.getMetaData().put(new Text(keymd), new Text(valuemd));
+        }
         output.collect(value, datum);
       }
     }
