diff --git a/server/bundles/io.cloudbeaver.model.cli/META-INF/MANIFEST.MF b/server/bundles/io.cloudbeaver.model.cli/META-INF/MANIFEST.MF
new file mode 100644
index 0000000000..f3d1d2720e
--- /dev/null
+++ b/server/bundles/io.cloudbeaver.model.cli/META-INF/MANIFEST.MF
@@ -0,0 +1,13 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Vendor: DBeaver Corp
+Bundle-Name: Cloudbeaver Web Model
+Bundle-SymbolicName: io.cloudbeaver.model.cli;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-Release-Date: 20251222
+Bundle-RequiredExecutionEnvironment: JavaSE-21
+Bundle-ActivationPolicy: lazy
+Require-Bundle: org.jkiss.dbeaver.model.cli;visibility:=reexport
+Export-Package: io.cloudbeaver.model.cli
+Automatic-Module-Name: io.cloudbeaver.model.cli
+Import-Package: org.slf4j
diff --git a/server/bundles/io.cloudbeaver.model.cli/build.properties b/server/bundles/io.cloudbeaver.model.cli/build.properties
new file mode 100644
index 0000000000..493b290ff7
--- /dev/null
+++ b/server/bundles/io.cloudbeaver.model.cli/build.properties
@@ -0,0 +1,5 @@
+source.. = src/
+output.. = target/classes/
+bin.includes = .,\
+ META-INF/,\
+ plugin.xml
diff --git a/server/bundles/io.cloudbeaver.model.cli/plugin.xml b/server/bundles/io.cloudbeaver.model.cli/plugin.xml
new file mode 100644
index 0000000000..ff83905d12
--- /dev/null
+++ b/server/bundles/io.cloudbeaver.model.cli/plugin.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/server/bundles/io.cloudbeaver.model.cli/pom.xml b/server/bundles/io.cloudbeaver.model.cli/pom.xml
new file mode 100644
index 0000000000..7936cbd9df
--- /dev/null
+++ b/server/bundles/io.cloudbeaver.model.cli/pom.xml
@@ -0,0 +1,16 @@
+
+
+ 4.0.0
+
+ io.cloudbeaver
+ bundles
+ 1.0.0-SNAPSHOT
+ ../
+
+ io.cloudbeaver.model.cli
+ 1.0.0-SNAPSHOT
+ eclipse-plugin
+
+
diff --git a/server/bundles/io.cloudbeaver.model/src/io/cloudbeaver/model/cli/CloudBeaverCommandLine.java b/server/bundles/io.cloudbeaver.model.cli/src/io/cloudbeaver/model/cli/CloudBeaverCommandLine.java
similarity index 100%
rename from server/bundles/io.cloudbeaver.model/src/io/cloudbeaver/model/cli/CloudBeaverCommandLine.java
rename to server/bundles/io.cloudbeaver.model.cli/src/io/cloudbeaver/model/cli/CloudBeaverCommandLine.java
diff --git a/server/bundles/io.cloudbeaver.model/src/io/cloudbeaver/model/cli/CloudBeaverInstanceServer.java b/server/bundles/io.cloudbeaver.model.cli/src/io/cloudbeaver/model/cli/CloudBeaverInstanceServer.java
similarity index 100%
rename from server/bundles/io.cloudbeaver.model/src/io/cloudbeaver/model/cli/CloudBeaverInstanceServer.java
rename to server/bundles/io.cloudbeaver.model.cli/src/io/cloudbeaver/model/cli/CloudBeaverInstanceServer.java
diff --git a/server/bundles/io.cloudbeaver.model/src/io/cloudbeaver/model/cli/CloudBeaverMixin.java b/server/bundles/io.cloudbeaver.model.cli/src/io/cloudbeaver/model/cli/CloudBeaverMixin.java
similarity index 100%
rename from server/bundles/io.cloudbeaver.model/src/io/cloudbeaver/model/cli/CloudBeaverMixin.java
rename to server/bundles/io.cloudbeaver.model.cli/src/io/cloudbeaver/model/cli/CloudBeaverMixin.java
diff --git a/server/bundles/io.cloudbeaver.model/src/io/cloudbeaver/model/cli/CloudBeaverTopLevelCommand.java b/server/bundles/io.cloudbeaver.model.cli/src/io/cloudbeaver/model/cli/CloudBeaverTopLevelCommand.java
similarity index 100%
rename from server/bundles/io.cloudbeaver.model/src/io/cloudbeaver/model/cli/CloudBeaverTopLevelCommand.java
rename to server/bundles/io.cloudbeaver.model.cli/src/io/cloudbeaver/model/cli/CloudBeaverTopLevelCommand.java
diff --git a/server/bundles/io.cloudbeaver.model/src/io/cloudbeaver/model/cli/CloudbeaverCliConstants.java b/server/bundles/io.cloudbeaver.model.cli/src/io/cloudbeaver/model/cli/CloudbeaverCliConstants.java
similarity index 100%
rename from server/bundles/io.cloudbeaver.model/src/io/cloudbeaver/model/cli/CloudbeaverCliConstants.java
rename to server/bundles/io.cloudbeaver.model.cli/src/io/cloudbeaver/model/cli/CloudbeaverCliConstants.java
diff --git a/server/bundles/io.cloudbeaver.model/META-INF/MANIFEST.MF b/server/bundles/io.cloudbeaver.model/META-INF/MANIFEST.MF
index 3f8dcced93..dc923995aa 100644
--- a/server/bundles/io.cloudbeaver.model/META-INF/MANIFEST.MF
+++ b/server/bundles/io.cloudbeaver.model/META-INF/MANIFEST.MF
@@ -9,7 +9,6 @@ Bundle-RequiredExecutionEnvironment: JavaSE-21
Bundle-ActivationPolicy: lazy
Require-Bundle: org.jkiss.dbeaver.data.gis;visibility:=reexport,
org.jkiss.dbeaver.model;visibility:=reexport,
- org.jkiss.dbeaver.model.cli;visibility:=reexport,
org.jkiss.dbeaver.model.sm;visibility:=reexport,
org.jkiss.dbeaver.model.event;visibility:=reexport,
org.jkiss.dbeaver.model.nio;visibility:=reexport,
@@ -30,13 +29,10 @@ Export-Package: io.cloudbeaver,
io.cloudbeaver.model.app,
io.cloudbeaver.model.config,
io.cloudbeaver.model.apilog,
- io.cloudbeaver.model.cli,
- io.cloudbeaver.model.events,
io.cloudbeaver.model.fs,
io.cloudbeaver.model.log,
io.cloudbeaver.model.rm,
io.cloudbeaver.model.rm.local,
- io.cloudbeaver.model.rm.lock,
io.cloudbeaver.model.session,
io.cloudbeaver.model.user,
io.cloudbeaver.model.utils,
diff --git a/server/bundles/io.cloudbeaver.model/src/io/cloudbeaver/model/app/BaseServletApplication.java b/server/bundles/io.cloudbeaver.model/src/io/cloudbeaver/model/app/BaseServletApplication.java
index 65868acdc7..51e136a9dd 100644
--- a/server/bundles/io.cloudbeaver.model/src/io/cloudbeaver/model/app/BaseServletApplication.java
+++ b/server/bundles/io.cloudbeaver.model/src/io/cloudbeaver/model/app/BaseServletApplication.java
@@ -16,7 +16,6 @@
*/
package io.cloudbeaver.model.app;
-import io.cloudbeaver.model.cli.CloudBeaverInstanceServer;
import io.cloudbeaver.model.log.SLF4JLogHandler;
import org.eclipse.core.runtime.Platform;
import org.eclipse.equinox.app.IApplicationContext;
@@ -28,7 +27,6 @@ import org.jkiss.dbeaver.model.DBFileController;
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.cli.ApplicationInstanceController;
import org.jkiss.dbeaver.model.data.json.JSONUtils;
import org.jkiss.dbeaver.model.impl.app.ApplicationRegistry;
import org.jkiss.dbeaver.model.impl.app.BaseApplicationImpl;
@@ -41,7 +39,6 @@ import org.jkiss.dbeaver.utils.GeneralUtils;
import org.jkiss.dbeaver.utils.RuntimeUtils;
import org.jkiss.utils.CommonUtils;
-import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.List;
@@ -60,7 +57,6 @@ public abstract class BaseServletApplication extends BaseApplicationImpl impleme
private static final Log log = Log.getLog(BaseServletApplication.class);
private String instanceId;
- private CloudBeaverInstanceServer instanceServer;
@Override
public RMController createResourceController(
@NotNull SMCredentialsProvider credentialsProvider,
@@ -204,11 +200,6 @@ public abstract class BaseServletApplication extends BaseApplicationImpl impleme
public Object start(IApplicationContext context) {
initializeApplicationServices();
try {
- try {
- this.instanceServer = createInstanceServer();
- } catch (Exception e) {
- log.error("Error initializing instance server", e);
- }
startServer();
} catch (Exception e) {
log.error(e.getMessage(), e);
@@ -217,10 +208,6 @@ public abstract class BaseServletApplication extends BaseApplicationImpl impleme
return EXIT_OK;
}
- protected CloudBeaverInstanceServer createInstanceServer() throws IOException {
- return new CloudBeaverInstanceServer();
- }
-
protected abstract void startServer() throws DBException;
@Override
@@ -281,12 +268,6 @@ public abstract class BaseServletApplication extends BaseApplicationImpl impleme
}
}
- @Nullable
- @Override
- public ApplicationInstanceController getInstanceServer() {
- return instanceServer;
- }
-
@Override
public boolean isAnonymousAccessEnabled() {
return getAppConfiguration().isAnonymousAccessEnabled();
diff --git a/server/bundles/io.cloudbeaver.server.ce/META-INF/MANIFEST.MF b/server/bundles/io.cloudbeaver.server.ce/META-INF/MANIFEST.MF
index dd40960605..271c5826ed 100644
--- a/server/bundles/io.cloudbeaver.server.ce/META-INF/MANIFEST.MF
+++ b/server/bundles/io.cloudbeaver.server.ce/META-INF/MANIFEST.MF
@@ -9,6 +9,7 @@ Bundle-RequiredExecutionEnvironment: JavaSE-21
Bundle-ActivationPolicy: lazy
Bundle-Activator: io.cloudbeaver.server.CBPlatformActivator
Require-Bundle: io.cloudbeaver.server;visibility:=reexport,
+ io.cloudbeaver.model.cli;visibility:=reexport,
com.google.guava
Export-Package: io.cloudbeaver,
io.cloudbeaver.model,
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 586697b60d..8100fa80e4 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
@@ -24,6 +24,7 @@ import io.cloudbeaver.model.app.BaseServletApplication;
import io.cloudbeaver.model.app.ServletAuthApplication;
import io.cloudbeaver.model.app.ServletAuthConfiguration;
import io.cloudbeaver.model.app.ServletSystemInformationCollector;
+import io.cloudbeaver.model.cli.CloudBeaverInstanceServer;
import io.cloudbeaver.model.config.CBAppConfig;
import io.cloudbeaver.model.config.CBServerConfig;
import io.cloudbeaver.registry.WebDriverRegistry;
@@ -86,6 +87,7 @@ public abstract class CBApplication
*/
private static final long CONFIGURATION_MODE_SESSION_IDLE_TIME = 60 * 60 * 1000 * 24 * 7;
+ private CloudBeaverInstanceServer instanceServer;
static {
Log.setDefaultDebugStream(System.out);
@@ -199,6 +201,11 @@ public abstract class CBApplication
@Override
protected void startServer() {
+ try {
+ this.instanceServer = createInstanceServer();
+ } catch (Exception e) {
+ log.error("Error initializing instance server", e);
+ }
try {
if (!loadServerConfiguration()) {
return;
@@ -795,4 +802,8 @@ public abstract class CBApplication
public T getApplicationContextValue(@NotNull String key) {
return (T) applicationContext.get(key);
}
+
+ protected CloudBeaverInstanceServer createInstanceServer() throws IOException {
+ return new CloudBeaverInstanceServer();
+ }
}
diff --git a/server/bundles/io.cloudbeaver.server/META-INF/MANIFEST.MF b/server/bundles/io.cloudbeaver.server/META-INF/MANIFEST.MF
index 8c72652a81..78b32686d7 100644
--- a/server/bundles/io.cloudbeaver.server/META-INF/MANIFEST.MF
+++ b/server/bundles/io.cloudbeaver.server/META-INF/MANIFEST.MF
@@ -18,6 +18,7 @@ Require-Bundle: org.eclipse.core.runtime;visibility:=reexport,
org.jkiss.bundle.apache.dbcp,
org.jkiss.dbeaver.net.ssh,
io.cloudbeaver.model;visibility:=reexport,
+ io.cloudbeaver.model.cli,
io.cloudbeaver.service.security;visibility:=reexport
Export-Package: io.cloudbeaver,
io.cloudbeaver.model,
diff --git a/server/bundles/pom.xml b/server/bundles/pom.xml
index fa644299fe..7b6c56ccfa 100644
--- a/server/bundles/pom.xml
+++ b/server/bundles/pom.xml
@@ -14,6 +14,7 @@
io.cloudbeaver.model
+ io.cloudbeaver.model.cli
io.cloudbeaver.server
io.cloudbeaver.server.ce
io.cloudbeaver.slf4j