Cleaned up properties descriptions
Renamed some properties
Cleaned up categories
Cleaned up tags
Renamed some classes to improve clarity

Conflicts:
        
contrib/src/main/java/com/datatorrent/contrib/couchdb/CouchDBPOJOOutputOperator.java
        
contrib/src/main/java/com/datatorrent/contrib/memsql/MemsqlPOJOInputOperator.java
        
library/src/main/java/com/datatorrent/lib/appdata/snapshot/AppDataSnapshotServerPOJO.java


Project: http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/commit/dd15161d
Tree: http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/tree/dd15161d
Diff: http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/diff/dd15161d

Branch: refs/heads/master
Commit: dd15161de741bd1d2fbea50c972954fbbb098d24
Parents: 56de133
Author: Timothy Farkas <[email protected]>
Authored: Mon Jul 27 14:53:12 2015 -0700
Committer: thomas <[email protected]>
Committed: Mon Jul 27 19:50:31 2015 -0700

----------------------------------------------------------------------
 .../apachelog/ApacheLogInputGenerator.java      |   5 +-
 .../couchdb/CouchDBPOJOOutputOperator.java      |   9 +-
 .../couchdb/MapBasedCouchDbOutputOperator.java  |   4 +-
 .../contrib/memsql/MemsqlPOJOInputOperator.java |  85 +++++++----
 .../datatorrent/contrib/ruby/RubyOperator.java  |   4 +-
 .../memsql/AbstractMemsqlInputOperatorTest.java |   4 +-
 .../datatorrent/lib/algo/AllAfterMatchMap.java  |   2 +-
 .../com/datatorrent/lib/algo/BottomNMap.java    |   7 +-
 .../datatorrent/lib/algo/BottomNUniqueMap.java  |   7 +-
 .../lib/algo/CompareExceptCountMap.java         |   4 +-
 .../java/com/datatorrent/lib/algo/Distinct.java |   2 +-
 .../com/datatorrent/lib/algo/DistinctMap.java   |   4 +-
 .../com/datatorrent/lib/algo/FilterKeyVals.java |   6 +-
 .../com/datatorrent/lib/algo/FilterKeysMap.java |  24 +++-
 .../com/datatorrent/lib/algo/FilterValues.java  |  28 +++-
 .../java/com/datatorrent/lib/algo/FirstN.java   |   4 +-
 .../com/datatorrent/lib/algo/InsertSort.java    |   4 +-
 .../datatorrent/lib/algo/InsertSortDesc.java    |   4 +-
 .../com/datatorrent/lib/algo/InvertIndex.java   |   4 +-
 .../datatorrent/lib/algo/InvertIndexArray.java  |   4 +-
 .../com/datatorrent/lib/algo/LastMatchMap.java  |   4 +-
 .../datatorrent/lib/algo/LeastFrequentKey.java  | 137 ------------------
 .../lib/algo/LeastFrequentKeyMap.java           |   4 +-
 .../lib/algo/LeastFrequentKeyValueMap.java      |   4 +-
 .../lib/algo/LeastFrequentValue.java            | 137 ++++++++++++++++++
 .../com/datatorrent/lib/algo/MatchAllMap.java   |   2 +-
 .../com/datatorrent/lib/algo/MatchAnyMap.java   |   2 +-
 .../java/com/datatorrent/lib/algo/MatchMap.java |  11 ++
 .../datatorrent/lib/algo/MergeSortNumber.java   |   2 +-
 .../datatorrent/lib/algo/MostFrequentKey.java   | 140 -------------------
 .../lib/algo/MostFrequentKeyMap.java            |   2 +-
 .../lib/algo/MostFrequentKeyValueMap.java       |   2 +-
 .../datatorrent/lib/algo/MostFrequentValue.java | 140 +++++++++++++++++++
 .../java/com/datatorrent/lib/algo/TopN.java     |   4 +-
 .../com/datatorrent/lib/algo/TopNUnique.java    |   6 +-
 .../com/datatorrent/lib/algo/UniqueCounter.java |  17 ++-
 .../snapshot/AppDataSnapshotServerPOJO.java     |   6 +-
 .../ByteArrayToStringConverterOperator.java     |   3 +
 .../MapToKeyHashValuePairConverter.java         |  34 ++---
 .../converter/MapToKeyValuePairConverter.java   |  17 +--
 .../StringValueToNumberConverterForMap.java     |   7 +-
 .../lib/db/jdbc/AbstractJdbcInputOperator.java  |   9 +-
 .../lib/io/AbstractHttpInputOperator.java       |  21 ++-
 .../datatorrent/lib/io/HttpGetMapOperator.java  |   2 +-
 .../lib/io/HttpJsonChunksInputOperator.java     |   2 +-
 .../lib/io/HttpLinesInputOperator.java          |   2 +-
 .../lib/io/PubSubWebSocketInputOperator.java    |  10 +-
 .../lib/io/PubSubWebSocketOutputOperator.java   |  12 +-
 .../lib/io/SimpleSinglePortInputOperator.java   |   3 +-
 .../lib/io/WebSocketInputOperator.java          |   4 +-
 .../lib/io/WebSocketOutputOperator.java         |   6 +-
 .../com/datatorrent/lib/io/fs/FileSplitter.java |  17 ++-
 .../lib/io/fs/TailFsInputOperator.java          |   7 +-
 .../lib/script/JavaScriptOperator.java          |   2 +-
 .../datatorrent/lib/util/BaseLineTokenizer.java |   4 +-
 .../datatorrent/lib/util/BaseMatchOperator.java |  50 ++++---
 .../lib/util/JavaScriptFilterOperator.java      |   6 +-
 .../lib/algo/LeastFrequentKeyTest.java          |   4 +-
 .../lib/algo/MostFrequentKeyTest.java           |   4 +-
 59 files changed, 596 insertions(+), 465 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/dd15161d/contrib/src/main/java/com/datatorrent/contrib/apachelog/ApacheLogInputGenerator.java
----------------------------------------------------------------------
diff --git 
a/contrib/src/main/java/com/datatorrent/contrib/apachelog/ApacheLogInputGenerator.java
 
b/contrib/src/main/java/com/datatorrent/contrib/apachelog/ApacheLogInputGenerator.java
index ec1c807..6b3caea 100644
--- 
a/contrib/src/main/java/com/datatorrent/contrib/apachelog/ApacheLogInputGenerator.java
+++ 
b/contrib/src/main/java/com/datatorrent/contrib/apachelog/ApacheLogInputGenerator.java
@@ -29,7 +29,8 @@ import org.slf4j.LoggerFactory;
  * An implementation of input operator and activation listener that simulates 
the apache logs.
  * <p>
  * @displayName Apache Log Input Generator
- * @tags input operator, log
+ * @category Test Bench
+ * @tags apache log, generator
  * @since 0.9.4
  */
 public class ApacheLogInputGenerator implements InputOperator, 
Operator.ActivationListener<OperatorContext>
@@ -340,7 +341,7 @@ public class ApacheLogInputGenerator implements 
InputOperator, Operator.Activati
   {
     this.refererFile = refererFile;
   }
-  
+
   /**
    * Output port that emits a string into DAG.
    */

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/dd15161d/contrib/src/main/java/com/datatorrent/contrib/couchdb/CouchDBPOJOOutputOperator.java
----------------------------------------------------------------------
diff --git 
a/contrib/src/main/java/com/datatorrent/contrib/couchdb/CouchDBPOJOOutputOperator.java
 
b/contrib/src/main/java/com/datatorrent/contrib/couchdb/CouchDBPOJOOutputOperator.java
index afa500a..f0c3e4c 100644
--- 
a/contrib/src/main/java/com/datatorrent/contrib/couchdb/CouchDBPOJOOutputOperator.java
+++ 
b/contrib/src/main/java/com/datatorrent/contrib/couchdb/CouchDBPOJOOutputOperator.java
@@ -36,14 +36,19 @@ public class CouchDBPOJOOutputOperator extends 
AbstractCouchDBOutputOperator<Obj
   @NotNull
   private String expressionForDocId;
 
-  /*
-   * An Expression to extract value of document Id from input POJO.
+  /**
+   * Gets the getter expression for the document Id.
+   * @return The document Id.
    */
   public String getExpressionForDocId()
   {
     return expressionForDocId;
   }
 
