[ONOS-7213] Add serializer for cluster metadata Partitions.

Change-Id: I9344288b881f9e50feb8901f560e1a0a4b53392d
diff --git a/core/net/src/main/java/org/onosproject/cluster/impl/ConfigFileBasedClusterMetadataProvider.java b/core/net/src/main/java/org/onosproject/cluster/impl/ConfigFileBasedClusterMetadataProvider.java
index 14b97aa..3414033 100644
--- a/core/net/src/main/java/org/onosproject/cluster/impl/ConfigFileBasedClusterMetadataProvider.java
+++ b/core/net/src/main/java/org/onosproject/cluster/impl/ConfigFileBasedClusterMetadataProvider.java
@@ -102,6 +102,7 @@
         module.addDeserializer(NodeId.class, new NodeIdDeserializer());
         module.addSerializer(ControllerNode.class, new ControllerNodeSerializer());
         module.addDeserializer(ControllerNode.class, new ControllerNodeDeserializer());
+        module.addSerializer(Partition.class, new PartitionSerializer());
         module.addDeserializer(Partition.class, new PartitionDeserializer());
         module.addSerializer(PartitionId.class, new PartitionIdSerializer());
         module.addDeserializer(PartitionId.class, new PartitionIdDeserializer());
@@ -248,6 +249,21 @@
         }
     }
 
+    private static class PartitionSerializer extends JsonSerializer<Partition> {
+        @Override
+        public void serialize(Partition partition, JsonGenerator jgen, SerializerProvider serializerProvider)
+                throws IOException, JsonProcessingException {
+            jgen.writeStartObject();
+            jgen.writeNumberField("id", partition.getId().asInt());
+            jgen.writeArrayFieldStart("members");
+            for (NodeId nodeId : partition.getMembers()) {
+                jgen.writeString(nodeId.id());
+            }
+            jgen.writeEndArray();
+            jgen.writeEndObject();
+        }
+    }
+
     private static class PartitionDeserializer extends JsonDeserializer<Partition> {
         @Override
         public Partition deserialize(JsonParser jp, DeserializationContext ctxt)