From 3ceac40016ec353f642ae88c5047d702fa6eeb75 Mon Sep 17 00:00:00 2001 From: Alexander Skoblikov Date: Fri, 24 Jan 2025 19:51:32 +0300 Subject: [PATCH] dbeaver/pro#3977 ability to load self-signet cert from a specific folder (#3201) Co-authored-by: kseniaguzeeva <112612526+kseniaguzeeva@users.noreply.github.com> Co-authored-by: Serge Rider --- .../io/cloudbeaver/server/CBApplication.java | 3 +-- .../src/io/cloudbeaver/server/CBPlatform.java | 20 ++++++------------- .../cloudbeaver/server/BaseWebPlatform.java | 3 ++- 3 files changed, 9 insertions(+), 17 deletions(-) diff --git a/server/bundles/io.cloudbeaver.server.ce/src/io/cloudbeaver/server/CBApplication.java b/server/bundles/io.cloudbeaver.server.ce/src/io/cloudbeaver/server/CBApplication.java index db0867073f..58439e0aa0 100644 --- a/server/bundles/io.cloudbeaver.server.ce/src/io/cloudbeaver/server/CBApplication.java +++ b/server/bundles/io.cloudbeaver.server.ce/src/io/cloudbeaver/server/CBApplication.java @@ -1,6 +1,6 @@ /* * DBeaver - Universal Database Manager - * Copyright (C) 2010-2024 DBeaver Corp and others + * Copyright (C) 2010-2025 DBeaver Corp and others * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -202,7 +202,6 @@ public abstract class CBApplication extends @Override protected void startServer() { - CBPlatform.setApplication(this); try { if (!loadServerConfiguration()) { return; diff --git a/server/bundles/io.cloudbeaver.server.ce/src/io/cloudbeaver/server/CBPlatform.java b/server/bundles/io.cloudbeaver.server.ce/src/io/cloudbeaver/server/CBPlatform.java index 8477321ff6..e2814f8fcf 100644 --- a/server/bundles/io.cloudbeaver.server.ce/src/io/cloudbeaver/server/CBPlatform.java +++ b/server/bundles/io.cloudbeaver.server.ce/src/io/cloudbeaver/server/CBPlatform.java @@ -1,6 +1,6 @@ /* * DBeaver - Universal Database Manager - * Copyright (C) 2010-2024 DBeaver Corp and others + * Copyright (C) 2010-2025 DBeaver Corp and others * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -23,8 +23,8 @@ import io.cloudbeaver.server.jobs.WebSessionMonitorJob; import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.Status; import org.jkiss.code.NotNull; -import org.jkiss.code.Nullable; import org.jkiss.dbeaver.Log; +import org.jkiss.dbeaver.model.impl.app.BaseApplicationImpl; import org.jkiss.dbeaver.model.preferences.DBPPreferenceStore; import org.jkiss.dbeaver.model.runtime.AbstractJob; import org.jkiss.dbeaver.model.runtime.DBRProgressMonitor; @@ -43,9 +43,6 @@ public class CBPlatform extends BaseWebPlatform { private static final Log log = Log.getLog(CBPlatform.class); - @Nullable - private static CBApplication application = null; - private WebServerPreferenceStore preferenceStore; public static CBPlatform getInstance() { @@ -55,10 +52,6 @@ public class CBPlatform extends BaseWebPlatform { protected CBPlatform() { } - public static void setApplication(@NotNull CBApplication application) { - CBPlatform.application = application; - } - @Override protected synchronized void initialize() { long startTime = System.currentTimeMillis(); @@ -71,13 +64,13 @@ public class CBPlatform extends BaseWebPlatform { protected void scheduleServerJobs() { super.scheduleServerJobs(); - new WebSessionMonitorJob(this, application.getSessionManager()) + new WebSessionMonitorJob(this, getApplication().getSessionManager()) .scheduleMonitor(); - new SessionStateJob(this, application.getSessionManager()) + new SessionStateJob(this, getApplication().getSessionManager()) .scheduleMonitor(); - new WebDataSourceMonitorJob(this, application.getSessionManager()) + new WebDataSourceMonitorJob(this, getApplication().getSessionManager()) .scheduleMonitor(); new AbstractJob("Delete temp folder") { @@ -100,7 +93,6 @@ public class CBPlatform extends BaseWebPlatform { super.dispose(); - CBPlatform.application = null; System.gc(); log.debug("Shutdown completed in " + (System.currentTimeMillis() - startTime) + "ms"); } @@ -108,7 +100,7 @@ public class CBPlatform extends BaseWebPlatform { @NotNull @Override public CBApplication getApplication() { - return application; + return (CBApplication) BaseApplicationImpl.getInstance(); } diff --git a/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/server/BaseWebPlatform.java b/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/server/BaseWebPlatform.java index 7ce34b1661..803cf4a0ed 100644 --- a/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/server/BaseWebPlatform.java +++ b/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/server/BaseWebPlatform.java @@ -1,6 +1,6 @@ /* * DBeaver - Universal Database Manager - * Copyright (C) 2010-2024 DBeaver Corp and others + * Copyright (C) 2010-2025 DBeaver Corp and others * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -60,6 +60,7 @@ public abstract class BaseWebPlatform extends BasePlatformImpl { SecurityProviderUtils.registerSecurityProvider(); // Register properties adapter + getApplication().beforeWorkspaceInitialization(); this.workspace = new ServerGlobalWorkspace(this, getApplication()); this.workspace.initializeProjects(); QMUtils.initApplication(this);