Init {Config,Permissions}Resource through CollectionRegistry (#2675)

This commit is contained in:
Matt 2022-02-08 22:16:40 -08:00 committed by GitHub
parent 4abede9f9d
commit ea6a13fc7b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 8 additions and 9 deletions

View File

@ -56,8 +56,6 @@ import org.openmetadata.catalog.fernet.Fernet;
import org.openmetadata.catalog.migration.Migration;
import org.openmetadata.catalog.migration.MigrationConfiguration;
import org.openmetadata.catalog.resources.CollectionRegistry;
import org.openmetadata.catalog.resources.config.ConfigResource;
import org.openmetadata.catalog.resources.permissions.PermissionsResource;
import org.openmetadata.catalog.resources.search.SearchResource;
import org.openmetadata.catalog.security.AuthenticationConfiguration;
import org.openmetadata.catalog.security.Authorizer;
@ -203,10 +201,6 @@ public class CatalogApplication extends Application<CatalogApplicationConfig> {
ContainerRequestFilter filter = NoopFilter.class.getConstructor().newInstance();
environment.jersey().register(filter);
}
// Register config API
environment.jersey().register(new ConfigResource(catalogConfig));
// Register permissions API
environment.jersey().register(new PermissionsResource(authorizer));
}
private void registerEventFilter(CatalogApplicationConfig catalogConfig, Environment environment, Jdbi jdbi) {

View File

@ -200,8 +200,12 @@ public final class CollectionRegistry {
// Create the resource identified by resourceClass
try {
resource = clz.getDeclaredConstructor(CollectionDAO.class, Authorizer.class).newInstance(daoObject, authorizer);
} catch (NoSuchMethodException ex) {
resource = Class.forName(resourceClass).getConstructor().newInstance();
} catch (NoSuchMethodException e) {
try {
resource = clz.getDeclaredConstructor(CatalogApplicationConfig.class).newInstance(config);
} catch (NoSuchMethodException ex) {
resource = Class.forName(resourceClass).getConstructor().newInstance();
}
}
// Call initialize method, if it exists

View File

@ -25,6 +25,7 @@ import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.SecurityContext;
import lombok.NonNull;
import org.openmetadata.catalog.jdbi3.CollectionDAO;
import org.openmetadata.catalog.resources.Collection;
import org.openmetadata.catalog.security.Authorizer;
import org.openmetadata.catalog.security.Permissions;
@ -37,7 +38,7 @@ import org.openmetadata.catalog.security.SecurityUtil;
public class PermissionsResource {
private final Authorizer authorizer;
public PermissionsResource(@NonNull Authorizer authorizer) {
public PermissionsResource(CollectionDAO dao, @NonNull Authorizer authorizer) {
this.authorizer = authorizer;
}