private void loadCatalog(final File file) throws Exception {
log.info("-- Loading catalog {} --", file);
final Map<String, String> properties = new HashMap<>(this.loadProperties(file));
final String connectorType = properties.remove(MetacatCatalogConfig.Keys.CONNECTOR_NAME);
Preconditions.checkState(
connectorType != null,
"Catalog configuration %s does not contain connector.name",
file.getAbsoluteFile()
);
final String catalogShardName = Files.getNameWithoutExtension(file.getName());
final String catalogName = properties.getOrDefault(MetacatCatalogConfig.Keys.CATALOG_NAME, catalogShardName);
final ConnectorContext connectorContext =
new ConnectorContext(catalogName, catalogShardName, connectorType, config, registry, properties);
this.connectorManager.createConnection(connectorContext);
log.info("-- Added catalog {} shard {} using connector {} --", catalogName, catalogShardName, connectorType);
}