Adding introspection for getting record details.
Change-Id: Iba15acff0f6830cffbc33d9dac3b5f0c417be844
Reviewed-on: https://asterix-gerrit.ics.uci.edu/313
Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Reviewed-by: Steven Jacobs <sjaco002@ucr.edu>
diff --git a/asterix-common/src/main/resources/schema/asterix-conf.xsd b/asterix-common/src/main/resources/schema/asterix-conf.xsd
index 6edfbf8..bed63be 100644
--- a/asterix-common/src/main/resources/schema/asterix-conf.xsd
+++ b/asterix-common/src/main/resources/schema/asterix-conf.xsd
@@ -1,88 +1,108 @@
<?xml version="1.0" encoding="ISO-8859-1" ?>
-<!--
- ! Copyright 2009-2013 by The Regents of the University of California
- ! Licensed under the Apache License, Version 2.0 (the "License");
- ! you may not use this file except in compliance with the License.
- ! you may obtain a copy of the License from
- !
- ! http://www.apache.org/licenses/LICENSE-2.0
- !
- ! Unless required by applicable law or agreed to in writing, software
- ! distributed under the License is distributed on an "AS IS" BASIS,
- ! WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- ! See the License for the specific language governing permissions and
- ! limitations under the License.
- !-->
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
- xmlns:mg="asterixconf" targetNamespace="asterixconf"
- elementFormDefault="qualified">
+<xs:schema
+ xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ xmlns:mg="asterixconf"
+ targetNamespace="asterixconf"
+ elementFormDefault="qualified">
- <!-- definition of simple types -->
+ <!-- definition of simple types -->
+ <xs:element
+ name="instanceName"
+ type="xs:string" />
+ <xs:element
+ name="version"
+ type="xs:string" />
+ <xs:element
+ name="metadataNode"
+ type="xs:string" />
+ <xs:element
+ name="coredumpPath"
+ type="xs:string" />
+ <xs:element
+ name="storeDirs"
+ type="xs:string" />
+ <xs:element
+ name="ncId"
+ type="xs:string" />
+ <xs:element
+ name="name"
+ type="xs:string" />
+ <xs:element
+ name="value"
+ type="xs:string" />
+ <xs:element
+ name="description"
+ type="xs:string" />
+ <xs:element
+ name="txnLogDirPath"
+ type="xs:string" />
+
+ <!-- definition of complex elements -->
+ <xs:element name="store">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="mg:ncId" />
+ <xs:element ref="mg:storeDirs" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="coredump">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="mg:ncId" />
+ <xs:element ref="mg:coredumpPath" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="transactionLogDir">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="mg:ncId" />
+ <xs:element ref="mg:txnLogDirPath" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="property">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="mg:name" />
+ <xs:element ref="mg:value" />
+ <xs:element ref="mg:description" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
- <xs:element name="instanceName" type="xs:string" />
- <xs:element name="version" type="xs:string"/>
- <xs:element name="metadataNode" type="xs:string" />
- <xs:element name="coredumpPath" type="xs:string" />
- <xs:element name="storeDirs" type="xs:string" />
- <xs:element name="ncId" type="xs:string" />
- <xs:element name="name" type="xs:string" />
- <xs:element name="value" type="xs:string" />
- <xs:element name="description" type="xs:string" />
- <xs:element name="txnLogDirPath" type="xs:string" />
+ <xs:element name="asterixConfiguration">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element
+ ref="mg:instanceName"
+ minOccurs="0" />
+ <xs:element
+ ref="mg:version"
+ minOccurs="0" />
+ <xs:element
+ ref="mg:metadataNode"
+ minOccurs="0" />
+ <xs:element
+ ref="mg:store"
+ maxOccurs="unbounded" />
+ <xs:element
+ ref="mg:coredump"
+ maxOccurs="unbounded" />
+ <xs:element
+ ref="mg:transactionLogDir"
+ maxOccurs="unbounded" />
+ <xs:element
+ ref="mg:property"
+ minOccurs="0"
+ maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
-
- <!-- definition of complex elements -->
- <xs:element name="store">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="mg:ncId" />
- <xs:element ref="mg:storeDirs" />
- </xs:sequence>
- </xs:complexType>
- </xs:element>
-
- <xs:element name="coredump">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="mg:ncId" />
- <xs:element ref="mg:coredumpPath" />
- </xs:sequence>
- </xs:complexType>
- </xs:element>
-
- <xs:element name="transactionLogDir">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="mg:ncId" />
- <xs:element ref="mg:txnLogDirPath" />
- </xs:sequence>
- </xs:complexType>
- </xs:element>
-
- <xs:element name="property">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="mg:name" />
- <xs:element ref="mg:value" />
- <xs:element ref="mg:description" />
- </xs:sequence>
- </xs:complexType>
- </xs:element>
-
-
- <xs:element name="asterixConfiguration">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="mg:instanceName" minOccurs="0" />
- <xs:element ref="mg:version" minOccurs="0" />
- <xs:element ref="mg:metadataNode" minOccurs="0" />
- <xs:element ref="mg:store" maxOccurs="unbounded" />
- <xs:element ref="mg:coredump" maxOccurs="unbounded" />
- <xs:element ref="mg:transactionLogDir" maxOccurs="unbounded" />
- <xs:element ref="mg:property" minOccurs="0" maxOccurs="unbounded" />
- </xs:sequence>
- </xs:complexType>
- </xs:element>
-
-</xs:schema>
+</xs:schema>
diff --git a/asterix-common/src/main/resources/schema/yarn_cluster.xsd b/asterix-common/src/main/resources/schema/yarn_cluster.xsd
index 2aa76cf..62c6f9a 100644
--- a/asterix-common/src/main/resources/schema/yarn_cluster.xsd
+++ b/asterix-common/src/main/resources/schema/yarn_cluster.xsd
@@ -1,103 +1,179 @@
<?xml version="1.0" encoding="ISO-8859-1" ?>
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
- xmlns:cl="yarn_cluster" targetNamespace="yarn_cluster" elementFormDefault="qualified">
+<xs:schema
+ xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ xmlns:cl="yarn_cluster"
+ targetNamespace="yarn_cluster"
+ elementFormDefault="qualified">
<!-- definition of simple types -->
- <xs:element name="instance_name" type="xs:string" />
- <xs:element name="cluster_name" type="xs:string" />
- <xs:element name="log_dir" type="xs:string" />
- <xs:element name="txn_log_dir" type="xs:string" />
- <xs:element name="id" type="xs:string" />
- <xs:element name="client_ip" type="xs:string" />
- <xs:element name="cluster_ip" type="xs:string" />
- <xs:element name="key" type="xs:string" />
- <xs:element name="value" type="xs:string" />
- <xs:element name="store" type="xs:string" />
- <xs:element name="iodevices" type="xs:string" />
- <xs:element name="web_port" type="xs:string" />
- <xs:element name="client_port" type="xs:integer" />
- <xs:element name="cluster_port" type="xs:integer" />
- <xs:element name="http_port" type="xs:integer" />
- <xs:element name="debug_port" type="xs:integer" />
- <xs:element name="metadata_node" type="xs:string" />
- <xs:element name="cc_container_mem" type="xs:string" />
- <xs:element name="nc_container_mem" type="xs:string" />
+ <xs:element
+ name="instance_name"
+ type="xs:string" />
+ <xs:element
+ name="cluster_name"
+ type="xs:string" />
+ <xs:element
+ name="log_dir"
+ type="xs:string" />
+ <xs:element
+ name="txn_log_dir"
+ type="xs:string" />
+ <xs:element
+ name="id"
+ type="xs:string" />
+ <xs:element
+ name="client_ip"
+ type="xs:string" />
+ <xs:element
+ name="cluster_ip"
+ type="xs:string" />
+ <xs:element
+ name="key"
+ type="xs:string" />
+ <xs:element
+ name="value"
+ type="xs:string" />
+ <xs:element
+ name="store"
+ type="xs:string" />
+ <xs:element
+ name="iodevices"
+ type="xs:string" />
+ <xs:element
+ name="web_port"
+ type="xs:string" />
+ <xs:element
+ name="client_port"
+ type="xs:integer" />
+ <xs:element
+ name="cluster_port"
+ type="xs:integer" />
+ <xs:element
+ name="http_port"
+ type="xs:integer" />
+ <xs:element
+ name="debug_port"
+ type="xs:integer" />
+ <xs:element
+ name="metadata_node"
+ type="xs:string" />
+ <xs:element
+ name="cc_container_mem"
+ type="xs:string" />
+ <xs:element
+ name="nc_container_mem"
+ type="xs:string" />
<!-- definition of complex elements -->
- <xs:element name="master_node">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="cl:id" />
- <xs:element ref="cl:client_ip" />
- <xs:element ref="cl:cluster_ip" />
- <xs:element ref="cl:log_dir" minOccurs="0" />
- <xs:element ref="cl:client_port" />
- <xs:element ref="cl:cluster_port" />
- <xs:element ref="cl:http_port" />
- <xs:element ref="cl:debug_port" minOccurs="0" />
- </xs:sequence>
- </xs:complexType>
- </xs:element>
+ <xs:element name="master_node">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="cl:id" />
+ <xs:element ref="cl:client_ip" />
+ <xs:element ref="cl:cluster_ip" />
+ <xs:element
+ ref="cl:log_dir"
+ minOccurs="0" />
+ <xs:element ref="cl:client_port" />
+ <xs:element ref="cl:cluster_port" />
+ <xs:element ref="cl:http_port" />
+ <xs:element
+ ref="cl:debug_port"
+ minOccurs="0" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
- <xs:element name="property">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="cl:key" />
- <xs:element ref="cl:value" />
- </xs:sequence>
- </xs:complexType>
- </xs:element>
+ <xs:element name="property">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="cl:key" />
+ <xs:element ref="cl:value" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
- <xs:element name="env">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="cl:property" minOccurs="0" maxOccurs="unbounded" />
- </xs:sequence>
- </xs:complexType>
- </xs:element>
+ <xs:element name="env">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element
+ ref="cl:property"
+ minOccurs="0"
+ maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
- <xs:element name="node">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="cl:id" />
- <xs:element ref="cl:cluster_ip" />
- <xs:element ref="cl:log_dir" minOccurs="0" />
- <xs:element ref="cl:txn_log_dir" minOccurs="0" />
- <xs:element ref="cl:store" minOccurs="0" />
- <xs:element ref="cl:iodevices" minOccurs="0" />
- <xs:element ref="cl:debug_port" minOccurs="0" />
- </xs:sequence>
- </xs:complexType>
- </xs:element>
+ <xs:element name="node">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="cl:id" />
+ <xs:element ref="cl:cluster_ip" />
+ <xs:element
+ ref="cl:log_dir"
+ minOccurs="0" />
+ <xs:element
+ ref="cl:txn_log_dir"
+ minOccurs="0" />
+ <xs:element
+ ref="cl:store"
+ minOccurs="0" />
+ <xs:element
+ ref="cl:iodevices"
+ minOccurs="0" />
+ <xs:element
+ ref="cl:debug_port"
+ minOccurs="0" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
- <xs:element name="substitute_nodes">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="cl:node" maxOccurs="unbounded" />
- </xs:sequence>
- </xs:complexType>
- </xs:element>
+ <xs:element name="substitute_nodes">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element
+ ref="cl:node"
+ maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
- <xs:element name="cluster">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="cl:instance_name" />
- <xs:element ref="cl:cluster_name" />
- <xs:element ref="cl:cc_container_mem" minOccurs="0" />
- <xs:element ref="cl:nc_container_mem" minOccurs="0" />
- <xs:element ref="cl:env" minOccurs="0" />
- <xs:element ref="cl:log_dir" minOccurs="0" />
- <xs:element ref="cl:txn_log_dir" minOccurs="0" />
- <xs:element ref="cl:store" minOccurs="0" />
- <xs:element ref="cl:iodevices" minOccurs="0" />
- <xs:element ref="cl:metadata_node" />
- <xs:element ref="cl:master_node" />
- <xs:element ref="cl:node" maxOccurs="unbounded" />
- <xs:element ref="cl:substitute_nodes" />
- </xs:sequence>
- </xs:complexType>
- </xs:element>
+ <xs:element name="cluster">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="cl:instance_name" />
+ <xs:element ref="cl:cluster_name" />
+ <xs:element
+ ref="cl:cc_container_mem"
+ minOccurs="0" />
+ <xs:element
+ ref="cl:nc_container_mem"
+ minOccurs="0" />
+ <xs:element
+ ref="cl:env"
+ minOccurs="0" />
+ <xs:element
+ ref="cl:log_dir"
+ minOccurs="0" />
+ <xs:element
+ ref="cl:txn_log_dir"
+ minOccurs="0" />
+ <xs:element
+ ref="cl:store"
+ minOccurs="0" />
+ <xs:element
+ ref="cl:iodevices"
+ minOccurs="0" />
+ <xs:element ref="cl:metadata_node" />
+ <xs:element ref="cl:master_node" />
+ <xs:element
+ ref="cl:node"
+ maxOccurs="unbounded" />
+ <xs:element ref="cl:substitute_nodes" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
</xs:schema>