Skip to content

Commit 36e97dd

Browse files
Merge remote-tracking branch 'origin/devel' into CB-2386-cb-aws-the-changed-admin-in-the-easy-config-lost-the-admin-role-after-another-user-login
2 parents e406dee + 176548b commit 36e97dd

44 files changed

Lines changed: 445 additions & 69 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

server/bundles/io.cloudbeaver.model/src/io/cloudbeaver/VirtualProjectImpl.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ public boolean isVirtual() {
5656
@NotNull
5757
@Override
5858
public String getName() {
59-
return project.getName();
59+
return project.getDisplayName();
6060
}
6161

6262
@NotNull

server/bundles/io.cloudbeaver.model/src/io/cloudbeaver/model/rm/local/LocalResourceController.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -438,7 +438,8 @@ public byte[] getResourceContents(@NotNull String projectId, @NotNull String res
438438
public String setResourceContents(
439439
@NotNull String projectId,
440440
@NotNull String resourcePath,
441-
@NotNull byte[] data) throws DBException
441+
@NotNull byte[] data,
442+
boolean forceOverwrite) throws DBException
442443
{
443444
validateResourcePath(resourcePath);
444445
Number fileSizeLimit = WebAppUtils.getWebApplication()
@@ -452,6 +453,9 @@ public String setResourceContents(
452453
data.length);
453454
}
454455
Path targetPath = getTargetPath(projectId, resourcePath);
456+
if (!forceOverwrite && Files.exists(targetPath)) {
457+
throw new DBException("Resource '" + resourcePath + "' exists");
458+
}
455459
if (!Files.exists(targetPath.getParent())) {
456460
throw new DBException("Parent folder '" + targetPath.getParent().getFileName() + "' doesn't exist");
457461
}

server/bundles/io.cloudbeaver.model/src/io/cloudbeaver/model/session/WebSession.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -493,8 +493,8 @@ public String getLocale() {
493493
return locale;
494494
}
495495

496-
public void setLocale(String locale) {
497-
this.locale = locale;
496+
public void setLocale(@Nullable String locale) {
497+
this.locale = locale != null ? locale : Locale.getDefault().getLanguage();
498498
}
499499

500500
public DBNModel getNavigatorModel() {

server/bundles/io.cloudbeaver.server/plugin.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222

2323
<extension point="io.cloudbeaver.service">
2424
<service id="core" label="Core service" description="Core services" class="io.cloudbeaver.service.core.WebServiceBindingCore">
25-
<permission id="public" label="Public access" category="general" scope="subject"/>
25+
<permission id="public" label="Public access" category="general" scope="subject" description="Provides access to the data management interface"/>
2626
<permission id="access" label="Data source access" category="general" scope="datasource"/>
2727
</service>
2828
<service id="navigator" label="Database navigator" description="Database navigator services" class="io.cloudbeaver.service.navigator.WebServiceBindingNavigator">

server/bundles/io.cloudbeaver.service.admin/plugin.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
<extension point="io.cloudbeaver.service">
77
<service id="admin" label="User administration" description="User administration services" class="io.cloudbeaver.service.admin.WebServiceBindingAdmin">
8-
<permission id="admin" label="Admin Full Access" category="admin" scope="subject"/>
8+
<permission id="admin" label="Admin Full Access" category="admin" scope="subject" description="Provides access to the CloudBeaver configuration"/>
99
</service>
1010
</extension>
1111

server/bundles/io.cloudbeaver.service.rm/schema/service.rm.graphqls

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,8 @@ extend type Mutation {
5757
rmWriteResourceStringContent(
5858
projectId: String!,
5959
resourcePath: String!,
60-
data: String!): String!
60+
data: String!,
61+
forceOverwrite: Boolean!): String!
6162

6263
rmCreateProject(
6364
projectName: String!,

server/bundles/io.cloudbeaver.service.rm/src/io/cloudbeaver/service/rm/DBWServiceRM.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,8 @@ String writeResourceStringContent(
8080
@NotNull WebSession webSession,
8181
@NotNull @WebObjectId String projectId,
8282
@NotNull String resourcePath,
83-
@NotNull String data) throws DBException;
83+
@NotNull String data,
84+
boolean forceOverwrite) throws DBException;
8485

8586
@WebAction(requirePermissions = {DBWConstants.PERMISSION_ADMIN, RMConstants.PERMISSION_RM_ADMIN})
8687
WebProjectInfo createProject(

server/bundles/io.cloudbeaver.service.rm/src/io/cloudbeaver/service/rm/WebServiceBindingRM.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,8 @@ public void bindWiring(DBWBindingContext model) throws DBWebException {
6464
env -> getService(env).writeResourceStringContent(getWebSession(env),
6565
env.getArgument("projectId"),
6666
env.getArgument("resourcePath"),
67-
env.getArgument("data")))
67+
env.getArgument("data"),
68+
env.getArgument("forceOverwrite")))
6869

6970
.dataFetcher("rmCreateProject", env -> getService(env).createProject(
7071
getWebSession(env),

server/bundles/io.cloudbeaver.service.rm/src/io/cloudbeaver/service/rm/impl/WebServiceRM.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -89,11 +89,17 @@ public boolean deleteResource(@NotNull WebSession webSession, @NotNull String pr
8989

9090
@NotNull
9191
@Override
92-
public String writeResourceStringContent(@NotNull WebSession webSession, @NotNull String projectId, @NotNull String resourcePath, @NotNull String data) throws DBException {
92+
public String writeResourceStringContent(
93+
@NotNull WebSession webSession,
94+
@NotNull String projectId,
95+
@NotNull String resourcePath,
96+
@NotNull String data,
97+
boolean forceOverwrite
98+
) throws DBException {
9399
checkIsRmEnabled(webSession);
94100
try {
95101
byte[] bytes = data.getBytes(StandardCharsets.UTF_8);
96-
return getResourceController(webSession).setResourceContents(projectId, resourcePath, bytes);
102+
return getResourceController(webSession).setResourceContents(projectId, resourcePath, bytes, forceOverwrite);
97103
} catch (Exception e) {
98104
throw new DBWebException("Error writing resource '" + resourcePath + "' data", e);
99105
}

server/test/io.cloudbeaver.test.platform/META-INF/MANIFEST.MF

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,5 +22,6 @@ Require-Bundle: org.eclipse.core.runtime,
2222
io.cloudbeaver.server,
2323
io.cloudbeaver.resources.drivers.base,
2424
io.cloudbeaver.product.ce,
25-
io.cloudbeaver.service.auth
25+
io.cloudbeaver.service.auth,
26+
io.cloudbeaver.service.rm
2627
Export-Package: io.cloudbeaver.test.platform

0 commit comments

Comments
 (0)