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(); }
