mirror of
https://github.com/open-metadata/OpenMetadata.git
synced 2025-09-25 17:04:54 +00:00
This commit is contained in:
parent
bc76515a6b
commit
146c56abab
@ -53,9 +53,11 @@ public abstract class ServiceEntityResource<
|
||||
}
|
||||
|
||||
protected T decryptOrNullify(SecurityContext securityContext, T service) {
|
||||
service
|
||||
.getConnection()
|
||||
.setConfig(retrieveServiceConnectionConfig(service, authorizer.shouldMaskPasswords(securityContext)));
|
||||
if (service.getConnection() != null) {
|
||||
service
|
||||
.getConnection()
|
||||
.setConfig(retrieveServiceConnectionConfig(service, authorizer.shouldMaskPasswords(securityContext)));
|
||||
}
|
||||
return service;
|
||||
}
|
||||
|
||||
|
@ -1,5 +1,6 @@
|
||||
package org.openmetadata.service.resources.services.metadata;
|
||||
|
||||
import static org.openmetadata.common.utils.CommonUtil.nullOrEmpty;
|
||||
import static org.openmetadata.service.Entity.ADMIN_USER_NAME;
|
||||
|
||||
import io.swagger.v3.oas.annotations.ExternalDocumentation;
|
||||
@ -84,36 +85,32 @@ public class MetadataServiceResource
|
||||
public static final String FIELDS = "pipelines,owner,tags";
|
||||
|
||||
@Override
|
||||
public void initialize(OpenMetadataApplicationConfig config) {
|
||||
public void initialize(OpenMetadataApplicationConfig config) throws IOException {
|
||||
registerMetadataServices(config);
|
||||
}
|
||||
|
||||
private void registerMetadataServices(OpenMetadataApplicationConfig config) {
|
||||
try {
|
||||
private void registerMetadataServices(OpenMetadataApplicationConfig config) throws IOException {
|
||||
List<MetadataService> servicesList =
|
||||
repository.getEntitiesFromSeedData(".*json/data/metadataService/OpenmetadataService.json$");
|
||||
if (!nullOrEmpty(servicesList)) {
|
||||
MetadataService openMetadataService = servicesList.get(0);
|
||||
openMetadataService.setId(UUID.randomUUID());
|
||||
openMetadataService.setUpdatedBy(ADMIN_USER_NAME);
|
||||
openMetadataService.setUpdatedAt(System.currentTimeMillis());
|
||||
if (config.getElasticSearchConfiguration() != null) {
|
||||
OpenMetadataConnection openMetadataServerConnection =
|
||||
new OpenMetadataConnectionBuilder(config)
|
||||
.build()
|
||||
.withElasticsSearch(getElasticSearchConnectionSink(config.getElasticSearchConfiguration()));
|
||||
MetadataConnection metadataConnection = new MetadataConnection().withConfig(openMetadataServerConnection);
|
||||
List<MetadataService> servicesList =
|
||||
repository.getEntitiesFromSeedData(".*json/data/metadataService/.*\\.json$");
|
||||
if (servicesList.size() == 1) {
|
||||
MetadataService service = servicesList.get(0);
|
||||
service.setId(UUID.randomUUID());
|
||||
service.setConnection(metadataConnection);
|
||||
service.setUpdatedBy(ADMIN_USER_NAME);
|
||||
service.setUpdatedAt(System.currentTimeMillis());
|
||||
repository.setFullyQualifiedName(service);
|
||||
repository.createOrUpdate(null, service);
|
||||
} else {
|
||||
throw new IOException("Only one Openmetadata Service can be initialized from the Data.");
|
||||
}
|
||||
openMetadataService.setConnection(metadataConnection);
|
||||
} else {
|
||||
LOG.error("[MetadataService] Missing Elastic Search Config.");
|
||||
}
|
||||
} catch (Exception ex) {
|
||||
LOG.error("[MetadataService] Error in creating Metadata Services.", ex);
|
||||
repository.setFullyQualifiedName(openMetadataService);
|
||||
repository.createOrUpdate(null, openMetadataService);
|
||||
} else {
|
||||
throw new IOException("Failed to initialize OpenMetadata Service.");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -38,6 +38,8 @@ import org.openmetadata.service.util.TestUtils;
|
||||
|
||||
@Slf4j
|
||||
public class MetadataServiceResourceTest extends EntityResourceTest<MetadataService, CreateMetadataService> {
|
||||
public static final String DEFAULT_OPENMETADATA_SERVICE_NAME = "OpenMetadata";
|
||||
|
||||
public MetadataServiceResourceTest() {
|
||||
super(
|
||||
Entity.METADATA_SERVICE,
|
||||
@ -69,6 +71,12 @@ public class MetadataServiceResourceTest extends EntityResourceTest<MetadataServ
|
||||
ATLAS_SERVICE_REFERENCE = metadataService.getEntityReference();
|
||||
}
|
||||
|
||||
@Test
|
||||
void defaultOpenMetadataServiceMustExist(TestInfo test) throws HttpResponseException {
|
||||
MetadataService service = getEntityByName(DEFAULT_OPENMETADATA_SERVICE_NAME, ADMIN_AUTH_HEADERS);
|
||||
assertEquals(service.getName(), DEFAULT_OPENMETADATA_SERVICE_NAME);
|
||||
}
|
||||
|
||||
@Test
|
||||
void post_withoutRequiredFields_400_badRequest(TestInfo test) {
|
||||
// Create metadata with mandatory serviceType field empty
|
||||
|
Loading…
x
Reference in New Issue
Block a user