entry: use map for metadata in ctor

Transition the entry constructor to use the `map<string,string>`
rather than the `vector<string>`.

Tested: UTs pass and daemon still creates logs.

Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: Icf3ead163cc99a1498734d33335fb6da52e6c98c
diff --git a/log_manager.cpp b/log_manager.cpp
index 125677e..d5a2638 100644
--- a/log_manager.cpp
+++ b/log_manager.cpp
@@ -193,12 +193,12 @@
 
         sd_journal_close(j);
     }
-    createEntry(errMsg, errLvl, additionalData);
+    createEntry(errMsg, errLvl, util::additional_data::parse(additionalData));
 }
 
 auto Manager::createEntry(
     std::string errMsg, Entry::Level errLvl,
-    std::vector<std::string> additionalData,
+    std::map<std::string, std::string> additionalData,
     const FFDCEntries& ffdc) -> sdbusplus::message::object_path
 {
     if (!Extensions::disableDefaultLogCaps())
@@ -234,7 +234,8 @@
     auto objPath = std::string(OBJ_ENTRY) + '/' + std::to_string(entryId);
 
     AssociationList objects{};
-    processMetadata(errMsg, additionalData, objects);
+    auto additionalDataVec = util::additional_data::combine(additionalData);
+    processMetadata(errMsg, additionalDataVec, objects);
 
     auto e = std::make_unique<Entry>(
         busLog, objPath, entryId,
@@ -706,10 +707,7 @@
                      const std::map<std::string, std::string>& additionalData,
                      const FFDCEntries& ffdc) -> sdbusplus::message::object_path
 {
-    // Convert the map into a vector of "key=value" strings
-    auto ad = util::additional_data::combine(additionalData);
-
-    return createEntry(message, severity, ad, ffdc);
+    return createEntry(message, severity, additionalData, ffdc);
 }
 
 } // namespace internal