/** * Initialize by reading all datamaps from store and re register it * @param dataMapProvider */ private void initializeDataMapCatalogs(DataMapProvider dataMapProvider) throws IOException { if (dataMapCatalogs == null) { dataMapCatalogs = new ConcurrentHashMap<>(); List<DataMapSchema> dataMapSchemas = getAllDataMapSchemas(); for (DataMapSchema schema : dataMapSchemas) { DataMapCatalog dataMapCatalog = dataMapCatalogs.get(schema.getProviderName()); if (dataMapCatalog == null) { dataMapCatalog = dataMapProvider.createDataMapCatalog(); if (null == dataMapCatalog) { throw new RuntimeException("Internal Error."); } dataMapCatalogs.put(schema.getProviderName(), dataMapCatalog); } try { dataMapCatalog.registerSchema(schema); } catch (Exception e) { // Ignore the schema LOGGER.error("Error while registering schema", e); } } } }