+  /**
+   * An Expression to extract value of document Id from an input POJO.
+   * @param expressionForDocId The getter expression for the document Id.
+   */
   public void setExpressionForDocId(String expressionForDocId)
   {
     this.expressionForDocId = expressionForDocId;

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/dd15161d/contrib/src/main/java/com/datatorrent/contrib/couchdb/MapBasedCouchDbOutputOperator.java
----------------------------------------------------------------------
diff --git 
a/contrib/src/main/java/com/datatorrent/contrib/couchdb/MapBasedCouchDbOutputOperator.java
 
b/contrib/src/main/java/com/datatorrent/contrib/couchdb/MapBasedCouchDbOutputOperator.java
index e8cf001..c2cfce1 100644
--- 
a/contrib/src/main/java/com/datatorrent/contrib/couchdb/MapBasedCouchDbOutputOperator.java
+++ 
b/contrib/src/main/java/com/datatorrent/contrib/couchdb/MapBasedCouchDbOutputOperator.java
@@ -21,8 +21,8 @@ import java.util.Map;
  * Implementation of {@link AbstractCouchDBOutputOperator} that saves a Map in 
the couch database. <br/>
  * <p>
  * @displayName Map Based CouchDb Output Operator
- * @category Database
- * @tags output operator
+ * @category Output
+ * @tags couchDb, database, nosql
  * @since 0.3.5
  */
 public class MapBasedCouchDbOutputOperator extends 
AbstractCouchDBOutputOperator<Map<Object, Object>>

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/dd15161d/contrib/src/main/java/com/datatorrent/contrib/memsql/MemsqlPOJOInputOperator.java
----------------------------------------------------------------------
diff --git 
a/contrib/src/main/java/com/datatorrent/contrib/memsql/MemsqlPOJOInputOperator.java
 
b/contrib/src/main/java/com/datatorrent/contrib/memsql/MemsqlPOJOInputOperator.java
index 64d0227..6022c3d 100644
--- 
a/contrib/src/main/java/com/datatorrent/contrib/memsql/MemsqlPOJOInputOperator.java
+++ 
b/contrib/src/main/java/com/datatorrent/contrib/memsql/MemsqlPOJOInputOperator.java
@@ -38,10 +38,11 @@ import org.slf4j.LoggerFactory;
 /**
  * <p>
  * MemsqlPOJOInputOperator</p>
+ *
  * A Generic implementation of AbstractMemsqlInputOperator which gets field 
values from memsql database columns and sets in a POJO.
  * User should also provide a query to fetch the rows from database. This 
query is run continuously to fetch new data and
  * hence should be parameterized. The parameters that can be used are %t for 
table name, %p for primary key, %s for start value
- * and %l for limit. The start value is continuously updated with the value of 
a primary key column of the last row from
+ * and %l for batchSize. The start value is continuously updated with the 
value of a primary key column of the last row from
  * the result of the previous run of the query. The primary key column is also 
identified by the user using a property.
  *
  * @displayName Memsql Input Operator
@@ -51,7 +52,7 @@ import org.slf4j.LoggerFactory;
 public class MemsqlPOJOInputOperator extends 
AbstractMemsqlInputOperator<Object>
 {
   @Min(1)
-  private int limit = 10;
+  private int batchSize = 10;
   @Min(0)
   private Number startRow = 0;
   @NotNull
@@ -77,60 +78,73 @@ public class MemsqlPOJOInputOperator extends 
AbstractMemsqlInputOperator<Object>
   private transient Class<?> objectClass = null;
   private transient Class<?> primaryKeyColumnType;
 
-  /*
-   * Set of columns specified by User in case POJO needs to contain fields 
specific to these columns only.
-   * User should specify columns in same order as expressions for fields.
-   */
   public List<String> getColumns()
   {
     return columns;
   }
 
+  /**
+   * The columns specified by user in case POJO needs to contain fields 
specific to these columns only.
+   * User should specify columns in same order as expressions for fields.
+   * @param columns The columns.
+   */
   public void setColumns(List<String> columns)
   {
     this.columns = columns;
   }
 
-  /*
-   * Primary Key Column of table.
-   * Gets the primary key column of Memsql table.
+  /**
+   * Gets the primary key column of the input table.
+   * @return The primary key column of the input table.
    */
   public String getPrimaryKeyColumn()
   {
     return primaryKeyColumn;
   }
 
+  /**
+   * The primary key column of the input table.
+   * @param primaryKeyColumn The primary key column of the input table.
+   */
   public void setPrimaryKeyColumn(String primaryKeyColumn)
   {
     this.primaryKeyColumn = primaryKeyColumn;
   }
 
-  /*
-   * User has the option to specify the start row.
+  /**
+   * The row to start reading from the input table at.
+   * @return The row to start reading from the input table at.
    */
   public Number getStartRow()
   {
     return startRow;
   }
 
+  /**
+   * Sets the row to start reading form the input table at.
+   * @param startRow The row to start reading from the input table at.
+   */
   public void setStartRow(Number startRow)
   {
     this.startRow = startRow;
   }
 
-  public void setLimit(int limit)
+  /**
+   * Sets the batch size.
+   * @param batchSize The batch size.
+   */
+  public void setBatchSize(int batchSize)
   {
-    this.limit = limit;
+    this.batchSize = batchSize;
   }
 
-  /*
+  /**
    * Records are read in batches of this size.
-   * Gets the batch size.
    * @return batchsize
    */
-  public int getLimit()
+  public int getBatchSize()
   {
-    return limit;
+    return batchSize;
   }
 
   /*
@@ -152,43 +166,56 @@ public class MemsqlPOJOInputOperator extends 
AbstractMemsqlInputOperator<Object>
     this.outputClass = outputClass;
   }
 
-  /*
-   * Parameterized query with parameters such as %t for table name , %p for 
primary key, %s for start value and %l for limit.
-   * Example of retrieveQuery:
-   * select * from %t where %p > %s limit %l;
+  /**
+   * Gets the query used to extract data from memsql.
+   * @return The query.
    */
   public String getQuery()
   {
     return query;
   }
 
+  /**
+   * Parameterized query with parameters such as %t for table name , %p for 
primary key, %s for start value and %l for batchSize.
+   * Example of retrieveQuery:
+   * select * from %t where %p > %s batchSize %l;
+   */
   public void setQuery(String query)
   {
     this.query = query.replace("%t", tablename);
   }
 
-  /*
-   * An ArrayList of Java expressions that will yield the memsql column value 
to be set in output object.
-   * Each expression corresponds to one column in the Memsql table.
+  /**
+   * Gets the getter expressions for extracting data from POJOs.
+   * @return The getter expressions for extracting data from pojos.
    */
   public List<String> getExpressions()
   {
     return expressions;
   }
 
+  /**
+   * An ArrayList of Java expressions that will yield the memsql column value 
to be set in output object.
+   * Each expression corresponds to one column in the Memsql table.
+   */
   public void setExpressions(List<String> expressions)
   {
     this.expressions = expressions;
   }
 
-  /*
-   * Tablename in memsql.
+  /**
+   * Gets the name of the table that is read from memsql.
+   * @return The name of the table that is read from memsql.
    */
   public String getTablename()
   {
     return tablename;
   }
 
+  /**
+   * The table name in memsql to read data from.
+   * @param tablename The table name.
+   */
   public void setTablename(String tablename)
   {
     this.tablename = tablename;
@@ -246,7 +273,7 @@ public class MemsqlPOJOInputOperator extends 
AbstractMemsqlInputOperator<Object>
         query = query.replace("%p", primaryKeyColumn);
       }
       if (query.contains("%l")) {
-        query = query.replace("%l", limit + "");
+        query = query.replace("%l", batchSize + "");
       }
 
       statement.close();
@@ -366,10 +393,10 @@ public class MemsqlPOJOInputOperator extends 
AbstractMemsqlInputOperator<Object>
     return obj;
   }
 
-  /*
+  /**
    * This method replaces the parameters in Query with actual values given by 
user.
    * Example of retrieveQuery:
-   * select * from %t where %p > %s limit %l;
+   * select * from %t where %p > %s batchSize %l;
    */
   @Override
   public String queryToRetrieveData()

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/dd15161d/contrib/src/main/java/com/datatorrent/contrib/ruby/RubyOperator.java
----------------------------------------------------------------------
diff --git 
a/contrib/src/main/java/com/datatorrent/contrib/ruby/RubyOperator.java 
b/contrib/src/main/java/com/datatorrent/contrib/ruby/RubyOperator.java
index 35427e0..d4bc916 100644
--- a/contrib/src/main/java/com/datatorrent/contrib/ruby/RubyOperator.java
+++ b/contrib/src/main/java/com/datatorrent/contrib/ruby/RubyOperator.java
@@ -29,12 +29,12 @@ import com.datatorrent.lib.script.ScriptOperator;
  * <p>
  *
  * WARNING: EXPERIMENTAL USE ONLY!  This operator depends on jruby which has
- * a transitive dependency on an incompatible version of ASM that breaks 
+ * a transitive dependency on an incompatible version of ASM that breaks
  * webservice in stram.
  *
  * @displayName Ruby Operator
  * @category Scripting
