[NO-ISSUE][TYPE] Set data format in metadata provider

- user model changes: no
- storage format changes: no
- interface changes: no

This small patch allows extensions to set the data format in
MetadataProvider.

Change-Id: I9eda624d0f86a9bdcc9ec5d907b759d909f4da55
Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/17646
Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Reviewed-by: Ian Maxon <imaxon@uci.edu>
Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
diff --git a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/MetadataProvider.java b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/MetadataProvider.java
index ea1b9e6..e85e10a 100644
--- a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/MetadataProvider.java
+++ b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/MetadataProvider.java
@@ -188,6 +188,7 @@
     private boolean blockingOperatorDisabled = false;
 
     private final DataPartitioningProvider dataPartitioningProvider;
+    private IDataFormat dataFormat = FormatUtils.getDefaultFormat();
 
     public static MetadataProvider create(ICcApplicationContext appCtx, Dataverse defaultDataverse) {
         java.util.function.Function<ICcApplicationContext, IMetadataProvider<?, ?>> factory =
@@ -318,7 +319,11 @@
     }
 
     public IDataFormat getDataFormat() {
-        return FormatUtils.getDefaultFormat();
+        return dataFormat;
+    }
+
+    public void setDataFormat(IDataFormat dataFormat) {
+        this.dataFormat = dataFormat;
     }
 
     public StorageProperties getStorageProperties() {
diff --git a/asterixdb/asterix-om/src/main/java/org/apache/asterix/formats/nontagged/SerializerDeserializerProvider.java b/asterixdb/asterix-om/src/main/java/org/apache/asterix/formats/nontagged/SerializerDeserializerProvider.java
index 2ba9e56..521e528 100644
--- a/asterixdb/asterix-om/src/main/java/org/apache/asterix/formats/nontagged/SerializerDeserializerProvider.java
+++ b/asterixdb/asterix-om/src/main/java/org/apache/asterix/formats/nontagged/SerializerDeserializerProvider.java
@@ -72,10 +72,10 @@
 
 public class SerializerDeserializerProvider implements ISerializerDeserializerProvider, Serializable {
 
-    private static final long serialVersionUID = 1L;
+    private static final long serialVersionUID = 2L;
     public static final SerializerDeserializerProvider INSTANCE = new SerializerDeserializerProvider();
 
-    private SerializerDeserializerProvider() {
+    protected SerializerDeserializerProvider() {
     }
 
     // Can't be shared among threads <Stateful>
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/formats/NonTaggedDataFormat.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/formats/NonTaggedDataFormat.java
index 8c8b7e6..6715cbd 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/formats/NonTaggedDataFormat.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/formats/NonTaggedDataFormat.java
@@ -95,7 +95,7 @@
 
     public static final String NON_TAGGED_DATA_FORMAT = "org.apache.asterix.runtime.formats.NonTaggedDataFormat";
 
-    private NonTaggedDataFormat() {
+    protected NonTaggedDataFormat() {
     }
 
     @Override