addition of the Change Reporting producer node
[mir.git] / source / mircoders / producer / reader / SupplementalProducerNodeBuilders.java
index cd0604d..ffe5f75 100755 (executable)
@@ -45,6 +45,7 @@ import mircoders.producer.IndexingProducerNode;
 import mircoders.producer.MediaGeneratingProducerNode;
 import mircoders.producer.RadicalendarProducerNode;
 import mircoders.producer.UnIndexingProducerNode;
+import mircoders.producer.ChangeReportingProducerNode;
 
 
 public class SupplementalProducerNodeBuilders {
@@ -58,7 +59,7 @@ public class SupplementalProducerNodeBuilders {
     aBuilderLibrary.registerFactory("UnIndexContent", new ContentUnIndexingProducerNodeBuilder.factory(aBasePath));
     aBuilderLibrary.registerBuilder("Radicalendar", RadicalendarProducerNodeBuilder.class);
 
-    aBuilderLibrary.registerFactory("IndexContent", new ContentIndexingProducerNodeBuilder.factory(aBasePath));
+    aBuilderLibrary.registerFactory("ReportChanges", new ContentIndexingProducerNodeBuilder.factory(aBasePath));
   }
 
   private final static String MARKER_KEY_ATTRIBUTE = DefaultProducerNodeBuilders.KEY_ATTRIBUTE;
@@ -250,6 +251,34 @@ public class SupplementalProducerNodeBuilders {
     }
   }
 
+  public static class ChangeReportingProducerNodeBuilder extends DefaultProducerNodeBuilders.AbstractProducerNodeBuilder {
+    private final static String CHANGEREPORTING_FILE_ATTRIBUTE = "file";
+    private final static String CHANGEREPORTING_FORMAT_ATTRIBUTE = "format";
+    private final static String CHANGEREPORTING_BASEPATH_ATTRIBUTE = "basepath";
+    private final static String[] CHANGEREPORTING_REQUIRED_ATTRIBUTES = {CHANGEREPORTING_FILE_ATTRIBUTE,
+        CHANGEREPORTING_FORMAT_ATTRIBUTE, CHANGEREPORTING_BASEPATH_ATTRIBUTE};
+    private static final String[] CHANGEREPORTING_OPTIONAL_ATTRIBUTES = {};
+
+    private String file;
+    private String format;
+    private String basepath;
+
+    public ChangeReportingProducerNodeBuilder() {
+      super(new String[0]);
+    }
+
+    public void setAttributes(Map anAttributes) throws ProducerConfigExc, XMLParserExc {
+      XMLReaderTool.checkAttributes(anAttributes, CHANGEREPORTING_REQUIRED_ATTRIBUTES, CHANGEREPORTING_OPTIONAL_ATTRIBUTES);
+
+      file = (String) anAttributes.get(CHANGEREPORTING_FILE_ATTRIBUTE);
+      format = (String) anAttributes.get(CHANGEREPORTING_FORMAT_ATTRIBUTE);
+      basepath = (String) anAttributes.get(CHANGEREPORTING_BASEPATH_ATTRIBUTE);
+    }
+
+    public ProducerNode constructNode() {
+      return new ChangeReportingProducerNode(format, file, basepath, null, null);
+    }
+  }
 }