- * @tags script operator, map, string
+ * @tags script, map, string
  * @since 1.0.4
  */
 public class RubyOperator extends ScriptOperator {

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/dd15161d/contrib/src/test/java/com/datatorrent/contrib/memsql/AbstractMemsqlInputOperatorTest.java
----------------------------------------------------------------------
diff --git 
a/contrib/src/test/java/com/datatorrent/contrib/memsql/AbstractMemsqlInputOperatorTest.java
 
b/contrib/src/test/java/com/datatorrent/contrib/memsql/AbstractMemsqlInputOperatorTest.java
index abf2969..4cd92f6 100644
--- 
a/contrib/src/test/java/com/datatorrent/contrib/memsql/AbstractMemsqlInputOperatorTest.java
+++ 
b/contrib/src/test/java/com/datatorrent/contrib/memsql/AbstractMemsqlInputOperatorTest.java
@@ -181,7 +181,7 @@ public class AbstractMemsqlInputOperatorTest
     OperatorContextTestHelper.TestIdOperatorContext context = new 
OperatorContextTestHelper.TestIdOperatorContext(OPERATOR_ID, attributeMap);
     MemsqlPOJOInputOperator inputOperator = new MemsqlPOJOInputOperator();
     createStore((MemsqlStore)inputOperator.getStore(), true);
-    inputOperator.setLimit(10);
+    inputOperator.setBatchSize(10);
     inputOperator.setTablename(FQ_TABLE);
     inputOperator.setPrimaryKeyColumn(INDEX_COLUMN);
     ArrayList<String> expressions = new ArrayList<String>();
@@ -222,7 +222,7 @@ public class AbstractMemsqlInputOperatorTest
     inputOperator.setQuery("select * from " + FQ_TABLE + " where " + "%p " + 
">= " + "%s" + " LIMIT " + "%l" +";");
     inputOperator.setStartRow(1);
 
-    inputOperator.setLimit(10);
+    inputOperator.setBatchSize(10);
     inputOperator.setup(context);
 
     inputOperator.beginWindow(0);

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/dd15161d/library/src/main/java/com/datatorrent/lib/algo/AllAfterMatchMap.java
----------------------------------------------------------------------
diff --git 
a/library/src/main/java/com/datatorrent/lib/algo/AllAfterMatchMap.java 
b/library/src/main/java/com/datatorrent/lib/algo/AllAfterMatchMap.java
index fb109b7..aedc1e2 100644
--- a/library/src/main/java/com/datatorrent/lib/algo/AllAfterMatchMap.java
+++ b/library/src/main/java/com/datatorrent/lib/algo/AllAfterMatchMap.java
@@ -61,7 +61,7 @@ import com.datatorrent.lib.util.BaseMatchOperator;
  * </p>
  *
  * @displayName Emit All After Match (Number)
- * @category Algorithmic
+ * @category Rules and Alerts
  * @tags filter, compare, numeric, key value
  *
  * @since 0.3.2

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/dd15161d/library/src/main/java/com/datatorrent/lib/algo/BottomNMap.java
----------------------------------------------------------------------
diff --git a/library/src/main/java/com/datatorrent/lib/algo/BottomNMap.java 
b/library/src/main/java/com/datatorrent/lib/algo/BottomNMap.java
index f442a19..e04bd6b 100644
--- a/library/src/main/java/com/datatorrent/lib/algo/BottomNMap.java
+++ b/library/src/main/java/com/datatorrent/lib/algo/BottomNMap.java
@@ -49,7 +49,7 @@ import 
com.datatorrent.lib.util.AbstractBaseNNonUniqueOperatorMap;
  * </p>
  *
  * @displayName Bottom N
- * @category Algorithmic
+ * @category Stats and Aggregations
  * @tags filter, rank, key value
  *
  * @since 0.3.3
@@ -91,9 +91,10 @@ public class BottomNMap<K, V> extends 
AbstractBaseNNonUniqueOperatorMap<K, V>
   {
     bottom.emit(tuple);
   }
-  
+
   /**
-   * @param val Bottom N values to be returned
+   * Bottom N values to be returned.
+   * @param val Bottom N values to be returned.
    */
   @Override
   public void setN(int val)

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/dd15161d/library/src/main/java/com/datatorrent/lib/algo/BottomNUniqueMap.java
----------------------------------------------------------------------
diff --git 
a/library/src/main/java/com/datatorrent/lib/algo/BottomNUniqueMap.java 
b/library/src/main/java/com/datatorrent/lib/algo/BottomNUniqueMap.java
index 96d45eb..bd8f1c0 100644
--- a/library/src/main/java/com/datatorrent/lib/algo/BottomNUniqueMap.java
+++ b/library/src/main/java/com/datatorrent/lib/algo/BottomNUniqueMap.java
@@ -44,7 +44,7 @@ import 
com.datatorrent.lib.util.AbstractBaseNUniqueOperatorMap;
  * </p>
  *
  * @displayName Bottom N Unique Map
- * @category Algorithmic
+ * @category Stats and Aggregations
  * @tags filter, rank, unique, key value
  *
  * @since 0.3.3
@@ -75,9 +75,10 @@ public class BottomNUniqueMap<K, V> extends 
AbstractBaseNUniqueOperatorMap<K, V>
   {
     bottom.emit(tuple);
   }
-  
+
   /**
-   * @param val Bottom N unique tuples
+   * Bottom N unique tuples.
+   * @param val Bottom N unique tuples.
    */
   @Override
   public void setN(int val)

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/dd15161d/library/src/main/java/com/datatorrent/lib/algo/CompareExceptCountMap.java
----------------------------------------------------------------------
diff --git 
a/library/src/main/java/com/datatorrent/lib/algo/CompareExceptCountMap.java 
b/library/src/main/java/com/datatorrent/lib/algo/CompareExceptCountMap.java
index 30e8159..a609b05 100644
--- a/library/src/main/java/com/datatorrent/lib/algo/CompareExceptCountMap.java
+++ b/library/src/main/java/com/datatorrent/lib/algo/CompareExceptCountMap.java
@@ -53,8 +53,8 @@ import com.datatorrent.lib.util.UnifierSumNumber;
  * <br>
  * </p>
  *
- * @displayName Compare Match and No Match Count   
- * @category Algorithmic
+ * @displayName Compare Match and No Match Count
+ * @category Rules and Alerts
  * @tags count, key value
  *
  * @since 0.3.2

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/dd15161d/library/src/main/java/com/datatorrent/lib/algo/Distinct.java
----------------------------------------------------------------------
diff --git a/library/src/main/java/com/datatorrent/lib/algo/Distinct.java 
b/library/src/main/java/com/datatorrent/lib/algo/Distinct.java
index 35a7c88..34e2757 100644
--- a/library/src/main/java/com/datatorrent/lib/algo/Distinct.java
+++ b/library/src/main/java/com/datatorrent/lib/algo/Distinct.java
@@ -47,7 +47,7 @@ import com.datatorrent.lib.util.BaseKeyOperator;
  * </p>
  *
  * @displayName Emit Distinct
- * @category Algorithmic
+ * @category Rules and Alerts
  * @tags filter, unique
  *
  * @since 0.3.3

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/dd15161d/library/src/main/java/com/datatorrent/lib/algo/DistinctMap.java
----------------------------------------------------------------------
diff --git a/library/src/main/java/com/datatorrent/lib/algo/DistinctMap.java 
b/library/src/main/java/com/datatorrent/lib/algo/DistinctMap.java
index 7629923..e7acc0f 100644
--- a/library/src/main/java/com/datatorrent/lib/algo/DistinctMap.java
+++ b/library/src/main/java/com/datatorrent/lib/algo/DistinctMap.java
@@ -44,8 +44,8 @@ import com.datatorrent.lib.util.UnifierHashMap;
  * <br>
  * </p>
  *
- * @displayName Emit Distinct Keyval Pairs
- * @category Algorithmic
+ * @displayName Distinct Key Value Merge
+ * @category Stream Manipulators
  * @tags filter, unique, key value
  *
  * @since 0.3.2

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/dd15161d/library/src/main/java/com/datatorrent/lib/algo/FilterKeyVals.java
----------------------------------------------------------------------
diff --git a/library/src/main/java/com/datatorrent/lib/algo/FilterKeyVals.java 
b/library/src/main/java/com/datatorrent/lib/algo/FilterKeyVals.java
index 56c3306..f1319d1 100644
--- a/library/src/main/java/com/datatorrent/lib/algo/FilterKeyVals.java
+++ b/library/src/main/java/com/datatorrent/lib/algo/FilterKeyVals.java
@@ -57,7 +57,7 @@ import com.datatorrent.lib.util.BaseKeyOperator;
  * </p>
  *
  * @displayName Filter Keyval Pairs
- * @category Algorithmic
+ * @category Rules and Alerts
  * @tags filter, key value
  *
  * @since 0.3.2
@@ -102,7 +102,7 @@ public class FilterKeyVals<K,V> extends BaseKeyOperator<K>
   private transient HashMap<K,V> entry = new HashMap<K,V>(1);
 
   /**
-   * getter function for parameter inverse
+   * Gets the inverse property.
    * @return inverse
    */
   public boolean getInverse() {
@@ -110,7 +110,7 @@ public class FilterKeyVals<K,V> extends BaseKeyOperator<K>
   }
 
   /**
-   * True means match; False means unmatched
+   * If true then only matches are emitted. If false then only non matches are 
emitted.
    * @param val
    */
   public void setInverse(boolean val) {

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/dd15161d/library/src/main/java/com/datatorrent/lib/algo/FilterKeysMap.java
----------------------------------------------------------------------
diff --git a/library/src/main/java/com/datatorrent/lib/algo/FilterKeysMap.java 
b/library/src/main/java/com/datatorrent/lib/algo/FilterKeysMap.java
index 7596f07..7cd0f1f 100644
--- a/library/src/main/java/com/datatorrent/lib/algo/FilterKeysMap.java
+++ b/library/src/main/java/com/datatorrent/lib/algo/FilterKeysMap.java
@@ -52,7 +52,7 @@ import com.datatorrent.lib.util.UnifierHashMap;
  * </p>
  *
  * @displayName Filter Keyval Pairs By Key Generic
- * @category Algorithmic
+ * @category Rules and Alerts
  * @tags filter, key value
  *
  * @since 0.3.2
@@ -113,7 +113,7 @@ public class FilterKeysMap<K,V> extends BaseKeyOperator<K>
   };
 
   /**
-   * getter function for parameter inverse
+   * If true then only matches are emitted. If false then only non matches are 
emitted.
    * @return inverse
    */
   public boolean getInverse() {
@@ -122,7 +122,7 @@ public class FilterKeysMap<K,V> extends BaseKeyOperator<K>
 
 
   /**
-   * True means match; False means unmatched
+   * Sets the inverse property. If true then only matches are emitted. If 
false then only non matches are emitted.
    * @param val
    */
   public void setInverse(boolean val) {
@@ -150,6 +150,24 @@ public class FilterKeysMap<K,V> extends BaseKeyOperator<K>
     }
   }
 
+  /**
+   * The keys to filter. The values in the map should be null.
+   * @param keys
+   */
+  public void setKeys(HashMap<K, V> keys)
+  {
+    this.keys = keys;
+  }
+
+  /**
+   * Gets the keys to filter.
+   * @return Returns a map containing the keys.
+   */
+  public HashMap<K, V> getKeys()
+  {
+    return keys;
+  }
+
   /*
    * Clears the filter list
    */

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/dd15161d/library/src/main/java/com/datatorrent/lib/algo/FilterValues.java
----------------------------------------------------------------------
diff --git a/library/src/main/java/com/datatorrent/lib/algo/FilterValues.java 
b/library/src/main/java/com/datatorrent/lib/algo/FilterValues.java
index 738d9a5..a8d96eb 100644
--- a/library/src/main/java/com/datatorrent/lib/algo/FilterValues.java
+++ b/library/src/main/java/com/datatorrent/lib/algo/FilterValues.java
@@ -48,7 +48,7 @@ import com.datatorrent.api.annotation.Stateless;
  * </p>
  *
  * @displayName Filter Values
- * @category Algorithmic
+ * @category Rules and Alerts
  * @tags filter
  *
  * @since 0.3.2
@@ -58,7 +58,7 @@ import com.datatorrent.api.annotation.Stateless;
 public class FilterValues<T> extends BaseOperator
 {
   /**
-   * The input port on which tuples are recieved.
+   * The input port on which tuples are received.
    */
   public final transient DefaultInputPort<T> data = new DefaultInputPort<T>()
   {
@@ -86,8 +86,7 @@ public class FilterValues<T> extends BaseOperator
   boolean inverse = false;
 
   /**
-   * getter function for parameter inverse
-   *
+   * Gets the inverse property.
    * @return inverse
    */
   public boolean getInverse()
@@ -96,7 +95,7 @@ public class FilterValues<T> extends BaseOperator
   }
 
   /**
-   * True means match; False means unmatched
+   * If true then only matches are emitted. If false then only non matches are 
emitted.
    * @param val
    */
   public void setInverse(boolean val)
@@ -131,6 +130,25 @@ public class FilterValues<T> extends BaseOperator
   }
 
   /**
+   * Gets the values to be filtered.
+   * @return The values to be filtered.
+   */
+  public HashMap<T, Object> getValues()
+  {
+    return values;
+  }
+
+  /**
+   * A map containing the values to be filtered. The values are set to be the 
keys in the map, and the
+   * values are set to be null.
+   * @param values The values to be filtered.
+   */
+  public void setValues(HashMap<T, Object> values)
+  {
+    this.values = values;
+  }
+
+  /**
    * Clears the filter
    */
   public void clearValues()

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/dd15161d/library/src/main/java/com/datatorrent/lib/algo/FirstN.java
----------------------------------------------------------------------
diff --git a/library/src/main/java/com/datatorrent/lib/algo/FirstN.java 
b/library/src/main/java/com/datatorrent/lib/algo/FirstN.java
index 8677017..b0a502e 100644
--- a/library/src/main/java/com/datatorrent/lib/algo/FirstN.java
+++ b/library/src/main/java/com/datatorrent/lib/algo/FirstN.java
@@ -50,7 +50,7 @@ import com.datatorrent.lib.util.AbstractBaseNOperatorMap;
  * </p>
  *
  * @displayName First N Keyval Pairs Matching Key
- * @category Algorithmic
+ * @category Rules and Alerts
  * @tags filter, key value
  *
  * @since 0.3.2
@@ -96,7 +96,7 @@ public class FirstN<K,V> extends AbstractBaseNOperatorMap<K, 
V>
   {
     keycount.clear();
   }
-  
+
   /**
    * First N number of KeyValue pairs for each Key.
    * @param val

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/dd15161d/library/src/main/java/com/datatorrent/lib/algo/InsertSort.java
----------------------------------------------------------------------
diff --git a/library/src/main/java/com/datatorrent/lib/algo/InsertSort.java 
b/library/src/main/java/com/datatorrent/lib/algo/InsertSort.java
index aa306cd..9a84098 100644
--- a/library/src/main/java/com/datatorrent/lib/algo/InsertSort.java
+++ b/library/src/main/java/com/datatorrent/lib/algo/InsertSort.java
@@ -45,8 +45,8 @@ import com.datatorrent.lib.util.AbstractBaseSortOperator;
  * </p>
  *
  * @displayName Sort Ascending
- * @category Algorithmic
- * @tags rank
+ * @category Stream Manipulators
+ * @tags rank, sort
  *
  * @since 0.3.3
  */

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/dd15161d/library/src/main/java/com/datatorrent/lib/algo/InsertSortDesc.java
----------------------------------------------------------------------
diff --git a/library/src/main/java/com/datatorrent/lib/algo/InsertSortDesc.java 
b/library/src/main/java/com/datatorrent/lib/algo/InsertSortDesc.java
index ff908f3..cf8fc53 100644
--- a/library/src/main/java/com/datatorrent/lib/algo/InsertSortDesc.java
+++ b/library/src/main/java/com/datatorrent/lib/algo/InsertSortDesc.java
@@ -47,8 +47,8 @@ import java.util.PriorityQueue;
  * <br>
  * </p>
  * @displayName Sort Descending
- * @category Algorithmic
- * @tags rank
+ * @category Stream Manipulators
+ * @tags rank, sort
  *
  * @since 0.3.2
  */

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/dd15161d/library/src/main/java/com/datatorrent/lib/algo/InvertIndex.java
----------------------------------------------------------------------
diff --git a/library/src/main/java/com/datatorrent/lib/algo/InvertIndex.java 
b/library/src/main/java/com/datatorrent/lib/algo/InvertIndex.java
index 46bd87c..dbf542f 100644
--- a/library/src/main/java/com/datatorrent/lib/algo/InvertIndex.java
+++ b/library/src/main/java/com/datatorrent/lib/algo/InvertIndex.java
@@ -45,8 +45,8 @@ import com.datatorrent.lib.util.BaseKeyValueOperator;
  * <br>
  * </p>
  *
- * @displayName Invert Keyval Pairs
- * @category Algorithmic
+ * @displayName Invert Key Value Pairs
+ * @category Stream Manipulators
  * @tags key value
  *
  * @since 0.3.2

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/dd15161d/library/src/main/java/com/datatorrent/lib/algo/InvertIndexArray.java
----------------------------------------------------------------------
diff --git 
a/library/src/main/java/com/datatorrent/lib/algo/InvertIndexArray.java 
b/library/src/main/java/com/datatorrent/lib/algo/InvertIndexArray.java
index 6e3ec0b..cb6fa23 100644
--- a/library/src/main/java/com/datatorrent/lib/algo/InvertIndexArray.java
+++ b/library/src/main/java/com/datatorrent/lib/algo/InvertIndexArray.java
@@ -44,8 +44,8 @@ import com.datatorrent.lib.util.BaseKeyValueOperator;
  * <br>
  * </p>
  *
- * @displayName Invert Keyval Pairs (Array)
- * @category Algorithmic
+ * @displayName Invert Key Value Pairs (Array)
+ * @category Stream Manipulators
  * @tags key value
  *
  * @since 0.3.2

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/dd15161d/library/src/main/java/com/datatorrent/lib/algo/LastMatchMap.java
----------------------------------------------------------------------
diff --git a/library/src/main/java/com/datatorrent/lib/algo/LastMatchMap.java 
b/library/src/main/java/com/datatorrent/lib/algo/LastMatchMap.java
index dbe2045..4031697 100644
--- a/library/src/main/java/com/datatorrent/lib/algo/LastMatchMap.java
+++ b/library/src/main/java/com/datatorrent/lib/algo/LastMatchMap.java
@@ -26,7 +26,7 @@ import com.datatorrent.lib.util.BaseMatchOperator;
 
 /**
  * This operator filters the incoming stream of key value pairs by obtaining 
the values corresponding to a specified key,
- * and comparing those values to a specified number.&nbsp;The last key value 
pair, in each window, to satisfy the comparison is emitted.
+ * and comparing those values to a specified value.&nbsp;The last key value 
pair, in each window, to satisfy the comparison is emitted.
  * <p>
  * A compare function is  operated on a tuple value sub-classed from Number 
based on the property "key", "value", and "cmp". Every tuple
  * is checked and the last one that passes the condition is send during end of 
window on port "last". The comparison is done by getting double
@@ -55,7 +55,7 @@ import com.datatorrent.lib.util.BaseMatchOperator;
  * </p>
  *
  * @displayName Emit Last Match (Number)
- * @category Algorithmic
+ * @category Rules and Alerts
  * @tags filter, key value, numeric
  *
  * @since 0.3.2

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/dd15161d/library/src/main/java/com/datatorrent/lib/algo/LeastFrequentKey.java
----------------------------------------------------------------------
diff --git 
a/library/src/main/java/com/datatorrent/lib/algo/LeastFrequentKey.java 
b/library/src/main/java/com/datatorrent/lib/algo/LeastFrequentKey.java
deleted file mode 100644
index 3dfa68c..0000000
--- a/library/src/main/java/com/datatorrent/lib/algo/LeastFrequentKey.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/**
- * Copyright (C) 2015 DataTorrent, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *         http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.datatorrent.lib.algo;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-
-import com.datatorrent.api.DefaultInputPort;
-import com.datatorrent.api.DefaultOutputPort;
-import com.datatorrent.api.annotation.OperatorAnnotation;
-import com.datatorrent.api.annotation.OutputPortFieldAnnotation;
-
-import com.datatorrent.lib.util.AbstractBaseFrequentKey;
-
-/**
- * This operator filters the incoming stream of values by emitting the value 
or values (if there is a tie)
- * that occurred the fewest number of times within each window to the output 
port "list".&nbsp;
- * One of the values is emitted to the output port "least" at the end of each 
window.
- * <p>
- * Occurrences of each tuple is counted and at the end of window any of the 
least frequent tuple is emitted on output port 'least'
- * All keys with same least frequency value least are emitted on output port 
'list'.<br>
- * This module is an end of window module<br>
- * In case of a tie any of the least key would be emitted. The list port would 
however have all the tied keys
- * <br>
- * <b>StateFull : Yes, </b> tuple are compared across application window(s). 
<br>
- * <b>Partitions : Yes, </b> least keys are unified on output port. <br>
- * <br>
- * <b>Ports</b>:<br>
- * <b>data</b>: expects K<br>
- * <b>least</b>: emits HashMap&lt;K,Integer&gt;(1), Where K is the least 
occurring key in the window.
- *               In case of tie any of the least key would be emitted<br>
- * <b>list</b>: emits ArrayList&lt;HashMap&lt;K,Integer&gt;(1)&gt, Where the 
list includes all the keys that are least frequent<br>
- * <br>
- * </p>
- *
- * @displayName Emit Least Frequent Value
- * @category Algorithmic
- * @tags filter, count
- *
- * @since 0.3.3
- */
-
-@OperatorAnnotation(partitionable = true)
-public class LeastFrequentKey<K> extends AbstractBaseFrequentKey<K>
-{
-  /**
-   * The input port on which tuples are received.
-   */
-  public final transient DefaultInputPort<K> data = new DefaultInputPort<K>()
-  {
-    /**
-     * Calls super.processTuple(tuple)
-     */
-    @Override
-    public void process(K tuple)
-    {
-      processTuple(tuple);
-    }
-  };
-
-  /**
-   * The output port on which one of the tuples,
-   * which occurred the least number of times,
-   * is emitted.
-   */
-  @OutputPortFieldAnnotation(optional=true)
-  public final transient DefaultOutputPort<HashMap<K, Integer>> least = new 
DefaultOutputPort<HashMap<K, Integer>>()
-  {
-    @SuppressWarnings({ "rawtypes", "unchecked" })
-    @Override
-    public Unifier<HashMap<K, Integer>> getUnifier()
-    {
-      return new LeastFrequentKeyUnifier<K>();
-    }
-  };
-
-  /**
-   * The output port on which all the tuples,
-   * which occurred the least number of times,
-   * is emitted.
-   */
-  @OutputPortFieldAnnotation(optional=true)
-  public final transient DefaultOutputPort<ArrayList<HashMap<K, Integer>>> 
list = new DefaultOutputPort<ArrayList<HashMap<K, Integer>>>()
-  {
-    @SuppressWarnings({ "rawtypes", "unchecked" })
-    @Override
-    public Unifier<ArrayList<HashMap<K, Integer>>> getUnifier()
-    {
-      return new LeastFrequentKeyArrayUnifier<K>();
-    }
-  };
-
-  /**
-   * Emits tuple on port "least"
-   * @param tuple
-   */
-  @Override
-  public void emitTuple(HashMap<K, Integer> tuple)
-  {
-    least.emit(tuple);
-  }
-
-  /**
-   * returns val1 < val2
-   * @param val1
-   * @param val2
-   * @return val1 < val2
-   */
-  @Override
-    public boolean compareCount(int val1, int val2)
-  {
-    return val1 < val2;
-  }
-
-  /**
-   * Emits tuple on port "list"
-   * @param tlist
-   */
-  @Override
-  public void emitList(ArrayList<HashMap<K, Integer>> tlist)
-  {
-    list.emit(tlist);
-  }
-}

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/dd15161d/library/src/main/java/com/datatorrent/lib/algo/LeastFrequentKeyMap.java
----------------------------------------------------------------------
diff --git 
a/library/src/main/java/com/datatorrent/lib/algo/LeastFrequentKeyMap.java 
b/library/src/main/java/com/datatorrent/lib/algo/LeastFrequentKeyMap.java
index 0290d26..36e8e8e 100644
--- a/library/src/main/java/com/datatorrent/lib/algo/LeastFrequentKeyMap.java
+++ b/library/src/main/java/com/datatorrent/lib/algo/LeastFrequentKeyMap.java
@@ -48,8 +48,8 @@ import com.datatorrent.lib.util.UnifierHashMapFrequent;
  * <br>
  * </p>
  *
- * @displayName Emit Least Frequent Key
- * @category Algorithmic
+ * @displayName Emit Least Frequent Tuple Key
+ * @category Rules and Alerts
  * @tags filter, key value, count
  *
  * @since 0.3.2

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/dd15161d/library/src/main/java/com/datatorrent/lib/algo/LeastFrequentKeyValueMap.java
----------------------------------------------------------------------
diff --git 
a/library/src/main/java/com/datatorrent/lib/algo/LeastFrequentKeyValueMap.java 
b/library/src/main/java/com/datatorrent/lib/algo/LeastFrequentKeyValueMap.java
index f8550ee..895c8df 100644
--- 
a/library/src/main/java/com/datatorrent/lib/algo/LeastFrequentKeyValueMap.java
+++ 
b/library/src/main/java/com/datatorrent/lib/algo/LeastFrequentKeyValueMap.java
@@ -66,8 +66,8 @@ import 
com.datatorrent.lib.util.AbstractBaseFrequentKeyValueMap;
  * <br>
  * </p>
  *
- * @displayName Emit Lest Frequent Keyval Pair
- * @category Algorithmic
+ * @displayName Emit Least Frequent Keyval Pair
+ * @category Rules and Alerts
  * @tags filter, key value, count
  *
  * @since 0.3.2

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/dd15161d/library/src/main/java/com/datatorrent/lib/algo/LeastFrequentValue.java
----------------------------------------------------------------------
diff --git 
a/library/src/main/java/com/datatorrent/lib/algo/LeastFrequentValue.java 
b/library/src/main/java/com/datatorrent/lib/algo/LeastFrequentValue.java
new file mode 100644
index 0000000..af68ead
--- /dev/null
+++ b/library/src/main/java/com/datatorrent/lib/algo/LeastFrequentValue.java
@@ -0,0 +1,137 @@
+/**
+ * Copyright (C) 2015 DataTorrent, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *         http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.datatorrent.lib.algo;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+
+import com.datatorrent.api.DefaultInputPort;
+import com.datatorrent.api.DefaultOutputPort;
+import com.datatorrent.api.annotation.OperatorAnnotation;
+import com.datatorrent.api.annotation.OutputPortFieldAnnotation;
+
+import com.datatorrent.lib.util.AbstractBaseFrequentKey;
+
+/**
+ * This operator filters the incoming stream of values by emitting the value 
or values (if there is a tie)
+ * that occurred the fewest number of times within each window to the output 
port "list".&nbsp;
+ * One of the values is emitted to the output port "least" at the end of each 
window.
+ * <p>
+ * Occurrences of each tuple is counted and at the end of window any of the 
least frequent tuple is emitted on output port 'least'
+ * All keys with same least frequency value least are emitted on output port 
'list'.<br>
+ * This module is an end of window module<br>
+ * In case of a tie any of the least key would be emitted. The list port would 
however have all the tied keys
+ * <br>
+ * <b>StateFull : Yes, </b> tuple are compared across application window(s). 
<br>
+ * <b>Partitions : Yes, </b> least keys are unified on output port. <br>
+ * <br>
+ * <b>Ports</b>:<br>
+ * <b>data</b>: expects K<br>
+ * <b>least</b>: emits HashMap&lt;K,Integer&gt;(1), Where K is the least 
occurring key in the window.
+ *               In case of tie any of the least key would be emitted<br>
+ * <b>list</b>: emits ArrayList&lt;HashMap&lt;K,Integer&gt;(1)&gt, Where the 
list includes all the keys that are least frequent<br>
+ * <br>
+ * </p>
+ *
+ * @displayName Emit Least Frequent Value
+ * @category Rules and Alerts
+ * @tags filter, count
+ *
+ * @since 0.3.3
+ */
+
+@OperatorAnnotation(partitionable = true)
+public class LeastFrequentValue<K> extends AbstractBaseFrequentKey<K>
+{
+  /**
+   * The input port on which tuples are received.
+   */
+  public final transient DefaultInputPort<K> data = new DefaultInputPort<K>()
+  {
+    /**
+     * Calls super.processTuple(tuple)
+     */
+    @Override
+    public void process(K tuple)
+    {
+      processTuple(tuple);
+    }
+  };
+
+  /**
+   * The output port on which one of the tuples,
+   * which occurred the least number of times,
+   * is emitted.
+   */
+  @OutputPortFieldAnnotation(optional=true)
+  public final transient DefaultOutputPort<HashMap<K, Integer>> least = new 
DefaultOutputPort<HashMap<K, Integer>>()
+  {
+    @SuppressWarnings({ "rawtypes", "unchecked" })
+    @Override
+    public Unifier<HashMap<K, Integer>> getUnifier()
+    {
+      return new LeastFrequentKeyUnifier<K>();
+    }
+  };
+
+  /**
+   * The output port on which all the tuples,
+   * which occurred the least number of times,
+   * is emitted.
+   */
+  @OutputPortFieldAnnotation(optional=true)
+  public final transient DefaultOutputPort<ArrayList<HashMap<K, Integer>>> 
list = new DefaultOutputPort<ArrayList<HashMap<K, Integer>>>()
+  {
+    @SuppressWarnings({ "rawtypes", "unchecked" })
+    @Override
+    public Unifier<ArrayList<HashMap<K, Integer>>> getUnifier()
+    {
+      return new LeastFrequentKeyArrayUnifier<K>();
+    }
+  };
+
+  /**
+   * Emits tuple on port "least"
+   * @param tuple
+   */
+  @Override
+  public void emitTuple(HashMap<K, Integer> tuple)
+  {
+    least.emit(tuple);
+  }
+
+  /**
+   * returns val1 < val2
+   * @param val1
+   * @param val2
+   * @return val1 < val2
+   */
+  @Override
+    public boolean compareCount(int val1, int val2)
+  {
+    return val1 < val2;
+  }
+
+  /**
+   * Emits tuple on port "list"
+   * @param tlist
+   */
+  @Override
+  public void emitList(ArrayList<HashMap<K, Integer>> tlist)
+  {
+    list.emit(tlist);
+  }
+}

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/dd15161d/library/src/main/java/com/datatorrent/lib/algo/MatchAllMap.java
----------------------------------------------------------------------
diff --git a/library/src/main/java/com/datatorrent/lib/algo/MatchAllMap.java 
b/library/src/main/java/com/datatorrent/lib/algo/MatchAllMap.java
index 0780419..6fdbb6a 100644
--- a/library/src/main/java/com/datatorrent/lib/algo/MatchAllMap.java
+++ b/library/src/main/java/com/datatorrent/lib/algo/MatchAllMap.java
@@ -57,7 +57,7 @@ import com.datatorrent.lib.util.UnifierBooleanAnd;
  * </p>
  *
  * @displayName Emit All Matching Values (Number)
- * @category Algorithmic
+ * @category Rules and Alerts
  * @tags filter, key value
  *
  * @since 0.3.2

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/dd15161d/library/src/main/java/com/datatorrent/lib/algo/MatchAnyMap.java
----------------------------------------------------------------------
diff --git a/library/src/main/java/com/datatorrent/lib/algo/MatchAnyMap.java 
b/library/src/main/java/com/datatorrent/lib/algo/MatchAnyMap.java
index edccb83..1da1e7b 100644
--- a/library/src/main/java/com/datatorrent/lib/algo/MatchAnyMap.java
+++ b/library/src/main/java/com/datatorrent/lib/algo/MatchAnyMap.java
@@ -59,7 +59,7 @@ import com.datatorrent.lib.util.UnifierBooleanOr;
  * </p>
  *
  * @displayName Emit Boolean For Match (Number)
- * @category Algorithmic
+ * @category Rules and Alerts
  * @tags filter, key value
  *
  * @since 0.3.2

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/dd15161d/library/src/main/java/com/datatorrent/lib/algo/MatchMap.java
----------------------------------------------------------------------
diff --git a/library/src/main/java/com/datatorrent/lib/algo/MatchMap.java 
b/library/src/main/java/com/datatorrent/lib/algo/MatchMap.java
index dd2ff17..aafaa61 100644
--- a/library/src/main/java/com/datatorrent/lib/algo/MatchMap.java
+++ b/library/src/main/java/com/datatorrent/lib/algo/MatchMap.java
@@ -122,4 +122,15 @@ public class MatchMap<K,V extends Number> extends 
BaseMatchOperator<K, V>
   public void tupleNotMatched(Map<K, V> tuple)
   {
   }
+
+
+  /**
+   * The key in the input tuple whose value will be used for comparison.
+   * @param key The key in the input tuple whose value will be used for 
comparison.
+   */
+  @Override
+  public void setKey(K key)
+  {
+    super.setKey(key);
+  }
 }

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/dd15161d/library/src/main/java/com/datatorrent/lib/algo/MergeSortNumber.java
----------------------------------------------------------------------
diff --git 
a/library/src/main/java/com/datatorrent/lib/algo/MergeSortNumber.java 
b/library/src/main/java/com/datatorrent/lib/algo/MergeSortNumber.java
index 8237fa6..83d52dd 100644
--- a/library/src/main/java/com/datatorrent/lib/algo/MergeSortNumber.java
+++ b/library/src/main/java/com/datatorrent/lib/algo/MergeSortNumber.java
@@ -40,7 +40,7 @@ import java.util.ArrayList;
  * 2. getUnifierInstance : Get unifier operator instance for output port, 
