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 cfa2687b9d..270c396ae6 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
@@ -231,6 +231,7 @@ public abstract class BaseWebApplication extends BaseApplicationImpl implements
@Override
public Object start(IApplicationContext context) {
+ initializeApplicationServices();
try {
startServer();
} catch (Exception e) {
diff --git a/server/bundles/io.cloudbeaver.model/src/io/cloudbeaver/model/session/WebSessionWorkspace.java b/server/bundles/io.cloudbeaver.model/src/io/cloudbeaver/model/session/WebSessionWorkspace.java
index 8e57325443..589e3ecc49 100644
--- a/server/bundles/io.cloudbeaver.model/src/io/cloudbeaver/model/session/WebSessionWorkspace.java
+++ b/server/bundles/io.cloudbeaver.model/src/io/cloudbeaver/model/session/WebSessionWorkspace.java
@@ -103,7 +103,7 @@ public class WebSessionWorkspace implements DBPWorkspace {
@Nullable
@Override
- public WebProjectImpl getProjectById(String projectId) {
+ public WebProjectImpl getProjectById(@NotNull String projectId) {
if (projectId == null) {
return activeProject;
}
diff --git a/server/bundles/io.cloudbeaver.server/plugin.xml b/server/bundles/io.cloudbeaver.server/plugin.xml
index ba5473817f..69c1282639 100644
--- a/server/bundles/io.cloudbeaver.server/plugin.xml
+++ b/server/bundles/io.cloudbeaver.server/plugin.xml
@@ -6,14 +6,6 @@
-
-
-
-
-
-
-
-
diff --git a/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/server/CBApplication.java b/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/server/CBApplication.java
index e6ecc6f754..83ea3e8d49 100644
--- a/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/server/CBApplication.java
+++ b/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/server/CBApplication.java
@@ -43,6 +43,7 @@ import org.jkiss.dbeaver.Log;
import org.jkiss.dbeaver.ModelPreferences;
import org.jkiss.dbeaver.model.DBPDataSourceContainer;
import org.jkiss.dbeaver.model.app.DBPApplication;
+import org.jkiss.dbeaver.model.app.DBPPlatform;
import org.jkiss.dbeaver.model.auth.AuthInfo;
import org.jkiss.dbeaver.model.auth.SMCredentialsProvider;
import org.jkiss.dbeaver.model.data.json.JSONUtils;
@@ -58,6 +59,7 @@ import org.jkiss.dbeaver.registry.BaseApplicationImpl;
import org.jkiss.dbeaver.registry.DataSourceNavigatorSettings;
import org.jkiss.dbeaver.runtime.DBWorkbench;
import org.jkiss.dbeaver.runtime.IVariableResolver;
+import org.jkiss.dbeaver.runtime.ui.DBPPlatformUI;
import org.jkiss.dbeaver.utils.ContentUtils;
import org.jkiss.dbeaver.utils.GeneralUtils;
import org.jkiss.dbeaver.utils.PrefUtils;
@@ -1249,4 +1251,15 @@ public abstract class CBApplication extends BaseWebApplication implements WebAut
var sslConfiguration = Path.of(sslConfigurationPath);
return sslConfiguration.isAbsolute() ? sslConfiguration : getHomeDirectory().resolve(sslConfiguration);
}
+
+ @NotNull
+ @Override
+ public Class extends DBPPlatform> getPlatformClass() {
+ return CBPlatform.class;
+ }
+
+ @Override
+ public Class extends DBPPlatformUI> getPlatformUIClass() {
+ return CBPlatformUI.class;
+ }
}
diff --git a/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/server/CBPlatform.java b/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/server/CBPlatform.java
index 949ddffb71..b50ca7f183 100644
--- a/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/server/CBPlatform.java
+++ b/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/server/CBPlatform.java
@@ -125,7 +125,7 @@ public class CBPlatform extends BasePlatformImpl {
return WebPlatformActivator.getInstance().getPreferences();
}
- private CBPlatform() {
+ CBPlatform() {
}
public static void setApplication(CBApplication application) {
diff --git a/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/server/WebPlatformAdapterFactory.java b/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/server/WebPlatformAdapterFactory.java
deleted file mode 100644
index 23560b6e20..0000000000
--- a/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/server/WebPlatformAdapterFactory.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * DBeaver - Universal Database Manager
- * Copyright (C) 2010-2023 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.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package io.cloudbeaver.server;
-
-import org.eclipse.core.runtime.IAdapterFactory;
-import org.jkiss.dbeaver.model.app.DBPPlatform;
-import org.jkiss.dbeaver.runtime.DBWorkbench;
-import org.jkiss.dbeaver.runtime.ui.DBPPlatformUI;
-
-public class WebPlatformAdapterFactory implements IAdapterFactory {
-
- private static final Class>[] CLASSES = new Class[] { DBPPlatform.class, DBPPlatformUI.class };
-
- @Override
- public T getAdapter(Object adaptableObject, Class adapterType) {
- if (adaptableObject instanceof DBWorkbench) {
- if (adapterType == DBPPlatform.class) {
- return adapterType.cast(CBPlatform.getInstance());
- } else if (adapterType == DBPPlatformUI.class) {
- return adapterType.cast(CBPlatformUI.INSTANCE);
- }
- }
- return null;
- }
-
- @Override
- public Class>[] getAdapterList() {
- return CLASSES;
- }
-
-}