Repository: incubator-reef
Updated Branches:
  refs/heads/master b65ff47fa -> ff9226613


[REEF-403] Throw exception when serializing Lists in AvroConfigurationSerializer

We currently don't support lists and silently ignore them. This change
fixes the latter: We now throw an exception when encountering a
non-empty list.

JIRA:
  [REEF-403](https://issues.apache.org/jira/browse/REEF-403)

Pull Request:
  This closes #240


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

Branch: refs/heads/master
Commit: ff92266133101749406c4c30734cc8d6308b9040
Parents: b65ff47
Author: Ignacio Cano <[email protected]>
Authored: Tue Jun 23 16:59:24 2015 -0700
Committer: Markus Weimer <[email protected]>
Committed: Tue Jun 23 17:56:16 2015 -0700

----------------------------------------------------------------------
 .../apache/reef/tang/formats/AvroConfigurationSerializer.java  | 6 ++++++
 1 file changed, 6 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/ff922661/lang/java/reef-tang/tang/src/main/java/org/apache/reef/tang/formats/AvroConfigurationSerializer.java
----------------------------------------------------------------------
diff --git 
a/lang/java/reef-tang/tang/src/main/java/org/apache/reef/tang/formats/AvroConfigurationSerializer.java
 
b/lang/java/reef-tang/tang/src/main/java/org/apache/reef/tang/formats/AvroConfigurationSerializer.java
index 7090590..0eba022 100644
--- 
a/lang/java/reef-tang/tang/src/main/java/org/apache/reef/tang/formats/AvroConfigurationSerializer.java
+++ 
b/lang/java/reef-tang/tang/src/main/java/org/apache/reef/tang/formats/AvroConfigurationSerializer.java
@@ -23,6 +23,7 @@ import org.apache.avro.file.DataFileWriter;
 import org.apache.avro.io.*;
 import org.apache.avro.specific.SpecificDatumReader;
 import org.apache.avro.specific.SpecificDatumWriter;
+import org.apache.commons.lang.NotImplementedException;
 import org.apache.commons.lang.StringUtils;
 import org.apache.reef.tang.ClassHierarchy;
 import org.apache.reef.tang.Configuration;
@@ -39,6 +40,7 @@ import org.apache.reef.tang.types.Node;
 import org.apache.reef.tang.util.ReflectionUtilities;
 
 import javax.inject.Inject;
+
 import java.io.*;
 import java.util.*;
 
@@ -179,6 +181,10 @@ public final class AvroConfigurationSerializer implements 
ConfigurationSerialize
           .build());
     }
     // TODO: Implement list serialization
+    if (configuration.getBoundLists() != null && 
!configuration.getBoundLists().isEmpty()) {
+      throw new NotImplementedException("List serialization/deserialization is 
not supported");
+    }
+    
 
     return 
AvroConfiguration.newBuilder().setBindings(configurationEntries).build();
   }

Reply via email to