From 3eca35b145a4e6707423db23c905e5648b96fc42 Mon Sep 17 00:00:00 2001 From: Ainur Date: Tue, 11 Oct 2022 12:07:50 +0200 Subject: [PATCH 1/8] CB-2575 rm resources sort by file name --- .../io/cloudbeaver/model/rm/local/LocalResourceController.java | 1 + 1 file changed, 1 insertion(+) 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 079be1b693..808b7d6765 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 @@ -364,6 +364,7 @@ public class LocalResourceController implements RMController { ) throws IOException { try (Stream files = Files.list(folderPath)) { return files.filter(path -> !path.getFileName().toString().startsWith(".")) // skip hidden files + .sorted(Comparator.comparing(path -> path.getFileName().toString(), String.CASE_INSENSITIVE_ORDER)) .map((Path path) -> makeResourceFromPath(projectId, path, readProperties, readHistory, recursive)) .filter(Objects::nonNull) .toArray(RMResource[]::new); From 4f75857a289924f2bb1e83cce4d1e0396c22afa3 Mon Sep 17 00:00:00 2001 From: Ainur Date: Tue, 11 Oct 2022 14:43:23 +0200 Subject: [PATCH 2/8] CB-2575 rm projects sort by file name --- .../io/cloudbeaver/model/rm/local/LocalResourceController.java | 1 + 1 file changed, 1 insertion(+) 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 808b7d6765..918414cf82 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 @@ -167,6 +167,7 @@ public class LocalResourceController implements RMController { RMProjectType.SHARED, true) ) .filter(Objects::nonNull) + .sorted(Comparator.comparing(RMProject::getDisplayName)) .collect(Collectors.toList()); } From b5e66936970acb539f75c425a6b6389d53b9b324 Mon Sep 17 00:00:00 2001 From: Ainur Date: Wed, 12 Oct 2022 12:07:07 +0200 Subject: [PATCH 3/8] CB-2662 don't save credentials for templates --- .../src/io/cloudbeaver/service/core/impl/WebServiceCore.java | 4 ++++ 1 file changed, 4 insertions(+) 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 c21aef7b70..204cd5b918 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 @@ -358,6 +358,10 @@ public class WebServiceCore implements DBWServiceCore { webSession.addInfoMessage("Create new connection"); DBPDataSourceRegistry sessionRegistry = webSession.getProjectById(projectId).getDataSourceRegistry(); + // we don't need to save credentials for templates + if (connectionConfig.isTemplate()) { + connectionConfig.setSaveCredentials(false); + } DBPDataSourceContainer newDataSource = WebServiceUtils.createConnectionFromConfig(connectionConfig, sessionRegistry); if (CommonUtils.isEmpty(newDataSource.getName())) { newDataSource.setName(CommonUtils.notNull(connectionConfig.getName(), "NewConnection")); From be39887510dd66b31a915a4646132ef14801655a Mon Sep 17 00:00:00 2001 From: serge-rider Date: Wed, 12 Oct 2022 17:54:53 -0400 Subject: [PATCH 4/8] BigQuery advanced driver configuration + bundle rename --- .../io/cloudbeaver/service/navigator/WebNavigatorNodeInfo.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/service/navigator/WebNavigatorNodeInfo.java b/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/service/navigator/WebNavigatorNodeInfo.java index fb3761ba94..297486ec98 100644 --- a/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/service/navigator/WebNavigatorNodeInfo.java +++ b/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/service/navigator/WebNavigatorNodeInfo.java @@ -82,7 +82,8 @@ public class WebNavigatorNodeInfo { @Property public String getProjectId() { - return node.getOwnerProject().getId(); + DBPProject ownerProject = node.getOwnerProject(); + return ownerProject == null ? null : ownerProject.getId(); } @Property From 85c7bf35ff2f1773e235909bda741e44656a589d Mon Sep 17 00:00:00 2001 From: serge-rider Date: Wed, 12 Oct 2022 18:31:15 -0400 Subject: [PATCH 5/8] CB-2678 Eclipse launch configs fix --- server/product/web-server/CloudbeaverServer.product.launch | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/server/product/web-server/CloudbeaverServer.product.launch b/server/product/web-server/CloudbeaverServer.product.launch index f2752415aa..4ebc339734 100644 --- a/server/product/web-server/CloudbeaverServer.product.launch +++ b/server/product/web-server/CloudbeaverServer.product.launch @@ -23,7 +23,7 @@ - + @@ -97,7 +97,7 @@ - + From a7932b1fe353cd5c5dbb9160b4738743eae42eb3 Mon Sep 17 00:00:00 2001 From: Nikolay <46003534+riednyko@users.noreply.github.com> Date: Fri, 14 Oct 2022 14:23:21 +0300 Subject: [PATCH 6/8] dbeaver/dbeaver-devops#439 java version update (#1218) --- deploy/docker/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deploy/docker/Dockerfile b/deploy/docker/Dockerfile index e85d0ec846..4123d7015b 100644 --- a/deploy/docker/Dockerfile +++ b/deploy/docker/Dockerfile @@ -1,4 +1,4 @@ -FROM eclipse-temurin:11.0.14.1_1-jre-focal +FROM eclipse-temurin:17.0.4.1_1-jre #adoptopenjdk/openjdk11:jdk-11.0.12_7-ubuntu-slim COPY cloudbeaver /opt/cloudbeaver From 41c0472007e028cb0759fc285284d8e3eadf1dd9 Mon Sep 17 00:00:00 2001 From: serge-rider Date: Fri, 14 Oct 2022 16:33:39 -0400 Subject: [PATCH 7/8] CB-2714 AD roles claim --- .../model/session/WebSessionAuthProcessor.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/server/bundles/io.cloudbeaver.model/src/io/cloudbeaver/model/session/WebSessionAuthProcessor.java b/server/bundles/io.cloudbeaver.model/src/io/cloudbeaver/model/session/WebSessionAuthProcessor.java index c3abd76796..350d1f11e8 100644 --- a/server/bundles/io.cloudbeaver.model/src/io/cloudbeaver/model/session/WebSessionAuthProcessor.java +++ b/server/bundles/io.cloudbeaver.model/src/io/cloudbeaver/model/session/WebSessionAuthProcessor.java @@ -104,7 +104,7 @@ public class WebSessionAuthProcessor { var newAuthInfos = new ArrayList(); for (Map.Entry entry : authInfo.getAuthData().entrySet()) { String providerId = entry.getKey(); - Map userCredentials = (Map) entry.getValue(); + Map authAttrs = (Map) entry.getValue(); var authProviderDescriptor = getAuthProvider(providerId); SMAuthProvider authProviderInstance = authProviderDescriptor.getInstance(); @@ -127,7 +127,7 @@ public class WebSessionAuthProcessor { if (authProviderExternal != null && !configMode && !alreadyLoggedIn) { // We may need to associate new credentials with active user if (linkWithActiveUser) { - securityController.setUserCredentials(userId, authProviderDescriptor.getId(), userCredentials); + securityController.setUserCredentials(userId, authProviderDescriptor.getId(), authAttrs); } } @@ -143,7 +143,7 @@ public class WebSessionAuthProcessor { authProviderExternal.getUserIdentity( webSession.getProgressMonitor(), providerConfig, - userCredentials); + authAttrs); } catch (DBException e) { log.debug("Error reading auth display name from provider " + providerId, e); } @@ -159,7 +159,7 @@ public class WebSessionAuthProcessor { webSession.getProgressMonitor(), webSession, providerConfig, - userCredentials); + authAttrs); if (!configMode && securityController.getUserPermissions(userId, authInfo.getAuthRole()).isEmpty()) { throw new DBWebException("Access denied (no permissions)"); @@ -177,7 +177,7 @@ public class WebSessionAuthProcessor { OffsetDateTime.now()); webAuthInfo.setMessage("Authenticated with " + authProviderDescriptor.getLabel() + " provider"); if (configMode) { - webAuthInfo.setUserCredentials(userCredentials); + webAuthInfo.setUserCredentials(authAttrs); } webSession.addAuthInfo(webAuthInfo); From 609a85422323a338be9695767e99816a02c3a789 Mon Sep 17 00:00:00 2001 From: serge-rider Date: Sat, 15 Oct 2022 09:04:09 -0400 Subject: [PATCH 8/8] Base docker image switched to focal --- deploy/docker/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deploy/docker/Dockerfile b/deploy/docker/Dockerfile index 4123d7015b..2561dc9863 100644 --- a/deploy/docker/Dockerfile +++ b/deploy/docker/Dockerfile @@ -1,4 +1,4 @@ -FROM eclipse-temurin:17.0.4.1_1-jre +FROM eclipse-temurin:17.0.4.1_1-jre-focal #adoptopenjdk/openjdk11:jdk-11.0.12_7-ubuntu-slim COPY cloudbeaver /opt/cloudbeaver