diff --git a/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/model/WebConnectionInfo.java b/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/model/WebConnectionInfo.java index aeddfc0aad..7e832c8c07 100644 --- a/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/model/WebConnectionInfo.java +++ b/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/model/WebConnectionInfo.java @@ -21,8 +21,12 @@ import io.cloudbeaver.model.session.WebSession; import io.cloudbeaver.server.CBConstants; import org.jkiss.dbeaver.model.DBPDataSource; import org.jkiss.dbeaver.model.DBPDataSourceContainer; +import org.jkiss.dbeaver.model.meta.Association; import org.jkiss.dbeaver.model.meta.Property; +import java.util.ArrayList; +import java.util.List; + /** * Web connection info */ @@ -122,4 +126,27 @@ public class WebConnectionInfo { this.clientVersion = clientVersion; } + @Association + public String[] getFeatures() { + List features = new ArrayList<>(); + + if (dataSourceContainer.isConnected()) { + features.add("connected"); + } + if (dataSourceContainer.isHidden()) { + features.add("virtual"); + } + if (dataSourceContainer.isTemporary()) { + features.add("temporary"); + } + if (dataSourceContainer.isConnectionReadOnly()) { + features.add("readOnly"); + } + if (dataSourceContainer.isProvided()) { + features.add("provided"); + } + + return features.toArray(new String[0]); + } + } diff --git a/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/service/navigator/WebDatabaseObjectInfo.java b/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/service/navigator/WebDatabaseObjectInfo.java index 8c0ac26d76..98de59806a 100644 --- a/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/service/navigator/WebDatabaseObjectInfo.java +++ b/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/service/navigator/WebDatabaseObjectInfo.java @@ -145,9 +145,7 @@ public class WebDatabaseObjectInfo { if (dbpDataSourceContainer.isConnected()) { features.add("dataSourceConnected"); } - if (dbpDataSourceContainer.isHidden()) { - features.add("dataSourceVirtual"); - } else if (dbpDataSourceContainer.isTemporary()) { + if (dbpDataSourceContainer.isTemporary()) { features.add("dataSourceTemporary"); } }