libpldmresponder: fix PDR and FRU table generation order

Since FRU table need to be called when generating PDR, FRU table generated
before generating PDR.

Tested: after executing the following command, FRU table generated first
and then generated PDR.
pldmtool platform getpdr -d 1

Signed-off-by: George Liu <liuxiwei@inspur.com>
Change-Id: I9189b02661916b7bdda641cd76335d8231725b0d
diff --git a/libpldmresponder/platform.cpp b/libpldmresponder/platform.cpp
index dff2352..7309cea 100644
--- a/libpldmresponder/platform.cpp
+++ b/libpldmresponder/platform.cpp
@@ -167,19 +167,6 @@
 
 Response Handler::getPDR(const pldm_msg* request, size_t payloadLength)
 {
-    if (!pdrCreated)
-    {
-        generateTerminusLocatorPDR(pdrRepo);
-        generate(*dBusIntf, pdrJsonsDir, pdrRepo);
-        pdrCreated = true;
-
-        if (dbusToPLDMEventHandler)
-        {
-            dbusToPLDMEventHandler->listenSensorEvent(pdrRepo,
-                                                      sensorDbusObjMaps);
-        }
-    }
-
     // Build FRU table if not built, since entity association PDR's are built
     // when the FRU table is constructed.
     if (fruHandler)
@@ -187,6 +174,13 @@
         fruHandler->buildFRUTable();
     }
 
+    if (!pdrCreated)
+    {
+        generateTerminusLocatorPDR(pdrRepo);
+        generate(*dBusIntf, pdrJsonsDir, pdrRepo);
+        pdrCreated = true;
+    }
+
     Response response(sizeof(pldm_msg_hdr) + PLDM_GET_PDR_MIN_RESP_BYTES, 0);
     auto responsePtr = reinterpret_cast<pldm_msg*>(response.data());