Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
suliangchun
dbeaver
提交
a6a7c802
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,发现更多精彩内容 >>
提交
a6a7c802
编写于
11月 25, 2014
作者:
J
jurgen
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Search pages + jdbc dumper fix
上级
8bdb2b7b
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
190 addition
and
192 deletion
+190
-192
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/search/AbstractSearchPage.java
...e/src/org/jkiss/dbeaver/ui/search/AbstractSearchPage.java
+116
-0
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/search/data/SearchDataPage.java
.../src/org/jkiss/dbeaver/ui/search/data/SearchDataPage.java
+55
-106
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/search/metadata/SearchMetadataPage.java
.../jkiss/dbeaver/ui/search/metadata/SearchMetadataPage.java
+17
-83
tools/jdbc-dumper/src/org/jkiss/tools/jdbc/dumper/JDBCDumper.java
...bc-dumper/src/org/jkiss/tools/jdbc/dumper/JDBCDumper.java
+2
-3
未找到文件。
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/search/AbstractSearchPage.java
0 → 100644
浏览文件 @
a6a7c802
/*
* Copyright (C) 2010-2014 Serge Rieder
* serge@jkiss.org
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
package
org.jkiss.dbeaver.ui.search
;
import
org.apache.commons.logging.Log
;
import
org.apache.commons.logging.LogFactory
;
import
org.eclipse.jface.dialogs.DialogPage
;
import
org.eclipse.jface.preference.IPreferenceStore
;
import
org.eclipse.jface.viewers.IStructuredSelection
;
import
org.jkiss.dbeaver.DBException
;
import
org.jkiss.dbeaver.core.DBeaverUI
;
import
org.jkiss.dbeaver.model.navigator.DBNModel
;
import
org.jkiss.dbeaver.model.navigator.DBNNode
;
import
org.jkiss.dbeaver.model.runtime.DBRProgressMonitor
;
import
org.jkiss.dbeaver.model.runtime.DBRRunnableWithProgress
;
import
org.jkiss.dbeaver.ui.views.navigator.database.DatabaseNavigatorTree
;
import
org.jkiss.utils.CommonUtils
;
import
java.lang.reflect.InvocationTargetException
;
import
java.util.ArrayList
;
import
java.util.Iterator
;
import
java.util.List
;
import
java.util.StringTokenizer
;
public
abstract
class
AbstractSearchPage
extends
DialogPage
implements
IObjectSearchPage
{
static
final
protected
Log
log
=
LogFactory
.
getLog
(
AbstractSearchPage
.
class
);
protected
IObjectSearchContainer
container
;
protected
AbstractSearchPage
(
String
title
)
{
super
(
title
);
}
@Override
public
void
setSearchContainer
(
IObjectSearchContainer
container
)
{
this
.
container
=
container
;
}
@Override
public
void
setVisible
(
boolean
visible
)
{
super
.
setVisible
(
visible
);
if
(
visible
)
{
updateEnablement
();
}
}
protected
abstract
void
updateEnablement
();
protected
static
List
<
DBNNode
>
loadTreeState
(
IPreferenceStore
store
,
String
propName
)
{
final
List
<
DBNNode
>
result
=
new
ArrayList
<
DBNNode
>();
final
String
sources
=
store
.
getString
(
propName
);
if
(!
CommonUtils
.
isEmpty
(
sources
))
{
try
{
DBeaverUI
.
runInProgressService
(
new
DBRRunnableWithProgress
()
{
@Override
public
void
run
(
DBRProgressMonitor
monitor
)
{
StringTokenizer
st
=
new
StringTokenizer
(
sources
,
"|"
);
//$NON-NLS-1$
while
(
st
.
hasMoreTokens
())
{
String
nodePath
=
st
.
nextToken
();
try
{
DBNNode
node
=
DBNModel
.
getInstance
().
getNodeByPath
(
monitor
,
nodePath
);
if
(
node
!=
null
)
{
result
.
add
(
node
);
}
}
catch
(
DBException
e
)
{
log
.
error
(
e
);
}
}
}
});
}
catch
(
InvocationTargetException
e
)
{
log
.
error
(
e
.
getTargetException
());
}
catch
(
InterruptedException
e
)
{
// ignore
}
}
return
result
;
}
protected
static
void
saveTreeState
(
IPreferenceStore
store
,
String
propName
,
DatabaseNavigatorTree
tree
)
{
// Object sources
StringBuilder
sourcesString
=
new
StringBuilder
();
IStructuredSelection
ss
=
(
IStructuredSelection
)
tree
.
getViewer
().
getSelection
();
for
(
Iterator
<?>
iter
=
ss
.
iterator
();
iter
.
hasNext
();
)
{
DBNNode
node
=
(
DBNNode
)
iter
.
next
();
if
(
sourcesString
.
length
()
>
0
)
{
sourcesString
.
append
(
"|"
);
//$NON-NLS-1$
}
sourcesString
.
append
(
node
.
getNodeItemPath
());
}
store
.
setValue
(
propName
,
sourcesString
.
toString
());
}
}
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/search/data/SearchDataPage.java
浏览文件 @
a6a7c802
...
...
@@ -18,56 +18,56 @@
*/
package
org.jkiss.dbeaver.ui.search.data
;
import
org.apache.commons.logging.Log
;
import
org.apache.commons.logging.LogFactory
;
import
org.eclipse.jface.dialogs.DialogPage
;
import
org.eclipse.jface.preference.IPreferenceStore
;
import
org.eclipse.jface.viewers.*
;
import
org.eclipse.swt.SWT
;
import
org.eclipse.swt.custom.SashForm
;
import
org.eclipse.swt.events.*
;
import
org.eclipse.swt.events.ModifyEvent
;
import
org.eclipse.swt.events.ModifyListener
;
import
org.eclipse.swt.events.SelectionAdapter
;
import
org.eclipse.swt.events.SelectionEvent
;
import
org.eclipse.swt.layout.GridData
;
import
org.eclipse.swt.layout.GridLayout
;
import
org.eclipse.swt.widgets.*
;
import
org.jkiss.dbeaver.DBException
;
import
org.jkiss.dbeaver.core.CoreMessages
;
import
org.jkiss.dbeaver.core.DBeaverCore
;
import
org.jkiss.dbeaver.core.DBeaverUI
;
import
org.jkiss.dbeaver.model.navigator.*
;
import
org.jkiss.dbeaver.model.runtime.DBRProgressMonitor
;
import
org.jkiss.dbeaver.model.runtime.DBRRunnableWithProgress
;
import
org.jkiss.dbeaver.model.struct.*
;
import
org.jkiss.dbeaver.model.struct.DBSEntity
;
import
org.jkiss.dbeaver.model.struct.DBSObject
;
import
org.jkiss.dbeaver.model.struct.DBSObjectContainer
;
import
org.jkiss.dbeaver.model.struct.DBSWrapper
;
import
org.jkiss.dbeaver.ui.UIUtils
;
import
org.jkiss.dbeaver.ui.search.IObjectSearchContainer
;
import
org.jkiss.dbeaver.ui.search.IObjectSearchPage
;
import
org.jkiss.dbeaver.ui.search.AbstractSearchPage
;
import
org.jkiss.dbeaver.ui.views.navigator.database.DatabaseNavigatorTree
;
import
org.jkiss.dbeaver.ui.views.navigator.database.load.TreeLoadNode
;
import
org.jkiss.utils.CommonUtils
;
import
java.
lang.reflect.InvocationTargetException
;
import
java.util.
*
;
import
java.
util.ArrayList
;
import
java.util.
LinkedHashSet
;
import
java.util.List
;
import
java.util.Set
;
public
class
SearchDataPage
extends
DialogPage
implements
IObjectSearchPage
{
static
final
Log
log
=
LogFactory
.
getLog
(
SearchDataPage
.
class
);
public
class
SearchDataPage
extends
AbstractSearchPage
{
private
static
final
String
PROP_MASK
=
"search.data.mask"
;
//$NON-NLS-1$
private
static
final
String
PROP_CASE_SENSITIVE
=
"search.data.case-sensitive"
;
//$NON-NLS-1$
private
static
final
String
PROP_MAX_RESULT
=
"search.data.max-results"
;
//$NON-NLS-1$
private
static
final
String
PROP_MATCH_INDEX
=
"search.data.match-index"
;
//$NON-NLS-1$
private
static
final
String
PROP_FAST_SEARCH
=
"search.data.fast-search"
;
//$NON-NLS-1$
private
static
final
String
PROP_SEARCH_NUMBERS
=
"search.data.search-numbers"
;
//$NON-NLS-1$
private
static
final
String
PROP_SEARCH_LOBS
=
"search.data.search-lobs"
;
//$NON-NLS-1$
private
static
final
String
PROP_HISTORY
=
"search.data.history"
;
//$NON-NLS-1$
private
static
final
String
PROP_SOURCES
=
"search.data.object-source"
;
//$NON-NLS-1$
private
IObjectSearchContainer
container
;
private
Combo
searchText
;
private
DatabaseNavigatorTree
dataSourceTree
;
private
String
searchString
;
private
boolean
caseSensitive
;
private
boolean
fastSearch
;
// Indexed
private
boolean
searchNumbers
;
private
boolean
searchLOBs
;
private
int
maxResults
;
private
int
matchTypeIndex
;
private
Set
<
String
>
searchHistory
=
new
LinkedHashSet
<
String
>();
private
List
<
DBNNode
>
sourceNodes
=
new
ArrayList
<
DBNNode
>();
...
...
@@ -184,7 +184,7 @@ public class SearchDataPage extends DialogPage implements IObjectSearchPage {
}
});
final
Button
fastSearchCheckbox
=
UIUtils
.
createLabelCheckbox
(
optionsGroup2
,
"Fast search (indexed)"
,
caseSensitive
);
final
Button
fastSearchCheckbox
=
UIUtils
.
createLabelCheckbox
(
optionsGroup2
,
"Fast search (indexed)"
,
fastSearch
);
fastSearchCheckbox
.
setLayoutData
(
new
GridData
(
GridData
.
HORIZONTAL_ALIGN_BEGINNING
));
fastSearchCheckbox
.
addSelectionListener
(
new
SelectionAdapter
()
{
@Override
...
...
@@ -195,23 +195,23 @@ public class SearchDataPage extends DialogPage implements IObjectSearchPage {
});
final
Button
searchNumbersCheckbox
=
UIUtils
.
createLabelCheckbox
(
optionsGroup2
,
"Search in numbers"
,
caseSensitive
);
final
Button
searchNumbersCheckbox
=
UIUtils
.
createLabelCheckbox
(
optionsGroup2
,
"Search in numbers"
,
searchNumbers
);
searchNumbersCheckbox
.
setLayoutData
(
new
GridData
(
GridData
.
HORIZONTAL_ALIGN_BEGINNING
));
searchNumbersCheckbox
.
addSelectionListener
(
new
SelectionAdapter
()
{
@Override
public
void
widgetSelected
(
SelectionEvent
e
)
{
// fastSearch
= searchNumbersCheckbox.getSelection();
searchNumbers
=
searchNumbersCheckbox
.
getSelection
();
}
});
final
Button
searchLOBCheckbox
=
UIUtils
.
createLabelCheckbox
(
optionsGroup2
,
"Search in LOBs"
,
caseSensitive
);
final
Button
searchLOBCheckbox
=
UIUtils
.
createLabelCheckbox
(
optionsGroup2
,
"Search in LOBs"
,
searchLOBs
);
searchLOBCheckbox
.
setLayoutData
(
new
GridData
(
GridData
.
HORIZONTAL_ALIGN_BEGINNING
));
searchLOBCheckbox
.
addSelectionListener
(
new
SelectionAdapter
()
{
@Override
public
void
widgetSelected
(
SelectionEvent
e
)
{
// fastSearch
= searchNumbersCheckbox.getSelection();
searchLOBs
=
searchNumbersCheckbox
.
getSelection
();
}
});
}
...
...
@@ -224,48 +224,10 @@ public class SearchDataPage extends DialogPage implements IObjectSearchPage {
}
}
private
List
<
DBSObject
>
getSelectedSources
()
{
List
<
DBSObject
>
result
=
new
ArrayList
<
DBSObject
>();
for
(
Object
sel
:
((
CheckboxTreeViewer
)
dataSourceTree
.
getViewer
()).
getCheckedElements
())
{
if
(
sel
instanceof
DBSWrapper
)
{
DBSObject
object
=
((
DBSWrapper
)
sel
).
getObject
();
if
(
object
!=
null
&&
object
.
getDataSource
()
!=
null
)
{
result
.
add
(
object
);
}
}
}
return
result
;
}
private
void
updateEnablement
()
{
boolean
enabled
=
false
;
if
(!
getSelectedSources
().
isEmpty
())
{
enabled
=
true
;
}
container
.
setSearchEnabled
(
enabled
);
}
@Override
public
void
setSearchContainer
(
IObjectSearchContainer
container
)
{
this
.
container
=
container
;
}
@Override
public
void
setVisible
(
boolean
visible
)
{
super
.
setVisible
(
visible
);
if
(
visible
)
{
updateEnablement
();
}
}
@Override
public
SearchDataQuery
createQuery
()
throws
DBException
{
List
<
DBSObject
>
selectedSources
=
get
Select
edSources
();
List
<
DBSObject
>
selectedSources
=
get
Check
edSources
();
String
dataSearchString
=
searchString
;
...
...
@@ -289,8 +251,10 @@ public class SearchDataPage extends DialogPage implements IObjectSearchPage {
{
searchString
=
store
.
getString
(
PROP_MASK
);
caseSensitive
=
store
.
getBoolean
(
PROP_CASE_SENSITIVE
);
fastSearch
=
store
.
getBoolean
(
PROP_FAST_SEARCH
);
searchNumbers
=
store
.
getBoolean
(
PROP_SEARCH_NUMBERS
);
searchLOBs
=
store
.
getBoolean
(
PROP_SEARCH_LOBS
);
maxResults
=
store
.
getInt
(
PROP_MAX_RESULT
);
matchTypeIndex
=
store
.
getInt
(
PROP_MATCH_INDEX
);
for
(
int
i
=
0
;
;
i
++)
{
String
history
=
store
.
getString
(
PROP_HISTORY
+
"."
+
i
);
//$NON-NLS-1$
if
(
CommonUtils
.
isEmpty
(
history
))
{
...
...
@@ -298,35 +262,7 @@ public class SearchDataPage extends DialogPage implements IObjectSearchPage {
}
searchHistory
.
add
(
history
);
}
{
final
String
sources
=
store
.
getString
(
PROP_SOURCES
);
if
(!
CommonUtils
.
isEmpty
(
sources
))
{
try
{
DBeaverUI
.
runInProgressService
(
new
DBRRunnableWithProgress
()
{
@Override
public
void
run
(
DBRProgressMonitor
monitor
)
{
StringTokenizer
st
=
new
StringTokenizer
(
sources
,
"|"
);
//$NON-NLS-1$
while
(
st
.
hasMoreTokens
())
{
String
nodePath
=
st
.
nextToken
();
try
{
DBNNode
node
=
DBNModel
.
getInstance
().
getNodeByPath
(
monitor
,
nodePath
);
if
(
node
!=
null
)
{
sourceNodes
.
add
(
node
);
}
}
catch
(
DBException
e
)
{
log
.
error
(
e
);
}
}
}
});
}
catch
(
InvocationTargetException
e
)
{
log
.
error
(
e
.
getTargetException
());
}
catch
(
InterruptedException
e
)
{
// ignore
}
}
}
sourceNodes
=
loadTreeState
(
store
,
PROP_SOURCES
);
}
@Override
...
...
@@ -335,20 +271,10 @@ public class SearchDataPage extends DialogPage implements IObjectSearchPage {
store
.
setValue
(
PROP_MASK
,
searchString
);
store
.
setValue
(
PROP_CASE_SENSITIVE
,
caseSensitive
);
store
.
setValue
(
PROP_MAX_RESULT
,
maxResults
);
store
.
setValue
(
PROP_MATCH_INDEX
,
matchTypeIndex
);
{
// Object sources
StringBuilder
sourcesString
=
new
StringBuilder
();
IStructuredSelection
ss
=
(
IStructuredSelection
)
dataSourceTree
.
getViewer
().
getSelection
();
for
(
Iterator
<?>
iter
=
ss
.
iterator
();
iter
.
hasNext
();
)
{
DBNNode
node
=
(
DBNNode
)
iter
.
next
();
if
(
sourcesString
.
length
()
>
0
)
{
sourcesString
.
append
(
"|"
);
//$NON-NLS-1$
}
sourcesString
.
append
(
node
.
getNodeItemPath
());
}
store
.
setValue
(
PROP_SOURCES
,
sourcesString
.
toString
());
}
store
.
setValue
(
PROP_FAST_SEARCH
,
fastSearch
);
store
.
setValue
(
PROP_SEARCH_NUMBERS
,
searchNumbers
);
store
.
setValue
(
PROP_SEARCH_LOBS
,
searchLOBs
);
saveTreeState
(
store
,
PROP_SOURCES
,
dataSourceTree
);
{
// Search history
...
...
@@ -363,4 +289,27 @@ public class SearchDataPage extends DialogPage implements IObjectSearchPage {
}
}
protected
List
<
DBSObject
>
getCheckedSources
()
{
List
<
DBSObject
>
result
=
new
ArrayList
<
DBSObject
>();
for
(
Object
sel
:
((
CheckboxTreeViewer
)
dataSourceTree
.
getViewer
()).
getCheckedElements
())
{
if
(
sel
instanceof
DBSWrapper
)
{
DBSObject
object
=
((
DBSWrapper
)
sel
).
getObject
();
if
(
object
!=
null
&&
object
.
getDataSource
()
!=
null
)
{
result
.
add
(
object
);
}
}
}
return
result
;
}
protected
void
updateEnablement
()
{
boolean
enabled
=
false
;
if
(!
getCheckedSources
().
isEmpty
())
{
enabled
=
true
;
}
container
.
setSearchEnabled
(
enabled
);
}
}
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/search/metadata/SearchMetadataPage.java
浏览文件 @
a6a7c802
...
...
@@ -18,10 +18,7 @@
*/
package
org.jkiss.dbeaver.ui.search.metadata
;
import
org.apache.commons.logging.Log
;
import
org.apache.commons.logging.LogFactory
;
import
org.eclipse.core.runtime.IStatus
;
import
org.eclipse.jface.dialogs.DialogPage
;
import
org.eclipse.jface.preference.IPreferenceStore
;
import
org.eclipse.jface.viewers.*
;
import
org.eclipse.swt.SWT
;
...
...
@@ -33,28 +30,21 @@ import org.eclipse.swt.widgets.*;
import
org.jkiss.dbeaver.DBException
;
import
org.jkiss.dbeaver.core.CoreMessages
;
import
org.jkiss.dbeaver.core.DBeaverCore
;
import
org.jkiss.dbeaver.core.DBeaverUI
;
import
org.jkiss.dbeaver.model.DBPDataSource
;
import
org.jkiss.dbeaver.model.DBUtils
;
import
org.jkiss.dbeaver.model.navigator.*
;
import
org.jkiss.dbeaver.model.runtime.DBRProcessListener
;
import
org.jkiss.dbeaver.model.runtime.DBRProgressMonitor
;
import
org.jkiss.dbeaver.model.runtime.DBRRunnableWithProgress
;
import
org.jkiss.dbeaver.model.struct.*
;
import
org.jkiss.dbeaver.ui.UIUtils
;
import
org.jkiss.dbeaver.ui.search.IObjectSearchContainer
;
import
org.jkiss.dbeaver.ui.search.IObjectSearchPage
;
import
org.jkiss.dbeaver.ui.search.AbstractSearchPage
;
import
org.jkiss.dbeaver.ui.views.navigator.database.DatabaseNavigatorTree
;
import
org.jkiss.dbeaver.ui.views.navigator.database.load.TreeLoadNode
;
import
org.jkiss.utils.CommonUtils
;
import
java.lang.reflect.InvocationTargetException
;
import
java.util.*
;
import
java.util.List
;
public
class
SearchMetadataPage
extends
DialogPage
implements
IObjectSearchPage
{
static
final
Log
log
=
LogFactory
.
getLog
(
SearchMetadataPage
.
class
);
public
class
SearchMetadataPage
extends
AbstractSearchPage
{
private
static
final
String
PROP_MASK
=
"search.metadata.mask"
;
//$NON-NLS-1$
private
static
final
String
PROP_CASE_SENSITIVE
=
"search.metadata.case-sensitive"
;
//$NON-NLS-1$
...
...
@@ -64,7 +54,6 @@ public class SearchMetadataPage extends DialogPage implements IObjectSearchPage
private
static
final
String
PROP_OBJECT_TYPE
=
"search.metadata.object-type"
;
//$NON-NLS-1$
private
static
final
String
PROP_SOURCES
=
"search.metadata.object-source"
;
//$NON-NLS-1$
private
IObjectSearchContainer
container
;
private
Table
typesTable
;
private
Combo
searchText
;
private
DatabaseNavigatorTree
dataSourceTree
;
...
...
@@ -346,34 +335,6 @@ public class SearchMetadataPage extends DialogPage implements IObjectSearchPage
updateEnablement
();
}
private
void
updateEnablement
()
{
boolean
enabled
=
false
;
if
(
getSelectedDataSource
()
!=
null
)
{
enabled
=
!
checkedTypes
.
isEmpty
();
}
if
(
CommonUtils
.
isEmpty
(
nameMask
))
{
enabled
=
false
;
}
container
.
setSearchEnabled
(
enabled
);
}
@Override
public
void
setSearchContainer
(
IObjectSearchContainer
container
)
{
this
.
container
=
container
;
}
@Override
public
void
setVisible
(
boolean
visible
)
{
super
.
setVisible
(
visible
);
if
(
visible
)
{
updateEnablement
();
}
}
@Override
public
SearchMetadataQuery
createQuery
()
throws
DBException
{
...
...
@@ -439,35 +400,7 @@ public class SearchMetadataPage extends DialogPage implements IObjectSearchPage
}
searchHistory
.
add
(
history
);
}
{
final
String
sources
=
store
.
getString
(
PROP_SOURCES
);
if
(!
CommonUtils
.
isEmpty
(
sources
))
{
try
{
DBeaverUI
.
runInProgressService
(
new
DBRRunnableWithProgress
()
{
@Override
public
void
run
(
DBRProgressMonitor
monitor
)
{
StringTokenizer
st
=
new
StringTokenizer
(
sources
,
"|"
);
//$NON-NLS-1$
while
(
st
.
hasMoreTokens
())
{
String
nodePath
=
st
.
nextToken
();
try
{
DBNNode
node
=
DBNModel
.
getInstance
().
getNodeByPath
(
monitor
,
nodePath
);
if
(
node
!=
null
)
{
sourceNodes
.
add
(
node
);
}
}
catch
(
DBException
e
)
{
log
.
error
(
e
);
}
}
}
});
}
catch
(
InvocationTargetException
e
)
{
log
.
error
(
e
.
getTargetException
());
}
catch
(
InterruptedException
e
)
{
// ignore
}
}
}
sourceNodes
=
loadTreeState
(
store
,
PROP_SOURCES
);
{
String
type
=
store
.
getString
(
PROP_OBJECT_TYPE
);
...
...
@@ -487,19 +420,7 @@ public class SearchMetadataPage extends DialogPage implements IObjectSearchPage
store
.
setValue
(
PROP_CASE_SENSITIVE
,
caseSensitive
);
store
.
setValue
(
PROP_MAX_RESULT
,
maxResults
);
store
.
setValue
(
PROP_MATCH_INDEX
,
matchTypeIndex
);
{
// Object sources
StringBuilder
sourcesString
=
new
StringBuilder
();
IStructuredSelection
ss
=
(
IStructuredSelection
)
dataSourceTree
.
getViewer
().
getSelection
();
for
(
Iterator
<?>
iter
=
ss
.
iterator
();
iter
.
hasNext
();
)
{
DBNNode
node
=
(
DBNNode
)
iter
.
next
();
if
(
sourcesString
.
length
()
>
0
)
{
sourcesString
.
append
(
"|"
);
//$NON-NLS-1$
}
sourcesString
.
append
(
node
.
getNodeItemPath
());
}
store
.
setValue
(
PROP_SOURCES
,
sourcesString
.
toString
());
}
saveTreeState
(
store
,
PROP_SOURCES
,
dataSourceTree
);
{
// Search history
...
...
@@ -525,4 +446,17 @@ public class SearchMetadataPage extends DialogPage implements IObjectSearchPage
}
}
protected
void
updateEnablement
()
{
boolean
enabled
=
false
;
if
(
getSelectedDataSource
()
!=
null
)
{
enabled
=
!
checkedTypes
.
isEmpty
();
}
if
(
CommonUtils
.
isEmpty
(
nameMask
))
{
enabled
=
false
;
}
container
.
setSearchEnabled
(
enabled
);
}
}
tools/jdbc-dumper/src/org/jkiss/tools/jdbc/dumper/JDBCDumper.java
浏览文件 @
a6a7c802
...
...
@@ -18,7 +18,6 @@
*/
package
org.jkiss.tools.jdbc.dumper
;
import
javax.xml.transform.Result
;
import
java.sql.*
;
import
java.util.ArrayList
;
import
java.util.List
;
...
...
@@ -126,9 +125,9 @@ public class JDBCDumper
}
catch
(
Throwable
e
)
{
e
.
printStackTrace
();
}
System
.
out
.
println
(
"\Primary Keys:"
);
System
.
out
.
println
(
"\
t
Primary Keys:"
);
try
{
dumpResultSet
(
null
,
"\t\t"
,
metaData
.
getPrimaryKeys
(
cat
alog
Name
,
schema
,
tableName
),
null
);
dumpResultSet
(
null
,
"\t\t"
,
metaData
.
getPrimaryKeys
(
catName
,
schema
,
tableName
),
null
);
}
catch
(
Throwable
e
)
{
e
.
printStackTrace
();
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录