mirror of
https://github.com/dbeaver/cloudbeaver.git
synced 2026-09-24 16:04:36 +08:00
#8 Authentication and admin services
This commit is contained in:
@@ -9,11 +9,9 @@ Bundle-RequiredExecutionEnvironment: JavaSE-1.8
|
||||
Bundle-ActivationPolicy: lazy
|
||||
Bundle-Activator: io.cloudbeaver.server.WebPlatformActivator
|
||||
Bundle-ClassPath: .
|
||||
Require-Bundle: org.eclipse.core.runtime,
|
||||
Require-Bundle: org.eclipse.core.runtime;visibility:=reexport,
|
||||
org.eclipse.core.expressions,
|
||||
org.apache.commons.logging,
|
||||
org.eclipse.core.commands,
|
||||
org.eclipse.core.resources,
|
||||
org.eclipse.core.resources;visibility:=reexport,
|
||||
org.apache.commons.jexl,
|
||||
org.jkiss.utils;visibility:=reexport,
|
||||
org.jkiss.dbeaver.model;visibility:=reexport,
|
||||
|
||||
@@ -80,17 +80,4 @@ public class WebServiceUtils {
|
||||
return WebServiceUtils.class.getClassLoader().getResourceAsStream(path);
|
||||
}
|
||||
|
||||
public static TypeDefinitionRegistry loadSchemaDefinition(Class theClass, String schemaPath) throws DBWebException {
|
||||
try (InputStream schemaStream = theClass.getClassLoader().getResourceAsStream(schemaPath)) {
|
||||
if (schemaStream == null) {
|
||||
throw new IOException("Schema file '" + schemaPath + "' not found");
|
||||
}
|
||||
try (Reader schemaReader = new InputStreamReader(schemaStream)) {
|
||||
return new SchemaParser().parse(schemaReader);
|
||||
}
|
||||
} catch (IOException e) {
|
||||
throw new RuntimeException("Error reading core schema", e);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,50 @@
|
||||
/*
|
||||
* DBeaver - Universal Database Manager
|
||||
* Copyright (C) 2010-2020 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.api;
|
||||
|
||||
import graphql.schema.DataFetchingEnvironment;
|
||||
import graphql.schema.idl.SchemaParser;
|
||||
import graphql.schema.idl.TypeDefinitionRegistry;
|
||||
import io.cloudbeaver.DBWebException;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.InputStreamReader;
|
||||
import java.io.Reader;
|
||||
|
||||
/**
|
||||
* Web service implementation
|
||||
*/
|
||||
public abstract class WebServiceBase implements DBWServiceGraphQL {
|
||||
|
||||
protected void checkPermission(DBWModel model, DataFetchingEnvironment env, String permission) {
|
||||
|
||||
}
|
||||
|
||||
public static TypeDefinitionRegistry loadSchemaDefinition(Class theClass, String schemaPath) throws DBWebException {
|
||||
try (InputStream schemaStream = theClass.getClassLoader().getResourceAsStream(schemaPath)) {
|
||||
if (schemaStream == null) {
|
||||
throw new IOException("Schema file '" + schemaPath + "' not found");
|
||||
}
|
||||
try (Reader schemaReader = new InputStreamReader(schemaStream)) {
|
||||
return new SchemaParser().parse(schemaReader);
|
||||
}
|
||||
} catch (IOException e) {
|
||||
throw new RuntimeException("Error reading core schema", e);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
Manifest-Version: 1.0
|
||||
Bundle-ManifestVersion: 2
|
||||
Bundle-Vendor: %Bundle-Vendor
|
||||
Bundle-Name: %Bundle-Name
|
||||
Bundle-SymbolicName: io.cloudbeaver.service.admin;singleton:=true
|
||||
Bundle-Version: 1.0.0.qualifier
|
||||
Bundle-Release-Date: 20200504
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
|
||||
Bundle-ActivationPolicy: lazy
|
||||
Bundle-ClassPath: .
|
||||
Require-Bundle: io.cloudbeaver.server
|
||||
Bundle-Localization: OSGI-INF/l10n/bundle
|
||||
Automatic-Module-Name: io.cloudbeaver.service.admin
|
||||
@@ -0,0 +1,2 @@
|
||||
Bundle-Vendor = DBeaver Corp
|
||||
Bundle-Name = Cloudbeaver Web Service - Metadata
|
||||
@@ -0,0 +1,7 @@
|
||||
source.. = src/
|
||||
output.. = target/classes/
|
||||
bin.includes = .,\
|
||||
META-INF/,\
|
||||
OSGI-INF/,\
|
||||
schema/,\
|
||||
plugin.xml
|
||||
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<?eclipse version="3.2"?>
|
||||
|
||||
<plugin>
|
||||
|
||||
<extension point="io.cloudbeaver.service">
|
||||
<service id="admin" label="User administration" description="User administration services" class="io.cloudbeaver.service.admin.WebServiceAdmin">
|
||||
|
||||
</service>
|
||||
</extension>
|
||||
|
||||
</plugin>
|
||||
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
|
||||
xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<groupId>io.cloudbeaver</groupId>
|
||||
<artifactId>bundles</artifactId>
|
||||
<version>1.0.0-SNAPSHOT</version>
|
||||
<relativePath>../</relativePath>
|
||||
</parent>
|
||||
<artifactId>io.cloudbeaver.service.admin</artifactId>
|
||||
<version>1.0.0-SNAPSHOT</version>
|
||||
<packaging>eclipse-plugin</packaging>
|
||||
|
||||
</project>
|
||||
@@ -0,0 +1,40 @@
|
||||
|
||||
type AdminUserInfo {
|
||||
userName: ID!
|
||||
|
||||
grantedRoles: [ID]!
|
||||
}
|
||||
|
||||
type AdminRoleInfo {
|
||||
roleName: ID!
|
||||
|
||||
rolePermissions: [ID]!
|
||||
}
|
||||
|
||||
type AdminPermissionInfo {
|
||||
id: ID!
|
||||
|
||||
label: [String]
|
||||
description: [String]
|
||||
category: String
|
||||
}
|
||||
|
||||
extend type Query {
|
||||
|
||||
listUsers(userName: ID): [AdminUserInfo]!
|
||||
listRoles(roleName: ID): [AdminRoleInfo]!
|
||||
listPermissions(permissionId: ID): [AdminPermissionInfo]
|
||||
|
||||
createUser(userName: ID!): AdminUserInfo!
|
||||
deleteUser(userName: ID!): Boolean
|
||||
|
||||
getUserAdminCredentials(userName: ID!): Object
|
||||
|
||||
setUserAdminCredentials(userName: ID!, credentials: Object): Boolean
|
||||
|
||||
grantUserRole(user: ID!, role: ID!): Boolean
|
||||
revokeUserRole(user: ID!, role: ID!): Boolean
|
||||
|
||||
setRolePermissions(roleID: ID!, permissions: [ID]!): Boolean
|
||||
|
||||
}
|
||||
+26
@@ -0,0 +1,26 @@
|
||||
/*
|
||||
* DBeaver - Universal Database Manager
|
||||
* Copyright (C) 2010-2020 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.service.admin;
|
||||
|
||||
/**
|
||||
* Web service implementation
|
||||
*/
|
||||
public class AdminPermissions {
|
||||
|
||||
public static final String PERMISSION_ADMIN = "admin";
|
||||
|
||||
}
|
||||
+48
@@ -0,0 +1,48 @@
|
||||
/*
|
||||
* DBeaver - Universal Database Manager
|
||||
* Copyright (C) 2010-2020 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.service.admin;
|
||||
|
||||
import graphql.schema.DataFetchingEnvironment;
|
||||
import graphql.schema.idl.TypeDefinitionRegistry;
|
||||
import io.cloudbeaver.DBWebException;
|
||||
import io.cloudbeaver.api.DBWModel;
|
||||
import io.cloudbeaver.api.DBWServiceGraphQL;
|
||||
import io.cloudbeaver.api.WebServiceBase;
|
||||
import org.osgi.framework.AdminPermission;
|
||||
|
||||
/**
|
||||
* Web service implementation
|
||||
*/
|
||||
public class WebServiceAdmin extends WebServiceBase {
|
||||
|
||||
private static final String SCHEMA_FILE_NAME = "schema/service.admin.graphqls";
|
||||
|
||||
@Override
|
||||
public TypeDefinitionRegistry getTypeDefinition() throws DBWebException {
|
||||
return loadSchemaDefinition(getClass(), SCHEMA_FILE_NAME);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void bindWiring(DBWModel model) throws DBWebException {
|
||||
model.getQueryType().dataFetcher("listUsers", env -> {
|
||||
checkPermission(model, env, AdminPermissions.PERMISSION_ADMIN);
|
||||
throw new DBWebException("Not implemented");
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -8,13 +8,6 @@ Bundle-Release-Date: 20200504
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
|
||||
Bundle-ActivationPolicy: lazy
|
||||
Bundle-ClassPath: .
|
||||
Require-Bundle: org.eclipse.core.runtime,
|
||||
org.eclipse.core.expressions,
|
||||
org.apache.commons.logging,
|
||||
org.eclipse.core.commands,
|
||||
org.eclipse.core.resources,
|
||||
io.cloudbeaver.server,
|
||||
org.jkiss.dbeaver.model,
|
||||
org.jkiss.dbeaver.model.sql
|
||||
Require-Bundle: io.cloudbeaver.server
|
||||
Bundle-Localization: OSGI-INF/l10n/bundle
|
||||
Automatic-Module-Name: io.cloudbeaver.service.auth
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<plugin>
|
||||
|
||||
<extension point="io.cloudbeaver.service">
|
||||
<service id="auth" label="User authentication" description="User authentication services" class="io.cloudbeaver.service.metadata.WebServiceAuth">
|
||||
<service id="auth" label="User authentication" description="User authentication services" class="io.cloudbeaver.service.auth.WebServiceAuth">
|
||||
|
||||
</service>
|
||||
</extension>
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
<version>1.0.0-SNAPSHOT</version>
|
||||
<relativePath>../</relativePath>
|
||||
</parent>
|
||||
<artifactId>io.cloudbeaver.service.metadata</artifactId>
|
||||
<artifactId>io.cloudbeaver.service.auth</artifactId>
|
||||
<version>1.0.0-SNAPSHOT</version>
|
||||
<packaging>eclipse-plugin</packaging>
|
||||
|
||||
|
||||
@@ -1,35 +1,3 @@
|
||||
|
||||
type UserInfo {
|
||||
userName: ID!
|
||||
}
|
||||
|
||||
type RoleInfo {
|
||||
roleName: ID!
|
||||
|
||||
permissions: [ID]!
|
||||
}
|
||||
|
||||
type PermissionInfo {
|
||||
id: ID!
|
||||
|
||||
label: [String]
|
||||
description: [String]
|
||||
}
|
||||
|
||||
type Admin {
|
||||
users: [UserInfo]
|
||||
roles: [RoleInfo]
|
||||
permissions: [PermissionInfo]
|
||||
|
||||
createUser(userName: ID!): UserInfo!
|
||||
deleteUser(userName: ID!): Boolean
|
||||
|
||||
setUserAuthCredentials(userName: ID!, model: ID!, credentials: Object): Boolean
|
||||
|
||||
grantUserRole(user: ID!, role: ID!): Boolean
|
||||
revokeUserRole(user: ID!, role: ID!): Boolean
|
||||
}
|
||||
|
||||
type AuthCredentialInfo {
|
||||
id: ID!
|
||||
label: String!
|
||||
@@ -62,9 +30,9 @@ type UserAuthInfo {
|
||||
|
||||
extend type Query {
|
||||
|
||||
login(model: ID!, credentials: Object!): UserAuthInfo
|
||||
authLogin(model: ID!, credentials: Object!): UserAuthInfo
|
||||
|
||||
logout: Boolean
|
||||
authLogout: Boolean
|
||||
|
||||
sessionUser: UserAuthInfo
|
||||
|
||||
|
||||
+6
-15
@@ -14,39 +14,30 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package io.cloudbeaver.service.metadata;
|
||||
package io.cloudbeaver.service.auth;
|
||||
|
||||
import graphql.schema.idl.TypeDefinitionRegistry;
|
||||
import io.cloudbeaver.DBWebException;
|
||||
import io.cloudbeaver.WebServiceUtils;
|
||||
import io.cloudbeaver.api.DBWModel;
|
||||
import io.cloudbeaver.api.DBWServiceGraphQL;
|
||||
import io.cloudbeaver.api.DBWUtils;
|
||||
import io.cloudbeaver.server.model.WebNavigatorNodeInfo;
|
||||
import io.cloudbeaver.server.model.session.WebSession;
|
||||
import org.jkiss.dbeaver.model.DBPScriptObject;
|
||||
import org.jkiss.dbeaver.model.navigator.DBNDatabaseNode;
|
||||
import org.jkiss.dbeaver.model.navigator.DBNNode;
|
||||
import org.jkiss.dbeaver.model.struct.DBSObject;
|
||||
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.Map;
|
||||
import io.cloudbeaver.api.WebServiceBase;
|
||||
|
||||
/**
|
||||
* Web service implementation
|
||||
*/
|
||||
public class WebServiceAuth implements DBWServiceGraphQL {
|
||||
public class WebServiceAuth extends WebServiceBase {
|
||||
|
||||
private static final String SCHEMA_FILE_NAME = "schema/service.auth.graphqls";
|
||||
|
||||
@Override
|
||||
public TypeDefinitionRegistry getTypeDefinition() throws DBWebException {
|
||||
return WebServiceUtils.loadSchemaDefinition(getClass(), SCHEMA_FILE_NAME);
|
||||
return loadSchemaDefinition(getClass(), SCHEMA_FILE_NAME);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void bindWiring(DBWModel model) throws DBWebException {
|
||||
model.getQueryType().dataFetcher("login", env -> {
|
||||
model.getQueryType().dataFetcher("authLogin", env -> {
|
||||
Object context = env.getContext();
|
||||
throw new DBWebException("Not implemented");
|
||||
});
|
||||
|
||||
@@ -8,14 +8,8 @@ Bundle-Release-Date: 20200504
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
|
||||
Bundle-ActivationPolicy: lazy
|
||||
Bundle-ClassPath: .
|
||||
Require-Bundle: org.eclipse.core.runtime,
|
||||
org.eclipse.core.expressions,
|
||||
org.apache.commons.logging,
|
||||
org.eclipse.core.commands,
|
||||
org.eclipse.core.resources,
|
||||
io.cloudbeaver.server,
|
||||
Require-Bundle: io.cloudbeaver.server,
|
||||
org.jkiss.dbeaver.data.transfer,
|
||||
org.jkiss.dbeaver.model.sql,
|
||||
org.jkiss.dbeaver.registry
|
||||
Bundle-Localization: OSGI-INF/l10n/bundle
|
||||
Automatic-Module-Name: io.cloudbeaver.service.data.transfer
|
||||
|
||||
+3
-7
@@ -19,11 +19,7 @@ package io.cloudbeaver.service.data.transfer;
|
||||
import graphql.schema.DataFetchingEnvironment;
|
||||
import graphql.schema.idl.TypeDefinitionRegistry;
|
||||
import io.cloudbeaver.DBWebException;
|
||||
import io.cloudbeaver.WebServiceUtils;
|
||||
import io.cloudbeaver.api.DBWModel;
|
||||
import io.cloudbeaver.api.DBWServiceGraphQL;
|
||||
import io.cloudbeaver.api.DBWServiceServlet;
|
||||
import io.cloudbeaver.api.DBWUtils;
|
||||
import io.cloudbeaver.api.*;
|
||||
import io.cloudbeaver.server.CloudbeaverApplication;
|
||||
import io.cloudbeaver.server.model.session.WebSession;
|
||||
import org.eclipse.jetty.servlet.ServletContextHandler;
|
||||
@@ -32,7 +28,7 @@ import org.eclipse.jetty.servlet.ServletHolder;
|
||||
/**
|
||||
* Web service implementation
|
||||
*/
|
||||
public class WebServiceDataTransfer implements DBWServiceGraphQL, DBWServiceServlet {
|
||||
public class WebServiceDataTransfer extends WebServiceBase implements DBWServiceServlet {
|
||||
|
||||
private static final String DT_SCHEMA_FILE_NAME = "schema/service.data.transfer.graphqls";
|
||||
|
||||
@@ -45,7 +41,7 @@ public class WebServiceDataTransfer implements DBWServiceGraphQL, DBWServiceServ
|
||||
|
||||
@Override
|
||||
public TypeDefinitionRegistry getTypeDefinition() throws DBWebException {
|
||||
return WebServiceUtils.loadSchemaDefinition(getClass(), DT_SCHEMA_FILE_NAME);
|
||||
return loadSchemaDefinition(getClass(), DT_SCHEMA_FILE_NAME);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -8,12 +8,6 @@ Bundle-Release-Date: 20200504
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
|
||||
Bundle-ActivationPolicy: lazy
|
||||
Bundle-ClassPath: .
|
||||
Require-Bundle: org.eclipse.core.runtime,
|
||||
org.eclipse.core.expressions,
|
||||
org.apache.commons.logging,
|
||||
org.eclipse.core.commands,
|
||||
org.eclipse.core.resources,
|
||||
io.cloudbeaver.server,
|
||||
org.jkiss.dbeaver.model.sql
|
||||
Require-Bundle: io.cloudbeaver.server
|
||||
Bundle-Localization: OSGI-INF/l10n/bundle
|
||||
Automatic-Module-Name: io.cloudbeaver.service.metadata
|
||||
|
||||
+4
-5
@@ -18,10 +18,9 @@ package io.cloudbeaver.service.metadata;
|
||||
|
||||
import graphql.schema.idl.TypeDefinitionRegistry;
|
||||
import io.cloudbeaver.DBWebException;
|
||||
import io.cloudbeaver.WebServiceUtils;
|
||||
import io.cloudbeaver.api.DBWModel;
|
||||
import io.cloudbeaver.api.DBWServiceGraphQL;
|
||||
import io.cloudbeaver.api.DBWUtils;
|
||||
import io.cloudbeaver.api.WebServiceBase;
|
||||
import io.cloudbeaver.server.model.WebNavigatorNodeInfo;
|
||||
import io.cloudbeaver.server.model.session.WebSession;
|
||||
import org.jkiss.dbeaver.model.DBPScriptObject;
|
||||
@@ -35,13 +34,13 @@ import java.util.Map;
|
||||
/**
|
||||
* Web service implementation
|
||||
*/
|
||||
public class WebServiceMetadata implements DBWServiceGraphQL {
|
||||
public class WebServiceMetadata extends WebServiceBase {
|
||||
|
||||
private static final String METADATA_SCHEMA_FILE_NAME = "schema/service.metadata.graphqls";
|
||||
private static final String SCHEMA_FILE_NAME = "schema/service.metadata.graphqls";
|
||||
|
||||
@Override
|
||||
public TypeDefinitionRegistry getTypeDefinition() throws DBWebException {
|
||||
return WebServiceUtils.loadSchemaDefinition(getClass(), METADATA_SCHEMA_FILE_NAME);
|
||||
return loadSchemaDefinition(getClass(), SCHEMA_FILE_NAME);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -14,6 +14,8 @@
|
||||
|
||||
<modules>
|
||||
<module>io.cloudbeaver.server</module>
|
||||
<module>io.cloudbeaver.service.admin</module>
|
||||
<module>io.cloudbeaver.service.auth</module>
|
||||
<module>io.cloudbeaver.service.metadata</module>
|
||||
<module>io.cloudbeaver.service.data.transfer</module>
|
||||
|
||||
|
||||
@@ -32,6 +32,8 @@
|
||||
<includes id="org.jkiss.dbeaver.db.feature" version="0.0.0"/>
|
||||
|
||||
<plugin id="io.cloudbeaver.server" download-size="0" install-size="0" version="0.0.0" unpack="false"/>
|
||||
<plugin id="io.cloudbeaver.service.admin" download-size="0" install-size="0" version="0.0.0" unpack="false"/>
|
||||
<plugin id="io.cloudbeaver.service.auth" download-size="0" install-size="0" version="0.0.0" unpack="false"/>
|
||||
<plugin id="io.cloudbeaver.service.metadata" download-size="0" install-size="0" version="0.0.0" unpack="false"/>
|
||||
|
||||
<!-- Extra plugins -->
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
<setEntry value="org.jkiss.dbeaver.runtime.feature:default"/>
|
||||
</setAttribute>
|
||||
<stringAttribute key="selected_target_plugins" value="com.github.jsqlparser@default:default,com.google.gson@default:default,com.google.guava*27.1.0.v20190517-1946@default:default,com.ibm.icu.base@default:default,com.jcraft.jsch@default:default,com.jcraft.jzlib@default:default,com.sun.jna*4.5.1.v20190425-1842@default:default,com.sun.jna.platform*4.5.1.v20190425-1842@default:default,javax.annotation@default:default,javax.inject@default:default,javax.servlet*3.1.0.v201410161800@default:default,javax.xml@default:default,net.sf.opencsv@default:default,org.apache.batik.constants@default:default,org.apache.batik.css@default:default,org.apache.batik.i18n@default:default,org.apache.batik.util@default:default,org.apache.commons.io@default:default,org.apache.commons.jexl@default:default,org.apache.commons.jxpath@default:default,org.apache.commons.logging@default:default,org.apache.felix.gogo.runtime@default:default,org.apache.felix.scr@1:true,org.apache.log4j@default:default,org.apache.lucene.analyzers-common*8.0.0.v20190404-1858@default:default,org.apache.lucene.analyzers-smartcn@default:default,org.apache.lucene.core*8.0.0.v20190404-1858@default:default,org.apache.xerces@default:default,org.apache.xml.resolver@default:default,org.apache.xml.serializer@default:default,org.apache.xmlgraphics@default:default,org.bouncycastle.bcpkix@default:default,org.bouncycastle.bcprov@default:default,org.eclipse.ant.core@default:default,org.eclipse.compare.core@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.core.databinding@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.filebuffers@default:default,org.eclipse.core.filesystem.win32.x86_64@default:false,org.eclipse.core.filesystem@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.net.win32.x86_64@default:false,org.eclipse.core.net@default:default,org.eclipse.core.resources.win32.x86_64@default:false,org.eclipse.core.resources@default:default,org.eclipse.core.runtime@default:true,org.eclipse.core.variables@default:default,org.eclipse.e4.core.commands@default:default,org.eclipse.e4.core.contexts@default:default,org.eclipse.e4.core.di.annotations@default:default,org.eclipse.e4.core.di.extensions.supplier@default:default,org.eclipse.e4.core.di.extensions@default:default,org.eclipse.e4.core.di@default:default,org.eclipse.e4.core.services@default:default,org.eclipse.e4.emf.xpath@default:default,org.eclipse.emf.common@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.emf.ecore.edit@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.edit@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.bidi@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.event@default:default,org.eclipse.equinox.http.jetty@default:default,org.eclipse.equinox.http.servlet@default:default,org.eclipse.equinox.p2.core@default:default,org.eclipse.equinox.p2.engine@default:default,org.eclipse.equinox.p2.metadata.repository@default:default,org.eclipse.equinox.p2.metadata@default:default,org.eclipse.equinox.p2.repository@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.security.win32.x86_64@default:false,org.eclipse.equinox.security@default:default,org.eclipse.jdt.annotation*2.2.300.v20190328-1431@default:default,org.eclipse.jetty.http@default:default,org.eclipse.jetty.io@default:default,org.eclipse.jetty.security@default:default,org.eclipse.jetty.server@default:default,org.eclipse.jetty.servlet@default:default,org.eclipse.jetty.util@default:default,org.eclipse.ltk.core.refactoring@default:default,org.eclipse.osgi.compatibility.state@default:false,org.eclipse.osgi.services@default:default,org.eclipse.osgi.util@default:default,org.eclipse.osgi@-1:true,org.eclipse.team.core@default:default,org.eclipse.text@default:default,org.jkiss.bundle.gis@default:default,org.jkiss.bundle.graphql.java@default:default,org.jkiss.bundle.sshj@default:default,org.objectweb.asm*7.1.0.v20190412-2143@default:default,org.slf4j.api*1.7.10.v20170428-1633@default:default,org.tukaani.xz@default:default,org.w3c.css.sac@default:default,org.w3c.dom.events@default:default,org.w3c.dom.smil@default:default,org.w3c.dom.svg@default:default,stax.api@default:default"/>
|
||||
<stringAttribute key="selected_workspace_plugins" value="io.cloudbeaver.connect.provider.sample@default:default,io.cloudbeaver.resources.drivers.base@default:default,io.cloudbeaver.server@default:default,io.cloudbeaver.service.data.transfer@default:default,io.cloudbeaver.service.metadata@default:default,org.jkiss.dbeaver.cmp.simple@default:default,org.jkiss.dbeaver.data.gis@default:default,org.jkiss.dbeaver.data.transfer@default:default,org.jkiss.dbeaver.ext.clickhouse@default:default,org.jkiss.dbeaver.ext.db2.i@default:default,org.jkiss.dbeaver.ext.db2.zos@default:default,org.jkiss.dbeaver.ext.derby@default:default,org.jkiss.dbeaver.ext.firebird@default:default,org.jkiss.dbeaver.ext.generic@default:default,org.jkiss.dbeaver.ext.greenplum@default:default,org.jkiss.dbeaver.ext.h2@default:default,org.jkiss.dbeaver.ext.h2gis@default:default,org.jkiss.dbeaver.ext.hana@default:default,org.jkiss.dbeaver.ext.hive@default:default,org.jkiss.dbeaver.ext.hsqldb@default:default,org.jkiss.dbeaver.ext.informix@default:default,org.jkiss.dbeaver.ext.kognitio@default:default,org.jkiss.dbeaver.ext.mssql@default:default,org.jkiss.dbeaver.ext.mysql@default:default,org.jkiss.dbeaver.ext.netezza@default:default,org.jkiss.dbeaver.ext.opendistro@default:default,org.jkiss.dbeaver.ext.oracle@default:default,org.jkiss.dbeaver.ext.phoenix@default:default,org.jkiss.dbeaver.ext.postgresql@default:default,org.jkiss.dbeaver.ext.snowflake.core@default:default,org.jkiss.dbeaver.ext.teradata@default:default,org.jkiss.dbeaver.ext.vertica@default:default,org.jkiss.dbeaver.model.sql@default:default,org.jkiss.dbeaver.model@default:default,org.jkiss.dbeaver.net.ssh.sshj@default:default,org.jkiss.dbeaver.net.ssh@default:default,org.jkiss.dbeaver.registry@default:default,org.jkiss.dbeaver.slf4j@default:false,org.jkiss.dbeaver.tasks.native@default:default,org.jkiss.utils@default:default,org.jkiss.wmi@default:default"/>
|
||||
<stringAttribute key="selected_workspace_plugins" value="io.cloudbeaver.connect.provider.sample@default:default,io.cloudbeaver.resources.drivers.base@default:default,io.cloudbeaver.server@default:default,io.cloudbeaver.service.admin@default:default,io.cloudbeaver.service.auth@default:default,io.cloudbeaver.service.data.transfer@default:default,io.cloudbeaver.service.metadata@default:default,org.jkiss.dbeaver.cmp.simple@default:default,org.jkiss.dbeaver.data.gis@default:default,org.jkiss.dbeaver.data.transfer@default:default,org.jkiss.dbeaver.ext.clickhouse@default:default,org.jkiss.dbeaver.ext.db2.i@default:default,org.jkiss.dbeaver.ext.db2.zos@default:default,org.jkiss.dbeaver.ext.derby@default:default,org.jkiss.dbeaver.ext.firebird@default:default,org.jkiss.dbeaver.ext.generic@default:default,org.jkiss.dbeaver.ext.greenplum@default:default,org.jkiss.dbeaver.ext.h2@default:default,org.jkiss.dbeaver.ext.h2gis@default:default,org.jkiss.dbeaver.ext.hana@default:default,org.jkiss.dbeaver.ext.hive@default:default,org.jkiss.dbeaver.ext.hsqldb@default:default,org.jkiss.dbeaver.ext.informix@default:default,org.jkiss.dbeaver.ext.kognitio@default:default,org.jkiss.dbeaver.ext.mssql@default:default,org.jkiss.dbeaver.ext.mysql@default:default,org.jkiss.dbeaver.ext.netezza@default:default,org.jkiss.dbeaver.ext.opendistro@default:default,org.jkiss.dbeaver.ext.oracle@default:default,org.jkiss.dbeaver.ext.phoenix@default:default,org.jkiss.dbeaver.ext.postgresql@default:default,org.jkiss.dbeaver.ext.snowflake.core@default:default,org.jkiss.dbeaver.ext.teradata@default:default,org.jkiss.dbeaver.ext.vertica@default:default,org.jkiss.dbeaver.model.sql@default:default,org.jkiss.dbeaver.model@default:default,org.jkiss.dbeaver.net.ssh.sshj@default:default,org.jkiss.dbeaver.net.ssh@default:default,org.jkiss.dbeaver.registry@default:default,org.jkiss.dbeaver.slf4j@default:false,org.jkiss.dbeaver.tasks.native@default:default,org.jkiss.utils@default:default,org.jkiss.wmi@default:default"/>
|
||||
<booleanAttribute key="show_selected_only" value="false"/>
|
||||
<booleanAttribute key="tracing" value="false"/>
|
||||
<booleanAttribute key="useCustomFeatures" value="false"/>
|
||||
|
||||
Reference in New Issue
Block a user