adding doc/comments
authorgrok <grok>
Fri, 12 Aug 2005 09:21:42 +0000 (09:21 +0000)
committergrok <grok>
Fri, 12 Aug 2005 09:21:42 +0000 (09:21 +0000)
source/mir/producer/NodedProducer.java
source/mir/producer/Producer.java
source/mircoders/localizer/MirLocalizer.java
source/mircoders/producer/UnIndexingProducerNode.java

index 28a31f6..f250507 100755 (executable)
@@ -33,7 +33,12 @@ import java.util.HashMap;
 import java.util.Map;
 
 import mir.log.LoggerWrapper;
-
+/**
+ * <p>A NodedProducer is the root of a tree of ProducerNodes.</p>
+ * 
+ * <p>There  used to be  a time  when there  were Producers  that weren't
+ * NodedProducers, however they have been phased out.</p>
+ */
 public class NodedProducer implements Producer {
   private ProducerNode rootNode;
   private String verb;
index 051bbe9..4b28461 100755 (executable)
@@ -31,11 +31,30 @@ package mir.producer;
 
 import mir.log.LoggerWrapper;
 
-/** A producer is  a task. producers are mostly  used to generate pages
- *  but occasionally,  producers  are  used to do  other stuff  such as
- *  pull  rss   feeds.  The   producers  are  configured   through  the
- *  producers.xml file. Producers appear, for example, on the 
- *  admin->"Generate manually"->"advanced page": (Tasks) 
+/** 
+ * <p>A Producer is  a set of tasks, scripted  in xml. Producers allow
+ * mir installations to have their  own actions that can be called for
+ * instance when  a new article is posted.   Originally producers were
+ * mostly used  to generate  pages, but  they are used  for a  lot of
+ * other  tasks such  as  pulling rss  feeds  for the  global wire  on
+ * indymedia.org. </p>
+ * 
+ * <p>Producers  can  be  easily  added  and  configured  through  the
+ * producers.xml file.</p>
+ * 
+ * <p>In the  admin web interface,  producers appear, for  example, on
+ * the admin->"Generate manually"->"advanced page": (as Tasks)</p>
+ *
+ * <p>Architecture: a "poducer" tag  in the producers.xml file defines
+ * a small  program. This program  (or script) may  contain constructs
+ * such as  if, loop,  and variables... The  program is parsed  into a
+ * tree  of ProducerNodes.   The root  of this  tree is  defined  in a
+ * NodedProducer (which  is the  only class that  currently implements
+ * the  Producer  interface).   When  the Producer  is  executed,  the
+ * "produce" methods of each  node are recursively called, effectively
+ * executing the program as it was scripted</p>
+ * 
+ * 
  */
 public interface Producer {
   /**
index 6d6bda0..3165194 100755 (executable)
 
 package mircoders.localizer;
 
+/**
+ * <p>Localizers  provide   a  customization  framework   that  allows
+ * different mir sites to behave differently. This is effectively used
+ * by various  indymedia sites to  customize things such  open posting
+ * mechanisms, open posting  validation, data model enhancements, etc.
+ * </p>
+ * 
+ * <p>The   <code>MirLocalizer</code>  interface  defines  the centralized
+ * localizer,     that     may  be accessed     via     the     global
+ * <function>MirGlobal.localizer()</function>  function.  The  central
+ * localizer  provides accessors to  domain specific  localizers (like
+ * <code>MirBasicOpenPostingLocalizer</code>).  </p>
+ *
+ * <p>      Default     behavior      is      provided     by      the
+ * <code>MirBasicLocalizer</code>  and it's associated  classes. These
+ * classes can be extended to override default behavior.</p>
+ *
+ */
 public interface MirLocalizer {
   public MirProducerLocalizer producers() throws MirLocalizerFailure, MirLocalizerExc;
   public MirAdminInterfaceLocalizer adminInterface() throws MirLocalizerFailure, MirLocalizerExc;
index 95ed7a5..5e24115 100755 (executable)
@@ -42,6 +42,12 @@ import mir.util.ParameterExpander;
 import mircoders.entity.EntityContent;
 import mircoders.search.IndexUtil;
 
+/**
+ * UnIndexingProducerNode is one of the 2 producer nodes that works on
+ * the   search   index    db.    There's   IndexingProducerNode   and
+ * UnIndexingProducerNode.  The first one  adds/updates an  article to
+ * the search index the second one removes an article
+ */
 public class UnIndexingProducerNode implements ProducerNode {
   private String contentKey;
   private String indexPath;