DISPATCH-437 - WIP - Added code to transform body attribute map to use attribute ordinalities
diff --git a/include/qpid/dispatch/connection_manager.h b/include/qpid/dispatch/connection_manager.h
index baad127..feeb043 100644
--- a/include/qpid/dispatch/connection_manager.h
+++ b/include/qpid/dispatch/connection_manager.h
@@ -79,9 +79,9 @@
  */
 void qd_connection_manager_start(qd_dispatch_t *qd);
 
-qd_amqp_error_t qd_connection_manager_create_ssl_profile(qd_dispatch_t *qd,
+qd_amqp_error_t qd_connection_manager_create_ssl_profile(qd_dispatch_t       *qd,
                                                          qd_field_iterator_t *name,
-                                                         qd_parsed_field_t *in_body,
+                                                         qd_parsed_field_t   *in_body,
                                                          qd_composed_field_t *out_body);
 
 qd_amqp_error_t qd_connection_manager_delete_ssl_profile(qd_dispatch_t *qd,
@@ -93,11 +93,11 @@
                                                        qd_field_iterator_t *identity,
                                                        qd_composed_field_t *out_body);
 
-qd_amqp_error_t qd_connection_manager_query_ssl_profile(qd_dispatch_t *qd,
-                                                        int offset,
-                                                        int count,
-                                                        qd_parsed_field_t     *in_body,
-                                                        qd_composed_field_t   *out_body);
+qd_amqp_error_t qd_connection_manager_query_ssl_profile(qd_dispatch_t       *qd,
+                                                        int                  offset,
+                                                        int                  count,
+                                                        qd_parsed_field_t   *in_body,
+                                                        qd_composed_field_t *out_body);
 /**
  * Get the connector's name.
  *
diff --git a/python/qpid_dispatch_internal/management/agent/agent.py b/python/qpid_dispatch_internal/management/agent/agent.py
index 5430e6e..3d131b3 100644
--- a/python/qpid_dispatch_internal/management/agent/agent.py
+++ b/python/qpid_dispatch_internal/management/agent/agent.py
@@ -761,6 +761,7 @@
         self.config_types = [et for et in schema.entity_types.itervalues()
                                      if schema.is_configuration(et)]
         self.policy = PolicyManager(self)
+        self.adapters = []
         if self.config_file:
             try:
                 self.load(self.config_file, raw_json)
@@ -769,7 +770,7 @@
         else:
             self.entities = []
         self.log_adapter = LogAdapter("AGENT")
-        self.adapters = []
+
         self.management = self.create_entity({"type": "management"})
         # self.add_entity(self.management)
         #self.io = IoAdapter(self.receive, address, 'L', '0', TREATMENT_ANYCAST_CLOSEST)
@@ -824,7 +825,6 @@
         """
         Calls the
         """
-        print 'body is *********** ', body
         self.agent_adapter.post_management_request(cid=cid,
                                                    reply_to=reply_to,
                                                    name=name,
@@ -835,14 +835,27 @@
                                                    count=count,
                                                    offset=offset)
 
+    def _transform_attributes(self, adapter):
+        transformed = {}
+        # adapter.attributes has something like this -
+        # {u'mobileAddrMaxAge': 60, u'raIntervalFlux': 4, u'workerThreads': 4, u'helloInterval': 1, u'area': '0',
+        # u'helloMaxAge': 3, u'saslConfigName': 'qdrouterd', u'remoteLsMaxAge': 60, u'raInterval': 30, u'mode': 0,
+        # 'type': 'org.apache.qpid.dispatch.router', u'id': 'Router.A'}
+        # We want to create a new dict with the keys as the ordinality of the respective keys from the above dict
+        # like this - {0: 'Router.A', 1: 0, 2: '0', 3: 1, 4: 3, 5: 30, 6: 4, 7: 60, 11: 4, 14: 'qdrouterd', 16: 60}
+        #
+        for key in adapter.attributes.keys():
+            if key == 'type':
+                continue
+            transformed[adapter.entity_type.attributes.get(key).ordinality] = adapter.attributes.get(key)
+        return transformed
+
     def _create_config_entities(self):
-        print 'In _create_config_entities ******************** '
         for adapter in self.adapters:
-            print adapter.attributes
             self.post_request(cid=None, reply_to=None,
-                              operation_ordinality=self.all_operation_defs.get('CREATE').ordinality,
+                              operation_ordinality=self.schema.all_operation_defs.get('CREATE').ordinality,
                               entity_type_ordinality=adapter.entity_type.ordinality,
-                              body=adapter.attributes)
+                              body=self._transform_attributes(adapter))
 
     def get_config_types(self):
         return self.config_types
@@ -874,11 +887,9 @@
                 if et.singleton and not [s for s in sections if s[0] == et.short_name]:
                     sections.append((et.short_name, {}))
 
-            entities = [dict(type=self.schema.entity_type(self.schema.long_name(s[0])), **s[1]) for s in sections]
-            #self.schema.validate_all(entities)
-            self.entities = entities
+            self.entities = [dict(type=self.schema.entity_type(self.schema.long_name(s[0])), **s[1]) for s in sections]
+            #self.schema.validate_all(self.entities)
             self.entity_adapters(self.entities)
-            print 'self.adapters ************** ', self.adapters
             self._create_config_entities()
 
     def log(self, level, text):
diff --git a/src/connection_manager.c b/src/connection_manager.c
index 79e6935..bbf7e64 100644
--- a/src/connection_manager.c
+++ b/src/connection_manager.c
@@ -726,11 +726,11 @@
     return status;
 }
 
-qd_amqp_error_t qd_connection_manager_query_ssl_profile(qd_dispatch_t *qd,
-                                                        int offset,
-                                                        int count,
-                                                        qd_parsed_field_t     *in_body,
-                                                        qd_composed_field_t     *out_body)
+qd_amqp_error_t qd_connection_manager_query_ssl_profile(qd_dispatch_t       *qd,
+                                                        int                  offset,
+                                                        int                  count,
+                                                        qd_parsed_field_t   *in_body,
+                                                        qd_composed_field_t *out_body)
 {
     return QD_AMQP_OK;
 }
diff --git a/src/router_core/agent_core.c b/src/router_core/agent_core.c
index fb82fea..f89d416 100644
--- a/src/router_core/agent_core.c
+++ b/src/router_core/agent_core.c
@@ -176,10 +176,10 @@
                               void                    *context,
                               qd_router_entity_type_t  type,
                               qd_parsed_field_t       *attribute_names,
-                              qd_composed_field_t     *body)
+                              qd_composed_field_t     *out_body)
 {
 
-    qdr_query_t* query = qdr_query(core, context, type, body);
+    qdr_query_t* query = qdr_query(core, context, type, out_body);
 
     switch (query->entity_type) {
         case QD_SCHEMA_ENTITY_TYPE_ROUTER_CONFIG_ADDRESS:   qdr_agent_set_columns(query, attribute_names, qdr_config_address_columns, QDR_CONFIG_ADDRESS_COLUMN_COUNT);  break;
@@ -355,7 +355,7 @@
     qd_parsed_field_t       *in_body    = action->args.agent.in_body;
 
     switch (query->entity_type) {
-        case QD_SCHEMA_ENTITY_TYPE_ROUTER_CONFIG_ADDRESS:                      qdra_config_address_create_CT(core, name, query, in_body); break;
+        case QD_SCHEMA_ENTITY_TYPE_ROUTER_CONFIG_ADDRESS:   qdra_config_address_create_CT(core, name, query, in_body); break;
         case QD_SCHEMA_ENTITY_TYPE_ROUTER_CONFIG_LINKROUTE: qdra_config_link_route_create_CT(core, name, query, in_body); break;
         case QD_SCHEMA_ENTITY_TYPE_ROUTER_CONFIG_AUTOLINK:  qdra_config_auto_link_create_CT(core, name, query, in_body); break;
         case QD_SCHEMA_ENTITY_TYPE_CONNECTION:              break;