(must return self instance).
  * </p>
  * @displayName Merge Sorted Lists (Number)
- * @category Algorithmic
+ * @category Stream Manipulators
  * @tags rank, numeric
  *
  * @since 0.3.3

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/dd15161d/library/src/main/java/com/datatorrent/lib/algo/MostFrequentKey.java
----------------------------------------------------------------------
diff --git 
a/library/src/main/java/com/datatorrent/lib/algo/MostFrequentKey.java 
b/library/src/main/java/com/datatorrent/lib/algo/MostFrequentKey.java
deleted file mode 100644
index 6d6510a..0000000
--- a/library/src/main/java/com/datatorrent/lib/algo/MostFrequentKey.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/**
- * Copyright (C) 2015 DataTorrent, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *         http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.datatorrent.lib.algo;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-
-import com.datatorrent.api.DefaultInputPort;
-import com.datatorrent.api.DefaultOutputPort;
-import com.datatorrent.api.annotation.OperatorAnnotation;
-
-import com.datatorrent.lib.util.AbstractBaseFrequentKey;
-import com.datatorrent.lib.util.UnifierArrayHashMapFrequent;
-import com.datatorrent.lib.util.UnifierHashMapFrequent;
-
-/**
- * This operator filters the incoming stream of values by emitting the value 
or values (if there is a tie)
- * that occurred the largest number of times within each window to the output 
port "list".&nbsp;
- * One of the values is emitted to the output port "least" at the end of each 
window.
- * <p>
- * Occurrences of each tuple is counted and at the end of window any of the 
most frequent tuple is emitted on output port least and all least frequent
- * tuples on output port list
- * </p>
- * <p>
- * This module is an end of window module<br>
- * In case of a tie any of the least key would be emitted. The list port would 
however have all the tied keys
- * <br>
- *  <b>StateFull : Yes</b>, Values are compared all over  application window 
can be > 1. <br>
- *  <b>Partitions : Yes</b>, Result is unified on output port. <br>
- * <br>
- * <b>Ports</b>:<br>
- * <b>data</b>: expects K<br>
- * <b>most</b>: emits HashMap&lt;K,Integer&gt;(1), Where K is the least 
occurring key in the window. In case of tie any of the least key would be 
emitted<br>
- * <b>list</b>: emits ArrayList&lt;HashMap&lt;K,Integer&gt;(1)&gt, Where the 
list includes all the keys that are least frequent<br>
- * <br>
- * <b>Properties</b>: None<br>
- * <br>
- * <b>Compile time checks</b>: None<br>
- * <b>Specific run time checks</b>: None<br>
- * <br>
- * </p>
- * @displayName Emit Most Frequent Value
- * @category Algorithmic
- * @tags filter, count
- *
- * @since 0.3.2
- */
-
-@OperatorAnnotation(partitionable = true)
-public class MostFrequentKey<K> extends AbstractBaseFrequentKey<K>
-{
-  /**
-   * The input port which receives incoming tuples.
-   */
-  public final transient DefaultInputPort<K> data = new DefaultInputPort<K>()
-  {
-    /**
-     * Calls super.processTuple(tuple)
-     */
-    @Override
-    public void process(K tuple)
-    {
-      processTuple(tuple);
-    }
-  };
-  /**
-   * The output port on which all the tuples,
-   * which occurred the most number of times,
-   * is emitted.
-   */
-  public final transient DefaultOutputPort<HashMap<K, Integer>> most = new 
DefaultOutputPort<HashMap<K, Integer>>()
-  {
-    @SuppressWarnings({ "rawtypes", "unchecked" })
-    @Override
-    public Unifier<HashMap<K, Integer>> getUnifier()
-    {
-      UnifierHashMapFrequent ret = new UnifierHashMapFrequent<K>();
-      ret.setLeast(false);
-      return ret;
-    }
-  };
-
-
-  public final transient DefaultOutputPort<ArrayList<HashMap<K, Integer>>> 
list = new DefaultOutputPort<ArrayList<HashMap<K, Integer>>>()
-  {
-    @SuppressWarnings({"rawtypes", "ConstantConditions"})
-    @Override
-    public Unifier<ArrayList<HashMap<K, Integer>>> getUnifier()
-    {
-      Unifier<ArrayList<HashMap<K, Integer>>> ret = new 
UnifierArrayHashMapFrequent<K>();
-      ((UnifierHashMapFrequent) ret).setLeast(false);
-      return ret;
-    }
-  };
-
-  /**
-   * Emits tuple on port "most"
-   * @param tuple
-   */
-  @Override
-  public void emitTuple(HashMap<K, Integer> tuple)
-  {
-    most.emit(tuple);
-  }
-
-  /**
-   * Emits tuple on port "list"
-   * @param tlist
-   */
-  @Override
-  public void emitList(ArrayList<HashMap<K, Integer>> tlist)
-  {
-    list.emit(tlist);
-  }
-
-  /**
-   * returns val1 < val2
-   * @param val1
-   * @param val2
-   * @return val1 > val2
-   */
-  @Override
-  public boolean compareCount(int val1, int val2)
-  {
-    return val1 > val2;
-  }
-}

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/dd15161d/library/src/main/java/com/datatorrent/lib/algo/MostFrequentKeyMap.java
----------------------------------------------------------------------
diff --git 
a/library/src/main/java/com/datatorrent/lib/algo/MostFrequentKeyMap.java 
b/library/src/main/java/com/datatorrent/lib/algo/MostFrequentKeyMap.java
index cbd62e5..b51d255 100644
--- a/library/src/main/java/com/datatorrent/lib/algo/MostFrequentKeyMap.java
+++ b/library/src/main/java/com/datatorrent/lib/algo/MostFrequentKeyMap.java
@@ -49,7 +49,7 @@ import com.datatorrent.lib.util.UnifierHashMapFrequent;
  * </p>
  *
  * @displayName Emit Most Frequent Key
