Repository: incubator-apex-malhar
Updated Branches:
  refs/heads/release-3.3 [created] 54c67a60b


Add @since tags and update change log for release 3.3.0


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/54c67a60
Tree: http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/tree/54c67a60
Diff: http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/diff/54c67a60

Branch: refs/heads/release-3.3
Commit: 54c67a60b29f655cd15bc55150ed0a3a7e122dad
Parents: d570b8d
Author: Thomas Weise <[email protected]>
Authored: Thu Jan 7 23:57:03 2016 -0800
Committer: Thomas Weise <[email protected]>
Committed: Thu Jan 7 23:57:03 2016 -0800

----------------------------------------------------------------------
 CHANGELOG.md                                    | 50 ++++++++++++++++++++
 .../contrib/kafka/POJOKafkaOutputOperator.java  |  2 +
 .../datatorrent/demos/wordcount/WordReader.java |  2 +
 .../kafka/AbstractKafkaInputOperator.java       |  2 +
 .../malhar/kafka/AbstractKafkaPartitioner.java  |  2 +
 .../apex/malhar/kafka/KafkaConsumerWrapper.java |  2 +
 .../apache/apex/malhar/kafka/KafkaMetrics.java  |  2 +
 .../kafka/KafkaSinglePortInputOperator.java     |  2 +
 .../apex/malhar/kafka/OneToManyPartitioner.java |  2 +
 .../apex/malhar/kafka/OneToOnePartitioner.java  |  2 +
 .../apex/malhar/kafka/PartitionStrategy.java    |  3 ++
 .../com/datatorrent/lib/appdata/QueueUtils.java |  3 ++
 .../com/datatorrent/lib/appdata/StoreUtils.java |  3 ++
 .../dimensions/CustomTimeBucketRegistry.java    |  3 ++
 .../dimensions/DimensionsConversionContext.java |  2 +
 .../lib/dimensions/DimensionsDescriptor.java    |  2 +
 .../dimensions/aggregator/AggregateEvent.java   |  3 ++
 .../lib/io/WebSocketServerInputOperator.java    |  3 ++
 .../com/datatorrent/lib/util/FieldInfo.java     |  3 ++
 .../lib/util/FieldValueGenerator.java           |  3 ++
 .../com/datatorrent/lib/util/TableInfo.java     |  3 ++
 .../lib/util/comparator/SliceComparator.java    |  2 +
 .../datatorrent/lib/util/time/WindowUtils.java  |  2 +
 23 files changed, 103 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/54c67a60/CHANGELOG.md
----------------------------------------------------------------------
diff --git a/CHANGELOG.md b/CHANGELOG.md
index a43227f..d4698c0 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,6 +1,56 @@
 Apex Malhar Changelog
 
========================================================================================================================
 
