diff --git a/plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/DBPDataSourceOrigin.java b/plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/DBPDataSourceOrigin.java index e90cd3f5fe9bc91c780c27bf406411768464a351..7177899b5ec0b2c02af2dfc73733b8f73ae96129 100644 --- a/plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/DBPDataSourceOrigin.java +++ b/plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/DBPDataSourceOrigin.java @@ -29,8 +29,17 @@ import java.util.Map; */ public interface DBPDataSourceOrigin { + /** + * Origin type. Unique + */ @NotNull - String getId(); + String getType(); + + /** + * Origina sub type + */ + @Nullable + String getSubType(); @NotNull String getDisplayName(); diff --git a/plugins/org.jkiss.dbeaver.registry/src/org/jkiss/dbeaver/registry/DataSourceOriginLazy.java b/plugins/org.jkiss.dbeaver.registry/src/org/jkiss/dbeaver/registry/DataSourceOriginLazy.java index 1d2d9b52ddb0c390f0f87cc8f2317ff4aee880ae..e14078792a864799474a6ac13625b28928aab3ba 100644 --- a/plugins/org.jkiss.dbeaver.registry/src/org/jkiss/dbeaver/registry/DataSourceOriginLazy.java +++ b/plugins/org.jkiss.dbeaver.registry/src/org/jkiss/dbeaver/registry/DataSourceOriginLazy.java @@ -39,10 +39,16 @@ class DataSourceOriginLazy implements DBPDataSourceOrigin @NotNull @Override - public String getId() { + public String getType() { return originId; } + @Nullable + @Override + public String getSubType() { + return null; + } + @NotNull @Override public String getDisplayName() { @@ -74,7 +80,7 @@ class DataSourceOriginLazy implements DBPDataSourceOrigin @Override public String toString() { - return getId(); + return getType(); } @NotNull diff --git a/plugins/org.jkiss.dbeaver.registry/src/org/jkiss/dbeaver/registry/DataSourceOriginLocal.java b/plugins/org.jkiss.dbeaver.registry/src/org/jkiss/dbeaver/registry/DataSourceOriginLocal.java index d5a7afa02f7371d0c252d6e03f2763a1ae3f9429..b7ba16da38406250798031872a84597b258ab8bd 100644 --- a/plugins/org.jkiss.dbeaver.registry/src/org/jkiss/dbeaver/registry/DataSourceOriginLocal.java +++ b/plugins/org.jkiss.dbeaver.registry/src/org/jkiss/dbeaver/registry/DataSourceOriginLocal.java @@ -39,10 +39,16 @@ public class DataSourceOriginLocal implements DBPDataSourceOrigin @NotNull @Override - public String getId() { + public String getType() { return ORIGIN_ID; } + @Nullable + @Override + public String getSubType() { + return null; + } + @NotNull @Override public String getDisplayName() { @@ -74,7 +80,7 @@ public class DataSourceOriginLocal implements DBPDataSourceOrigin @Override public String toString() { - return getId(); + return getType(); } } diff --git a/plugins/org.jkiss.dbeaver.registry/src/org/jkiss/dbeaver/registry/DataSourceSerializerModern.java b/plugins/org.jkiss.dbeaver.registry/src/org/jkiss/dbeaver/registry/DataSourceSerializerModern.java index 9ef39402584459ddb382a16226f739a8043f742d..b28dc604bba849ad5458982262127df55882008b 100644 --- a/plugins/org.jkiss.dbeaver.registry/src/org/jkiss/dbeaver/registry/DataSourceSerializerModern.java +++ b/plugins/org.jkiss.dbeaver.registry/src/org/jkiss/dbeaver/registry/DataSourceSerializerModern.java @@ -69,7 +69,7 @@ class DataSourceSerializerModern implements DataSourceSerializer static final String ATTR_NAVIGATOR_MERGE_ENTITIES = "navigator-merge-entities"; //$NON-NLS-1$ public static final String TAG_ORIGIN = "origin"; //$NON-NLS-1$ - private static final String ATTR_ORIGIN_ID = "_id"; //$NON-NLS-1$ + private static final String ATTR_ORIGIN_TYPE = "$type"; //$NON-NLS-1$ private static final Log log = Log.getLog(DataSourceSerializerModern.class); private static final String NODE_CONNECTION = "#connection"; @@ -467,10 +467,10 @@ class DataSourceSerializerModern implements DataSourceSerializer if (newDataSource) { DBPDataSourceOrigin origin; Map originProperties = JSONUtils.deserializeProperties(conObject, TAG_ORIGIN); - if (CommonUtils.isEmpty(originProperties) || !originProperties.containsKey(ATTR_ORIGIN_ID)) { + if (CommonUtils.isEmpty(originProperties) || !originProperties.containsKey(ATTR_ORIGIN_TYPE)) { origin = DataSourceOriginLocal.INSTANCE; } else { - String originID = CommonUtils.toString(originProperties.remove(ATTR_ORIGIN_ID)); + String originID = CommonUtils.toString(originProperties.remove(ATTR_ORIGIN_TYPE)); origin = new DataSourceOriginLazy(originID, originProperties); } dataSource = new DataSourceDescriptor( @@ -741,7 +741,7 @@ class DataSourceSerializerModern implements DataSourceSerializer DBPDataSourceOrigin origin = dataSource.getOrigin(); if (origin != DataSourceOriginLocal.INSTANCE) { Map originProps = new LinkedHashMap<>(); - originProps.put(ATTR_ORIGIN_ID, origin.getId()); + originProps.put(ATTR_ORIGIN_TYPE, origin.getType()); originProps.putAll(origin.getConfiguration()); JSONUtils.serializeProperties(json, TAG_ORIGIN, originProps); }