[NO ISSUE][OTH] Add operator field to subplan json plan

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

Details:

- Add "operator" field to subplan operators json format
  plan.

Change-Id: I1df5a97367286663b002547997c555b20e56697d
Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/11123
Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Reviewed-by: Murtadha Hubail <mhubail@apache.org>
Reviewed-by: Ali Alsuliman <ali.al.solaiman@gmail.com>
diff --git a/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/prettyprint/LogicalOperatorPrettyPrintVisitorJson.java b/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/prettyprint/LogicalOperatorPrettyPrintVisitorJson.java
index f404058..6ba4c0c 100644
--- a/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/prettyprint/LogicalOperatorPrettyPrintVisitorJson.java
+++ b/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/prettyprint/LogicalOperatorPrettyPrintVisitorJson.java
@@ -411,8 +411,13 @@
 
     @Override
     public Void visitSubplanOperator(SubplanOperator op, Void indent) throws AlgebricksException {
-        if (!op.getNestedPlans().isEmpty()) {
-            writeNestedPlans(op, indent);
+        try {
+            if (!op.getNestedPlans().isEmpty()) {
+                jsonGenerator.writeStringField(OPERATOR_FIELD, "subplan");
+                writeNestedPlans(op, indent);
+            }
+        } catch (IOException e) {
+            throw AlgebricksException.create(ErrorCode.ERROR_PRINTING_PLAN, e, String.valueOf(e));
         }
         return null;
     }