提交 50821ba6 编写于 作者: S Serge Rider

CB-348 Connection origin model refactoring (subType)


Former-commit-id: fccf69c6
上级 ede4778f
......@@ -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();
......
......@@ -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
......
......@@ -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();
}
}
......@@ -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<String, Object> 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<String, Object> 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);
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册