- * @category Algorithmic
+ * @category Rules and Alerts
  * @tags filter, key value, count
  *
  * @since 0.3.2

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/dd15161d/library/src/main/java/com/datatorrent/lib/algo/MostFrequentKeyValueMap.java
----------------------------------------------------------------------
diff --git 
a/library/src/main/java/com/datatorrent/lib/algo/MostFrequentKeyValueMap.java 
b/library/src/main/java/com/datatorrent/lib/algo/MostFrequentKeyValueMap.java
index 0d1827e..582aca0 100644
--- 
a/library/src/main/java/com/datatorrent/lib/algo/MostFrequentKeyValueMap.java
+++ 
b/library/src/main/java/com/datatorrent/lib/algo/MostFrequentKeyValueMap.java
@@ -69,7 +69,7 @@ import 
com.datatorrent.lib.util.AbstractBaseFrequentKeyValueMap;
  * </p>
  *
  * @displayName Emit Most Frequent Keyval Pair
- * @category Algorithmic
+ * @category Rules and Alerts
  * @tags filter, key value, count
  *
  * @since 0.3.2

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/dd15161d/library/src/main/java/com/datatorrent/lib/algo/MostFrequentValue.java
----------------------------------------------------------------------
diff --git 
a/library/src/main/java/com/datatorrent/lib/algo/MostFrequentValue.java 
b/library/src/main/java/com/datatorrent/lib/algo/MostFrequentValue.java
new file mode 100644
index 0000000..93ad026
--- /dev/null
+++ b/library/src/main/java/com/datatorrent/lib/algo/MostFrequentValue.java
@@ -0,0 +1,140 @@
+/**
+ * Copyright (C) 2015 DataTorrent, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *         http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.datatorrent.lib.algo;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+
+import com.datatorrent.api.DefaultInputPort;
+import com.datatorrent.api.DefaultOutputPort;
+import com.datatorrent.api.annotation.OperatorAnnotation;
+
+import com.datatorrent.lib.util.AbstractBaseFrequentKey;
+import com.datatorrent.lib.util.UnifierArrayHashMapFrequent;
+import com.datatorrent.lib.util.UnifierHashMapFrequent;
+
+/**
+ * This operator filters the incoming stream of values by emitting the value 
or values (if there is a tie)
+ * that occurred the largest number of times within each window to the output 
port "list".&nbsp;
+ * One of the values is emitted to the output port "least" at the end of each 
window.
+ * <p>
+ * Occurrences of each tuple is counted and at the end of window any of the 
most frequent tuple is emitted on output port least and all least frequent
+ * tuples on output port list
+ * </p>
+ * <p>
+ * This module is an end of window module<br>
+ * In case of a tie any of the least key would be emitted. The list port would 
however have all the tied keys
+ * <br>
+ *  <b>StateFull : Yes</b>, Values are compared all over  application window 
can be > 1. <br>
+ *  <b>Partitions : Yes</b>, Result is unified on output port. <br>
+ * <br>
+ * <b>Ports</b>:<br>
+ * <b>data</b>: expects K<br>
+ * <b>most</b>: emits HashMap&lt;K,Integer&gt;(1), Where K is the least 
occurring key in the window. In case of tie any of the least key would be 
emitted<br>
+ * <b>list</b>: emits ArrayList&lt;HashMap&lt;K,Integer&gt;(1)&gt, Where the 
list includes all the keys that are least frequent<br>
+ * <br>
+ * <b>Properties</b>: None<br>
+ * <br>
+ * <b>Compile time checks</b>: None<br>
+ * <b>Specific run time checks</b>: None<br>
+ * <br>
+ * </p>
+ * @displayName Emit Most Frequent Value
+ * @category Rules and Alerts
+ * @tags filter, count
+ *
+ * @since 0.3.2
+ */
+
+@OperatorAnnotation(partitionable = true)
+public class MostFrequentValue<K> extends AbstractBaseFrequentKey<K>
+{
+  /**
+   * The input port which receives incoming tuples.
+   */
+  public final transient DefaultInputPort<K> data = new DefaultInputPort<K>()
+  {
+    /**
+     * Calls super.processTuple(tuple)
+     */
+    @Override
+    public void process(K tuple)
+    {
+      processTuple(tuple);
+    }
+  };
+  /**
+   * The output port on which all the tuples,
+   * which occurred the most number of times,
+   * is emitted.
+   */
+  public final transient DefaultOutputPort<HashMap<K, Integer>> most = new 
DefaultOutputPort<HashMap<K, Integer>>()
+  {
+    @SuppressWarnings({ "rawtypes", "unchecked" })
+    @Override
+    public Unifier<HashMap<K, Integer>> getUnifier()
+    {
+      UnifierHashMapFrequent ret = new UnifierHashMapFrequent<K>();
+      ret.setLeast(false);
+      return ret;
+    }
+  };
+
+
+  public final transient DefaultOutputPort<ArrayList<HashMap<K, Integer>>> 
list = new DefaultOutputPort<ArrayList<HashMap<K, Integer>>>()
+  {
+    @SuppressWarnings({"rawtypes", "ConstantConditions"})
+    @Override
+    public Unifier<ArrayList<HashMap<K, Integer>>> getUnifier()
+    {
+      Unifier<ArrayList<HashMap<K, Integer>>> ret = new 
UnifierArrayHashMapFrequent<K>();
+      ((UnifierHashMapFrequent) ret).setLeast(false);
+      return ret;
+    }
+  };
+
+  /**
+   * Emits tuple on port "most"
+   * @param tuple
+   */
+  @Override
+  public void emitTuple(HashMap<K, Integer> tuple)
+  {
+    most.emit(tuple);
+  }
+
+  /**
+   * Emits tuple on port "list"
+   * @param tlist
+   */
+  @Override
+  public void emitList(ArrayList<HashMap<K, Integer>> tlist)
+  {
+    list.emit(tlist);
+  }
+
+  /**
+   * returns val1 < val2
+   * @param val1
+   * @param val2
+   * @return val1 > val2
+   */
+  @Override
+  public boolean compareCount(int val1, int val2)
+  {
+    return val1 > val2;
+  }
+}

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/dd15161d/library/src/main/java/com/datatorrent/lib/algo/TopN.java
----------------------------------------------------------------------
diff --git a/library/src/main/java/com/datatorrent/lib/algo/TopN.java 
b/library/src/main/java/com/datatorrent/lib/algo/TopN.java
index a0cd903..5ec8dfe 100644
--- a/library/src/main/java/com/datatorrent/lib/algo/TopN.java
+++ b/library/src/main/java/com/datatorrent/lib/algo/TopN.java
@@ -48,7 +48,7 @@ import 
com.datatorrent.lib.util.AbstractBaseNNonUniqueOperatorMap;
  * </p>
  *
  * @displayName Top N Values Per Key
