diff --git a/server/bundles/io.cloudbeaver.model/src/io/cloudbeaver/BaseWebProjectImpl.java b/server/bundles/io.cloudbeaver.model/src/io/cloudbeaver/BaseWebProjectImpl.java index c59670bf84..f7d5c46e2d 100644 --- a/server/bundles/io.cloudbeaver.model/src/io/cloudbeaver/BaseWebProjectImpl.java +++ b/server/bundles/io.cloudbeaver.model/src/io/cloudbeaver/BaseWebProjectImpl.java @@ -62,6 +62,12 @@ public class BaseWebProjectImpl extends BaseProjectImpl implements RMControllerP return resourceController; } + @NotNull + @Override + public RMProject getRMProject() { + return project; + } + @Override public boolean isVirtual() { return true; diff --git a/server/bundles/io.cloudbeaver.service.rm.nio/src/io/cloudbeaver/service/rm/fs/RMVirtualFileSystem.java b/server/bundles/io.cloudbeaver.service.rm.nio/src/io/cloudbeaver/service/rm/fs/RMVirtualFileSystem.java index 122362c65f..871179c58c 100644 --- a/server/bundles/io.cloudbeaver.service.rm.nio/src/io/cloudbeaver/service/rm/fs/RMVirtualFileSystem.java +++ b/server/bundles/io.cloudbeaver.service.rm.nio/src/io/cloudbeaver/service/rm/fs/RMVirtualFileSystem.java @@ -16,13 +16,13 @@ */ package io.cloudbeaver.service.rm.fs; -import io.cloudbeaver.model.session.WebSession; import io.cloudbeaver.service.rm.nio.RMNIOFileSystemProvider; import org.jkiss.code.NotNull; import org.jkiss.dbeaver.DBException; import org.jkiss.dbeaver.model.DBPImage; import org.jkiss.dbeaver.model.fs.DBFVirtualFileSystem; import org.jkiss.dbeaver.model.fs.DBFVirtualFileSystemRoot; +import org.jkiss.dbeaver.model.rm.RMController; import org.jkiss.dbeaver.model.rm.RMProject; import org.jkiss.dbeaver.model.runtime.DBRProgressMonitor; @@ -35,8 +35,9 @@ public class RMVirtualFileSystem implements DBFVirtualFileSystem { @NotNull private final RMProject rmProject; - public RMVirtualFileSystem(@NotNull WebSession webSession, @NotNull RMProject rmProject) { - this.rmNioFileSystemProvider = new RMNIOFileSystemProvider(webSession.getRmController()); + + public RMVirtualFileSystem(@NotNull RMController rmController, @NotNull RMProject rmProject) { + this.rmNioFileSystemProvider = new RMNIOFileSystemProvider(rmController); this.rmProject = rmProject; } diff --git a/server/bundles/io.cloudbeaver.service.rm.nio/src/io/cloudbeaver/service/rm/fs/RMVirtualFileSystemProvider.java b/server/bundles/io.cloudbeaver.service.rm.nio/src/io/cloudbeaver/service/rm/fs/RMVirtualFileSystemProvider.java index e5355ee310..33617f913a 100644 --- a/server/bundles/io.cloudbeaver.service.rm.nio/src/io/cloudbeaver/service/rm/fs/RMVirtualFileSystemProvider.java +++ b/server/bundles/io.cloudbeaver.service.rm.nio/src/io/cloudbeaver/service/rm/fs/RMVirtualFileSystemProvider.java @@ -16,13 +16,12 @@ */ package io.cloudbeaver.service.rm.fs; -import io.cloudbeaver.WebProjectImpl; -import io.cloudbeaver.model.session.WebSession; import org.jkiss.code.NotNull; import org.jkiss.dbeaver.Log; import org.jkiss.dbeaver.model.app.DBPProject; import org.jkiss.dbeaver.model.fs.DBFFileSystemProvider; import org.jkiss.dbeaver.model.fs.DBFVirtualFileSystem; +import org.jkiss.dbeaver.model.rm.RMControllerProvider; import org.jkiss.dbeaver.model.runtime.DBRProgressMonitor; public class RMVirtualFileSystemProvider implements DBFFileSystemProvider { @@ -33,16 +32,11 @@ public class RMVirtualFileSystemProvider implements DBFFileSystemProvider { @NotNull DBRProgressMonitor monitor, @NotNull DBPProject project ) { - var session = project.getSessionContext().getPrimaryAuthSpace(); - if (!(session instanceof WebSession)) { + if (!(project instanceof RMControllerProvider)) { return new DBFVirtualFileSystem[0]; } - WebSession webSession = (WebSession) session; - WebProjectImpl webProject = webSession.getProjectById(project.getId()); - if (webProject == null) { - log.warn(String.format("Project %s not found in session %s", project.getId(), webSession.getSessionId())); - return new DBFVirtualFileSystem[0]; - } - return new DBFVirtualFileSystem[]{new RMVirtualFileSystem(webSession, webProject.getRmProject())}; + RMControllerProvider rmControllerProvider = (RMControllerProvider) project; + return new DBFVirtualFileSystem[]{new RMVirtualFileSystem(rmControllerProvider.getResourceController(), + rmControllerProvider.getRMProject())}; } }