Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
suliangchun
dbeaver
提交
f5ec3da3
D
dbeaver
项目概览
suliangchun
/
dbeaver
与 Fork 源项目一致
从无法访问的项目Fork
通知
3
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
dbeaver
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
f5ec3da3
编写于
9月 26, 2020
作者:
S
serge-rider
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
dbeaver/dbeaver#9293 Data formatting settings refactoring
上级
e8bc25c3
变更
44
隐藏空白更改
内联
并排
Showing
44 changed file
with
264 addition
and
214 deletion
+264
-214
plugins/org.jkiss.dbeaver.data.transfer/src/org/jkiss/dbeaver/tools/transfer/stream/StreamTransferConsumer.java
...dbeaver/tools/transfer/stream/StreamTransferConsumer.java
+3
-6
plugins/org.jkiss.dbeaver.data.transfer/src/org/jkiss/dbeaver/tools/transfer/stream/model/StreamDataSource.java
...dbeaver/tools/transfer/stream/model/StreamDataSource.java
+2
-2
plugins/org.jkiss.dbeaver.data.transfer/src/org/jkiss/dbeaver/tools/transfer/stream/model/StreamDataSourceContainer.java
...ools/transfer/stream/model/StreamDataSourceContainer.java
+13
-2
plugins/org.jkiss.dbeaver.ext.db2/src/org/jkiss/dbeaver/ext/db2/data/DB2DecFloatValueHandler.java
...g/jkiss/dbeaver/ext/db2/data/DB2DecFloatValueHandler.java
+3
-3
plugins/org.jkiss.dbeaver.ext.db2/src/org/jkiss/dbeaver/ext/db2/data/DB2NumericValueHandler.java
...rg/jkiss/dbeaver/ext/db2/data/DB2NumericValueHandler.java
+3
-3
plugins/org.jkiss.dbeaver.ext.db2/src/org/jkiss/dbeaver/ext/db2/data/DB2TimestampValueHandler.java
.../jkiss/dbeaver/ext/db2/data/DB2TimestampValueHandler.java
+3
-3
plugins/org.jkiss.dbeaver.ext.db2/src/org/jkiss/dbeaver/ext/db2/data/DB2ValueHandlerProvider.java
...g/jkiss/dbeaver/ext/db2/data/DB2ValueHandlerProvider.java
+4
-4
plugins/org.jkiss.dbeaver.ext.exasol/src/org/jkiss/dbeaver/ext/exasol/ExasolValueHandlerProvider.java
.../jkiss/dbeaver/ext/exasol/ExasolValueHandlerProvider.java
+3
-3
plugins/org.jkiss.dbeaver.ext.generic/src/org/jkiss/dbeaver/ext/generic/data/GenericTimestampValueHandler.java
...beaver/ext/generic/data/GenericTimestampValueHandler.java
+3
-3
plugins/org.jkiss.dbeaver.ext.generic/src/org/jkiss/dbeaver/ext/generic/data/GenericValueHandlerProvider.java
...dbeaver/ext/generic/data/GenericValueHandlerProvider.java
+3
-3
plugins/org.jkiss.dbeaver.ext.h2gis/src/org/jkiss/dbeaver/ext/h2gis/data/H2GISValueHandlerProvider.java
...iss/dbeaver/ext/h2gis/data/H2GISValueHandlerProvider.java
+2
-2
plugins/org.jkiss.dbeaver.ext.hana/src/org/jkiss/dbeaver/ext/hana/model/data/HANAValueHandlerProvider.java
...dbeaver/ext/hana/model/data/HANAValueHandlerProvider.java
+2
-2
plugins/org.jkiss.dbeaver.ext.mysql/src/org/jkiss/dbeaver/ext/mysql/data/MySQLDateTimeValueHandler.java
...iss/dbeaver/ext/mysql/data/MySQLDateTimeValueHandler.java
+3
-3
plugins/org.jkiss.dbeaver.ext.mysql/src/org/jkiss/dbeaver/ext/mysql/data/MySQLNumberValueHandler.java
...jkiss/dbeaver/ext/mysql/data/MySQLNumberValueHandler.java
+3
-3
plugins/org.jkiss.dbeaver.ext.mysql/src/org/jkiss/dbeaver/ext/mysql/data/MySQLValueHandlerProvider.java
...iss/dbeaver/ext/mysql/data/MySQLValueHandlerProvider.java
+4
-4
plugins/org.jkiss.dbeaver.ext.oracle/src/org/jkiss/dbeaver/ext/oracle/data/OracleTemporalAccessorValueHandler.java
...r/ext/oracle/data/OracleTemporalAccessorValueHandler.java
+3
-3
plugins/org.jkiss.dbeaver.ext.oracle/src/org/jkiss/dbeaver/ext/oracle/data/OracleTimestampValueHandler.java
.../dbeaver/ext/oracle/data/OracleTimestampValueHandler.java
+3
-3
plugins/org.jkiss.dbeaver.ext.oracle/src/org/jkiss/dbeaver/ext/oracle/data/OracleValueHandlerProvider.java
...s/dbeaver/ext/oracle/data/OracleValueHandlerProvider.java
+5
-5
plugins/org.jkiss.dbeaver.ext.phoenix/src/org/jkiss/dbeaver/ext/phoenix/model/data/PhoenixValueHandlerProvider.java
...r/ext/phoenix/model/data/PhoenixValueHandlerProvider.java
+2
-2
plugins/org.jkiss.dbeaver.ext.postgresql/src/org/jkiss/dbeaver/ext/postgresql/model/data/PostgreDateTimeValueHandler.java
...xt/postgresql/model/data/PostgreDateTimeValueHandler.java
+3
-3
plugins/org.jkiss.dbeaver.ext.postgresql/src/org/jkiss/dbeaver/ext/postgresql/model/data/PostgreTemporalAccessorValueHandler.java
...resql/model/data/PostgreTemporalAccessorValueHandler.java
+2
-2
plugins/org.jkiss.dbeaver.ext.postgresql/src/org/jkiss/dbeaver/ext/postgresql/model/data/PostgreValueHandlerProvider.java
...xt/postgresql/model/data/PostgreValueHandlerProvider.java
+4
-4
plugins/org.jkiss.dbeaver.ext.sqlite/src/org/jkiss/dbeaver/ext/sqlite/model/data/SQLiteValueHandler.java
...iss/dbeaver/ext/sqlite/model/data/SQLiteValueHandler.java
+7
-8
plugins/org.jkiss.dbeaver.ext.sqlite/src/org/jkiss/dbeaver/ext/sqlite/model/data/SQLiteValueHandlerProvider.java
...ver/ext/sqlite/model/data/SQLiteValueHandlerProvider.java
+3
-3
plugins/org.jkiss.dbeaver.ext.teradata/src/org/jkiss/dbeaver/ext/teradata/model/TeradataMetaModel.java
...g/jkiss/dbeaver/ext/teradata/model/TeradataMetaModel.java
+2
-2
plugins/org.jkiss.dbeaver.ext.wmi/src/org/jkiss/dbeaver/ext/wmi/model/WMIValueHandlerProvider.java
.../jkiss/dbeaver/ext/wmi/model/WMIValueHandlerProvider.java
+2
-2
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/DBPDataSourceContainer.java
...l/src/org/jkiss/dbeaver/model/DBPDataSourceContainer.java
+2
-2
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/DBUtils.java
...ss.dbeaver.model/src/org/jkiss/dbeaver/model/DBUtils.java
+1
-1
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/data/DBDFormatSettings.java
...l/src/org/jkiss/dbeaver/model/data/DBDFormatSettings.java
+46
-45
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/data/DBDFormatSettingsExt.java
...rc/org/jkiss/dbeaver/model/data/DBDFormatSettingsExt.java
+32
-0
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/data/DBDValueHandlerProvider.java
...org/jkiss/dbeaver/model/data/DBDValueHandlerProvider.java
+1
-1
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/exec/DBCSession.java
...er.model/src/org/jkiss/dbeaver/model/exec/DBCSession.java
+2
-2
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/impl/AbstractSession.java
...del/src/org/jkiss/dbeaver/model/impl/AbstractSession.java
+35
-19
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/impl/data/DateTimeCustomValueHandler.java
...s/dbeaver/model/impl/data/DateTimeCustomValueHandler.java
+6
-7
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/impl/data/TemporalAccessorValueHandler.java
...dbeaver/model/impl/data/TemporalAccessorValueHandler.java
+5
-5
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/impl/jdbc/JDBCDataSource.java
...src/org/jkiss/dbeaver/model/impl/jdbc/JDBCDataSource.java
+1
-22
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/impl/jdbc/data/JDBCCollection.java
...rg/jkiss/dbeaver/model/impl/jdbc/data/JDBCCollection.java
+1
-1
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/impl/jdbc/data/handlers/JDBCDateTimeValueHandler.java
...del/impl/jdbc/data/handlers/JDBCDateTimeValueHandler.java
+4
-5
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/impl/jdbc/data/handlers/JDBCNumberValueHandler.java
...model/impl/jdbc/data/handlers/JDBCNumberValueHandler.java
+5
-6
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/impl/jdbc/data/handlers/JDBCStandardValueHandlerProvider.java
.../jdbc/data/handlers/JDBCStandardValueHandlerProvider.java
+4
-4
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/impl/jdbc/data/handlers/JDBCTemporalAccessorValueHandler.java
.../jdbc/data/handlers/JDBCTemporalAccessorValueHandler.java
+12
-3
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/impl/jdbc/exec/JDBCConnectionImpl.java
...kiss/dbeaver/model/impl/jdbc/exec/JDBCConnectionImpl.java
+1
-1
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/impl/jdbc/exec/JDBCPreparedStatementImpl.java
...eaver/model/impl/jdbc/exec/JDBCPreparedStatementImpl.java
+1
-1
plugins/org.jkiss.dbeaver.registry/src/org/jkiss/dbeaver/registry/DataSourceDescriptor.java
.../src/org/jkiss/dbeaver/registry/DataSourceDescriptor.java
+15
-6
未找到文件。
plugins/org.jkiss.dbeaver.data.transfer/src/org/jkiss/dbeaver/tools/transfer/stream/StreamTransferConsumer.java
浏览文件 @
f5ec3da3
...
...
@@ -23,10 +23,7 @@ import org.jkiss.dbeaver.DBException;
import
org.jkiss.dbeaver.Log
;
import
org.jkiss.dbeaver.model.*
;
import
org.jkiss.dbeaver.model.app.DBPProject
;
import
org.jkiss.dbeaver.model.data.DBDAttributeBinding
;
import
org.jkiss.dbeaver.model.data.DBDContent
;
import
org.jkiss.dbeaver.model.data.DBDContentStorage
;
import
org.jkiss.dbeaver.model.data.DBDDisplayFormat
;
import
org.jkiss.dbeaver.model.data.*
;
import
org.jkiss.dbeaver.model.exec.DBCException
;
import
org.jkiss.dbeaver.model.exec.DBCResultSet
;
import
org.jkiss.dbeaver.model.exec.DBCSession
;
...
...
@@ -226,8 +223,8 @@ public class StreamTransferConsumer implements IDataTransferConsumer<StreamConsu
}
private
void
initExporter
(
DBCSession
session
)
throws
DBCException
{
if
(
settings
.
getFormatterProfile
()
!=
null
)
{
session
.
setDataFormatterProfile
(
settings
.
getFormatterProfile
());
if
(
settings
.
getFormatterProfile
()
!=
null
&&
session
instanceof
DBDFormatSettingsExt
)
{
((
DBDFormatSettingsExt
)
session
)
.
setDataFormatterProfile
(
settings
.
getFormatterProfile
());
}
exportSite
=
new
StreamExportSite
();
...
...
plugins/org.jkiss.dbeaver.data.transfer/src/org/jkiss/dbeaver/tools/transfer/stream/model/StreamDataSource.java
浏览文件 @
f5ec3da3
...
...
@@ -22,7 +22,7 @@ import org.jkiss.code.Nullable;
import
org.jkiss.dbeaver.DBException
;
import
org.jkiss.dbeaver.model.DBPDataSource
;
import
org.jkiss.dbeaver.model.DBPDataSourceInfo
;
import
org.jkiss.dbeaver.model.data.DBD
Preference
s
;
import
org.jkiss.dbeaver.model.data.DBD
FormatSetting
s
;
import
org.jkiss.dbeaver.model.data.DBDValueHandler
;
import
org.jkiss.dbeaver.model.data.DBDValueHandlerProvider
;
import
org.jkiss.dbeaver.model.exec.DBCExecutionContext
;
...
...
@@ -82,7 +82,7 @@ public class StreamDataSource extends AbstractSimpleDataSource<StreamExecutionCo
// We need to implement value handler provider to pass default value handler for attribute bindings
@Nullable
@Override
public
DBDValueHandler
getValueHandler
(
DBPDataSource
dataSource
,
DBD
Preference
s
preferences
,
DBSTypedObject
typedObject
)
{
public
DBDValueHandler
getValueHandler
(
DBPDataSource
dataSource
,
DBD
FormatSetting
s
preferences
,
DBSTypedObject
typedObject
)
{
return
DefaultValueHandler
.
INSTANCE
;
}
...
...
plugins/org.jkiss.dbeaver.data.transfer/src/org/jkiss/dbeaver/tools/transfer/stream/model/StreamDataSourceContainer.java
浏览文件 @
f5ec3da3
...
...
@@ -21,6 +21,7 @@ import org.eclipse.equinox.security.storage.ISecurePreferences;
import
org.jkiss.code.NotNull
;
import
org.jkiss.code.Nullable
;
import
org.jkiss.dbeaver.DBException
;
import
org.jkiss.dbeaver.ModelPreferences
;
import
org.jkiss.dbeaver.model.*
;
import
org.jkiss.dbeaver.model.app.DBPDataSourceRegistry
;
import
org.jkiss.dbeaver.model.app.DBPPlatform
;
...
...
@@ -358,12 +359,22 @@ class StreamDataSourceContainer implements DBPDataSourceContainer {
@Override
public
DBDDataFormatterProfile
getDataFormatterProfile
()
{
return
null
;
return
DBWorkbench
.
getPlatform
().
getDataFormatterRegistry
().
getGlobalProfile
();
}
@Override
public
boolean
isUseNativeDateTimeFormat
()
{
return
ModelPreferences
.
getPreferences
().
getBoolean
(
ModelPreferences
.
RESULT_NATIVE_DATETIME_FORMAT
);
}
@Override
public
void
setDataFormatterProfile
(
DBDDataFormatterProfile
formatterProfile
)
{
public
boolean
isUseNativeNumericFormat
()
{
return
ModelPreferences
.
getPreferences
().
getBoolean
(
ModelPreferences
.
RESULT_NATIVE_NUMERIC_FORMAT
);
}
@Override
public
boolean
isUseScientificNumericFormat
()
{
return
ModelPreferences
.
getPreferences
().
getBoolean
(
ModelPreferences
.
RESULT_SCIENTIFIC_NUMERIC_FORMAT
);
}
@NotNull
...
...
plugins/org.jkiss.dbeaver.ext.db2/src/org/jkiss/dbeaver/ext/db2/data/DB2DecFloatValueHandler.java
浏览文件 @
f5ec3da3
...
...
@@ -17,7 +17,7 @@
package
org.jkiss.dbeaver.ext.db2.data
;
import
org.jkiss.code.Nullable
;
import
org.jkiss.dbeaver.model.data.DBD
DataFormatterProfile
;
import
org.jkiss.dbeaver.model.data.DBD
FormatSettings
;
import
org.jkiss.dbeaver.model.exec.DBCException
;
import
org.jkiss.dbeaver.model.exec.DBCSession
;
import
org.jkiss.dbeaver.model.exec.jdbc.JDBCPreparedStatement
;
...
...
@@ -36,8 +36,8 @@ public class DB2DecFloatValueHandler extends JDBCNumberValueHandler {
final
static
int
DECFLOAT_SPECIALVALUE_ENCOUNTERED
=
-
4231
;
public
DB2DecFloatValueHandler
(
DBSTypedObject
type
,
DBD
DataFormatterProfile
formatterProfile
)
{
super
(
type
,
format
terProfile
);
public
DB2DecFloatValueHandler
(
DBSTypedObject
type
,
DBD
FormatSettings
formatSettings
)
{
super
(
type
,
format
Settings
);
}
@Nullable
...
...
plugins/org.jkiss.dbeaver.ext.db2/src/org/jkiss/dbeaver/ext/db2/data/DB2NumericValueHandler.java
浏览文件 @
f5ec3da3
...
...
@@ -16,7 +16,7 @@
*/
package
org.jkiss.dbeaver.ext.db2.data
;
import
org.jkiss.dbeaver.model.data.DBD
DataFormatterProfile
;
import
org.jkiss.dbeaver.model.data.DBD
FormatSettings
;
import
org.jkiss.dbeaver.model.impl.jdbc.data.handlers.JDBCNumberValueHandler
;
import
org.jkiss.dbeaver.model.struct.DBSTypedObject
;
...
...
@@ -25,8 +25,8 @@ import org.jkiss.dbeaver.model.struct.DBSTypedObject;
*/
public
class
DB2NumericValueHandler
extends
JDBCNumberValueHandler
{
DB2NumericValueHandler
(
DBSTypedObject
type
,
DBD
DataFormatterProfile
formatterProfile
)
{
super
(
type
,
format
terProfile
);
DB2NumericValueHandler
(
DBSTypedObject
type
,
DBD
FormatSettings
formatSettings
)
{
super
(
type
,
format
Settings
);
}
@Override
...
...
plugins/org.jkiss.dbeaver.ext.db2/src/org/jkiss/dbeaver/ext/db2/data/DB2TimestampValueHandler.java
浏览文件 @
f5ec3da3
...
...
@@ -17,7 +17,7 @@
package
org.jkiss.dbeaver.ext.db2.data
;
import
org.jkiss.code.Nullable
;
import
org.jkiss.dbeaver.model.data.DBD
DataFormatterProfile
;
import
org.jkiss.dbeaver.model.data.DBD
FormatSettings
;
import
org.jkiss.dbeaver.model.impl.jdbc.data.handlers.JDBCDateTimeValueHandler
;
import
org.jkiss.dbeaver.model.struct.DBSTypedObject
;
import
org.jkiss.utils.time.ExtendedDateFormat
;
...
...
@@ -33,9 +33,9 @@ public class DB2TimestampValueHandler extends JDBCDateTimeValueHandler {
private
final
SimpleDateFormat
DEFAULT_DATETIME_FORMAT
=
new
ExtendedDateFormat
(
"''yyyy-MM-dd HH:mm:ss.ffffff''"
);
public
DB2TimestampValueHandler
(
DBD
DataFormatterProfile
formatterProfile
)
public
DB2TimestampValueHandler
(
DBD
FormatSettings
formatSettings
)
{
super
(
format
terProfile
);
super
(
format
Settings
);
}
@Nullable
...
...
plugins/org.jkiss.dbeaver.ext.db2/src/org/jkiss/dbeaver/ext/db2/data/DB2ValueHandlerProvider.java
浏览文件 @
f5ec3da3
...
...
@@ -20,7 +20,7 @@ package org.jkiss.dbeaver.ext.db2.data;
import
org.jkiss.dbeaver.ext.db2.DB2Constants
;
import
org.jkiss.dbeaver.model.DBPDataKind
;
import
org.jkiss.dbeaver.model.DBPDataSource
;
import
org.jkiss.dbeaver.model.data.DBD
Preference
s
;
import
org.jkiss.dbeaver.model.data.DBD
FormatSetting
s
;
import
org.jkiss.dbeaver.model.data.DBDValueHandler
;
import
org.jkiss.dbeaver.model.data.DBDValueHandlerProvider
;
import
org.jkiss.dbeaver.model.struct.DBSTypedObject
;
...
...
@@ -44,15 +44,15 @@ public class DB2ValueHandlerProvider implements DBDValueHandlerProvider {
};
@Override
public
DBDValueHandler
getValueHandler
(
DBPDataSource
dataSource
,
DBD
Preference
s
preferences
,
DBSTypedObject
typedObject
)
public
DBDValueHandler
getValueHandler
(
DBPDataSource
dataSource
,
DBD
FormatSetting
s
preferences
,
DBSTypedObject
typedObject
)
{
final
String
typeName
=
typedObject
.
getTypeName
();
if
(
DB2Constants
.
TYPE_NAME_DECFLOAT
.
equals
(
typeName
))
{
return
new
DB2DecFloatValueHandler
(
typedObject
,
preferences
.
getDataFormatterProfile
()
);
return
new
DB2DecFloatValueHandler
(
typedObject
,
preferences
);
}
else
if
(
ArrayUtils
.
contains
(
NUMERIC_TYPES
,
typedObject
.
getTypeID
()))
{
//return new DB2NumericValueHandler(typedObject, preferences.getDataFormatterProfile());
}
else
if
(
typeName
.
contains
(
"TIMESTAMP"
)
||
typedObject
.
getDataKind
()
==
DBPDataKind
.
DATETIME
)
{
return
new
DB2TimestampValueHandler
(
preferences
.
getDataFormatterProfile
()
);
return
new
DB2TimestampValueHandler
(
preferences
);
}
return
null
;
}
...
...
plugins/org.jkiss.dbeaver.ext.exasol/src/org/jkiss/dbeaver/ext/exasol/ExasolValueHandlerProvider.java
浏览文件 @
f5ec3da3
...
...
@@ -20,7 +20,7 @@ package org.jkiss.dbeaver.ext.exasol;
import
org.jkiss.dbeaver.data.gis.handlers.GISGeometryValueHandler
;
import
org.jkiss.dbeaver.model.DBPDataKind
;
import
org.jkiss.dbeaver.model.DBPDataSource
;
import
org.jkiss.dbeaver.model.data.DBD
Preference
s
;
import
org.jkiss.dbeaver.model.data.DBD
FormatSetting
s
;
import
org.jkiss.dbeaver.model.data.DBDValueHandler
;
import
org.jkiss.dbeaver.model.data.DBDValueHandlerProvider
;
import
org.jkiss.dbeaver.model.impl.jdbc.data.handlers.JDBCDateTimeValueHandler
;
...
...
@@ -29,10 +29,10 @@ import org.jkiss.dbeaver.model.struct.DBSTypedObject;
public
class
ExasolValueHandlerProvider
implements
DBDValueHandlerProvider
{
@Override
public
DBDValueHandler
getValueHandler
(
DBPDataSource
dataSource
,
DBD
Preference
s
preferences
,
public
DBDValueHandler
getValueHandler
(
DBPDataSource
dataSource
,
DBD
FormatSetting
s
preferences
,
DBSTypedObject
typedObject
)
{
if
(
typedObject
.
getDataKind
()
==
DBPDataKind
.
DATETIME
)
{
return
new
JDBCDateTimeValueHandler
(
preferences
.
getDataFormatterProfile
()
);
return
new
JDBCDateTimeValueHandler
(
preferences
);
}
String
typeID
=
typedObject
.
getTypeName
();
...
...
plugins/org.jkiss.dbeaver.ext.generic/src/org/jkiss/dbeaver/ext/generic/data/GenericTimestampValueHandler.java
浏览文件 @
f5ec3da3
...
...
@@ -18,7 +18,7 @@ package org.jkiss.dbeaver.ext.generic.data;
import
org.jkiss.code.Nullable
;
import
org.jkiss.dbeaver.ext.generic.model.GenericDataSource
;
import
org.jkiss.dbeaver.model.data.DBD
DataFormatterProfile
;
import
org.jkiss.dbeaver.model.data.DBD
FormatSettings
;
import
org.jkiss.dbeaver.model.impl.jdbc.data.handlers.JDBCDateTimeValueHandler
;
import
org.jkiss.dbeaver.model.struct.DBSTypedObject
;
...
...
@@ -32,9 +32,9 @@ public class GenericTimestampValueHandler extends JDBCDateTimeValueHandler {
private
final
GenericDataSource
dataSource
;
public
GenericTimestampValueHandler
(
GenericDataSource
dataSource
,
DBD
DataFormatterProfile
formatterProfile
)
public
GenericTimestampValueHandler
(
GenericDataSource
dataSource
,
DBD
FormatSettings
formatSettings
)
{
super
(
format
terProfile
);
super
(
format
Settings
);
this
.
dataSource
=
dataSource
;
}
...
...
plugins/org.jkiss.dbeaver.ext.generic/src/org/jkiss/dbeaver/ext/generic/data/GenericValueHandlerProvider.java
浏览文件 @
f5ec3da3
...
...
@@ -19,7 +19,7 @@ package org.jkiss.dbeaver.ext.generic.data;
import
org.jkiss.dbeaver.ext.generic.model.GenericDataSource
;
import
org.jkiss.dbeaver.model.DBPDataKind
;
import
org.jkiss.dbeaver.model.DBPDataSource
;
import
org.jkiss.dbeaver.model.data.DBD
Preference
s
;
import
org.jkiss.dbeaver.model.data.DBD
FormatSetting
s
;
import
org.jkiss.dbeaver.model.data.DBDValueHandler
;
import
org.jkiss.dbeaver.model.data.DBDValueHandlerProvider
;
import
org.jkiss.dbeaver.model.struct.DBSTypedObject
;
...
...
@@ -30,10 +30,10 @@ import org.jkiss.dbeaver.model.struct.DBSTypedObject;
public
class
GenericValueHandlerProvider
implements
DBDValueHandlerProvider
{
@Override
public
DBDValueHandler
getValueHandler
(
DBPDataSource
dataSource
,
DBD
Preference
s
preferences
,
DBSTypedObject
typedObject
)
public
DBDValueHandler
getValueHandler
(
DBPDataSource
dataSource
,
DBD
FormatSetting
s
preferences
,
DBSTypedObject
typedObject
)
{
if
(
typedObject
.
getDataKind
()
==
DBPDataKind
.
DATETIME
)
{
return
new
GenericTimestampValueHandler
((
GenericDataSource
)
dataSource
,
preferences
.
getDataFormatterProfile
()
);
return
new
GenericTimestampValueHandler
((
GenericDataSource
)
dataSource
,
preferences
);
}
else
{
return
null
;
}
...
...
plugins/org.jkiss.dbeaver.ext.h2gis/src/org/jkiss/dbeaver/ext/h2gis/data/H2GISValueHandlerProvider.java
浏览文件 @
f5ec3da3
...
...
@@ -18,7 +18,7 @@ package org.jkiss.dbeaver.ext.h2gis.data;
import
org.jkiss.code.Nullable
;
import
org.jkiss.dbeaver.model.DBPDataSource
;
import
org.jkiss.dbeaver.model.data.DBD
Preference
s
;
import
org.jkiss.dbeaver.model.data.DBD
FormatSetting
s
;
import
org.jkiss.dbeaver.model.data.DBDValueHandler
;
import
org.jkiss.dbeaver.model.data.DBDValueHandlerProvider
;
import
org.jkiss.dbeaver.model.struct.DBSTypedObject
;
...
...
@@ -30,7 +30,7 @@ public class H2GISValueHandlerProvider implements DBDValueHandlerProvider {
@Nullable
@Override
public
DBDValueHandler
getValueHandler
(
DBPDataSource
dataSource
,
DBD
Preference
s
preferences
,
DBSTypedObject
typedObject
)
public
DBDValueHandler
getValueHandler
(
DBPDataSource
dataSource
,
DBD
FormatSetting
s
preferences
,
DBSTypedObject
typedObject
)
{
if
(
typedObject
.
getTypeName
().
equalsIgnoreCase
(
"GEOMETRY"
))
{
return
H2GISGeometryValueHandler
.
INSTANCE
;
...
...
plugins/org.jkiss.dbeaver.ext.hana/src/org/jkiss/dbeaver/ext/hana/model/data/HANAValueHandlerProvider.java
浏览文件 @
f5ec3da3
...
...
@@ -21,7 +21,7 @@ package org.jkiss.dbeaver.ext.hana.model.data;
import
org.jkiss.code.Nullable
;
import
org.jkiss.dbeaver.model.DBPDataSource
;
import
org.jkiss.dbeaver.model.data.DBD
Preference
s
;
import
org.jkiss.dbeaver.model.data.DBD
FormatSetting
s
;
import
org.jkiss.dbeaver.model.data.DBDValueHandler
;
import
org.jkiss.dbeaver.model.data.DBDValueHandlerProvider
;
import
org.jkiss.dbeaver.model.struct.DBSTypedObject
;
...
...
@@ -30,7 +30,7 @@ public class HANAValueHandlerProvider implements DBDValueHandlerProvider {
@Nullable
@Override
public
DBDValueHandler
getValueHandler
(
DBPDataSource
dataSource
,
DBD
Preference
s
preferences
,
public
DBDValueHandler
getValueHandler
(
DBPDataSource
dataSource
,
DBD
FormatSetting
s
preferences
,
DBSTypedObject
typedObject
)
{
switch
(
typedObject
.
getTypeName
())
{
case
"ST_GEOMETRY"
:
...
...
plugins/org.jkiss.dbeaver.ext.mysql/src/org/jkiss/dbeaver/ext/mysql/data/MySQLDateTimeValueHandler.java
浏览文件 @
f5ec3da3
...
...
@@ -19,8 +19,8 @@ package org.jkiss.dbeaver.ext.mysql.data;
import
org.jkiss.code.NotNull
;
import
org.jkiss.code.Nullable
;
import
org.jkiss.dbeaver.ext.mysql.MySQLConstants
;
import
org.jkiss.dbeaver.model.data.DBDDataFormatterProfile
;
import
org.jkiss.dbeaver.model.data.DBDDisplayFormat
;
import
org.jkiss.dbeaver.model.data.DBDFormatSettings
;
import
org.jkiss.dbeaver.model.exec.DBCException
;
import
org.jkiss.dbeaver.model.exec.DBCResultSet
;
import
org.jkiss.dbeaver.model.exec.DBCSession
;
...
...
@@ -47,9 +47,9 @@ public class MySQLDateTimeValueHandler extends JDBCDateTimeValueHandler {
private
static
final
String
ZERO_DATE_STRING
=
"0000-00-00"
;
private
static
final
String
ZERO_TIMESTAMP_STRING
=
"0000-00-00 00:00:00"
;
public
MySQLDateTimeValueHandler
(
DBD
DataFormatterProfile
formatterProfile
)
public
MySQLDateTimeValueHandler
(
DBD
FormatSettings
formatSettings
)
{
super
(
format
terProfile
);
super
(
format
Settings
);
}
@Override
...
...
plugins/org.jkiss.dbeaver.ext.mysql/src/org/jkiss/dbeaver/ext/mysql/data/MySQLNumberValueHandler.java
浏览文件 @
f5ec3da3
...
...
@@ -18,8 +18,8 @@ package org.jkiss.dbeaver.ext.mysql.data;
import
org.jkiss.code.NotNull
;
import
org.jkiss.code.Nullable
;
import
org.jkiss.dbeaver.model.data.DBDDataFormatterProfile
;
import
org.jkiss.dbeaver.model.data.DBDDisplayFormat
;
import
org.jkiss.dbeaver.model.data.DBDFormatSettings
;
import
org.jkiss.dbeaver.model.exec.DBCException
;
import
org.jkiss.dbeaver.model.exec.jdbc.JDBCPreparedStatement
;
import
org.jkiss.dbeaver.model.exec.jdbc.JDBCSession
;
...
...
@@ -36,8 +36,8 @@ import java.sql.Types;
public
class
MySQLNumberValueHandler
extends
JDBCNumberValueHandler
{
public
MySQLNumberValueHandler
(
DBSTypedObject
type
,
DBD
DataFormatterProfile
formatterProfile
)
{
super
(
type
,
format
terProfile
);
public
MySQLNumberValueHandler
(
DBSTypedObject
type
,
DBD
FormatSettings
formatSettings
)
{
super
(
type
,
format
Settings
);
}
/**
...
...
plugins/org.jkiss.dbeaver.ext.mysql/src/org/jkiss/dbeaver/ext/mysql/data/MySQLValueHandlerProvider.java
浏览文件 @
f5ec3da3
...
...
@@ -21,7 +21,7 @@ import org.jkiss.dbeaver.data.gis.handlers.GISGeometryValueHandler;
import
org.jkiss.dbeaver.ext.mysql.MySQLConstants
;
import
org.jkiss.dbeaver.model.DBPDataKind
;
import
org.jkiss.dbeaver.model.DBPDataSource
;
import
org.jkiss.dbeaver.model.data.DBD
Preference
s
;
import
org.jkiss.dbeaver.model.data.DBD
FormatSetting
s
;
import
org.jkiss.dbeaver.model.data.DBDValueHandler
;
import
org.jkiss.dbeaver.model.data.DBDValueHandlerProvider
;
import
org.jkiss.dbeaver.model.impl.jdbc.data.handlers.JDBCContentValueHandler
;
...
...
@@ -34,12 +34,12 @@ public class MySQLValueHandlerProvider implements DBDValueHandlerProvider {
@Nullable
@Override
public
DBDValueHandler
getValueHandler
(
DBPDataSource
dataSource
,
DBD
Preference
s
preferences
,
DBSTypedObject
typedObject
)
public
DBDValueHandler
getValueHandler
(
DBPDataSource
dataSource
,
DBD
FormatSetting
s
preferences
,
DBSTypedObject
typedObject
)
{
if
(
typedObject
.
getDataKind
()
==
DBPDataKind
.
DATETIME
)
{
return
new
MySQLDateTimeValueHandler
(
preferences
.
getDataFormatterProfile
()
);
return
new
MySQLDateTimeValueHandler
(
preferences
);
}
else
if
(
typedObject
.
getDataKind
()
==
DBPDataKind
.
NUMERIC
)
{
return
new
MySQLNumberValueHandler
(
typedObject
,
preferences
.
getDataFormatterProfile
()
);
return
new
MySQLNumberValueHandler
(
typedObject
,
preferences
);
}
else
if
(
typedObject
.
getTypeName
().
equalsIgnoreCase
(
MySQLConstants
.
TYPE_JSON
))
{
return
JDBCContentValueHandler
.
INSTANCE
;
}
else
if
(
typedObject
.
getTypeName
().
equalsIgnoreCase
(
MySQLConstants
.
TYPE_GEOMETRY
))
{
...
...
plugins/org.jkiss.dbeaver.ext.oracle/src/org/jkiss/dbeaver/ext/oracle/data/OracleTemporalAccessorValueHandler.java
浏览文件 @
f5ec3da3
...
...
@@ -19,7 +19,7 @@ package org.jkiss.dbeaver.ext.oracle.data;
import
org.jkiss.code.Nullable
;
import
org.jkiss.dbeaver.ext.oracle.model.OracleConstants
;
import
org.jkiss.dbeaver.model.data.DBDDataFormatter
;
import
org.jkiss.dbeaver.model.data.DBD
DataFormatterProfile
;
import
org.jkiss.dbeaver.model.data.DBD
FormatSettings
;
import
org.jkiss.dbeaver.model.impl.jdbc.data.handlers.JDBCTemporalAccessorValueHandler
;
import
org.jkiss.dbeaver.model.struct.DBSTypedObject
;
...
...
@@ -35,9 +35,9 @@ public class OracleTemporalAccessorValueHandler extends JDBCTemporalAccessorValu
private
static
final
DateTimeFormatter
DEFAULT_DATE_FORMAT
=
DateTimeFormatter
.
ofPattern
(
"'DATE '''yyyy-MM-dd''"
);
private
static
final
DateTimeFormatter
DEFAULT_TIME_FORMAT
=
DateTimeFormatter
.
ofPattern
(
"'TIME '''HH:mm:ss.SSS''"
);
public
OracleTemporalAccessorValueHandler
(
DBD
DataFormatterProfile
formatterProfile
)
public
OracleTemporalAccessorValueHandler
(
DBD
FormatSettings
formatSettings
)
{
super
(
format
terProfile
);
super
(
format
Settings
);
}
@Nullable
...
...
plugins/org.jkiss.dbeaver.ext.oracle/src/org/jkiss/dbeaver/ext/oracle/data/OracleTimestampValueHandler.java
浏览文件 @
f5ec3da3
...
...
@@ -20,7 +20,7 @@ import org.jkiss.code.NotNull;
import
org.jkiss.code.Nullable
;
import
org.jkiss.dbeaver.DBException
;
import
org.jkiss.dbeaver.ext.oracle.model.OracleConstants
;
import
org.jkiss.dbeaver.model.data.DBD
DataFormatterProfile
;
import
org.jkiss.dbeaver.model.data.DBD
FormatSettings
;
import
org.jkiss.dbeaver.model.exec.DBCException
;
import
org.jkiss.dbeaver.model.exec.DBCSession
;
import
org.jkiss.dbeaver.model.exec.jdbc.JDBCSession
;
...
...
@@ -46,8 +46,8 @@ public class OracleTimestampValueHandler extends JDBCDateTimeValueHandler {
//private static Method TIMESTAMP_READ_METHOD = null, TIMESTAMPTZ_READ_METHOD = null, TIMESTAMPLTZ_READ_METHOD = null;
public
OracleTimestampValueHandler
(
DBD
DataFormatterProfile
formatterProfile
)
{
super
(
format
terProfile
);
public
OracleTimestampValueHandler
(
DBD
FormatSettings
formatSettings
)
{
super
(
format
Settings
);
}
@Override
...
...
plugins/org.jkiss.dbeaver.ext.oracle/src/org/jkiss/dbeaver/ext/oracle/data/OracleValueHandlerProvider.java
浏览文件 @
f5ec3da3
...
...
@@ -20,7 +20,7 @@ import org.jkiss.dbeaver.ext.oracle.model.OracleConstants;
import
org.jkiss.dbeaver.ext.oracle.model.OracleDataSource
;
import
org.jkiss.dbeaver.model.DBPDataKind
;
import
org.jkiss.dbeaver.model.DBPDataSource
;
import
org.jkiss.dbeaver.model.data.DBD
Preference
s
;
import
org.jkiss.dbeaver.model.data.DBD
FormatSetting
s
;
import
org.jkiss.dbeaver.model.data.DBDValueHandler
;
import
org.jkiss.dbeaver.model.data.DBDValueHandlerProvider
;
import
org.jkiss.dbeaver.model.struct.DBSTypedObject
;
...
...
@@ -33,7 +33,7 @@ import java.sql.Types;
public
class
OracleValueHandlerProvider
implements
DBDValueHandlerProvider
{
@Override
public
DBDValueHandler
getValueHandler
(
DBPDataSource
dataSource
,
DBD
Preference
s
preferences
,
DBSTypedObject
typedObject
)
public
DBDValueHandler
getValueHandler
(
DBPDataSource
dataSource
,
DBD
FormatSetting
s
preferences
,
DBSTypedObject
typedObject
)
{
switch
(
typedObject
.
getTypeID
())
{
case
Types
.
BLOB
:
...
...
@@ -45,9 +45,9 @@ public class OracleValueHandlerProvider implements DBDValueHandlerProvider {
case
Types
.
TIMESTAMP_WITH_TIMEZONE
:
case
OracleConstants
.
DATA_TYPE_TIMESTAMP_WITH_TIMEZONE
:
if
(((
OracleDataSource
)
dataSource
).
isDriverVersionAtLeast
(
12
,
2
))
{
return
new
OracleTemporalAccessorValueHandler
(
preferences
.
getDataFormatterProfile
()
);
return
new
OracleTemporalAccessorValueHandler
(
preferences
);
}
else
{
return
new
OracleTimestampValueHandler
(
preferences
.
getDataFormatterProfile
()
);
return
new
OracleTimestampValueHandler
(
preferences
);
}
case
Types
.
STRUCT
:
return
OracleObjectValueHandler
.
INSTANCE
;
...
...
@@ -63,7 +63,7 @@ public class OracleValueHandlerProvider implements DBDValueHandlerProvider {
}
if
(
typeName
.
contains
(
OracleConstants
.
TYPE_NAME_TIMESTAMP
)
||
typedObject
.
getDataKind
()
==
DBPDataKind
.
DATETIME
)
{
return
new
OracleTimestampValueHandler
(
preferences
.
getDataFormatterProfile
()
);
return
new
OracleTimestampValueHandler
(
preferences
);
}
else
{
return
null
;
}
...
...
plugins/org.jkiss.dbeaver.ext.phoenix/src/org/jkiss/dbeaver/ext/phoenix/model/data/PhoenixValueHandlerProvider.java
浏览文件 @
f5ec3da3
...
...
@@ -18,7 +18,7 @@ package org.jkiss.dbeaver.ext.phoenix.model.data;
import
org.jkiss.code.Nullable
;
import
org.jkiss.dbeaver.model.DBPDataSource
;
import
org.jkiss.dbeaver.model.data.DBD
Preference
s
;
import
org.jkiss.dbeaver.model.data.DBD
FormatSetting
s
;
import
org.jkiss.dbeaver.model.data.DBDValueHandler
;
import
org.jkiss.dbeaver.model.data.DBDValueHandlerProvider
;
import
org.jkiss.dbeaver.model.struct.DBSTypedObject
;
...
...
@@ -32,7 +32,7 @@ public class PhoenixValueHandlerProvider implements DBDValueHandlerProvider {
@Nullable
@Override
public
DBDValueHandler
getValueHandler
(
DBPDataSource
dataSource
,
DBD
Preference
s
preferences
,
DBSTypedObject
typedObject
)
public
DBDValueHandler
getValueHandler
(
DBPDataSource
dataSource
,
DBD
FormatSetting
s
preferences
,
DBSTypedObject
typedObject
)
{
int
typeID
=
typedObject
.
getTypeID
();
if
(
typeID
==
Types
.
ARRAY
)
{
...
...
plugins/org.jkiss.dbeaver.ext.postgresql/src/org/jkiss/dbeaver/ext/postgresql/model/data/PostgreDateTimeValueHandler.java
浏览文件 @
f5ec3da3
...
...
@@ -17,7 +17,7 @@
package
org.jkiss.dbeaver.ext.postgresql.model.data
;
import
org.jkiss.code.NotNull
;
import
org.jkiss.dbeaver.model.data.DBD
DataFormatterProfile
;
import
org.jkiss.dbeaver.model.data.DBD
FormatSettings
;
import
org.jkiss.dbeaver.model.exec.DBCException
;
import
org.jkiss.dbeaver.model.exec.DBCResultSet
;
import
org.jkiss.dbeaver.model.exec.DBCSession
;
...
...
@@ -36,8 +36,8 @@ import java.sql.Types;
public
class
PostgreDateTimeValueHandler
extends
JDBCDateTimeValueHandler
{
public
PostgreDateTimeValueHandler
(
DBD
DataFormatterProfile
formatterProfile
)
{
super
(
format
terProfile
);
public
PostgreDateTimeValueHandler
(
DBD
FormatSettings
formatSettings
)
{
super
(
format
Settings
);
}
@Override
...
...
plugins/org.jkiss.dbeaver.ext.postgresql/src/org/jkiss/dbeaver/ext/postgresql/model/data/PostgreTemporalAccessorValueHandler.java
浏览文件 @
f5ec3da3
...
...
@@ -16,7 +16,7 @@
*/
package
org.jkiss.dbeaver.ext.postgresql.model.data
;
import
org.jkiss.dbeaver.model.data.DBD
DataFormatterProfile
;
import
org.jkiss.dbeaver.model.data.DBD
FormatSettings
;
import
org.jkiss.dbeaver.model.impl.jdbc.data.handlers.JDBCTemporalAccessorValueHandler
;
/**
...
...
@@ -25,7 +25,7 @@ import org.jkiss.dbeaver.model.impl.jdbc.data.handlers.JDBCTemporalAccessorValue
public
class
PostgreTemporalAccessorValueHandler
extends
JDBCTemporalAccessorValueHandler
{
public
PostgreTemporalAccessorValueHandler
(
DBD
DataFormatterProfile
formatterProfile
)
{
public
PostgreTemporalAccessorValueHandler
(
DBD
FormatSettings
formatterProfile
)
{
super
(
formatterProfile
);
}
...
...
plugins/org.jkiss.dbeaver.ext.postgresql/src/org/jkiss/dbeaver/ext/postgresql/model/data/PostgreValueHandlerProvider.java
浏览文件 @
f5ec3da3
...
...
@@ -21,7 +21,7 @@ import org.jkiss.dbeaver.ext.postgresql.PostgreConstants;
import
org.jkiss.dbeaver.ext.postgresql.model.PostgreDataSource
;
import
org.jkiss.dbeaver.model.DBPDataKind
;
import
org.jkiss.dbeaver.model.DBPDataSource
;
import
org.jkiss.dbeaver.model.data.DBD
Preference
s
;
import
org.jkiss.dbeaver.model.data.DBD
FormatSetting
s
;
import
org.jkiss.dbeaver.model.data.DBDValueHandler
;
import
org.jkiss.dbeaver.model.data.DBDValueHandlerProvider
;
import
org.jkiss.dbeaver.model.struct.DBSTypedObject
;
...
...
@@ -35,7 +35,7 @@ public class PostgreValueHandlerProvider implements DBDValueHandlerProvider {
@Nullable
@Override
public
DBDValueHandler
getValueHandler
(
DBPDataSource
dataSource
,
DBD
Preference
s
preferences
,
DBSTypedObject
typedObject
)
{
public
DBDValueHandler
getValueHandler
(
DBPDataSource
dataSource
,
DBD
FormatSetting
s
preferences
,
DBSTypedObject
typedObject
)
{
// // FIXME: This doesn't work as data type information is not available during RS metadata reading
// DBSDataType dataType = DBUtils.getDataType(typedObject);
// if (dataType instanceof PostgreDataType && ((PostgreDataType) dataType).getTypeCategory() == PostgreTypeCategory.E) {
...
...
@@ -53,9 +53,9 @@ public class PostgreValueHandlerProvider implements DBDValueHandlerProvider {
case
Types
.
TIMESTAMP
:
case
Types
.
TIMESTAMP_WITH_TIMEZONE
:
if
(((
PostgreDataSource
)
dataSource
).
getServerType
().
supportsTemporalAccessor
())
{
return
new
PostgreTemporalAccessorValueHandler
(
preferences
.
getDataFormatterProfile
()
);
return
new
PostgreTemporalAccessorValueHandler
(
preferences
);
}
else
{
return
new
PostgreDateTimeValueHandler
(
preferences
.
getDataFormatterProfile
()
);
return
new
PostgreDateTimeValueHandler
(
preferences
);
}
default
:
switch
(
typedObject
.
getTypeName
())
{
...
...
plugins/org.jkiss.dbeaver.ext.sqlite/src/org/jkiss/dbeaver/ext/sqlite/model/data/SQLiteValueHandler.java
浏览文件 @
f5ec3da3
...
...
@@ -19,11 +19,10 @@ package org.jkiss.dbeaver.ext.sqlite.model.data;
import
org.jkiss.code.NotNull
;
import
org.jkiss.code.Nullable
;
import
org.jkiss.dbeaver.Log
;
import
org.jkiss.dbeaver.ModelPreferences
;
import
org.jkiss.dbeaver.model.DBValueFormatting
;
import
org.jkiss.dbeaver.model.data.DBDDataFormatter
;
import
org.jkiss.dbeaver.model.data.DBDDataFormatterProfile
;
import
org.jkiss.dbeaver.model.data.DBDDisplayFormat
;
import
org.jkiss.dbeaver.model.data.DBDFormatSettings
;
import
org.jkiss.dbeaver.model.data.DBDValueHandlerConfigurable
;
import
org.jkiss.dbeaver.model.exec.DBCException
;
import
org.jkiss.dbeaver.model.exec.DBCSession
;
...
...
@@ -45,14 +44,14 @@ public class SQLiteValueHandler extends JDBCAbstractValueHandler implements DBDV
private
static
final
Log
log
=
Log
.
getLog
(
SQLiteValueHandler
.
class
);
private
final
DBD
DataFormatterProfile
formatterProfile
;
private
final
DBD
FormatSettings
formatSettings
;
private
final
DBSTypedObject
type
;
private
DBDDataFormatter
numberFormatter
;
private
DBDDataFormatter
timestampFormatter
;
public
SQLiteValueHandler
(
DBSTypedObject
type
,
DBD
DataFormatterProfile
formatterProfile
)
public
SQLiteValueHandler
(
DBSTypedObject
type
,
DBD
FormatSettings
formatSettings
)
{
this
.
format
terProfile
=
formatterProfile
;
this
.
format
Settings
=
formatSettings
;
this
.
type
=
type
;
}
...
...
@@ -87,11 +86,11 @@ public class SQLiteValueHandler extends JDBCAbstractValueHandler implements DBDV
if
(
format
==
DBDDisplayFormat
.
NATIVE
||
format
==
DBDDisplayFormat
.
EDIT
)
{
return
DBValueFormatting
.
convertNumberToNativeString
(
(
Number
)
value
,
format
terProfile
.
getPreferenceStore
().
getBoolean
(
ModelPreferences
.
RESULT_SCIENTIFIC_NUMERIC_FORMAT
));
format
Settings
.
isUseScientificNumericFormat
(
));
}
else
{
if
(
numberFormatter
==
null
)
{
try
{
numberFormatter
=
format
terProfile
.
createFormatter
(
DBDDataFormatter
.
TYPE_NAME_NUMBER
,
type
);
numberFormatter
=
format
Settings
.
getDataFormatterProfile
()
.
createFormatter
(
DBDDataFormatter
.
TYPE_NAME_NUMBER
,
type
);
}
catch
(
Exception
e
)
{
log
.
error
(
"Can't create numberFormatter for number value handler"
,
e
);
//$NON-NLS-1$
numberFormatter
=
DefaultDataFormatter
.
INSTANCE
;
...
...
@@ -103,7 +102,7 @@ public class SQLiteValueHandler extends JDBCAbstractValueHandler implements DBDV
if
(
timestampFormatter
==
null
)
{
try
{
timestampFormatter
=
format
terProfile
.
createFormatter
(
DBDDataFormatter
.
TYPE_NAME_TIMESTAMP
,
type
);
timestampFormatter
=
format
Settings
.
getDataFormatterProfile
()
.
createFormatter
(
DBDDataFormatter
.
TYPE_NAME_TIMESTAMP
,
type
);
}
catch
(
Exception
e
)
{
log
.
error
(
"Can't create timestampFormatter for timestamp value handler"
,
e
);
//$NON-NLS-1$
timestampFormatter
=
DefaultDataFormatter
.
INSTANCE
;
...
...
plugins/org.jkiss.dbeaver.ext.sqlite/src/org/jkiss/dbeaver/ext/sqlite/model/data/SQLiteValueHandlerProvider.java
浏览文件 @
f5ec3da3
...
...
@@ -19,7 +19,7 @@ package org.jkiss.dbeaver.ext.sqlite.model.data;
import
org.jkiss.code.Nullable
;
import
org.jkiss.dbeaver.model.DBPDataKind
;
import
org.jkiss.dbeaver.model.DBPDataSource
;
import
org.jkiss.dbeaver.model.data.DBD
Preference
s
;
import
org.jkiss.dbeaver.model.data.DBD
FormatSetting
s
;
import
org.jkiss.dbeaver.model.data.DBDValueHandler
;
import
org.jkiss.dbeaver.model.data.DBDValueHandlerProvider
;
import
org.jkiss.dbeaver.model.impl.jdbc.data.handlers.JDBCContentValueHandler
;
...
...
@@ -32,14 +32,14 @@ public class SQLiteValueHandlerProvider implements DBDValueHandlerProvider {
@Nullable
@Override
public
DBDValueHandler
getValueHandler
(
DBPDataSource
dataSource
,
DBD
Preference
s
preferences
,
DBSTypedObject
typedObject
)
public
DBDValueHandler
getValueHandler
(
DBPDataSource
dataSource
,
DBD
FormatSetting
s
preferences
,
DBSTypedObject
typedObject
)
{
final
DBPDataKind
dataKind
=
typedObject
.
getDataKind
();
if
(
dataKind
==
DBPDataKind
.
BINARY
)
{
return
JDBCContentValueHandler
.
INSTANCE
;
}
// All types must be handled by unified SQLite handler
return
new
SQLiteValueHandler
(
typedObject
,
preferences
.
getDataFormatterProfile
()
);
return
new
SQLiteValueHandler
(
typedObject
,
preferences
);
}
}
\ No newline at end of file
plugins/org.jkiss.dbeaver.ext.teradata/src/org/jkiss/dbeaver/ext/teradata/model/TeradataMetaModel.java
浏览文件 @
f5ec3da3
...
...
@@ -24,7 +24,7 @@ import org.jkiss.dbeaver.model.DBPDataSource;
import
org.jkiss.dbeaver.model.DBPDataSourceContainer
;
import
org.jkiss.dbeaver.model.DBPEvaluationContext
;
import
org.jkiss.dbeaver.model.DBUtils
;
import
org.jkiss.dbeaver.model.data.DBD
Preference
s
;
import
org.jkiss.dbeaver.model.data.DBD
FormatSetting
s
;
import
org.jkiss.dbeaver.model.data.DBDValueHandler
;
import
org.jkiss.dbeaver.model.data.DBDValueHandlerProvider
;
import
org.jkiss.dbeaver.model.exec.jdbc.JDBCPreparedStatement
;
...
...
@@ -107,7 +107,7 @@ public class TeradataMetaModel extends GenericMetaModel implements DBDValueHandl
@Nullable
@Override
public
DBDValueHandler
getValueHandler
(
DBPDataSource
dataSource
,
DBD
Preference
s
preferences
,
DBSTypedObject
typedObject
)
{
public
DBDValueHandler
getValueHandler
(
DBPDataSource
dataSource
,
DBD
FormatSetting
s
preferences
,
DBSTypedObject
typedObject
)
{
if
(
"JSON"
.
equals
(
typedObject
.
getTypeName
()))
{
return
JDBCContentValueHandler
.
INSTANCE
;
}
...
...
plugins/org.jkiss.dbeaver.ext.wmi/src/org/jkiss/dbeaver/ext/wmi/model/WMIValueHandlerProvider.java
浏览文件 @
f5ec3da3
...
...
@@ -17,7 +17,7 @@
package
org.jkiss.dbeaver.ext.wmi.model
;
import
org.jkiss.dbeaver.model.DBPDataSource
;
import
org.jkiss.dbeaver.model.data.DBD
Preference
s
;
import
org.jkiss.dbeaver.model.data.DBD
FormatSetting
s
;
import
org.jkiss.dbeaver.model.data.DBDValueHandler
;
import
org.jkiss.dbeaver.model.data.DBDValueHandlerProvider
;
import
org.jkiss.dbeaver.model.impl.data.DefaultValueHandler
;
...
...
@@ -29,7 +29,7 @@ import org.jkiss.dbeaver.model.struct.DBSTypedObject;
public
class
WMIValueHandlerProvider
implements
DBDValueHandlerProvider
{
@Override
public
DBDValueHandler
getValueHandler
(
DBPDataSource
dataSource
,
DBD
Preference
s
preferences
,
DBSTypedObject
typedObject
)
public
DBDValueHandler
getValueHandler
(
DBPDataSource
dataSource
,
DBD
FormatSetting
s
preferences
,
DBSTypedObject
typedObject
)
{
return
DefaultValueHandler
.
INSTANCE
;
}
...
...
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/DBPDataSourceContainer.java
浏览文件 @
f5ec3da3
...
...
@@ -26,7 +26,7 @@ import org.jkiss.dbeaver.model.app.DBPProject;
import
org.jkiss.dbeaver.model.connection.DBPConnectionConfiguration
;
import
org.jkiss.dbeaver.model.connection.DBPDriver
;
import
org.jkiss.dbeaver.model.connection.DBPNativeClientLocation
;
import
org.jkiss.dbeaver.model.data.DBD
Preference
s
;
import
org.jkiss.dbeaver.model.data.DBD
FormatSetting
s
;
import
org.jkiss.dbeaver.model.navigator.DBNBrowseSettings
;
import
org.jkiss.dbeaver.model.net.DBWNetworkHandler
;
import
org.jkiss.dbeaver.model.preferences.DBPPreferenceStore
;
...
...
@@ -43,7 +43,7 @@ import java.util.Date;
/**
* DBPDataSourceContainer
*/
public
interface
DBPDataSourceContainer
extends
DBSObject
,
DBD
Preference
s
,
DBPNamedObject2
,
DBPDataSourcePermissionOwner
public
interface
DBPDataSourceContainer
extends
DBSObject
,
DBD
FormatSetting
s
,
DBPNamedObject2
,
DBPDataSourcePermissionOwner
{
/**
* Container unique ID
...
...
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/DBUtils.java
浏览文件 @
f5ec3da3
...
...
@@ -842,7 +842,7 @@ public final class DBUtils {
}
@NotNull
public
static
DBDValueHandler
findValueHandler
(
@Nullable
DBPDataSource
dataSource
,
@Nullable
DBD
Preference
s
preferences
,
@NotNull
DBSTypedObject
column
)
public
static
DBDValueHandler
findValueHandler
(
@Nullable
DBPDataSource
dataSource
,
@Nullable
DBD
FormatSetting
s
preferences
,
@NotNull
DBSTypedObject
column
)
{
DBDValueHandler
valueHandler
=
null
;
// Get handler provider from datasource
...
...
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/data/DBD
Preference
s.java
→
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/data/DBD
FormatSetting
s.java
浏览文件 @
f5ec3da3
/*
* 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
org.jkiss.dbeaver.model.data
;
import
org.jkiss.code.NotNull
;
/**
* Data preferences
*/
public
interface
DBDPreferences
{
/**
* Gets current context's data formatter profile
* @return profile
*/
DBDDataFormatterProfile
getDataFormatterProfile
();
/**
* Sets current context's data formatter profile
*/
void
setDataFormatterProfile
(
DBDDataFormatterProfile
formatterProfile
);
/**
* Default value handler
* @return value handler instance
*/
@NotNull
DBDValueHandler
getDefaultValueHandler
();
}
/*
* 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
org.jkiss.dbeaver.model.data
;
import
org.jkiss.code.NotNull
;
/**
* Data preferences
*/
public
interface
DBDFormatSettings
{
/**
* Gets current context's data formatter profile
* @return profile
*/
DBDDataFormatterProfile
getDataFormatterProfile
();
boolean
isUseNativeDateTimeFormat
();
boolean
isUseNativeNumericFormat
();
boolean
isUseScientificNumericFormat
();
/**
* Default value handler
* @return value handler instance
*/
@NotNull
DBDValueHandler
getDefaultValueHandler
();
}
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/data/DBDFormatSettingsExt.java
0 → 100644
浏览文件 @
f5ec3da3
/*
* 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
org.jkiss.dbeaver.model.data
;
/**
* Data preferences editor
*/
public
interface
DBDFormatSettingsExt
{
/**
* Sets current context's data formatter profile
*/
void
setDataFormatterProfile
(
DBDDataFormatterProfile
formatterProfile
);
void
setUseNativeDateTimeFormat
(
boolean
useNativeDateTimeFormat
);
}
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/data/DBDValueHandlerProvider.java
浏览文件 @
f5ec3da3
...
...
@@ -28,6 +28,6 @@ public interface DBDValueHandlerProvider
{
@Nullable
DBDValueHandler
getValueHandler
(
DBPDataSource
dataSource
,
DBD
Preference
s
preferences
,
DBSTypedObject
typedObject
);
DBDValueHandler
getValueHandler
(
DBPDataSource
dataSource
,
DBD
FormatSetting
s
preferences
,
DBSTypedObject
typedObject
);
}
\ No newline at end of file
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/exec/DBCSession.java
浏览文件 @
f5ec3da3
...
...
@@ -19,13 +19,13 @@ package org.jkiss.dbeaver.model.exec;
import
org.jkiss.code.NotNull
;
import
org.jkiss.dbeaver.model.DBPCloseableObject
;
import
org.jkiss.dbeaver.model.DBPDataSource
;
import
org.jkiss.dbeaver.model.data.DBD
Preference
s
;
import
org.jkiss.dbeaver.model.data.DBD
FormatSetting
s
;
import
org.jkiss.dbeaver.model.runtime.DBRProgressMonitor
;
/**
* Execution session
*/
public
interface
DBCSession
extends
DBPCloseableObject
,
DBD
Preference
s
{
public
interface
DBCSession
extends
DBPCloseableObject
,
DBD
FormatSetting
s
{
/**
* Session title
...
...
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/impl/AbstractSession.java
浏览文件 @
f5ec3da3
...
...
@@ -18,6 +18,7 @@ package org.jkiss.dbeaver.model.impl;
import
org.jkiss.code.NotNull
;
import
org.jkiss.dbeaver.model.data.DBDDataFormatterProfile
;
import
org.jkiss.dbeaver.model.data.DBDFormatSettingsExt
;
import
org.jkiss.dbeaver.model.data.DBDValueHandler
;
import
org.jkiss.dbeaver.model.exec.DBCExecutionPurpose
;
import
org.jkiss.dbeaver.model.exec.DBCSession
;
...
...
@@ -29,7 +30,7 @@ import org.jkiss.dbeaver.model.runtime.DBRProgressMonitor;
/**
* Abstract execution context
*/
public
abstract
class
AbstractSession
implements
DBCSession
,
DBRBlockingObject
{
public
abstract
class
AbstractSession
implements
DBCSession
,
DB
DFormatSettingsExt
,
DB
RBlockingObject
{
private
DBRProgressMonitor
monitor
;
private
DBCExecutionPurpose
purpose
;
...
...
@@ -37,9 +38,9 @@ public abstract class AbstractSession implements DBCSession, DBRBlockingObject {
private
DBDDataFormatterProfile
dataFormatterProfile
;
private
boolean
holdsBlock
=
false
;
private
boolean
loggingEnabled
=
true
;
private
byte
useNativeDateTimeFormat
=
-
1
;
public
AbstractSession
(
DBRProgressMonitor
monitor
,
DBCExecutionPurpose
purpose
,
String
taskTitle
)
{
public
AbstractSession
(
DBRProgressMonitor
monitor
,
DBCExecutionPurpose
purpose
,
String
taskTitle
)
{
this
.
monitor
=
monitor
;
this
.
purpose
=
purpose
;
this
.
taskTitle
=
taskTitle
;
...
...
@@ -55,28 +56,24 @@ public abstract class AbstractSession implements DBCSession, DBRBlockingObject {
@NotNull
@Override
public
String
getTaskTitle
()
{
public
String
getTaskTitle
()
{
return
taskTitle
;
}
@Override
public
boolean
isConnected
()
{
public
boolean
isConnected
()
{
return
true
;
}
@NotNull
@Override
public
DBRProgressMonitor
getProgressMonitor
()
{
public
DBRProgressMonitor
getProgressMonitor
()
{
return
monitor
;
}
@NotNull
@Override
public
DBCExecutionPurpose
getPurpose
()
{
public
DBCExecutionPurpose
getPurpose
()
{
return
purpose
;
}
...
...
@@ -91,8 +88,7 @@ public abstract class AbstractSession implements DBCSession, DBRBlockingObject {
}
@Override
public
DBDDataFormatterProfile
getDataFormatterProfile
()
{
public
DBDDataFormatterProfile
getDataFormatterProfile
()
{
if
(
dataFormatterProfile
==
null
)
{
return
getDataSource
().
getContainer
().
getDataFormatterProfile
();
}
...
...
@@ -100,21 +96,41 @@ public abstract class AbstractSession implements DBCSession, DBRBlockingObject {
}
@Override
public
void
setDataFormatterProfile
(
DBDDataFormatterProfile
formatterProfile
)
{
public
void
setDataFormatterProfile
(
DBDDataFormatterProfile
formatterProfile
)
{
dataFormatterProfile
=
formatterProfile
;
}
@Override
public
boolean
isUseNativeDateTimeFormat
()
{
if
(
useNativeDateTimeFormat
==
-
1
)
{
useNativeDateTimeFormat
=
(
byte
)
(
getExecutionContext
().
getDataSource
().
getContainer
().
isUseNativeDateTimeFormat
()
?
1
:
0
);
}
return
useNativeDateTimeFormat
==
1
;
}
@Override
public
void
setUseNativeDateTimeFormat
(
boolean
useNativeDateTimeFormat
)
{
this
.
useNativeDateTimeFormat
=
(
byte
)
(
useNativeDateTimeFormat
?
1
:
0
);
}
@Override
public
boolean
isUseNativeNumericFormat
()
{
return
getExecutionContext
().
getDataSource
().
getContainer
().
isUseNativeNumericFormat
();
}
@Override
public
boolean
isUseScientificNumericFormat
()
{
return
getExecutionContext
().
getDataSource
().
getContainer
().
isUseScientificNumericFormat
();
}
@NotNull
@Override
public
DBDValueHandler
getDefaultValueHandler
()
{
public
DBDValueHandler
getDefaultValueHandler
()
{
return
DefaultValueHandler
.
INSTANCE
;
}
@Override
public
void
close
()
{
public
void
close
()
{
if
(
holdsBlock
)
{
monitor
.
endBlock
();
holdsBlock
=
false
;
...
...
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/impl/data/DateTimeCustomValueHandler.java
浏览文件 @
f5ec3da3
...
...
@@ -18,10 +18,9 @@ package org.jkiss.dbeaver.model.impl.data;
import
org.jkiss.code.NotNull
;
import
org.jkiss.dbeaver.Log
;
import
org.jkiss.dbeaver.ModelPreferences
;
import
org.jkiss.dbeaver.model.data.DBDDataFormatter
;
import
org.jkiss.dbeaver.model.data.DBDDataFormatterProfile
;
import
org.jkiss.dbeaver.model.data.DBDDisplayFormat
;
import
org.jkiss.dbeaver.model.data.DBDFormatSettings
;
import
org.jkiss.dbeaver.model.data.DBDValueHandlerConfigurable
;
import
org.jkiss.dbeaver.model.exec.DBCException
;
import
org.jkiss.dbeaver.model.exec.DBCSession
;
...
...
@@ -38,12 +37,12 @@ public abstract class DateTimeCustomValueHandler extends DateTimeValueHandler im
protected
static
final
Log
log
=
Log
.
getLog
(
DateTimeCustomValueHandler
.
class
);
pr
ivate
final
DBDDataFormatterProfile
formatterProfile
;
pr
otected
final
DBDFormatSettings
formatSettings
;
protected
DBDDataFormatter
formatter
;
public
DateTimeCustomValueHandler
(
DBD
DataFormatterProfile
formatterProfile
)
public
DateTimeCustomValueHandler
(
DBD
FormatSettings
formatSettings
)
{
this
.
format
terProfile
=
formatterProfile
;
this
.
format
Settings
=
formatSettings
;
}
@Override
...
...
@@ -59,7 +58,7 @@ public abstract class DateTimeCustomValueHandler extends DateTimeValueHandler im
// NULL date
return
null
;
}
if
(
session
!=
null
&&
session
.
getDataSource
().
getContainer
().
getPreferenceStore
().
getBoolean
(
ModelPreferences
.
RESULT_NATIVE_DATETIME_FORMAT
))
{
if
(
session
!=
null
&&
session
.
isUseNativeDateTimeFormat
(
))
{
// Do not use formatter for native format
return
object
;
}
...
...
@@ -103,7 +102,7 @@ public abstract class DateTimeCustomValueHandler extends DateTimeValueHandler im
private
DBDDataFormatter
getFormatter
(
DBSTypedObject
typedObject
,
String
typeId
)
{
try
{
return
format
terProfile
.
createFormatter
(
typeId
,
typedObject
);
return
format
Settings
.
getDataFormatterProfile
()
.
createFormatter
(
typeId
,
typedObject
);
}
catch
(
Exception
e
)
{
log
.
error
(
"Can't create formatter for datetime value handler"
,
e
);
//$NON-NLS-1$
return
DefaultDataFormatter
.
INSTANCE
;
...
...
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/impl/data/TemporalAccessorValueHandler.java
浏览文件 @
f5ec3da3
...
...
@@ -19,8 +19,8 @@ package org.jkiss.dbeaver.model.impl.data;
import
org.jkiss.code.NotNull
;
import
org.jkiss.dbeaver.Log
;
import
org.jkiss.dbeaver.model.data.DBDDataFormatter
;
import
org.jkiss.dbeaver.model.data.DBDDataFormatterProfile
;
import
org.jkiss.dbeaver.model.data.DBDDisplayFormat
;
import
org.jkiss.dbeaver.model.data.DBDFormatSettings
;
import
org.jkiss.dbeaver.model.data.DBDValueHandlerConfigurable
;
import
org.jkiss.dbeaver.model.exec.DBCException
;
import
org.jkiss.dbeaver.model.exec.DBCSession
;
...
...
@@ -40,11 +40,11 @@ public abstract class TemporalAccessorValueHandler extends BaseValueHandler impl
protected
static
final
Log
log
=
Log
.
getLog
(
TemporalAccessorValueHandler
.
class
);
private
final
DBD
DataFormatterProfile
formatterProfile
;
private
final
DBD
FormatSettings
formatSettings
;
protected
DBDDataFormatter
formatter
;
public
TemporalAccessorValueHandler
(
DBD
DataFormatterProfile
formatterProfile
)
{
this
.
format
terProfile
=
formatterProfile
;
public
TemporalAccessorValueHandler
(
DBD
FormatSettings
formatSettings
)
{
this
.
format
Settings
=
formatSettings
;
}
@Override
...
...
@@ -102,7 +102,7 @@ public abstract class TemporalAccessorValueHandler extends BaseValueHandler impl
{
if
(
formatter
==
null
)
{
try
{
formatter
=
format
terProfile
.
createFormatter
(
getFormatterId
(
column
),
column
);
formatter
=
format
Settings
.
getDataFormatterProfile
()
.
createFormatter
(
getFormatterId
(
column
),
column
);
}
catch
(
Exception
e
)
{
log
.
error
(
"Can't create formatter for zoned datetime value handler"
,
e
);
//$NON-NLS-1$
formatter
=
DefaultDataFormatter
.
INSTANCE
;
...
...
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/impl/jdbc/JDBCDataSource.java
浏览文件 @
f5ec3da3
...
...
@@ -27,15 +27,11 @@ import org.jkiss.dbeaver.model.auth.DBAAuthCredentials;
import
org.jkiss.dbeaver.model.auth.DBAAuthModel
;
import
org.jkiss.dbeaver.model.connection.DBPConnectionConfiguration
;
import
org.jkiss.dbeaver.model.connection.DBPDriver
;
import
org.jkiss.dbeaver.model.data.DBDDataFormatterProfile
;
import
org.jkiss.dbeaver.model.data.DBDPreferences
;
import
org.jkiss.dbeaver.model.data.DBDValueHandler
;
import
org.jkiss.dbeaver.model.exec.*
;
import
org.jkiss.dbeaver.model.exec.jdbc.JDBCDatabaseMetaData
;
import
org.jkiss.dbeaver.model.exec.jdbc.JDBCFactory
;
import
org.jkiss.dbeaver.model.exec.jdbc.JDBCSession
;
import
org.jkiss.dbeaver.model.exec.jdbc.JDBCStatement
;
import
org.jkiss.dbeaver.model.impl.jdbc.data.handlers.JDBCObjectValueHandler
;
import
org.jkiss.dbeaver.model.impl.jdbc.exec.JDBCConnectionImpl
;
import
org.jkiss.dbeaver.model.impl.jdbc.exec.JDBCFactoryDefault
;
import
org.jkiss.dbeaver.model.messages.ModelMessages
;
...
...
@@ -69,7 +65,6 @@ public abstract class JDBCDataSource
DBPDataTypeProvider
,
DBPErrorAssistant
,
DBPRefreshableObject
,
DBDPreferences
,
DBSObject
,
DBSObjectContainer
,
DBSInstanceContainer
,
...
...
@@ -731,23 +726,7 @@ public abstract class JDBCDataSource
}
/////////////////////////////////////////////////
// DBDPreferences
@Override
public
DBDDataFormatterProfile
getDataFormatterProfile
()
{
return
container
.
getDataFormatterProfile
();
}
@Override
public
void
setDataFormatterProfile
(
DBDDataFormatterProfile
formatterProfile
)
{
container
.
setDataFormatterProfile
(
formatterProfile
);
}
@NotNull
@Override
public
DBDValueHandler
getDefaultValueHandler
()
{
return
JDBCObjectValueHandler
.
INSTANCE
;
}
// DBDFormatSettings
public
void
cancelStatementExecute
(
DBRProgressMonitor
monitor
,
JDBCStatement
statement
)
throws
DBException
{
try
{
...
...
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/impl/jdbc/data/JDBCCollection.java
浏览文件 @
f5ec3da3
...
...
@@ -238,7 +238,7 @@ public class JDBCCollection extends AbstractDatabaseList implements DBDValueClon
// Null array of unknown type. Just make NULL read-only array
String
defDataTypeName
=
dataSource
.
getDefaultDataTypeName
(
DBPDataKind
.
OBJECT
);
DBSDataType
defDataType
=
dataSource
.
getLocalDataType
(
defDataTypeName
);
DBDValueHandler
defValueHandler
=
dataSource
.
getDefaultValueHandler
();
DBDValueHandler
defValueHandler
=
session
.
getDefaultValueHandler
();
return
new
JDBCCollection
(
defDataType
,
defValueHandler
,
null
);
}
try
{
...
...
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/impl/jdbc/data/handlers/JDBCDateTimeValueHandler.java
浏览文件 @
f5ec3da3
...
...
@@ -18,11 +18,10 @@ package org.jkiss.dbeaver.model.impl.jdbc.data.handlers;
import
org.jkiss.code.NotNull
;
import
org.jkiss.code.Nullable
;
import
org.jkiss.dbeaver.ModelPreferences
;
import
org.jkiss.dbeaver.model.DBConstants
;
import
org.jkiss.dbeaver.model.data.DBDDataFormatter
;
import
org.jkiss.dbeaver.model.data.DBDDataFormatterProfile
;
import
org.jkiss.dbeaver.model.data.DBDDisplayFormat
;
import
org.jkiss.dbeaver.model.data.DBDFormatSettings
;
import
org.jkiss.dbeaver.model.exec.DBCException
;
import
org.jkiss.dbeaver.model.exec.DBCResultSet
;
import
org.jkiss.dbeaver.model.exec.DBCSession
;
...
...
@@ -50,9 +49,9 @@ public class JDBCDateTimeValueHandler extends DateTimeCustomValueHandler {
public
static
final
SimpleDateFormat
DEFAULT_DATE_FORMAT
=
new
SimpleDateFormat
(
"''"
+
DBConstants
.
DEFAULT_DATE_FORMAT
+
"''"
);
public
static
final
SimpleDateFormat
DEFAULT_TIME_FORMAT
=
new
SimpleDateFormat
(
"''"
+
DBConstants
.
DEFAULT_TIME_FORMAT
+
"''"
);
public
JDBCDateTimeValueHandler
(
DBD
DataFormatterProfile
formatterProfile
)
public
JDBCDateTimeValueHandler
(
DBD
FormatSettings
formatSettings
)
{
super
(
format
terProfile
);
super
(
format
Settings
);
}
@Override
...
...
@@ -79,7 +78,7 @@ public class JDBCDateTimeValueHandler extends DateTimeCustomValueHandler {
JDBCResultSet
dbResults
=
(
JDBCResultSet
)
resultSet
;
// check for native format
if
(
session
.
getDataSource
().
getContainer
().
getPreferenceStore
().
getBoolean
(
ModelPreferences
.
RESULT_NATIVE_DATETIME_FORMAT
))
{
if
(
formatSettings
.
isUseNativeDateTimeFormat
(
))
{
try
{
return
dbResults
.
getString
(
index
+
1
);
}
catch
(
SQLException
e
)
{
...
...
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/impl/jdbc/data/handlers/JDBCNumberValueHandler.java
浏览文件 @
f5ec3da3
...
...
@@ -19,7 +19,6 @@ package org.jkiss.dbeaver.model.impl.jdbc.data.handlers;
import
org.jkiss.code.NotNull
;
import
org.jkiss.code.Nullable
;
import
org.jkiss.dbeaver.Log
;
import
org.jkiss.dbeaver.ModelPreferences
;
import
org.jkiss.dbeaver.model.DBValueFormatting
;
import
org.jkiss.dbeaver.model.data.*
;
import
org.jkiss.dbeaver.model.exec.DBCException
;
...
...
@@ -44,12 +43,12 @@ public class JDBCNumberValueHandler extends JDBCAbstractValueHandler implements
private
static
final
Log
log
=
Log
.
getLog
(
JDBCNumberValueHandler
.
class
);
private
final
DBD
DataFormatterProfile
formatterProfile
;
private
final
DBD
FormatSettings
formatSettings
;
private
int
useScientificNotation
=
-
1
;
private
DBDDataFormatter
formatter
;
public
JDBCNumberValueHandler
(
DBSTypedObject
type
,
DBD
DataFormatterProfile
formatterProfile
)
{
this
.
format
terProfile
=
formatterProfile
;
public
JDBCNumberValueHandler
(
DBSTypedObject
type
,
DBD
FormatSettings
formatSettings
)
{
this
.
format
Settings
=
formatSettings
;
}
@Override
...
...
@@ -83,7 +82,7 @@ public class JDBCNumberValueHandler extends JDBCAbstractValueHandler implements
if
(
value
instanceof
Number
&&
(
format
==
DBDDisplayFormat
.
NATIVE
||
format
==
DBDDisplayFormat
.
EDIT
))
{
if
(
useScientificNotation
<
0
)
{
this
.
useScientificNotation
=
format
terProfile
.
getPreferenceStore
().
getBoolean
(
ModelPreferences
.
RESULT_SCIENTIFIC_NUMERIC_FORMAT
)
?
1
:
0
;
format
Settings
.
isUseScientificNumericFormat
(
)
?
1
:
0
;
}
return
DBValueFormatting
.
convertNumberToNativeString
((
Number
)
value
,
useScientificNotation
>
0
);
...
...
@@ -94,7 +93,7 @@ public class JDBCNumberValueHandler extends JDBCAbstractValueHandler implements
private
DBDDataFormatter
getFormatter
(
@NotNull
DBSTypedObject
column
)
{
if
(
formatter
==
null
)
{
try
{
formatter
=
format
terProfile
.
createFormatter
(
DBDDataFormatter
.
TYPE_NAME_NUMBER
,
column
);
formatter
=
format
Settings
.
getDataFormatterProfile
()
.
createFormatter
(
DBDDataFormatter
.
TYPE_NAME_NUMBER
,
column
);
}
catch
(
Exception
e
)
{
log
.
error
(
"Can't create formatter for number value handler"
,
e
);
//$NON-NLS-1$
formatter
=
DefaultDataFormatter
.
INSTANCE
;
...
...
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/impl/jdbc/data/handlers/JDBCStandardValueHandlerProvider.java
浏览文件 @
f5ec3da3
...
...
@@ -18,7 +18,7 @@ package org.jkiss.dbeaver.model.impl.jdbc.data.handlers;
import
org.jkiss.dbeaver.model.DBPDataKind
;
import
org.jkiss.dbeaver.model.DBPDataSource
;
import
org.jkiss.dbeaver.model.data.DBD
Preference
s
;
import
org.jkiss.dbeaver.model.data.DBD
FormatSetting
s
;
import
org.jkiss.dbeaver.model.data.DBDValueHandler
;
import
org.jkiss.dbeaver.model.data.DBDValueHandlerProvider
;
import
org.jkiss.dbeaver.model.struct.DBSTypedObject
;
...
...
@@ -29,7 +29,7 @@ import org.jkiss.dbeaver.model.struct.DBSTypedObject;
public
class
JDBCStandardValueHandlerProvider
implements
DBDValueHandlerProvider
{
@Override
public
DBDValueHandler
getValueHandler
(
DBPDataSource
dataSource
,
DBD
Preference
s
preferences
,
DBSTypedObject
typedObject
)
public
DBDValueHandler
getValueHandler
(
DBPDataSource
dataSource
,
DBD
FormatSetting
s
preferences
,
DBSTypedObject
typedObject
)
{
int
valueType
=
typedObject
.
getTypeID
();
DBPDataKind
dataKind
=
typedObject
.
getDataKind
();
//JDBCUtils.resolveDataKind(dataSource, typedObject.getTypeName(), valueType);
...
...
@@ -44,9 +44,9 @@ public class JDBCStandardValueHandlerProvider implements DBDValueHandlerProvider
return
JDBCStringValueHandler
.
INSTANCE
;
}
case
NUMERIC:
return
new
JDBCNumberValueHandler
(
typedObject
,
preferences
.
getDataFormatterProfile
()
);
return
new
JDBCNumberValueHandler
(
typedObject
,
preferences
);
case
DATETIME:
return
new
JDBCDateTimeValueHandler
(
preferences
.
getDataFormatterProfile
()
);
return
new
JDBCDateTimeValueHandler
(
preferences
);
case
BINARY:
case
CONTENT:
if
(
"UUID"
.
equalsIgnoreCase
(
typedObject
.
getTypeName
()))
{
...
...
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/impl/jdbc/data/handlers/JDBCTemporalAccessorValueHandler.java
浏览文件 @
f5ec3da3
...
...
@@ -20,8 +20,8 @@ import org.jkiss.code.NotNull;
import
org.jkiss.code.Nullable
;
import
org.jkiss.dbeaver.model.DBConstants
;
import
org.jkiss.dbeaver.model.data.DBDDataFormatter
;
import
org.jkiss.dbeaver.model.data.DBDDataFormatterProfile
;
import
org.jkiss.dbeaver.model.data.DBDDisplayFormat
;
import
org.jkiss.dbeaver.model.data.DBDFormatSettings
;
import
org.jkiss.dbeaver.model.exec.DBCException
;
import
org.jkiss.dbeaver.model.exec.DBCResultSet
;
import
org.jkiss.dbeaver.model.exec.DBCSession
;
...
...
@@ -50,9 +50,9 @@ public class JDBCTemporalAccessorValueHandler extends TemporalAccessorValueHandl
public
static
final
DateTimeFormatter
DEFAULT_TIMESTAMP_FORMAT
=
DateTimeFormatter
.
ofPattern
(
"''"
+
DBConstants
.
DEFAULT_TIMESTAMP_FORMAT
+
"''"
);
public
static
final
DateTimeFormatter
DEFAULT_TIMESTAMP_TZ_FORMAT
=
DateTimeFormatter
.
ofPattern
(
"''"
+
DBConstants
.
DEFAULT_TIMESTAMP_TZ_FORMAT
+
"''"
);
public
JDBCTemporalAccessorValueHandler
(
DBD
DataFormatterProfile
formatterProfile
)
public
JDBCTemporalAccessorValueHandler
(
DBD
FormatSettings
formatSettings
)
{
super
(
format
terProfile
);
super
(
format
Settings
);
}
@Override
...
...
@@ -60,6 +60,15 @@ public class JDBCTemporalAccessorValueHandler extends TemporalAccessorValueHandl
try
{
if
(
resultSet
instanceof
JDBCResultSet
)
{
JDBCResultSet
dbResults
=
(
JDBCResultSet
)
resultSet
;
if
(
session
.
isUseNativeDateTimeFormat
())
{
try
{
return
dbResults
.
getString
(
index
+
1
);
}
catch
(
SQLException
e
)
{
log
.
debug
(
"Can't read date/time value as string: "
+
e
.
getMessage
());
}
}
if
(
isZonedType
(
type
))
{
return
dbResults
.
getObject
(
index
+
1
,
ZonedDateTime
.
class
);
}
else
{
...
...
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/impl/jdbc/exec/JDBCConnectionImpl.java
浏览文件 @
f5ec3da3
...
...
@@ -213,7 +213,7 @@ public class JDBCConnectionImpl extends AbstractSession implements JDBCSession,
@Override
public
DBDValueHandler
getDefaultValueHandler
()
{
return
context
.
getDataSource
().
getDefaultValueHandler
();
return
context
.
getDataSource
().
get
Container
().
get
DefaultValueHandler
();
}
private
JDBCStatement
makeStatement
(
Statement
statement
)
...
...
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/impl/jdbc/exec/JDBCPreparedStatementImpl.java
浏览文件 @
f5ec3da3
...
...
@@ -156,7 +156,7 @@ public class JDBCPreparedStatementImpl extends JDBCStatementImpl<PreparedStateme
return
DBValueFormatting
.
convertNumberToNativeString
((
Number
)
value
,
false
);
}
else
if
(
value
instanceof
java
.
util
.
Date
)
{
try
{
DBDDataFormatterProfile
formatterProfile
=
getSession
().
getData
Source
().
getData
FormatterProfile
();
DBDDataFormatterProfile
formatterProfile
=
getSession
().
getDataFormatterProfile
();
if
(
value
instanceof
Date
)
{
return
SQLUtils
.
quoteString
(
connection
.
getDataSource
(),
formatterProfile
.
createFormatter
(
DBDDataFormatter
.
TYPE_NAME_DATE
,
null
).
formatValue
(
value
));
}
else
if
(
value
instanceof
Time
)
{
...
...
plugins/org.jkiss.dbeaver.registry/src/org/jkiss/dbeaver/registry/DataSourceDescriptor.java
浏览文件 @
f5ec3da3
...
...
@@ -33,7 +33,7 @@ import org.jkiss.dbeaver.model.app.DBPPlatform;
import
org.jkiss.dbeaver.model.app.DBPProject
;
import
org.jkiss.dbeaver.model.connection.*
;
import
org.jkiss.dbeaver.model.data.DBDDataFormatterProfile
;
import
org.jkiss.dbeaver.model.data.DBD
Preference
s
;
import
org.jkiss.dbeaver.model.data.DBD
FormatSetting
s
;
import
org.jkiss.dbeaver.model.data.DBDValueHandler
;
import
org.jkiss.dbeaver.model.exec.DBCException
;
import
org.jkiss.dbeaver.model.exec.DBCExecutionContext
;
...
...
@@ -1140,17 +1140,26 @@ public class DataSourceDescriptor
}
@Override
public
void
setDataFormatterProfile
(
DBDDataFormatterProfile
formatterProfile
)
{
this
.
formatterProfile
=
formatterProfile
;
public
boolean
isUseNativeDateTimeFormat
()
{
return
getPreferenceStore
().
getBoolean
(
ModelPreferences
.
RESULT_NATIVE_DATETIME_FORMAT
);
}
@Override
public
boolean
isUseNativeNumericFormat
()
{
return
getPreferenceStore
().
getBoolean
(
ModelPreferences
.
RESULT_NATIVE_NUMERIC_FORMAT
);
}
@Override
public
boolean
isUseScientificNumericFormat
()
{
return
getPreferenceStore
().
getBoolean
(
ModelPreferences
.
RESULT_SCIENTIFIC_NUMERIC_FORMAT
);
}
@NotNull
@Override
public
DBDValueHandler
getDefaultValueHandler
()
{
if
(
dataSource
instanceof
DBD
Preference
s
)
{
return
((
DBD
Preference
s
)
dataSource
).
getDefaultValueHandler
();
if
(
dataSource
instanceof
DBD
FormatSetting
s
)
{
return
((
DBD
FormatSetting
s
)
dataSource
).
getDefaultValueHandler
();
}
return
DefaultValueHandler
.
INSTANCE
;
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录