- * @category Algorithmic
+ * @category Stats and Aggregations
  * @tags filter, rank
  *
  * @since 0.3.3
@@ -101,7 +101,7 @@ public class TopN<K, V> extends 
AbstractBaseNNonUniqueOperatorMap<K,V> implement
       }
     }
   }
-  
+
   /**
    * Top N tuples per key
    * @param val

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/dd15161d/library/src/main/java/com/datatorrent/lib/algo/TopNUnique.java
----------------------------------------------------------------------
diff --git a/library/src/main/java/com/datatorrent/lib/algo/TopNUnique.java 
b/library/src/main/java/com/datatorrent/lib/algo/TopNUnique.java
index 10a53d3..4ccef65 100644
--- a/library/src/main/java/com/datatorrent/lib/algo/TopNUnique.java
+++ b/library/src/main/java/com/datatorrent/lib/algo/TopNUnique.java
@@ -24,7 +24,7 @@ import com.datatorrent.api.annotation.OperatorAnnotation;
 import com.datatorrent.lib.util.AbstractBaseNUniqueOperatorMap;
 
 /**
- * This operator orders tuples per key and emits the top N unique tuples per 
key at the end of the window.
+ * This operator orders tuples per key and emits the top N unique values per 
key at the end of the window.
  * <p>
  * Orders tuples per key and emits top N unique tuples per key on end of 
window.
  * </p>
@@ -47,7 +47,7 @@ import 
com.datatorrent.lib.util.AbstractBaseNUniqueOperatorMap;
  * </p>
  *
  * @displayName Top N Unique Values Per Key
- * @category Algorithmic
+ * @category Stats and Aggregations
  * @tags filter, rank
  *
  * @since 0.3.2
@@ -80,7 +80,7 @@ public class TopNUnique<K, V> extends 
AbstractBaseNUniqueOperatorMap<K, V>
   {
     top.emit(tuple);
   }
-  
+
   /**
    * Top N unique tuples per key
    * @param val

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/dd15161d/library/src/main/java/com/datatorrent/lib/algo/UniqueCounter.java
----------------------------------------------------------------------
diff --git a/library/src/main/java/com/datatorrent/lib/algo/UniqueCounter.java 
b/library/src/main/java/com/datatorrent/lib/algo/UniqueCounter.java
index 66fbeb5..460cf4e 100644
--- a/library/src/main/java/com/datatorrent/lib/algo/UniqueCounter.java
+++ b/library/src/main/java/com/datatorrent/lib/algo/UniqueCounter.java
@@ -27,7 +27,7 @@ import com.datatorrent.lib.util.BaseUniqueKeyCounter;
 import com.datatorrent.lib.util.UnifierHashMapSumKeys;
 
 /**
- * This operator counts the number of times a key exists in a window.&nbsp;A 
map from keys to counts is emitted at the end of each window.
+ * This operator counts the number of times a tuple exists in a window.&nbsp;A 
map from tuples to counts is emitted at the end of each window.
  * <p>
  * Counts the number of times a key exists in a window; Count is emitted at 
end of window in a single HashMap.
  * </p>
@@ -44,8 +44,8 @@ import com.datatorrent.lib.util.UnifierHashMapSumKeys;
  * <br>
  * </p>
  *
- * @displayName Count Unique Keys
- * @category Algorithmic
+ * @displayName Count Unique Tuples
+ * @category Stats and Aggregations
  * @tags count
  *
  * @since 0.3.2
@@ -108,10 +108,21 @@ public class UniqueCounter<K> extends 
BaseUniqueKeyCounter<K>
     }
   }
 
+  /**
+   * Gets the cumulative mode.
+   * @return The cumulative mode.
+   */
   public boolean isCumulative() {
     return cumulative;
   }
 
+  /**
+   * If enabled then the unique keys is counted and maintained in memory for 
the life of the operator. If not enabled
+   * keys are counted a per window bases.<br/>
+   * <b>Note:</b> If cumulative mode is enabled and the operator receives many 
unique keys, then this operator
+   * could eventually run out of memory.
+   * @param cumulative
+   */
   public void setCumulative(boolean cumulative) {
     this.cumulative = cumulative;
   }

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/dd15161d/library/src/main/java/com/datatorrent/lib/appdata/snapshot/AppDataSnapshotServerPOJO.java
----------------------------------------------------------------------
diff --git 
a/library/src/main/java/com/datatorrent/lib/appdata/snapshot/AppDataSnapshotServerPOJO.java
 
b/library/src/main/java/com/datatorrent/lib/appdata/snapshot/AppDataSnapshotServerPOJO.java
index bfd578a..0f87ec0 100644
--- 
a/library/src/main/java/com/datatorrent/lib/appdata/snapshot/AppDataSnapshotServerPOJO.java
+++ 
b/library/src/main/java/com/datatorrent/lib/appdata/snapshot/AppDataSnapshotServerPOJO.java
@@ -28,9 +28,9 @@ import com.datatorrent.lib.appdata.gpo.GPOUtils;
 /**
  * This operator accepts a list of POJOs, and serves the data under the {@link 
SnapshotSchema}.
  * Each POJO represents a row in the table, and the full list of POJOs 
represents a table.
- * @displayName App Data Snapshot Server
- * @category App Data
- * @tags appdata, snapshot, pojo
+ * @displayName App Data Snapshot POJO Server
+ * @category Output
+ * @tags app data, snapshot, pojo
  */
 public class AppDataSnapshotServerPOJO extends 
