diff --git a/server/bundles/io.cloudbeaver.connect.provider.sample/META-INF/MANIFEST.MF b/server/bundles/io.cloudbeaver.connect.provider.sample/META-INF/MANIFEST.MF
deleted file mode 100644
index 010c0ee1c9..0000000000
--- a/server/bundles/io.cloudbeaver.connect.provider.sample/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,20 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Vendor: %Bundle-Vendor
-Bundle-Name: %Bundle-Name
-Bundle-SymbolicName: io.cloudbeaver.connect.provider.sample;singleton:=true
-Bundle-Version: 1.0.55.qualifier
-Bundle-Release-Date: 20220627
-Bundle-RequiredExecutionEnvironment: JavaSE-11
-Bundle-ActivationPolicy: lazy
-Bundle-ClassPath: .
-Require-Bundle: org.eclipse.core.runtime,
- org.apache.commons.logging,
- org.eclipse.core.resources,
- io.cloudbeaver.server,
- com.google.gson,
- org.jkiss.bundle.graphql.java,
- org.jkiss.dbeaver.model,
- org.jkiss.dbeaver.model.sql
-Bundle-Localization: OSGI-INF/l10n/bundle
-Automatic-Module-Name: io.cloudbeaver.connect.provider.sample
diff --git a/server/bundles/io.cloudbeaver.connect.provider.sample/OSGI-INF/l10n/bundle.properties b/server/bundles/io.cloudbeaver.connect.provider.sample/OSGI-INF/l10n/bundle.properties
deleted file mode 100644
index 48e85a5cff..0000000000
--- a/server/bundles/io.cloudbeaver.connect.provider.sample/OSGI-INF/l10n/bundle.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-Bundle-Vendor = DBeaver Corp
-Bundle-Name = Cloudbeaver - Connections configuration - Sample
diff --git a/server/bundles/io.cloudbeaver.connect.provider.sample/build.properties b/server/bundles/io.cloudbeaver.connect.provider.sample/build.properties
deleted file mode 100644
index 3d281081e5..0000000000
--- a/server/bundles/io.cloudbeaver.connect.provider.sample/build.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-source.. = src/
-output.. = target/classes/
-bin.includes = .,\
- META-INF/,\
- OSGI-INF/,\
- plugin.xml
diff --git a/server/bundles/io.cloudbeaver.connect.provider.sample/plugin.xml b/server/bundles/io.cloudbeaver.connect.provider.sample/plugin.xml
deleted file mode 100644
index d4fb5ebc2a..0000000000
--- a/server/bundles/io.cloudbeaver.connect.provider.sample/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/server/bundles/io.cloudbeaver.connect.provider.sample/pom.xml b/server/bundles/io.cloudbeaver.connect.provider.sample/pom.xml
deleted file mode 100644
index 018a295920..0000000000
--- a/server/bundles/io.cloudbeaver.connect.provider.sample/pom.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
- 4.0.0
-
- io.cloudbeaver
- bundles
- 1.0.0-SNAPSHOT
- ../
-
- io.cloudbeaver.connect.provider.sample
- 1.0.55-SNAPSHOT
- eclipse-plugin
-
-
diff --git a/server/bundles/io.cloudbeaver.connect.provider.sample/src/io/cloudbeaver/connect/provider/sample/SampleDataSourceConfigurationStorage.java b/server/bundles/io.cloudbeaver.connect.provider.sample/src/io/cloudbeaver/connect/provider/sample/SampleDataSourceConfigurationStorage.java
deleted file mode 100644
index 51ccb200ac..0000000000
--- a/server/bundles/io.cloudbeaver.connect.provider.sample/src/io/cloudbeaver/connect/provider/sample/SampleDataSourceConfigurationStorage.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * DBeaver - Universal Database Manager
- * Copyright (C) 2010-2022 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.connect.provider.sample;
-
-import org.jkiss.dbeaver.DBException;
-import org.jkiss.dbeaver.Log;
-import org.jkiss.dbeaver.model.DBPDataSourceConfigurationStorage;
-import org.jkiss.dbeaver.model.DBPDataSourceContainer;
-import org.jkiss.dbeaver.model.app.DBPDataSourceRegistry;
-
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-
-/**
- * Sample configuration storage.
- * Is the main source of data in web application
- */
-public class SampleDataSourceConfigurationStorage implements DBPDataSourceConfigurationStorage {
-
- private static final Log log = Log.getLog(SampleDataSourceConfigurationStorage.class);
-
- public static final String SAMPLE_CONFIG_NAME = "provided-connections.json";
-
- @Override
- public String getStorageId() {
- return "Sample";
- }
-
- @Override
- public boolean isValid() {
- return false;
- }
-
- @Override
- public boolean isDefault() {
- return false;
- }
-
- @Override
- public String getStatus() {
- return "Valid";
- }
-
- @Override
- public List extends DBPDataSourceContainer> loadDataSources(DBPDataSourceRegistry registry, Map options) throws DBException {
- Path metadataFolder = registry.getProject().getMetadataFolder(false);
- if (Files.exists(metadataFolder)) {
- Path sampleConfigFile = metadataFolder.resolve(SAMPLE_CONFIG_NAME);
- if (Files.exists(sampleConfigFile)) {
- log.debug("Loading provided connections from [" + sampleConfigFile.toAbsolutePath() + "]");
- List extends DBPDataSourceContainer> dsList = registry.loadDataSourcesFromFile(this, sampleConfigFile);
-// for (DBPDataSourceContainer ds : dsList) {
-// log.debug("\tProvided connection: " + ds.getName());
-// }
- return dsList;
- }
- }
- return Collections.emptyList();
- }
-
- @Override
- public String getConfigurationFileSuffix() {
- return "-sample";
- }
-
-}
diff --git a/server/bundles/io.cloudbeaver.model/src/io/cloudbeaver/model/rm/local/LocalResourceController.java b/server/bundles/io.cloudbeaver.model/src/io/cloudbeaver/model/rm/local/LocalResourceController.java
index 2d8beb1959..6b319e669f 100644
--- a/server/bundles/io.cloudbeaver.model/src/io/cloudbeaver/model/rm/local/LocalResourceController.java
+++ b/server/bundles/io.cloudbeaver.model/src/io/cloudbeaver/model/rm/local/LocalResourceController.java
@@ -39,7 +39,6 @@ import java.nio.file.Path;
import java.time.OffsetDateTime;
import java.time.ZoneId;
import java.util.*;
-import java.util.concurrent.CopyOnWriteArrayList;
import java.util.stream.Collectors;
/**
@@ -56,7 +55,6 @@ public class LocalResourceController implements RMController {
private static final String PROJECT_PREFIX_USER = "u_";
public static final String DEFAULT_CHANGE_ID = "0";
- private final List listeners = new CopyOnWriteArrayList<>();
private final SMCredentialsProvider credentialsProvider;
private final Path rootPath;
@@ -131,7 +129,7 @@ public class LocalResourceController implements RMController {
}
@Override
- public void createProject(@NotNull RMProject project) throws DBException {
+ public RMProject createProject(@NotNull String id, @NotNull String name, @NotNull String description) throws DBException {
throw new DBCFeatureNotSupportedException();
}
@@ -145,6 +143,21 @@ public class LocalResourceController implements RMController {
return makeProjectFromId(projectId);
}
+ @Override
+ public String getProjectsDataSources(@NotNull String projectId) throws DBException {
+ throw new DBCFeatureNotSupportedException();
+ }
+
+ @Override
+ public void saveProjectDataSources(@NotNull String projectId, @NotNull String configuration) throws DBException {
+ throw new DBCFeatureNotSupportedException();
+ }
+
+ @Override
+ public void deleteProjectDataSources(@NotNull String projectId, @NotNull String[] dataSourceIds) throws DBException {
+ throw new DBCFeatureNotSupportedException();
+ }
+
@NotNull
@Override
public RMResource[] listResources(
@@ -219,7 +232,7 @@ public class LocalResourceController implements RMController {
} catch (IOException e) {
throw new DBException("Error deleting resource '" + resourcePath + "'", e);
}
- fireEvent(
+ RMEventManager.fireEvent(
new RMEvent(RMEvent.Action.RESOURCE_DELETE,
makeProjectFromId(projectId),
rmResourcePath
@@ -288,26 +301,6 @@ public class LocalResourceController implements RMController {
}
}
- @Override
- public void addRMEventListener(RMEventListener listener) {
- this.listeners.add(listener);
- }
-
- @Override
- public void removeRMEventListener(RMEventListener listener) {
- this.listeners.remove(listener);
- }
-
- private void fireEvent(RMEvent event) {
- for (var listener : listeners) {
- try {
- listener.handleRMEvent(event);
- } catch (Exception e) {
- log.error(e.getMessage(), e);
- }
- }
- }
-
@NotNull
private Path getTargetPath(@NotNull String projectId, @NotNull String resourcePath) throws DBException {
Path projectPath = getProjectPath(projectId);
diff --git a/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/service/core/impl/WebServiceCore.java b/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/service/core/impl/WebServiceCore.java
index 3fa497576e..e06204c72e 100644
--- a/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/service/core/impl/WebServiceCore.java
+++ b/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/service/core/impl/WebServiceCore.java
@@ -50,7 +50,6 @@ import org.jkiss.dbeaver.registry.DataSourceDescriptor;
import org.jkiss.dbeaver.registry.DataSourceProviderRegistry;
import org.jkiss.dbeaver.registry.network.NetworkHandlerDescriptor;
import org.jkiss.dbeaver.registry.network.NetworkHandlerRegistry;
-import org.jkiss.dbeaver.runtime.DBWorkbench;
import org.jkiss.dbeaver.runtime.jobs.ConnectionTestJob;
import org.jkiss.dbeaver.utils.RuntimeUtils;
import org.jkiss.utils.CommonUtils;
@@ -473,7 +472,7 @@ public class WebServiceCore implements DBWServiceCore {
WebServiceUtils.updateHandlerConfig(configuration, nhConfig);
configuration.setSavePassword(true);
configuration.setEnabled(true);
- tunnel.initializeHandler(monitor, DBWorkbench.getPlatform(), configuration, connectionConfig);
+ tunnel.initializeHandler(monitor, configuration, connectionConfig);
monitor.worked(1);
// Get info
Object implementation = tunnel.getImplementation();
diff --git a/server/bundles/io.cloudbeaver.service.admin/src/io/cloudbeaver/service/admin/impl/ConnectionSearcher.java b/server/bundles/io.cloudbeaver.service.admin/src/io/cloudbeaver/service/admin/impl/ConnectionSearcher.java
index 5d5dafe5e7..7c642e4444 100644
--- a/server/bundles/io.cloudbeaver.service.admin/src/io/cloudbeaver/service/admin/impl/ConnectionSearcher.java
+++ b/server/bundles/io.cloudbeaver.service.admin/src/io/cloudbeaver/service/admin/impl/ConnectionSearcher.java
@@ -50,7 +50,7 @@ public class ConnectionSearcher implements DBRRunnableWithProgress {
this.webSession = webSession;
this.hostNames = hostNames;
CBPlatform platform = CBPlatform.getInstance();
- this.tempRegistry = new DataSourceRegistry(platform, platform.getWorkspace().getActiveProject());
+ this.tempRegistry = new DataSourceRegistry(platform.getWorkspace().getActiveProject());
this.availableDrivers.addAll(CBPlatform.getInstance().getApplicableDrivers());
}
diff --git a/server/bundles/io.cloudbeaver.service.rm/src/io/cloudbeaver/service/rm/DBNResourceManagerRoot.java b/server/bundles/io.cloudbeaver.service.rm/src/io/cloudbeaver/service/rm/DBNResourceManagerRoot.java
index 4fea196437..f5aaf642ae 100644
--- a/server/bundles/io.cloudbeaver.service.rm/src/io/cloudbeaver/service/rm/DBNResourceManagerRoot.java
+++ b/server/bundles/io.cloudbeaver.service.rm/src/io/cloudbeaver/service/rm/DBNResourceManagerRoot.java
@@ -81,7 +81,7 @@ public class DBNResourceManagerRoot extends DBNNode implements DBPHiddenObject,
}
List projectNodes = new ArrayList<>();
resourceController = ((WebSession) session).getRmController();
- resourceController.addRMEventListener(this);
+ RMEventManager.addEventListener(this);
for (RMProject project : resourceController.listAccessibleProjects()) {
projectNodes.add(new DBNResourceManagerProject(this, project));
}
diff --git a/server/bundles/pom.xml b/server/bundles/pom.xml
index 7decbd7087..0926706826 100644
--- a/server/bundles/pom.xml
+++ b/server/bundles/pom.xml
@@ -24,7 +24,6 @@
io.cloudbeaver.service.security
io.cloudbeaver.resources.drivers.base
- io.cloudbeaver.connect.provider.sample
io.cloudbeaver.product.ce
diff --git a/server/features/io.cloudbeaver.product.ce.feature/feature.xml b/server/features/io.cloudbeaver.product.ce.feature/feature.xml
index 702100e999..8fc5af261d 100644
--- a/server/features/io.cloudbeaver.product.ce.feature/feature.xml
+++ b/server/features/io.cloudbeaver.product.ce.feature/feature.xml
@@ -19,7 +19,6 @@
-
diff --git a/server/features/io.cloudbeaver.sample.feature/build.properties b/server/features/io.cloudbeaver.sample.feature/build.properties
deleted file mode 100644
index b3a611b5c9..0000000000
--- a/server/features/io.cloudbeaver.sample.feature/build.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-bin.includes = feature.xml,\
- feature.properties
diff --git a/server/features/io.cloudbeaver.sample.feature/feature.properties b/server/features/io.cloudbeaver.sample.feature/feature.properties
deleted file mode 100644
index 45bf4d6243..0000000000
--- a/server/features/io.cloudbeaver.sample.feature/feature.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-featureName=Cloudbeaver - Samples
-providerName=DBeaver Corp
-description=Cloudbeaver samples feature
-copyright=\u00A9 DBeaver Corp, 2022
diff --git a/server/features/io.cloudbeaver.sample.feature/feature.xml b/server/features/io.cloudbeaver.sample.feature/feature.xml
deleted file mode 100644
index 20e7f5c737..0000000000
--- a/server/features/io.cloudbeaver.sample.feature/feature.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-
-
- %description
-
-
-
- %copyright
-
-
-
- %license
-
-
-
-
-
diff --git a/server/features/io.cloudbeaver.sample.feature/pom.xml b/server/features/io.cloudbeaver.sample.feature/pom.xml
deleted file mode 100644
index 1c2cf19767..0000000000
--- a/server/features/io.cloudbeaver.sample.feature/pom.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
- 4.0.0
-
- io.cloudbeaver
- features
- 1.0.0-SNAPSHOT
- ../
-
- io.cloudbeaver.sample.feature
- 1.0.55-SNAPSHOT
- eclipse-feature
-
diff --git a/server/features/pom.xml b/server/features/pom.xml
index 0633ac55ef..1b9c342dff 100644
--- a/server/features/pom.xml
+++ b/server/features/pom.xml
@@ -18,8 +18,6 @@
io.cloudbeaver.server.feature
io.cloudbeaver.ce.drivers.feature
- io.cloudbeaver.sample.feature
-
io.cloudbeaver.product.ce.feature
diff --git a/server/product/pom.xml b/server/product/pom.xml
index 927d308ede..befb1fe0b3 100644
--- a/server/product/pom.xml
+++ b/server/product/pom.xml
@@ -14,7 +14,6 @@
web-server
- provided-sample
diff --git a/server/product/provided-sample/DBeaverWebProvidedSample.product b/server/product/provided-sample/DBeaverWebProvidedSample.product
deleted file mode 100644
index cf44d73735..0000000000
--- a/server/product/provided-sample/DBeaverWebProvidedSample.product
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/server/product/provided-sample/pom.xml b/server/product/provided-sample/pom.xml
deleted file mode 100644
index 8a56561cc1..0000000000
--- a/server/product/provided-sample/pom.xml
+++ /dev/null
@@ -1,74 +0,0 @@
-
-
- 4.0.0
-
- io.cloudbeaver
- cloudbeaver
- 1.0.0-SNAPSHOT
- ../../
-
- 22.1.1-SNAPSHOT
- provided-sample
- eclipse-repository
- Cloudbeaver Provided Sample Product
-
-
-
-
- org.eclipse.tycho
- target-platform-configuration
- ${tycho-version}
-
-
-
- all
- all
- all
-
-
-
-
-
-
- org.eclipse.tycho
- tycho-p2-director-plugin
- ${tycho-version}
-
-
-
- io.cloudbeaver.provided.sample.product
- cloudbeaver-provided-sample-${dbeaver-version}
-
-
-
-
-
- materialize-products
-
- materialize-products
-
-
-
- archive-products
-
-
-
-
-
-
-
-
- org.eclipse.tycho
- tycho-p2-repository-plugin
- ${tycho-version}
-
- false
- true
-
-
-
-
-
-
diff --git a/server/product/web-server/CloudbeaverServer.product.launch b/server/product/web-server/CloudbeaverServer.product.launch
index 39d033afa8..c7943aa377 100644
--- a/server/product/web-server/CloudbeaverServer.product.launch
+++ b/server/product/web-server/CloudbeaverServer.product.launch
@@ -104,7 +104,6 @@
-