private static Map<String, String> mergeSessionAndCatalogProperties(SessionRepresentation session)
{
Map<String, String> mergedProperties = new LinkedHashMap<>(session.getSystemProperties());
for (Map.Entry<String, Map<String, String>> catalogEntry : session.getUnprocessedCatalogProperties().entrySet()) {
for (Map.Entry<String, String> entry : catalogEntry.getValue().entrySet()) {
mergedProperties.put(catalogEntry.getKey() + "." + entry.getKey(), entry.getValue());
}
}
for (Map.Entry<ConnectorId, Map<String, String>> catalogEntry : session.getCatalogProperties().entrySet()) {
for (Map.Entry<String, String> entry : catalogEntry.getValue().entrySet()) {
mergedProperties.put(catalogEntry.getKey().getCatalogName() + "." + entry.getKey(), entry.getValue());
}
}
return ImmutableMap.copyOf(mergedProperties);
}