AbstractAppDataSnapshotServer<Object>
 {

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/dd15161d/library/src/main/java/com/datatorrent/lib/converter/ByteArrayToStringConverterOperator.java
----------------------------------------------------------------------
diff --git 
a/library/src/main/java/com/datatorrent/lib/converter/ByteArrayToStringConverterOperator.java
 
b/library/src/main/java/com/datatorrent/lib/converter/ByteArrayToStringConverterOperator.java
index 84651c3..da29ce5 100644
--- 
a/library/src/main/java/com/datatorrent/lib/converter/ByteArrayToStringConverterOperator.java
+++ 
b/library/src/main/java/com/datatorrent/lib/converter/ByteArrayToStringConverterOperator.java
@@ -23,6 +23,9 @@ import java.nio.charset.Charset;
 /**
  * This operator converts Byte Array to String. User gets the option of 
providing character Encoding.
  *
+ * @category Tuple Converters
+ * @tags byte, string
+ *
  * @since 2.1.0
  */
 public class ByteArrayToStringConverterOperator extends BaseOperator

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/dd15161d/library/src/main/java/com/datatorrent/lib/converter/MapToKeyHashValuePairConverter.java
----------------------------------------------------------------------
diff --git 
a/library/src/main/java/com/datatorrent/lib/converter/MapToKeyHashValuePairConverter.java
 
b/library/src/main/java/com/datatorrent/lib/converter/MapToKeyHashValuePairConverter.java
index bda4743..95b6016 100644
--- 
a/library/src/main/java/com/datatorrent/lib/converter/MapToKeyHashValuePairConverter.java
+++ 
b/library/src/main/java/com/datatorrent/lib/converter/MapToKeyHashValuePairConverter.java
@@ -13,24 +13,8 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-/*  
-* Copyright (c) 2015 DataTorrent, Inc. ALL Rights Reserved.  
-*  
-* Licensed under the Apache License, Version 2.0 (the "License");  
-* you may not use this file except in compliance with the License.  
-* You may obtain a copy of the License at  
-*  
-*   http://www.apache.org/licenses/LICENSE-2.0  
-*  
-* Unless required by applicable law or agreed to in writing, software  
-* distributed under the License is distributed on an "AS IS" BASIS,  
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  
-* See the License for the specific language governing permissions and  
-* limitations under the License.  
-*/  
 package com.datatorrent.lib.converter;
 
-import java.util.HashMap;
 import java.util.Map;
 import java.util.Map.Entry;
 
@@ -38,15 +22,15 @@ import com.datatorrent.common.util.BaseOperator;
 import com.datatorrent.api.DefaultInputPort;
 import com.datatorrent.api.DefaultOutputPort;
 import com.datatorrent.lib.util.KeyHashValPair;
-import com.datatorrent.lib.util.KeyValPair;
 
 /**
- * 
- * This operator outputs key value pair for each entry in input Map 
- * 
+ *
+ * This operator outputs key value pair for each entry in input Map
+ *
  * @displayName Map to key-value pair converter
- * @category Converter
- * 
+ * @category Tuple Converters
+ * @tags key value
+ *
  */
 public class MapToKeyHashValuePairConverter<K, V> extends BaseOperator {
 
@@ -57,11 +41,11 @@ public class MapToKeyHashValuePairConverter<K, V> extends 
BaseOperator {
   {
     @Override
     public void process(Map<K, V> tuple)
-    { 
+    {
       for(Entry<K, V> entry:tuple.entrySet())
       {
-        output.emit(new KeyHashValPair<K, V>(entry.getKey(), 
entry.getValue()));  
-      }      
+        output.emit(new KeyHashValPair<K, V>(entry.getKey(), 
entry.getValue()));
+      }
     }
   };
 

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/dd15161d/library/src/main/java/com/datatorrent/lib/converter/MapToKeyValuePairConverter.java
----------------------------------------------------------------------
diff --git 
a/library/src/main/java/com/datatorrent/lib/converter/MapToKeyValuePairConverter.java
 
b/library/src/main/java/com/datatorrent/lib/converter/MapToKeyValuePairConverter.java
index 034a706..94f5fbd 100644
--- 
a/library/src/main/java/com/datatorrent/lib/converter/MapToKeyValuePairConverter.java
+++ 
b/library/src/main/java/com/datatorrent/lib/converter/MapToKeyValuePairConverter.java
@@ -25,12 +25,13 @@ import com.datatorrent.api.DefaultInputPort;
 import com.datatorrent.api.DefaultOutputPort;
 
 /**
- * 
- * This operator outputs key value pair for each entry in input Map 
- * 
+ *
+ * This operator outputs key value pair for each entry in input Map
+ *
  * @displayName Map to key-value pair converter
- * @category Converter
- * 
+ * @category Tuple Converters
+ * @tags key value
+ *
  */
 public class MapToKeyValuePairConverter<K, V> extends BaseOperator {
 
@@ -41,11 +42,11 @@ public class MapToKeyValuePairConverter<K, V> extends 
BaseOperator {
   {
     @Override
     public void process(Map<K, V> tuple)
-    { 
+    {
       for(Entry<K, V> entry:tuple.entrySet())
       {
-        output.emit(new KeyValPair<K, V>(entry.getKey(), entry.getValue()));  
-      }      
+        output.emit(new KeyValPair<K, V>(entry.getKey(), entry.getValue()));
+      }
     }
   };
 

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/dd15161d/library/src/main/java/com/datatorrent/lib/converter/StringValueToNumberConverterForMap.java
----------------------------------------------------------------------
diff --git 
a/library/src/main/java/com/datatorrent/lib/converter/StringValueToNumberConverterForMap.java
 
b/library/src/main/java/com/datatorrent/lib/converter/StringValueToNumberConverterForMap.java
index 17a38bb..a5ca699 100644
--- 
a/library/src/main/java/com/datatorrent/lib/converter/StringValueToNumberConverterForMap.java
+++ 
b/library/src/main/java/com/datatorrent/lib/converter/StringValueToNumberConverterForMap.java
@@ -24,12 +24,13 @@ import com.datatorrent.api.DefaultInputPort;
 import com.datatorrent.api.DefaultOutputPort;
 
 /**
- * 
+ *
  * This operator converts Map<K, String> to Map<K, Number> for numeric string 
values
  *
  * @displayName String to Number value converter for Map
- * @category Converter
- * 
+ * @category Tuple Converters
+ * @tags string
+ *
  */
 public class StringValueToNumberConverterForMap<K> extends BaseOperator {
 

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/dd15161d/library/src/main/java/com/datatorrent/lib/db/jdbc/AbstractJdbcInputOperator.java
----------------------------------------------------------------------
diff --git 
a/library/src/main/java/com/datatorrent/lib/db/jdbc/AbstractJdbcInputOperator.java
 
b/library/src/main/java/com/datatorrent/lib/db/jdbc/AbstractJdbcInputOperator.java
index e01d72e..1ab63d0 100644
--- 
a/library/src/main/java/com/datatorrent/lib/db/jdbc/AbstractJdbcInputOperator.java
+++ 
b/library/src/main/java/com/datatorrent/lib/db/jdbc/AbstractJdbcInputOperator.java
@@ -36,8 +36,8 @@ import com.datatorrent.lib.db.AbstractStoreInputOperator;
  * This is an abstract class. Sub-classes need to implement {@link 
#queryToRetrieveData()} and {@link #getTuple(ResultSet)}.
  * </p>
  * @displayName Abstract JDBC Input
- * @category Database
- * @tags input operator
+ * @category Input
+ * @tags database, sql
  *
  * @param <T> The tuple type
  * @since 0.9.4
@@ -65,11 +65,6 @@ public abstract class AbstractJdbcInputOperator<T> extends 
AbstractStoreInputOpe
   public abstract String queryToRetrieveData();
 
   /**
-   * The output port that will emit tuples read from the database.
-   */
-  public final transient DefaultOutputPort<T> outputPort = new 
DefaultOutputPort<T>();
-
-  /**
    * This executes the query to retrieve result from database.
    * It then converts each row into tuple and emit that into output port.
    */

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/dd15161d/library/src/main/java/com/datatorrent/lib/io/AbstractHttpInputOperator.java
----------------------------------------------------------------------
diff --git 
a/library/src/main/java/com/datatorrent/lib/io/AbstractHttpInputOperator.java 
b/library/src/main/java/com/datatorrent/lib/io/AbstractHttpInputOperator.java
index 08e8afa..619ce5f 100644
--- 
a/library/src/main/java/com/datatorrent/lib/io/AbstractHttpInputOperator.java
+++ 
b/library/src/main/java/com/datatorrent/lib/io/AbstractHttpInputOperator.java
@@ -56,14 +56,27 @@ public abstract class AbstractHttpInputOperator<T> extends 
SimpleSinglePortInput
    * The URL of the web service resource for the POST request.
    */
   @NotNull
-  private URI resourceUrl;
+  private URI url;
   private Map<String, String> headers = new HashMap<String, String>();
   private transient Client wsClient;
   private transient WebResource resource;
 
+  /**
+   * The url to read from.
+   * @param u The url to read from.
+   */
   public void setUrl(URI u)
   {
-    resourceUrl = u;
+    url = u;
+  }
+
+  /**
+   * Sets the url to read from.
+   * @return The url to read from.
+   */
+  public URI getUrl()
+  {
+    return url;
   }
 
   public void setHeader(String key, String value)
@@ -77,8 +90,8 @@ public abstract class AbstractHttpInputOperator<T> extends 
SimpleSinglePortInput
     wsClient = Client.create();
     wsClient.setFollowRedirects(true);
     wsClient.setReadTimeout(readTimeoutMillis);
-    resource = wsClient.resource(resourceUrl.toString()); // side step "not 
absolute URL" after serialization
-    LOG.info("URL: {}", resourceUrl);
+    resource = wsClient.resource(url.toString()); // side step "not absolute 
URL" after serialization
+    LOG.info("URL: {}", url);
   }
 
   @Override

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/dd15161d/library/src/main/java/com/datatorrent/lib/io/HttpGetMapOperator.java
----------------------------------------------------------------------
diff --git 
a/library/src/main/java/com/datatorrent/lib/io/HttpGetMapOperator.java 
b/library/src/main/java/com/datatorrent/lib/io/HttpGetMapOperator.java
index 253e58c..8c54ec0 100644
--- a/library/src/main/java/com/datatorrent/lib/io/HttpGetMapOperator.java
+++ b/library/src/main/java/com/datatorrent/lib/io/HttpGetMapOperator.java
@@ -29,7 +29,7 @@ import com.sun.jersey.api.client.WebResource;
  * </p>
  * @displayName HTTP GET Map
  * @category Input
- * @tags http, input operator
+ * @tags http
  *
  * @param <K> Type of key in input map tuple
  * @param <V> Type of value in input map tuple

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/dd15161d/library/src/main/java/com/datatorrent/lib/io/HttpJsonChunksInputOperator.java
----------------------------------------------------------------------
diff --git 
a/library/src/main/java/com/datatorrent/lib/io/HttpJsonChunksInputOperator.java 
b/library/src/main/java/com/datatorrent/lib/io/HttpJsonChunksInputOperator.java
index 1750811..bc6dc5c 100644
--- 
a/library/src/main/java/com/datatorrent/lib/io/HttpJsonChunksInputOperator.java
+++ 
b/library/src/main/java/com/datatorrent/lib/io/HttpJsonChunksInputOperator.java
@@ -40,7 +40,7 @@ import org.slf4j.LoggerFactory;
  * </p>
  * @displayName HTTP JSON Chunks Input
  * @category Input
- * @tags http, input operator
+ * @tags http
  *
  * @since 0.9.4
  */

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/dd15161d/library/src/main/java/com/datatorrent/lib/io/HttpLinesInputOperator.java
----------------------------------------------------------------------
diff --git 
a/library/src/main/java/com/datatorrent/lib/io/HttpLinesInputOperator.java 
b/library/src/main/java/com/datatorrent/lib/io/HttpLinesInputOperator.java
index 3997d22..6258c07 100644
--- a/library/src/main/java/com/datatorrent/lib/io/HttpLinesInputOperator.java
+++ b/library/src/main/java/com/datatorrent/lib/io/HttpLinesInputOperator.java
@@ -26,7 +26,7 @@ import java.io.InputStreamReader;
  * <p></p>
  * @displayName HTTP Lines Input
  * @category Input
- * @tags http, input operator
+ * @tags http
  *
  * @since 0.9.4
  */

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/dd15161d/library/src/main/java/com/datatorrent/lib/io/PubSubWebSocketInputOperator.java
----------------------------------------------------------------------
diff --git 
a/library/src/main/java/com/datatorrent/lib/io/PubSubWebSocketInputOperator.java
 
b/library/src/main/java/com/datatorrent/lib/io/PubSubWebSocketInputOperator.java
index fffdcee..b7417dd 100644
--- 
a/library/src/main/java/com/datatorrent/lib/io/PubSubWebSocketInputOperator.java
+++ 
b/library/src/main/java/com/datatorrent/lib/io/PubSubWebSocketInputOperator.java
@@ -32,7 +32,7 @@ import com.datatorrent.common.util.PubSubWebSocketClient;
  * <p></p>
  * @displayName Pub Sub Web Socket Input
  * @category Input
- * @tags http, input operator
+ * @tags http, websocket
  *
  * @since 0.3.2
  */
@@ -47,11 +47,19 @@ public class PubSubWebSocketInputOperator<T> extends 
WebSocketInputOperator<T>
     this.codec = new PubSubMessageCodec<Object>(mapper);
   }
 
+  /**
+   * The pub sub topic to subscribe to.
+   * @param topic The pub sub topic to subscribe to.
+   */
   public void setTopic(String topic)
   {
     this.topic = topic;
   }
 
+  /**
+   * Gets pub sub topic to subscribe to.
+   * @return The pub sub topic to subscribe to.
+   */
   @NotNull
   public String getTopic()
   {

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/dd15161d/library/src/main/java/com/datatorrent/lib/io/PubSubWebSocketOutputOperator.java
----------------------------------------------------------------------
diff --git 
a/library/src/main/java/com/datatorrent/lib/io/PubSubWebSocketOutputOperator.java
 
b/library/src/main/java/com/datatorrent/lib/io/PubSubWebSocketOutputOperator.java
index 47a4966..ef9a113 100644
--- 
a/library/src/main/java/com/datatorrent/lib/io/PubSubWebSocketOutputOperator.java
+++ 
b/library/src/main/java/com/datatorrent/lib/io/PubSubWebSocketOutputOperator.java
@@ -26,8 +26,8 @@ import com.datatorrent.common.util.PubSubWebSocketClient;
  * This operator writes maps as JSON objects to the given URL.
  * <p></p>
  * @displayName Pub Sub Web Socket Output
- * @category Input
- * @tags http, input operator
+ * @category Output
+ * @tags http
  *
  * @param <T>
  * @since 0.3.2
@@ -37,11 +37,19 @@ public class PubSubWebSocketOutputOperator<T> extends 
WebSocketOutputOperator<T>
   private String topic = null;
   private transient PubSubMessageCodec<Object> codec = new 
PubSubMessageCodec<Object>(mapper);
 
+  /**
+   * The pub sub topic to subscribe to.
+   * @param topic The pub sub topic to subscribe to.
+   */
   public void setTopic(String topic)
   {
     this.topic = topic;
   }
 
+  /**
+   * Gets the pub sub topic to subscribe to.
+   * @return The pub sub topic to subscribe to.
+   */
   @NotNull
   public String getTopic()
   {

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/dd15161d/library/src/main/java/com/datatorrent/lib/io/SimpleSinglePortInputOperator.java
----------------------------------------------------------------------
diff --git 
a/library/src/main/java/com/datatorrent/lib/io/SimpleSinglePortInputOperator.java
 
b/library/src/main/java/com/datatorrent/lib/io/SimpleSinglePortInputOperator.java
index 4e6d465..07bcaf5 100644
--- 
a/library/src/main/java/com/datatorrent/lib/io/SimpleSinglePortInputOperator.java
+++ 
b/library/src/main/java/com/datatorrent/lib/io/SimpleSinglePortInputOperator.java
@@ -32,11 +32,10 @@ import com.datatorrent.common.util.BaseOperator;
  * </p>
  * @displayName Asynchronous Input Processing
  * @category Input
- * @tags input operator
  *
  * @since 0.3.2
  */
-public class SimpleSinglePortInputOperator<T> extends BaseOperator implements 
InputOperator, Operator.ActivationListener<OperatorContext>
+public abstract class SimpleSinglePortInputOperator<T> extends BaseOperator 
implements InputOperator, Operator.ActivationListener<OperatorContext>
 {
   private transient Thread ioThread;
   private transient boolean isActive = false;

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/dd15161d/library/src/main/java/com/datatorrent/lib/io/WebSocketInputOperator.java
----------------------------------------------------------------------
diff --git 
a/library/src/main/java/com/datatorrent/lib/io/WebSocketInputOperator.java 
b/library/src/main/java/com/datatorrent/lib/io/WebSocketInputOperator.java
index cc3e874..dabcacb 100644
--- a/library/src/main/java/com/datatorrent/lib/io/WebSocketInputOperator.java
+++ b/library/src/main/java/com/datatorrent/lib/io/WebSocketInputOperator.java
@@ -39,7 +39,7 @@ import org.slf4j.LoggerFactory;
  * <p></p>
  * @displayName JSON Map Input
  * @category Input
- * @tags http, input operator
+ * @tags http, websocket
  *
  * @since 0.3.2
  */
@@ -93,7 +93,7 @@ public class WebSocketInputOperator<T> extends 
SimpleSinglePortInputOperator<T>
   }
 
   /**
-   * Sets the IO Thread multiplier for AsyncWebSocket connection
+   * The number of threads to use for the websocket connection.
    *
    * @param ioThreadMultiplier
    */

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/dd15161d/library/src/main/java/com/datatorrent/lib/io/WebSocketOutputOperator.java
----------------------------------------------------------------------
diff --git 
a/library/src/main/java/com/datatorrent/lib/io/WebSocketOutputOperator.java 
b/library/src/main/java/com/datatorrent/lib/io/WebSocketOutputOperator.java
index 1a23ebb..a92f8b3 100644
--- a/library/src/main/java/com/datatorrent/lib/io/WebSocketOutputOperator.java
+++ b/library/src/main/java/com/datatorrent/lib/io/WebSocketOutputOperator.java
@@ -40,8 +40,8 @@ import com.datatorrent.api.DefaultInputPort;
  * Reads via WebSocket from given URL as input stream.&nbsp;Incoming data is 
interpreted as JSONObject and converted to {@link java.util.Map}.
  * <p></p>
  * @displayName JSON Map Output
- * @category Input
- * @tags http, input operator
+ * @category Output
+ * @tags http, websocket
  *
  * @param <T> tuple type
  * @since 0.3.2
@@ -111,7 +111,7 @@ public class WebSocketOutputOperator<T> extends BaseOperator
   }
 
   /**
-   * Sets the IO Thread multiplier for AsyncWebSocket connection
+   * The number of threads to use for the websocket connection.
    *
    * @param ioThreadMultiplier
    */

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/dd15161d/library/src/main/java/com/datatorrent/lib/io/fs/FileSplitter.java
----------------------------------------------------------------------
diff --git a/library/src/main/java/com/datatorrent/lib/io/fs/FileSplitter.java 
b/library/src/main/java/com/datatorrent/lib/io/fs/FileSplitter.java
index 13b4bdf..58554c3 100644
--- a/library/src/main/java/com/datatorrent/lib/io/fs/FileSplitter.java
+++ b/library/src/main/java/com/datatorrent/lib/io/fs/FileSplitter.java
@@ -63,7 +63,7 @@ import 
com.datatorrent.lib.io.block.BlockMetadata.FileBlockMetadata;
  *
  * @displayName File Splitter
  * @category Input
- * @tags file, input operator
+ * @tags file
  * @since 2.0.0
  */
 @OperatorAnnotation(checkpointableWithinAppWindow = false)
@@ -835,6 +835,8 @@ public class FileSplitter implements InputOperator, 
Operator.CheckpointListener
     }
 
     /**
+     * Gets the regular expression for file names to split.
+     *
      * @return regular expression
      */
     public String getFilePatternRegularExp()
@@ -843,7 +845,7 @@ public class FileSplitter implements InputOperator, 
Operator.CheckpointListener
     }
 
     /**
-     * Sets the regular expression for files.
+     * Only files with names matching the given java regular expression are 
split.
      *
      * @param filePatternRegexp regular expression
      */
@@ -853,7 +855,8 @@ public class FileSplitter implements InputOperator, 
Operator.CheckpointListener
     }
 
     /**
-     * Sets the files to be scanned.
+     * A comma separated list of directories to scan. If the path is not fully 
qualified the default
+     * file system is used. A fully qualified path can be provided to scan 
directories in other filesystems.
      *
      * @param files files
      */
@@ -863,6 +866,8 @@ public class FileSplitter implements InputOperator, 
Operator.CheckpointListener
     }
 
     /**
+     * Gets the files to be scanned.
+     *
      * @return files to be scanned.
      */
     public String getFiles()
@@ -871,7 +876,7 @@ public class FileSplitter implements InputOperator, 
Operator.CheckpointListener
     }
 
     /**
-     * Sets whether scan will be recursive.
+     * True if recursive; false otherwise.
      *
      * @param recursive true if recursive; false otherwise.
      */
@@ -881,6 +886,8 @@ public class FileSplitter implements InputOperator, 
Operator.CheckpointListener
     }
 
     /**
+     * Sets whether scan will be recursive.
+     *
      * @return true if recursive; false otherwise.
      */
     public boolean isRecursive()
