X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=source%2Fmircoders%2Fproducer%2Freader%2FSupplementalProducerNodeBuilders.java;h=4f6f105dabd61b8a3f3b6122b570b4c7302d90a6;hb=c84405180597560d5343f8859a17b01f50d95d41;hp=9a9b65cfbfc0307fd1dba8688b09cbcb63bad3c1;hpb=6b6b6215ebe066b81f1fa6b0c71a532ca7b4fc3f;p=mir.git diff --git a/source/mircoders/producer/reader/SupplementalProducerNodeBuilders.java b/source/mircoders/producer/reader/SupplementalProducerNodeBuilders.java index 9a9b65cf..4f6f105d 100755 --- a/source/mircoders/producer/reader/SupplementalProducerNodeBuilders.java +++ b/source/mircoders/producer/reader/SupplementalProducerNodeBuilders.java @@ -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 { @@ -57,6 +58,8 @@ public class SupplementalProducerNodeBuilders { aBuilderLibrary.registerFactory("IndexContent", new ContentIndexingProducerNodeBuilder.factory(aBasePath)); aBuilderLibrary.registerFactory("UnIndexContent", new ContentUnIndexingProducerNodeBuilder.factory(aBasePath)); aBuilderLibrary.registerBuilder("Radicalendar", RadicalendarProducerNodeBuilder.class); + + aBuilderLibrary.registerBuilder("ReportChanges", ChangeReportingProducerNodeBuilder.class); } private final static String MARKER_KEY_ATTRIBUTE = DefaultProducerNodeBuilders.KEY_ATTRIBUTE; @@ -248,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); + } + } }