+Version 3.3.0-incubating - 2016-01-10
+------------------------------------------------------------------------------------------------------------------------
+
+### Sub-task
+* [APEXMALHAR-1877] - Move org.apache.hadoop.io.file.tfile from contrib to 
library in Malhar
+* [APEXMALHAR-1901] - Test- DTFileTest creates test folder under lib directory
+* [APEXMALHAR-1902] - Rename IdempotentStorage Manager
+* [APEXMALHAR-1910] - Fix existing checkstyle violations in BlockReader and 
FileSplitter
+* [APEXMALHAR-1912] - Fix existing check style violations in FileOutput, 
JMSInput, FTPInput, JDBC classes
+* [APEXMALHAR-1916] - Add FileAccess API and its DTFileImplementation
+* [APEXMALHAR-1931] - Augment FileAccess API
+* [APEXMALHAR-1941] - Add a default Slice comparator to Malhar/util
+* [APEXMALHAR-1943] - Add Aggregator to Malhar and make it top level interface
+* [APEXMALHAR-1944] - Add DimensionsConversionContext to Malhar and make it 
top class
+* [APEXMALHAR-1945] - Upgrade the version of japicmp to 0.6.2
+
+### Bug
+* [APEXMALHAR-1880] - Incorrect documentation for maxLength property on 
AbstractFileOutputOperator
+* [APEXMALHAR-1887] - shutdown field in WebSocketInputOperator should be 
volatile
+* [APEXMALHAR-1894] - Add an Input Port With An isConnected Method
+* [APEXMALHAR-1922] - FileStreamContext - Set filterStream variable to 
transient
+* [APEXMALHAR-1925] - The kafka offset manager may not store the offset of 
processed data in all scenarios
+* [APEXMALHAR-1928] - Update checkpointed offsettrack in operator thread 
instead of consumer thread
+* [APEXMALHAR-1929] - japicmp plugin fails for malhar samples
+* [APEXMALHAR-1934] - When offset is unavailable kafka operator stops reading 
data
+* [APEXMALHAR-1949] - JDBC Input Operator unnecessarily waits two times when 
the result is empty
+* [APEXMALHAR-1960] - Test failure 
KafkaInputOperatorTest.testRecoveryAndIdempotency
+
+### Improvement
+* [APEXMALHAR-1895] - Refactor Snapshot Server
+* [APEXMALHAR-1896] - Add Utility Functions For Working With Schema Tags
+* [APEXMALHAR-1906] - Snapshot Server support tags
+* [APEXMALHAR-1908] - Add Deserialization Function That Deserializes keys with 
multiple values
+* [APEXMALHAR-1913] - FileSplitter - Need access to modifiedTime of 
ScannedFileInfo class
+* [APEXMALHAR-1918] - FileSplitter - Need stopScanning method in Scanner
+* [APEXMALHAR-1940] - Create Operator Utility Class Which Converts Time To 
Windows
+* [APEXMALHAR-1958] - Provide access to doneTuple field in AbstractReconciler 
for derived classes
+
+### New Feature
+* [APEXMALHAR-1812] - Support Anti Join
+* [APEXMALHAR-1813] - Support Semi Join
+* [APEXMALHAR-1904] - New Kafka input operator using 0.9.0 consumer APIs
+
+### Task
+* [APEXMALHAR-1859] - Integrate checkstyle with Malhar
+* [APEXMALHAR-1892] - Fix missing javadoc
+* [APEXMALHAR-1905] - Test the old kafka input operator is compatible with 
0.9.0 broker
+* [APEXMALHAR-1950] - Identify and mark Operators and Components as @Evolving
+* [APEXMALHAR-1956] - Concrete generic Implementation of Kafka Output Operator 
with auto metrics and batch processing
+* [APEXMALHAR-1964] - Checkstyle - Reduce the severity of line length check
 
 Version 3.2.0-incubating - 2015-11-13
 
------------------------------------------------------------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/54c67a60/contrib/src/main/java/com/datatorrent/contrib/kafka/POJOKafkaOutputOperator.java
----------------------------------------------------------------------
diff --git 
a/contrib/src/main/java/com/datatorrent/contrib/kafka/POJOKafkaOutputOperator.java
 
b/contrib/src/main/java/com/datatorrent/contrib/kafka/POJOKafkaOutputOperator.java
index 5c1f695..52c253c 100644
--- 
a/contrib/src/main/java/com/datatorrent/contrib/kafka/POJOKafkaOutputOperator.java
+++ 
b/contrib/src/main/java/com/datatorrent/contrib/kafka/POJOKafkaOutputOperator.java
@@ -53,6 +53,8 @@ import kafka.producer.ProducerConfig;
  * @category Messaging
  * @tags Output operator
  *
+ *
+ * @since 3.3.0
  */
 public class POJOKafkaOutputOperator extends 
