From 37af72db29fc3aba2a6c8d78c8265e679476e2fb Mon Sep 17 00:00:00 2001 From: Ainur <59531286+yagudin10@users.noreply.github.com> Date: Thu, 21 Jul 2022 18:32:02 +0300 Subject: [PATCH] CB-2310 create project fix (#977) --- .../src/io/cloudbeaver/model/app/BaseWebApplication.java | 4 +++- .../src/io/cloudbeaver/model/app/WebApplication.java | 2 ++ .../src/io/cloudbeaver/model/session/WebSession.java | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/server/bundles/io.cloudbeaver.model/src/io/cloudbeaver/model/app/BaseWebApplication.java b/server/bundles/io.cloudbeaver.model/src/io/cloudbeaver/model/app/BaseWebApplication.java index bb1c7c3a9d..64bdac3ac4 100644 --- a/server/bundles/io.cloudbeaver.model/src/io/cloudbeaver/model/app/BaseWebApplication.java +++ b/server/bundles/io.cloudbeaver.model/src/io/cloudbeaver/model/app/BaseWebApplication.java @@ -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 diff --git a/server/bundles/io.cloudbeaver.model/src/io/cloudbeaver/model/app/WebApplication.java b/server/bundles/io.cloudbeaver.model/src/io/cloudbeaver/model/app/WebApplication.java index c5cfe4a0b9..951b434cbf 100644 --- a/server/bundles/io.cloudbeaver.model/src/io/cloudbeaver/model/app/WebApplication.java +++ b/server/bundles/io.cloudbeaver.model/src/io/cloudbeaver/model/app/WebApplication.java @@ -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); diff --git a/server/bundles/io.cloudbeaver.model/src/io/cloudbeaver/model/session/WebSession.java b/server/bundles/io.cloudbeaver.model/src/io/cloudbeaver/model/session/WebSession.java index ee2fb6a050..31fdb41f32 100644 --- a/server/bundles/io.cloudbeaver.model/src/io/cloudbeaver/model/session/WebSession.java +++ b/server/bundles/io.cloudbeaver.model/src/io/cloudbeaver/model/session/WebSession.java @@ -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; }