Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
suliangchun
dbeaver
提交
104e70c1
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,发现更多精彩内容 >>
提交
104e70c1
编写于
4月 23, 2017
作者:
S
Serge Rider
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
#1492 Convert SQL to C/C++ and HTML
上级
a3efe7ca
变更
3
显示空白变更内容
内联
并排
Showing
3 changed file
with
144 addition
and
5 deletion
+144
-5
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/editors/sql/convert/CPPSQLConverter.java
...jkiss/dbeaver/ui/editors/sql/convert/CPPSQLConverter.java
+39
-0
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/editors/sql/convert/HTMLSQLConverter.java
...kiss/dbeaver/ui/editors/sql/convert/HTMLSQLConverter.java
+102
-0
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/editors/sql/convert/JavaSQLConverter.java
...kiss/dbeaver/ui/editors/sql/convert/JavaSQLConverter.java
+3
-5
未找到文件。
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/editors/sql/convert/CPPSQLConverter.java
0 → 100644
浏览文件 @
104e70c1
/*
* DBeaver - Universal Database Manager
* Copyright (C) 2010-2017 Serge Rider (serge@jkiss.org)
*
* 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.ui.editors.sql.convert
;
import
org.jkiss.utils.CommonUtils
;
/**
* CPPSQLConverter
*/
public
class
CPPSQLConverter
extends
SourceCodeSQLConverter
{
@Override
protected
void
convertSourceLines
(
StringBuilder
result
,
String
[]
sourceLines
,
String
lineDelimiter
)
{
for
(
int
i
=
0
;
i
<
sourceLines
.
length
;
i
++)
{
String
line
=
sourceLines
[
i
];
result
.
append
(
'"'
).
append
(
CommonUtils
.
escapeJavaString
(
line
)).
append
(
'"'
);
if
(
i
<
sourceLines
.
length
-
1
)
{
result
.
append
(
"\n"
);
}
else
{
result
.
append
(
";"
);
}
}
}
}
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/editors/sql/convert/HTMLSQLConverter.java
0 → 100644
浏览文件 @
104e70c1
/*
* DBeaver - Universal Database Manager
* Copyright (C) 2010-2017 Serge Rider (serge@jkiss.org)
*
* 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.ui.editors.sql.convert
;
import
org.eclipse.jface.text.BadLocationException
;
import
org.eclipse.jface.text.IDocument
;
import
org.eclipse.jface.text.TextAttribute
;
import
org.eclipse.jface.text.rules.IToken
;
import
org.eclipse.swt.SWT
;
import
org.eclipse.swt.graphics.Color
;
import
org.jkiss.code.NotNull
;
import
org.jkiss.dbeaver.Log
;
import
org.jkiss.dbeaver.model.sql.SQLDialect
;
import
org.jkiss.dbeaver.model.sql.SQLSyntaxManager
;
import
org.jkiss.dbeaver.ui.TextUtils
;
import
org.jkiss.dbeaver.ui.editors.sql.syntax.SQLRuleManager
;
import
org.jkiss.dbeaver.ui.editors.sql.syntax.tokens.SQLCommentToken
;
import
org.jkiss.utils.Pair
;
import
java.util.Map
;
/**
* UnformattedSQLConverter
*/
public
class
HTMLSQLConverter
implements
ISQLTextConverter
{
private
static
final
Log
log
=
Log
.
getLog
(
HTMLSQLConverter
.
class
);
@NotNull
@Override
public
String
convertText
(
@NotNull
SQLDialect
dialect
,
@NotNull
SQLSyntaxManager
syntaxManager
,
@NotNull
SQLRuleManager
ruleManager
,
@NotNull
IDocument
document
,
int
startPos
,
int
length
,
@NotNull
Map
<
String
,
Object
>
options
)
{
StringBuilder
result
=
new
StringBuilder
();
ruleManager
.
setRange
(
document
,
startPos
,
length
);
try
{
result
.
append
(
"<pre>"
);
for
(;;)
{
IToken
token
=
ruleManager
.
nextToken
();
if
(
token
.
isEOF
())
{
break
;
}
int
tokenOffset
=
ruleManager
.
getTokenOffset
();
final
int
tokenLength
=
ruleManager
.
getTokenLength
();
boolean
hasSpan
=
false
;
Object
data
=
token
.
getData
();
if
(
data
instanceof
TextAttribute
)
{
result
.
append
(
"<span style='"
);
TextAttribute
ta
=
(
TextAttribute
)
data
;
if
(
ta
.
getBackground
()
!=
null
)
{
result
.
append
(
"background-color:"
).
append
(
toHex
(
ta
.
getBackground
())).
append
(
";"
);
}
if
(
ta
.
getForeground
()
!=
null
)
{
result
.
append
(
"color:"
).
append
(
toHex
(
ta
.
getForeground
())).
append
(
";"
);
}
if
((
ta
.
getStyle
()
&
SWT
.
BOLD
)
==
SWT
.
BOLD
)
{
result
.
append
(
"font-weight:bold;"
);
}
if
((
ta
.
getStyle
()
&
SWT
.
ITALIC
)
==
SWT
.
ITALIC
)
{
result
.
append
(
"font-style: italic;"
);
}
//ta.getStyle()
result
.
append
(
"'>"
);
hasSpan
=
true
;
}
result
.
append
(
document
.
get
(
tokenOffset
,
tokenLength
));
if
(
hasSpan
)
{
result
.
append
(
"</span>"
);
}
}
result
.
append
(
"</pre>"
);
}
catch
(
BadLocationException
e
)
{
log
.
error
(
"Error converting SQL to HTML"
,
e
);
}
return
result
.
toString
().
trim
();
}
private
static
String
toHex
(
Color
color
)
{
return
String
.
format
(
"#%02x%02x%02x"
,
color
.
getRed
(),
color
.
getGreen
(),
color
.
getBlue
());
}
}
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/editors/sql/convert/JavaSQLConverter.java
浏览文件 @
104e70c1
...
...
@@ -17,15 +17,12 @@
package
org.jkiss.dbeaver.ui.editors.sql.convert
;
import
org.jkiss.dbeaver.Log
;
import
org.jkiss.utils.CommonUtils
;
/**
* JavaSQLConverter
*/
public
class
JavaSQLConverter
extends
SourceCodeSQLConverter
{
private
static
final
Log
log
=
Log
.
getLog
(
JavaSQLConverter
.
class
);
@Override
protected
void
convertSourceLines
(
StringBuilder
result
,
String
[]
sourceLines
,
String
lineDelimiter
)
{
...
...
@@ -33,9 +30,10 @@ public class JavaSQLConverter extends SourceCodeSQLConverter {
String
line
=
sourceLines
[
i
];
result
.
append
(
'"'
).
append
(
CommonUtils
.
escapeJavaString
(
line
)).
append
(
'"'
);
if
(
i
<
sourceLines
.
length
-
1
)
{
result
.
append
(
" + "
);
result
.
append
(
" + \n"
);
}
else
{
result
.
append
(
";"
);
}
result
.
append
(
"\n"
);
}
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录