@@ -899,7 +906,7 @@ public class FileSplitter implements InputOperator, 
Operator.CheckpointListener
     }
 
     /**
-     * Returns the value of trigger.
+     * The trigger which will initiate scan.
      *
      * @return trigger
      */

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/dd15161d/library/src/main/java/com/datatorrent/lib/io/fs/TailFsInputOperator.java
----------------------------------------------------------------------
diff --git 
a/library/src/main/java/com/datatorrent/lib/io/fs/TailFsInputOperator.java 
b/library/src/main/java/com/datatorrent/lib/io/fs/TailFsInputOperator.java
index 721411b..4a0defa 100644
--- a/library/src/main/java/com/datatorrent/lib/io/fs/TailFsInputOperator.java
+++ b/library/src/main/java/com/datatorrent/lib/io/fs/TailFsInputOperator.java
@@ -45,7 +45,7 @@ import com.datatorrent.api.Operator.ActivationListener;
  * </p>
  * @displayName Tail Input
  * @category Input
- * @tags local fs, file, input operator
+ * @tags local fs, file
  * @since 0.9.4
  */
 public class TailFsInputOperator implements InputOperator, 
ActivationListener<OperatorContext>
@@ -123,6 +123,7 @@ public class TailFsInputOperator implements InputOperator, 
ActivationListener<Op
   }
 
   /**
+   * Gets whether to tail from the end of the file.
    * @return the end
    */
   public boolean isEnd()
@@ -131,8 +132,8 @@ public class TailFsInputOperator implements InputOperator, 
ActivationListener<Op
   }
 
   /**
-   * @param end
-   *          the end to set
+   * Whether to tail from the end or start of file.
+   * @param end The end to set.
    */
   public void setEnd(boolean end)
   {

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/dd15161d/library/src/main/java/com/datatorrent/lib/script/JavaScriptOperator.java
----------------------------------------------------------------------
diff --git 
a/library/src/main/java/com/datatorrent/lib/script/JavaScriptOperator.java 
b/library/src/main/java/com/datatorrent/lib/script/JavaScriptOperator.java
index 8dca272..486ba60 100644
--- a/library/src/main/java/com/datatorrent/lib/script/JavaScriptOperator.java
+++ b/library/src/main/java/com/datatorrent/lib/script/JavaScriptOperator.java
@@ -69,7 +69,7 @@ import org.slf4j.LoggerFactory;
  *
  * @displayName Java Script
  * @category Scripting
- * @tags script operator, map, string
+ * @tags script, map, string
  * @since 0.3.2
  */
 public class JavaScriptOperator extends ScriptOperator


Reply via email to