AbstractKafkaOutputOperator<Object,Object>
 {

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/54c67a60/demos/wordcount/src/main/java/com/datatorrent/demos/wordcount/WordReader.java
----------------------------------------------------------------------
diff --git 
a/demos/wordcount/src/main/java/com/datatorrent/demos/wordcount/WordReader.java 
b/demos/wordcount/src/main/java/com/datatorrent/demos/wordcount/WordReader.java
index 09b8d7b..56d9294 100644
--- 
a/demos/wordcount/src/main/java/com/datatorrent/demos/wordcount/WordReader.java
+++ 
b/demos/wordcount/src/main/java/com/datatorrent/demos/wordcount/WordReader.java
@@ -27,6 +27,8 @@ import com.datatorrent.common.util.BaseOperator;
 
 /**
  * Extracts words from input line
+ *
+ * @since 3.3.0
  */
 public class WordReader extends BaseOperator
 {

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/54c67a60/kafka/src/main/java/org/apache/apex/malhar/kafka/AbstractKafkaInputOperator.java
----------------------------------------------------------------------
diff --git 
a/kafka/src/main/java/org/apache/apex/malhar/kafka/AbstractKafkaInputOperator.java
 
b/kafka/src/main/java/org/apache/apex/malhar/kafka/AbstractKafkaInputOperator.java
index 4f2f704..fbff2e7 100644
--- 
a/kafka/src/main/java/org/apache/apex/malhar/kafka/AbstractKafkaInputOperator.java
+++ 
b/kafka/src/main/java/org/apache/apex/malhar/kafka/AbstractKafkaInputOperator.java
@@ -63,6 +63,8 @@ import com.datatorrent.api.StatsListener;
  * <li>Multi-topic support, one operator can subscribe multiple topics</li>
  * <li>Throughput control support, you can throttle number of tuple for each 
streaming window</li>
  * </ol>
+ *
+ * @since 3.3.0
  */
 public abstract class AbstractKafkaInputOperator implements InputOperator, 
Operator.ActivationListener<Context.OperatorContext>, 
Operator.CheckpointListener, Partitioner<AbstractKafkaInputOperator>, 
StatsListener, OffsetCommitCallback
 {

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/54c67a60/kafka/src/main/java/org/apache/apex/malhar/kafka/AbstractKafkaPartitioner.java
----------------------------------------------------------------------
diff --git 
a/kafka/src/main/java/org/apache/apex/malhar/kafka/AbstractKafkaPartitioner.java
 
b/kafka/src/main/java/org/apache/apex/malhar/kafka/AbstractKafkaPartitioner.java
index 0fdd721..e01c38e 100644
--- 
a/kafka/src/main/java/org/apache/apex/malhar/kafka/AbstractKafkaPartitioner.java
+++ 
b/kafka/src/main/java/org/apache/apex/malhar/kafka/AbstractKafkaPartitioner.java
@@ -53,6 +53,8 @@ import com.datatorrent.api.StatsListener;
  * the consumer subscribes and expose those to subclass which implements the 
assign method
  *
  * The partitioner is always stateless.
+ *
+ * @since 3.3.0
  */
 public abstract class AbstractKafkaPartitioner implements 
Partitioner<AbstractKafkaInputOperator>, StatsListener
 {

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/54c67a60/kafka/src/main/java/org/apache/apex/malhar/kafka/KafkaConsumerWrapper.java
----------------------------------------------------------------------
diff --git 
a/kafka/src/main/java/org/apache/apex/malhar/kafka/KafkaConsumerWrapper.java 
b/kafka/src/main/java/org/apache/apex/malhar/kafka/KafkaConsumerWrapper.java
index 0903570..cac2ad2 100644
--- a/kafka/src/main/java/org/apache/apex/malhar/kafka/KafkaConsumerWrapper.java
+++ b/kafka/src/main/java/org/apache/apex/malhar/kafka/KafkaConsumerWrapper.java
@@ -60,6 +60,8 @@ import com.google.common.util.concurrent.ThreadFactoryBuilder;
  *
  * It also use the consumers to commit the application processed offsets along 
with the application name
  *
+ *
+ * @since 3.3.0
  */
 public class KafkaConsumerWrapper implements Closeable
 {

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/54c67a60/kafka/src/main/java/org/apache/apex/malhar/kafka/KafkaMetrics.java
----------------------------------------------------------------------
diff --git a/kafka/src/main/java/org/apache/apex/malhar/kafka/KafkaMetrics.java 
b/kafka/src/main/java/org/apache/apex/malhar/kafka/KafkaMetrics.java
index fdb1252..12a375d 100644
--- a/kafka/src/main/java/org/apache/apex/malhar/kafka/KafkaMetrics.java
+++ b/kafka/src/main/java/org/apache/apex/malhar/kafka/KafkaMetrics.java
@@ -30,6 +30,8 @@ import com.datatorrent.api.AutoMetric;
 
 /**
  * Metrics class
+ *
+ * @since 3.3.0
  */
 public class KafkaMetrics implements Serializable
 {

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/54c67a60/kafka/src/main/java/org/apache/apex/malhar/kafka/KafkaSinglePortInputOperator.java
----------------------------------------------------------------------
diff --git 
a/kafka/src/main/java/org/apache/apex/malhar/kafka/KafkaSinglePortInputOperator.java
 
b/kafka/src/main/java/org/apache/apex/malhar/kafka/KafkaSinglePortInputOperator.java
index e563c42..809c680 100644
--- 
a/kafka/src/main/java/org/apache/apex/malhar/kafka/KafkaSinglePortInputOperator.java
+++ 
b/kafka/src/main/java/org/apache/apex/malhar/kafka/KafkaSinglePortInputOperator.java
@@ -26,6 +26,8 @@ import com.datatorrent.api.DefaultOutputPort;
  * This is just an example of single port operator emits only byte array 
messages
  * The key and cluster information are ignored
  * This class emit the value to the single output port
+ *
+ * @since 3.3.0
  */
 public class KafkaSinglePortInputOperator extends AbstractKafkaInputOperator
 {

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/54c67a60/kafka/src/main/java/org/apache/apex/malhar/kafka/OneToManyPartitioner.java
----------------------------------------------------------------------
diff --git 
a/kafka/src/main/java/org/apache/apex/malhar/kafka/OneToManyPartitioner.java 
b/kafka/src/main/java/org/apache/apex/malhar/kafka/OneToManyPartitioner.java
index 09d22eb..16f4da4 100644
--- a/kafka/src/main/java/org/apache/apex/malhar/kafka/OneToManyPartitioner.java
+++ b/kafka/src/main/java/org/apache/apex/malhar/kafka/OneToManyPartitioner.java
@@ -29,6 +29,8 @@ import org.apache.kafka.common.PartitionInfo;
 /**
  * A one-to-many partitioner implementation that creates fix number of 
operator partitions and assign one or more
  * Kafka partitions to each. It use round robin to assign partitions
+ *
+ * @since 3.3.0
  */
 public class OneToManyPartitioner extends AbstractKafkaPartitioner
 {

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/54c67a60/kafka/src/main/java/org/apache/apex/malhar/kafka/OneToOnePartitioner.java
----------------------------------------------------------------------
diff --git 
a/kafka/src/main/java/org/apache/apex/malhar/kafka/OneToOnePartitioner.java 
b/kafka/src/main/java/org/apache/apex/malhar/kafka/OneToOnePartitioner.java
index 0cf7d44..b787932 100644
--- a/kafka/src/main/java/org/apache/apex/malhar/kafka/OneToOnePartitioner.java
+++ b/kafka/src/main/java/org/apache/apex/malhar/kafka/OneToOnePartitioner.java
@@ -30,6 +30,8 @@ import com.google.common.collect.Sets;
 /**
  * An one-to-one partitioner implementation that always returns same amount of 
operator partitions as
  * Kafka partitions for the topics that operator subscribe
+ *
+ * @since 3.3.0
  */
 public class OneToOnePartitioner extends AbstractKafkaPartitioner
 {

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/54c67a60/kafka/src/main/java/org/apache/apex/malhar/kafka/PartitionStrategy.java
----------------------------------------------------------------------
diff --git 
a/kafka/src/main/java/org/apache/apex/malhar/kafka/PartitionStrategy.java 
b/kafka/src/main/java/org/apache/apex/malhar/kafka/PartitionStrategy.java
index cb21f3d..aaa35ec 100644
--- a/kafka/src/main/java/org/apache/apex/malhar/kafka/PartitionStrategy.java
+++ b/kafka/src/main/java/org/apache/apex/malhar/kafka/PartitionStrategy.java
@@ -18,6 +18,9 @@
  */
 package org.apache.apex.malhar.kafka;
 
+/**
+ * @since 3.3.0
+ */
 public enum PartitionStrategy
 {
   /**

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/54c67a60/library/src/main/java/com/datatorrent/lib/appdata/QueueUtils.java
----------------------------------------------------------------------
diff --git a/library/src/main/java/com/datatorrent/lib/appdata/QueueUtils.java 
b/library/src/main/java/com/datatorrent/lib/appdata/QueueUtils.java
index 1291428..4213aae 100644
--- a/library/src/main/java/com/datatorrent/lib/appdata/QueueUtils.java
+++ b/library/src/main/java/com/datatorrent/lib/appdata/QueueUtils.java
@@ -18,6 +18,9 @@
  */
 package com.datatorrent.lib.appdata;
 
+/**
+ * @since 3.3.0
+ */
 public class QueueUtils
 {
   /**

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/54c67a60/library/src/main/java/com/datatorrent/lib/appdata/StoreUtils.java
----------------------------------------------------------------------
diff --git a/library/src/main/java/com/datatorrent/lib/appdata/StoreUtils.java 
b/library/src/main/java/com/datatorrent/lib/appdata/StoreUtils.java
index b8fe454..e6712d1 100644
--- a/library/src/main/java/com/datatorrent/lib/appdata/StoreUtils.java
+++ b/library/src/main/java/com/datatorrent/lib/appdata/StoreUtils.java
@@ -29,6 +29,9 @@ import com.datatorrent.api.DefaultInputPort;
 import com.datatorrent.api.DefaultOutputPort;
 import com.datatorrent.api.Sink;
 
+/**
+ * @since 3.3.0
+ */
 public class StoreUtils
 {
   /**

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/54c67a60/library/src/main/java/com/datatorrent/lib/dimensions/CustomTimeBucketRegistry.java
----------------------------------------------------------------------
diff --git 
a/library/src/main/java/com/datatorrent/lib/dimensions/CustomTimeBucketRegistry.java
 
b/library/src/main/java/com/datatorrent/lib/dimensions/CustomTimeBucketRegistry.java
index fc11647..0e76509 100644
--- 
a/library/src/main/java/com/datatorrent/lib/dimensions/CustomTimeBucketRegistry.java
+++ 
b/library/src/main/java/com/datatorrent/lib/dimensions/CustomTimeBucketRegistry.java
@@ -31,6 +31,9 @@ import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap;
 import it.unimi.dsi.fastutil.objects.Object2IntMap;
 import it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap;
 
+/**
+ * @since 3.3.0
+ */
 public class CustomTimeBucketRegistry implements Serializable
 {
   private static final long serialVersionUID = 201509221536L;

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/54c67a60/library/src/main/java/com/datatorrent/lib/dimensions/DimensionsConversionContext.java
----------------------------------------------------------------------
diff --git 
a/library/src/main/java/com/datatorrent/lib/dimensions/DimensionsConversionContext.java
 
b/library/src/main/java/com/datatorrent/lib/dimensions/DimensionsConversionContext.java
index 9247320..dd598ff 100644
--- 
a/library/src/main/java/com/datatorrent/lib/dimensions/DimensionsConversionContext.java
+++ 
b/library/src/main/java/com/datatorrent/lib/dimensions/DimensionsConversionContext.java
@@ -26,6 +26,8 @@ import com.datatorrent.lib.appdata.schemas.FieldsDescriptor;
 /**
  * This is a context object used to convert {@link InputEvent}s into aggregates
  * in {@link IncrementalAggregator}s.
+ *
+ * @since 3.3.0
  */
 public class DimensionsConversionContext implements Serializable
 {

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/54c67a60/library/src/main/java/com/datatorrent/lib/dimensions/DimensionsDescriptor.java
----------------------------------------------------------------------
diff --git 
a/library/src/main/java/com/datatorrent/lib/dimensions/DimensionsDescriptor.java
 
b/library/src/main/java/com/datatorrent/lib/dimensions/DimensionsDescriptor.java
index e593112..a1b6f96 100644
--- 
a/library/src/main/java/com/datatorrent/lib/dimensions/DimensionsDescriptor.java
+++ 
b/library/src/main/java/com/datatorrent/lib/dimensions/DimensionsDescriptor.java
@@ -72,6 +72,8 @@ import com.datatorrent.lib.appdata.schemas.Type;
  * dimensionsDescriptorID is used for storage in order to prevent key 
conflicts.
  * </p>
  *
+ *
+ * @since 3.3.0
  */
 public class DimensionsDescriptor implements Serializable, 
Comparable<DimensionsDescriptor>
 {

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/54c67a60/library/src/main/java/com/datatorrent/lib/dimensions/aggregator/AggregateEvent.java
----------------------------------------------------------------------
diff --git 
a/library/src/main/java/com/datatorrent/lib/dimensions/aggregator/AggregateEvent.java
 
b/library/src/main/java/com/datatorrent/lib/dimensions/aggregator/AggregateEvent.java
index b1c68f5..e8f2f3e 100644
--- 
a/library/src/main/java/com/datatorrent/lib/dimensions/aggregator/AggregateEvent.java
+++ 
b/library/src/main/java/com/datatorrent/lib/dimensions/aggregator/AggregateEvent.java
@@ -20,6 +20,9 @@ package com.datatorrent.lib.dimensions.aggregator;
 
 import it.unimi.dsi.fastutil.Hash;
 
+/**
+ * @since 3.3.0
+ */
 public interface AggregateEvent
 {
   int getAggregatorIndex();

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/54c67a60/library/src/main/java/com/datatorrent/lib/io/WebSocketServerInputOperator.java
----------------------------------------------------------------------
diff --git 
a/library/src/main/java/com/datatorrent/lib/io/WebSocketServerInputOperator.java
 
b/library/src/main/java/com/datatorrent/lib/io/WebSocketServerInputOperator.java
index 1961dcf..bf1b40e 100644
--- 
a/library/src/main/java/com/datatorrent/lib/io/WebSocketServerInputOperator.java
+++ 
b/library/src/main/java/com/datatorrent/lib/io/WebSocketServerInputOperator.java
@@ -31,6 +31,9 @@ import org.eclipse.jetty.websocket.WebSocket;
 import org.eclipse.jetty.websocket.WebSocketServlet;
 
 @org.apache.hadoop.classification.InterfaceStability.Evolving
+/**
+ * @since 3.3.0
+ */
 public abstract class WebSocketServerInputOperator implements InputOperator
 {
   public static final String DEFAULT_EXTENSION = "/in";

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/54c67a60/library/src/main/java/com/datatorrent/lib/util/FieldInfo.java
----------------------------------------------------------------------
diff --git a/library/src/main/java/com/datatorrent/lib/util/FieldInfo.java 
b/library/src/main/java/com/datatorrent/lib/util/FieldInfo.java
index da51688..e07bd04 100644
--- a/library/src/main/java/com/datatorrent/lib/util/FieldInfo.java
+++ b/library/src/main/java/com/datatorrent/lib/util/FieldInfo.java
@@ -21,6 +21,9 @@ package com.datatorrent.lib.util;
 import javax.validation.constraints.NotNull;
 
 @SuppressWarnings("rawtypes")
+/**
+ * @since 3.3.0
+ */
 public class FieldInfo
 {
   // Columns name set by user.

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/54c67a60/library/src/main/java/com/datatorrent/lib/util/FieldValueGenerator.java
----------------------------------------------------------------------
diff --git 
a/library/src/main/java/com/datatorrent/lib/util/FieldValueGenerator.java 
b/library/src/main/java/com/datatorrent/lib/util/FieldValueGenerator.java
index a739a61..5c1a241 100644
--- a/library/src/main/java/com/datatorrent/lib/util/FieldValueGenerator.java
+++ b/library/src/main/java/com/datatorrent/lib/util/FieldValueGenerator.java
@@ -25,6 +25,9 @@ import java.util.Map;
 import com.datatorrent.lib.util.PojoUtils.Getter;
 import com.datatorrent.lib.util.PojoUtils.Setter;
 
+/**
+ * @since 3.3.0
+ */
 public class FieldValueGenerator<T extends FieldInfo>
 {
   public static interface FieldValueHandler<T extends FieldInfo>

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/54c67a60/library/src/main/java/com/datatorrent/lib/util/TableInfo.java
----------------------------------------------------------------------
diff --git a/library/src/main/java/com/datatorrent/lib/util/TableInfo.java 
b/library/src/main/java/com/datatorrent/lib/util/TableInfo.java
index 4dc11b2..e59de59 100644
--- a/library/src/main/java/com/datatorrent/lib/util/TableInfo.java
+++ b/library/src/main/java/com/datatorrent/lib/util/TableInfo.java
@@ -22,6 +22,9 @@ import java.util.List;
 
 import javax.validation.constraints.NotNull;
 
+/**
+ * @since 3.3.0
+ */
 public class TableInfo< T extends FieldInfo >
 {
   //the row or id expression

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/54c67a60/library/src/main/java/com/datatorrent/lib/util/comparator/SliceComparator.java
----------------------------------------------------------------------
diff --git 
a/library/src/main/java/com/datatorrent/lib/util/comparator/SliceComparator.java
 
b/library/src/main/java/com/datatorrent/lib/util/comparator/SliceComparator.java
index 4a284fe..3fd1c10 100644
--- 
a/library/src/main/java/com/datatorrent/lib/util/comparator/SliceComparator.java
+++ 
b/library/src/main/java/com/datatorrent/lib/util/comparator/SliceComparator.java
@@ -26,6 +26,8 @@ import com.datatorrent.netlet.util.Slice;
 
 /**
  * Default key comparator that performs lexicographical comparison of the byte 
arrays.
+ *
+ * @since 3.3.0
  */
 public class SliceComparator implements Comparator<Slice>
 {

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/54c67a60/library/src/main/java/com/datatorrent/lib/util/time/WindowUtils.java
----------------------------------------------------------------------
diff --git 
a/library/src/main/java/com/datatorrent/lib/util/time/WindowUtils.java 
b/library/src/main/java/com/datatorrent/lib/util/time/WindowUtils.java
index 16a4dfa..6d412b5 100644
--- a/library/src/main/java/com/datatorrent/lib/util/time/WindowUtils.java
+++ b/library/src/main/java/com/datatorrent/lib/util/time/WindowUtils.java
@@ -31,6 +31,8 @@ import com.datatorrent.api.Context.OperatorContext;
 /**
  * This a is class which holds utility functions that can be used by operators 
to perform common
  * tasks.
+ *
+ * @since 3.3.0
  */
 public class WindowUtils
 {

Reply via email to