CB-2310 create project fix (#977)

This commit is contained in:
Ainur
2022-07-21 18:32:02 +03:00
committed by GitHub
parent 8c3f199adb
commit 37af72db29
3 changed files with 6 additions and 2 deletions
@@ -28,6 +28,7 @@ import org.jkiss.dbeaver.Log;
import org.jkiss.dbeaver.model.app.DBPPlatform;
import org.jkiss.dbeaver.model.app.DBPWorkspace;
import org.jkiss.dbeaver.model.auth.SMCredentialsProvider;
import org.jkiss.dbeaver.model.auth.SMSessionContext;
import org.jkiss.dbeaver.model.data.json.JSONUtils;
import org.jkiss.dbeaver.model.rm.RMController;
import org.jkiss.dbeaver.model.rm.RMProject;
@@ -113,11 +114,12 @@ public abstract class BaseWebApplication extends BaseApplicationImpl implements
@Override
public VirtualProjectImpl createProjectImpl(
@NotNull RMProject project,
@NotNull SMSessionContext sessionContext,
@NotNull SMCredentialsProvider credentialsProvider
) {
return new VirtualProjectImpl(
project,
((WebSession) credentialsProvider).getSessionAuthContext());
sessionContext);
}
@Override
@@ -19,6 +19,7 @@ package io.cloudbeaver.model.app;
import org.jkiss.code.NotNull;
import org.jkiss.dbeaver.model.app.DBPApplication;
import org.jkiss.dbeaver.model.auth.SMCredentialsProvider;
import org.jkiss.dbeaver.model.auth.SMSessionContext;
import org.jkiss.dbeaver.model.rm.RMController;
import org.jkiss.dbeaver.model.rm.RMProject;
import org.jkiss.dbeaver.model.security.SMAdminController;
@@ -43,6 +44,7 @@ public interface WebApplication extends DBPApplication {
VirtualProjectImpl createProjectImpl(
@NotNull RMProject project,
@NotNull SMSessionContext sessionContext,
@NotNull SMCredentialsProvider credentialsProvider);
SMController getSecurityController(@NotNull SMCredentialsProvider credentialsProvider);
@@ -326,7 +326,7 @@ public class WebSession extends AbstractSessionPersistent implements SMSession,
RMController controller = application.getResourceController(this);
RMProject[] rmProjects = controller.listAccessibleProjects();
for (RMProject project : rmProjects) {
VirtualProjectImpl sessionProject = application.createProjectImpl(project, this);
VirtualProjectImpl sessionProject = application.createProjectImpl(project, getSessionAuthContext(), this);
if (!project.isShared() || (user == null && project.getType().equals(RMProject.Type.GLOBAL))) {
this.defaultProject = sessionProject;
}