提交 9df5d67d 编写于 作者: J jurgen

Data transfer wizard

Former-commit-id: dc84cd96
上级 457f6e06
......@@ -140,26 +140,6 @@ command.org.jkiss.dbeaver.core.resultset.applyChanges.name=Apply changes
command.org.jkiss.dbeaver.core.resultset.applyChanges.description=Apply data changes
command.org.jkiss.dbeaver.core.resultset.rejectChanges.name=Reject changes
command.org.jkiss.dbeaver.core.resultset.rejectChanges.description=Reject data changes
command.org.jkiss.dbeaver.core.resultset.export.html.name=HTML
command.org.jkiss.dbeaver.core.resultset.export.html.description=Export to HTML file(s)
command.org.jkiss.dbeaver.core.resultset.export.html.property.images.name=Images
command.org.jkiss.dbeaver.core.resultset.export.html.property.images.description=Extract images to graphic files
command.org.jkiss.dbeaver.core.resultset.export.csv.name=CSV
command.org.jkiss.dbeaver.core.resultset.export.csv.description=Export to CSV file(s)
command.org.jkiss.dbeaver.core.resultset.export.csv.property.delimiter.name=Delimiter
command.org.jkiss.dbeaver.core.resultset.export.csv.property.delimiter.description=Columns delimiter
command.org.jkiss.dbeaver.core.resultset.export.csv.property.header.name=Header
command.org.jkiss.dbeaver.core.resultset.export.csv.property.header.description=CSV header settings
command.org.jkiss.dbeaver.core.resultset.export.csv.property.escape.name=Characters escape
command.org.jkiss.dbeaver.core.resultset.export.csv.property.escape.description=Bad characters escaping model (surrounded with quotes or escaped with '\' character)
command.org.jkiss.dbeaver.core.resultset.export.sql.name=SQL
command.org.jkiss.dbeaver.core.resultset.export.sql.description=Export to SQL INSERT statements
command.org.jkiss.dbeaver.core.resultset.export.sql.property.escape.name=Escape character
command.org.jkiss.dbeaver.core.resultset.export.sql.property.escape.description=Character which escapes single quote character
command.org.jkiss.dbeaver.core.resultset.export.sql.property.rowsInStatement.name=Data rows per statement
command.org.jkiss.dbeaver.core.resultset.export.sql.property.rowsInStatement.description=Number of data rows per single insert statement
command.org.jkiss.dbeaver.core.resultset.export.xml.name=XML
command.org.jkiss.dbeaver.core.resultset.export.xml.description=Export to XML file(s)
command.org.jkiss.dbeaver.core.edit.copy.adv_info=Copy Advanced Info
command.org.jkiss.dbeaver.core.edit.copy.special.name=Advanced Copy
......@@ -287,3 +267,31 @@ meta.org.jkiss.dbeaver.registry.DriverDescriptor.sampleURL.name=URL
meta.org.jkiss.dbeaver.ui.controls.ColumnInfoPanel$CellKeyInfo.type.name=Type
meta.org.jkiss.dbeaver.ui.controls.ColumnInfoPanel$CellKeyInfo.name.name=Name
meta.org.jkiss.dbeaver.ui.controls.ColumnInfoPanel$CellKeyInfo.columns.name=Columns
dataTransfer.producer.database.name=Table
dataTransfer.producer.database.description=Database table(s)
dataTransfer.consumer.stream.name=Files
dataTransfer.consumer.stream.description=Flat file(s)
dataTransfer.consumer.database.name=Database
dataTransfer.consumer.database.description=Database table(s)
dataTransfer.processor.html.name=HTML
dataTransfer.processor.html.description=Export to HTML file(s)
dataTransfer.processor.html.property.images.name=Images
dataTransfer.processor.html.property.images.description=Extract images to graphic files
dataTransfer.processor.csv.name=CSV
dataTransfer.processor.csv.description=Export to CSV file(s)
dataTransfer.processor.csv.property.delimiter.name=Delimiter
dataTransfer.processor.csv.property.delimiter.description=Columns delimiter
dataTransfer.processor.csv.property.header.name=Header
dataTransfer.processor.csv.property.header.description=CSV header settings
dataTransfer.processor.csv.property.escape.name=Characters escape
dataTransfer.processor.csv.property.escape.description=Bad characters escaping model (surrounded with quotes or escaped with '\' character)
dataTransfer.processor.sql.name=SQL
dataTransfer.processor.sql.description=Export to SQL INSERT statements
dataTransfer.processor.sql.property.escape.name=Escape character
dataTransfer.processor.sql.property.escape.description=Character which escapes single quote character
dataTransfer.processor.sql.property.rowsInStatement.name=Data rows per statement
dataTransfer.processor.sql.property.rowsInStatement.description=Number of data rows per single insert statement
dataTransfer.processor.xml.name=XML
dataTransfer.processor.xml.description=Export to XML file(s)
......@@ -1862,7 +1862,8 @@
id="database_producer"
class="org.jkiss.dbeaver.tools.transfer.database.DatabaseTransferProducer"
icon="icons/tree/table.png"
label="%command.org.jkiss.dbeaver.core.transform.producer.database.name"
label="%dataTransfer.producer.database.name"
description="%dataTransfer.producer.database.description"
settings="org.jkiss.dbeaver.tools.transfer.database.DatabaseProducerSettings">
<sourceType type="org.jkiss.dbeaver.model.struct.DBSDataContainer"/>
<page class="org.jkiss.dbeaver.tools.transfer.database.DatabaseProducerPageExtractSettings"/>
......@@ -1872,55 +1873,58 @@
id="stream_consumer"
class="org.jkiss.dbeaver.tools.transfer.stream.StreamTransferConsumer"
icon="icons/tree/file.png"
label="%command.org.jkiss.dbeaver.core.transform.consumer.stream.name"
label="%dataTransfer.consumer.stream.name"
description="%dataTransfer.consumer.stream.description"
settings="org.jkiss.dbeaver.tools.transfer.stream.StreamConsumerSettings">
<page class="org.jkiss.dbeaver.tools.transfer.stream.StreamConsumerPageSettings"/>
<page class="org.jkiss.dbeaver.tools.transfer.stream.StreamConsumerPageOutput"/>
<processor
id="org.jkiss.dbeaver.core.dataExport.xml"
id="stream.xml"
class="org.jkiss.dbeaver.tools.transfer.stream.impl.DataExporterXML"
description="%command.org.jkiss.dbeaver.core.resultset.export.xml.description"
description="%dataTransfer.processor.xml.description"
icon="icons/misc/xml.png"
label="%command.org.jkiss.dbeaver.core.resultset.export.xml.name">
<property id="extension" label="File extension" defaultValue="xml"/>
label="%dataTransfer.processor.xml.name">
<propertyGroup label="General">
<property id="extension" label="File extension" defaultValue="xml"/>
</propertyGroup>
</processor>
<processor
id="org.jkiss.dbeaver.core.dataExport.html"
id="stream.html"
class="org.jkiss.dbeaver.tools.transfer.stream.impl.DataExporterHTML"
description="%command.org.jkiss.dbeaver.core.resultset.export.html.description"
description="%dataTransfer.processor.html.description"
icon="icons/misc/html.png"
label="%command.org.jkiss.dbeaver.core.resultset.export.html.name">
label="%dataTransfer.processor.html.name">
<propertyGroup label="General">
<property id="extension" label="File extension" defaultValue="html"/>
<property id="extractImages" label="%command.org.jkiss.dbeaver.core.resultset.export.html.property.images.name" type="boolean" description="%command.org.jkiss.dbeaver.core.resultset.export.html.property.images.description" defaultValue="true"/>
<property id="extractImages" label="%dataTransfer.processor.html.property.images.name" type="boolean" description="%dataTransfer.processor.html.property.images.description" defaultValue="true"/>
</propertyGroup>
</processor>
<processor
id="org.jkiss.dbeaver.core.dataExport.csv"
id="stream.csv"
class="org.jkiss.dbeaver.tools.transfer.stream.impl.DataExporterCSV"
description="%command.org.jkiss.dbeaver.core.resultset.export.csv.description"
description="%dataTransfer.processor.csv.description"
icon="icons/misc/csv.png"
label="%command.org.jkiss.dbeaver.core.resultset.export.csv.name">
label="%dataTransfer.processor.csv.name">
<propertyGroup label="General">
<property id="extension" label="File extension" defaultValue="csv"/>
<property id="delimiter" label="%command.org.jkiss.dbeaver.core.resultset.export.csv.property.delimiter.name" type="string" description="%command.org.jkiss.dbeaver.core.resultset.export.csv.property.delimiter.description" defaultValue="," required="true"/>
<property id="header" label="%command.org.jkiss.dbeaver.core.resultset.export.csv.property.header.name" type="string" description="%command.org.jkiss.dbeaver.core.resultset.export.csv.property.header.description" defaultValue="top" required="true" validValues="none,top,bottom,both"/>
<property id="escape" label="%command.org.jkiss.dbeaver.core.resultset.export.csv.property.escape.name" type="string" description="%command.org.jkiss.dbeaver.core.resultset.export.csv.property.escape.description" defaultValue="quotes" required="true" validValues="quotes,escape"/>
<property id="delimiter" label="%dataTransfer.processor.csv.property.delimiter.name" type="string" description="%dataTransfer.processor.csv.property.delimiter.description" defaultValue="," required="true"/>
<property id="header" label="%dataTransfer.processor.csv.property.header.name" type="string" description="%dataTransfer.processor.csv.property.header.description" defaultValue="top" required="true" validValues="none,top,bottom,both"/>
<property id="escape" label="%dataTransfer.processor.csv.property.escape.name" type="string" description="%dataTransfer.processor.csv.property.escape.description" defaultValue="quotes" required="true" validValues="quotes,escape"/>
</propertyGroup>
</processor>
<processor
id="org.jkiss.dbeaver.core.dataExport.sql"
id="stream.sql"
class="org.jkiss.dbeaver.tools.transfer.stream.impl.DataExporterSQL"
description="%command.org.jkiss.dbeaver.core.resultset.export.sql.description"
description="%dataTransfer.processor.sql.description"
icon="icons/misc/sql.png"
label="%command.org.jkiss.dbeaver.core.resultset.export.sql.name">
label="%dataTransfer.processor.sql.name">
<sourceType type="org.jkiss.dbeaver.model.struct.rdb.DBSTable"/>
<propertyGroup label="General">
<property id="extension" label="File extension" defaultValue="sql"/>
<property id="format" label="Dates/numbers format" defaultValue="native" validValues="ui,edit,native"/>
<property id="escape" label="%command.org.jkiss.dbeaver.core.resultset.export.sql.property.escape.name" type="string" description="%command.org.jkiss.dbeaver.core.resultset.export.sql.property.escape.description" required="true"/>
<property id="rowsInStatement" label="%command.org.jkiss.dbeaver.core.resultset.export.sql.property.rowsInStatement.name" type="integer" description="%command.org.jkiss.dbeaver.core.resultset.export.sql.property.rowsInStatement.description" defaultValue="10" required="true"/>
<property id="escape" label="%dataTransfer.processor.sql.property.escape.name" type="string" description="%dataTransfer.processor.sql.property.escape.description" required="true"/>
<property id="rowsInStatement" label="%dataTransfer.processor.sql.property.rowsInStatement.name" type="integer" description="%dataTransfer.processor.sql.property.rowsInStatement.description" defaultValue="10" required="true"/>
</propertyGroup>
</processor>
</node>
......@@ -1929,7 +1933,8 @@
id="database_consumer"
class="org.jkiss.dbeaver.tools.transfer.database.DatabaseTransferConsumer"
icon="icons/tree/table.png"
label="%command.org.jkiss.dbeaver.core.transform.consumer.database.name"
label="%dataTransfer.consumer.database.name"
description="%dataTransfer.consumer.database.description"
settings="org.jkiss.dbeaver.tools.transfer.database.DatabaseConsumerSettings">
<sourceType type="org.jkiss.dbeaver.model.struct.DBSDataContainer"/>
<page class="org.jkiss.dbeaver.tools.transfer.database.DatabaseConsumerPageMapping"/>
......
......@@ -133,26 +133,6 @@ command.org.jkiss.dbeaver.core.resultset.applyChanges.name=\u041F\u0440\u0438\u0
command.org.jkiss.dbeaver.core.resultset.applyChanges.description=\u041F\u0440\u0438\u043C\u0435\u043D\u0438\u0442\u044C \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F \u0434\u0430\u043D\u043D\u044B\u0445
command.org.jkiss.dbeaver.core.resultset.rejectChanges.name=\u041E\u0442\u043C\u0435\u043D\u0438\u0442\u044C \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F
command.org.jkiss.dbeaver.core.resultset.rejectChanges.description=\u041E\u0442\u043C\u0435\u043D\u0438\u0442\u044C \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F \u0434\u0430\u043D\u043D\u044B\u0445
command.org.jkiss.dbeaver.core.resultset.export.html.name=HTML
command.org.jkiss.dbeaver.core.resultset.export.html.description=\u042D\u043A\u0441\u043F\u043E\u0440\u0442 \u0432 HTML \u0444\u0430\u0439\u043B(\u044B)
command.org.jkiss.dbeaver.core.resultset.export.html.property.images.name=\u0418\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F
command.org.jkiss.dbeaver.core.resultset.export.html.property.images.description=\u042D\u043A\u0441\u043F\u043E\u0440\u0442 \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0439 \u0432 \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043A\u0438\u0435 \u0444\u0430\u0439\u043B\u044B
command.org.jkiss.dbeaver.core.resultset.export.csv.name=CSV
command.org.jkiss.dbeaver.core.resultset.export.csv.description=\u042D\u043A\u0441\u043F\u043E\u0440\u0442 \u0432 CSV \u0444\u0430\u0439\u043B(\u044B)
command.org.jkiss.dbeaver.core.resultset.export.csv.property.delimiter.name=\u0420\u0430\u0437\u0434\u0435\u043B\u0438\u0442\u0435\u043B\u044C
command.org.jkiss.dbeaver.core.resultset.export.csv.property.delimiter.description=\u0420\u0430\u0437\u0434\u0435\u043B\u0438\u0442\u0435\u043B\u044C \u0441\u0442\u043E\u043B\u0431\u0446\u043E\u0432
command.org.jkiss.dbeaver.core.resultset.export.csv.property.header.name=\u0417\u0430\u0433\u043E\u043B\u043E\u0432\u043E\u043A
command.org.jkiss.dbeaver.core.resultset.export.csv.property.header.description=\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0430 CSV \u0437\u0430\u0433\u043E\u043B\u043E\u0432\u043A\u0430
command.org.jkiss.dbeaver.core.resultset.export.csv.property.escape.name=\u042D\u043A\u0440\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435 \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432
command.org.jkiss.dbeaver.core.resultset.export.csv.property.escape.description=\u0421\u043F\u043E\u0441\u043E\u0431 \u043E\u0431\u0440\u0430\u0431\u043E\u0442\u043A\u0438 \u043F\u0440\u043E\u0431\u043B\u0435\u043C\u043D\u044B\u0445 \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432 (\u0437\u0430\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u0435 \u0432 \u043A\u0430\u0432\u044B\u0447\u043A\u0438 \u0438\u043B\u0438 \u044D\u043A\u0440\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435 \u0441 \u043F\u043E\u043C\u043E\u0449\u044C\u044E \u0441\u0438\u043C\u0432\u043E\u043B\u0430 '\')
command.org.jkiss.dbeaver.core.resultset.export.sql.name=SQL
command.org.jkiss.dbeaver.core.resultset.export.sql.description=\u042D\u043A\u0441\u043F\u043E\u0440\u0442 \u0432 SQL INSERT \u0432\u044B\u0440\u0430\u0436\u0435\u043D\u0438\u044F
command.org.jkiss.dbeaver.core.resultset.export.sql.property.escape.name=\u0421\u0438\u043C\u0432\u043E\u043B \u044D\u043A\u0440\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F
command.org.jkiss.dbeaver.core.resultset.export.sql.property.escape.description=\u0421\u0438\u043C\u0432\u043E\u043B, \u043A\u043E\u0442\u043E\u0440\u044B\u043C \u0431\u0443\u0434\u0443\u0442 \u044D\u043A\u0440\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u0442\u044C\u0441\u044F \u043E\u0434\u0438\u043D\u0430\u0440\u043D\u044B\u0435 \u043A\u0430\u0432\u044B\u0447\u043A\u0438
command.org.jkiss.dbeaver.core.resultset.export.sql.property.rowsInStatement.name=\u0421\u0442\u0440\u043E\u043A \u0434\u0430\u043D\u043D\u044B\u0445 \u0432 \u0432\u044B\u0440\u0430\u0436\u0435\u043D\u0438\u0438
command.org.jkiss.dbeaver.core.resultset.export.sql.property.rowsInStatement.description=\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u0441\u0442\u0440\u043E\u043A \u0434\u0430\u043D\u043D\u044B\u0445 \u0432 \u043E\u0434\u043D\u043E\u043C \u0432\u044B\u0440\u0430\u0436\u0435\u043D\u0438\u0438 \u0432\u0441\u0442\u0430\u0432\u043A\u0438
command.org.jkiss.dbeaver.core.resultset.export.xml.name=XML
command.org.jkiss.dbeaver.core.resultset.export.xml.description=\u042D\u043A\u0441\u043F\u043E\u0440\u0442 \u0432 XML \u0444\u0430\u0439\u043B(\u044B)
command.org.jkiss.dbeaver.core.edit.copy.special.name=\u0421\u043F\u0435\u0446\u0438\u0430\u043B\u044C\u043D\u0430\u044F \u043A\u043E\u043F\u0438\u044F
command.org.jkiss.dbeaver.core.edit.copy.special.description=\u0421\u043F\u0435\u0446\u0438\u0430\u043B\u044C\u043D\u0430\u044F \u043A\u043E\u043F\u0438\u044F
......@@ -274,6 +254,7 @@ meta.org.jkiss.dbeaver.registry.DriverDescriptor.sampleURL.name=URL
meta.org.jkiss.dbeaver.ui.controls.ColumnInfoPanel$CellKeyInfo.type.name=\u0422\u0438\u043F
meta.org.jkiss.dbeaver.ui.controls.ColumnInfoPanel$CellKeyInfo.name.name=\u0418\u043C\u044F
meta.org.jkiss.dbeaver.ui.controls.ColumnInfoPanel$CellKeyInfo.columns.name=\u041A\u043E\u043B\u043E\u043D\u043A\u0438
command.org.jkiss.dbeaver.core.resultset.row.edit.inline.name=\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C
command.org.jkiss.dbeaver.core.resultset.row.edit.inline.description=\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u044F \u0432\u0441\u0442\u0440\u043E\u0435\u043D\u043D\u044B\u0435 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440
command.org.jkiss.dbeaver.ui.editors.sql.navigate.object.name=\u0420\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043E\u0431\u044A\u0435\u043A\u0442 \u0411\u0414
......@@ -281,4 +262,32 @@ command.org.jkiss.dbeaver.ui.editors.sql.navigate.object.description=\u041E\u044
command.org.jkiss.dbeaver.ui.editors.sql.comment.single.name=\u041E\u0434\u043D\u043E\u0441\u0442\u0440\u043E\u0447\u043D\u044B\u0439 \u043A\u043E\u043C\u0435\u043D\u0442\u0430\u0440\u0438\u0439
command.org.jkiss.dbeaver.ui.editors.sql.comment.single.description=\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044C/\u0443\u0434\u0430\u043B\u0438\u0442\u044C \u043E\u0434\u043D\u043E\u0441\u0442\u0440\u043E\u0447\u043D\u044B\u0439 \u043A\u043E\u043C\u0435\u043D\u0442\u0430\u0440\u0438\u0439
command.org.jkiss.dbeaver.ui.editors.sql.comment.multi.name=\u0411\u043B\u043E\u0447\u043D\u044B\u0439 \u043A\u043E\u043C\u0435\u043D\u0442\u0430\u0440\u0438\u0439
command.org.jkiss.dbeaver.ui.editors.sql.comment.multi.description=\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044C/\u0443\u0434\u0430\u043B\u0438\u0442\u044C \u043C\u043D\u043E\u0433\u043E\u0441\u0442\u0440\u043E\u0447\u043D\u044B\u0439 \u043A\u043E\u043C\u0435\u043D\u0442\u0430\u0440\u0438\u0439
\ No newline at end of file
command.org.jkiss.dbeaver.ui.editors.sql.comment.multi.description=\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044C/\u0443\u0434\u0430\u043B\u0438\u0442\u044C \u043C\u043D\u043E\u0433\u043E\u0441\u0442\u0440\u043E\u0447\u043D\u044B\u0439 \u043A\u043E\u043C\u0435\u043D\u0442\u0430\u0440\u0438\u0439
dataTransfer.producer.database.name=\u0422\u0430\u0431\u043B\u0438\u0446\u0430
dataTransfer.producer.database.description=\u0422\u0430\u0431\u043B\u0438\u0446\u0430 \u0431\u0430\u0437\u044B \u0434\u0430\u043D\u043D\u044B\u0445
dataTransfer.consumer.stream.name=\u0424\u0430\u0439\u043B\u044B
dataTransfer.consumer.stream.description=\u041F\u043B\u043E\u0441\u043A\u0438\u0435 \u0444\u0430\u0439\u043B\u044B
dataTransfer.consumer.database.name=\u0411\u0430\u0437\u0430 \u0434\u0430\u043D\u043D\u044B\u0445
dataTransfer.consumer.database.description=\u0422\u0430\u0431\u043B\u0438\u0446\u044B \u0431\u0430\u0437\u044B \u0434\u0430\u043D\u043D\u044B\u0445
dataTransfer.processor.html.name=HTML
dataTransfer.processor.html.description=\u042D\u043A\u0441\u043F\u043E\u0440\u0442 \u0432 HTML \u0444\u0430\u0439\u043B(\u044B)
dataTransfer.processor.html.property.images.name=\u0418\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F
dataTransfer.processor.html.property.images.description=\u042D\u043A\u0441\u043F\u043E\u0440\u0442 \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0439 \u0432 \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043A\u0438\u0435 \u0444\u0430\u0439\u043B\u044B
dataTransfer.processor.csv.name=CSV
dataTransfer.processor.csv.description=\u042D\u043A\u0441\u043F\u043E\u0440\u0442 \u0432 CSV \u0444\u0430\u0439\u043B(\u044B)
dataTransfer.processor.csv.property.delimiter.name=\u0420\u0430\u0437\u0434\u0435\u043B\u0438\u0442\u0435\u043B\u044C
dataTransfer.processor.csv.property.delimiter.description=\u0420\u0430\u0437\u0434\u0435\u043B\u0438\u0442\u0435\u043B\u044C \u0441\u0442\u043E\u043B\u0431\u0446\u043E\u0432
dataTransfer.processor.csv.property.header.name=\u0417\u0430\u0433\u043E\u043B\u043E\u0432\u043E\u043A
dataTransfer.processor.csv.property.header.description=\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0430 CSV \u0437\u0430\u0433\u043E\u043B\u043E\u0432\u043A\u0430
dataTransfer.processor.csv.property.escape.name=\u042D\u043A\u0440\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435 \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432
dataTransfer.processor.csv.property.escape.description=\u0421\u043F\u043E\u0441\u043E\u0431 \u043E\u0431\u0440\u0430\u0431\u043E\u0442\u043A\u0438 \u043F\u0440\u043E\u0431\u043B\u0435\u043C\u043D\u044B\u0445 \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432 (\u0437\u0430\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u0435 \u0432 \u043A\u0430\u0432\u044B\u0447\u043A\u0438 \u0438\u043B\u0438 \u044D\u043A\u0440\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435 \u0441 \u043F\u043E\u043C\u043E\u0449\u044C\u044E \u0441\u0438\u043C\u0432\u043E\u043B\u0430 '\')
dataTransfer.processor.sql.name=SQL
dataTransfer.processor.sql.description=\u042D\u043A\u0441\u043F\u043E\u0440\u0442 \u0432 SQL INSERT \u0432\u044B\u0440\u0430\u0436\u0435\u043D\u0438\u044F
dataTransfer.processor.sql.property.escape.name=\u0421\u0438\u043C\u0432\u043E\u043B \u044D\u043A\u0440\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F
dataTransfer.processor.sql.property.escape.description=\u0421\u0438\u043C\u0432\u043E\u043B, \u043A\u043E\u0442\u043E\u0440\u044B\u043C \u0431\u0443\u0434\u0443\u0442 \u044D\u043A\u0440\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u0442\u044C\u0441\u044F \u043E\u0434\u0438\u043D\u0430\u0440\u043D\u044B\u0435 \u043A\u0430\u0432\u044B\u0447\u043A\u0438
dataTransfer.processor.sql.property.rowsInStatement.name=\u0421\u0442\u0440\u043E\u043A \u0434\u0430\u043D\u043D\u044B\u0445 \u0432 \u0432\u044B\u0440\u0430\u0436\u0435\u043D\u0438\u0438
dataTransfer.processor.sql.property.rowsInStatement.description=\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u0441\u0442\u0440\u043E\u043A \u0434\u0430\u043D\u043D\u044B\u0445 \u0432 \u043E\u0434\u043D\u043E\u043C \u0432\u044B\u0440\u0430\u0436\u0435\u043D\u0438\u0438 \u0432\u0441\u0442\u0430\u0432\u043A\u0438
dataTransfer.processor.xml.name=XML
dataTransfer.processor.xml.description=\u042D\u043A\u0441\u043F\u043E\u0440\u0442 \u0432 XML \u0444\u0430\u0439\u043B(\u044B)
......@@ -7,15 +7,14 @@ import org.jkiss.dbeaver.model.exec.DBCExecutionContext;
import org.jkiss.dbeaver.model.exec.DBCResultSet;
import org.jkiss.dbeaver.model.struct.DBSObject;
import org.jkiss.dbeaver.tools.transfer.IDataTransferConsumer;
import org.jkiss.dbeaver.tools.transfer.stream.IStreamDataExporter;
import org.jkiss.dbeaver.tools.transfer.stream.StreamConsumerSettings;
import org.jkiss.dbeaver.tools.transfer.IDataTransferProcessor;
import java.util.Map;
/**
* Stream transfer consumer
*/
public class DatabaseTransferConsumer implements IDataTransferConsumer<StreamConsumerSettings, IStreamDataExporter> {
public class DatabaseTransferConsumer implements IDataTransferConsumer<DatabaseConsumerSettings, IDataTransferProcessor> {
static final Log log = LogFactory.getLog(DatabaseTransferConsumer.class);
......@@ -55,8 +54,9 @@ public class DatabaseTransferConsumer implements IDataTransferConsumer<StreamCon
}
@Override
public void initTransfer(DBSObject sourceObject, StreamConsumerSettings settings, IStreamDataExporter processor, Map<Object, Object> processorProperties)
public void initTransfer(DBSObject sourceObject, DatabaseConsumerSettings settings, IDataTransferProcessor processor, Map<Object, Object> processorProperties)
{
}
@Override
......
......@@ -31,6 +31,7 @@ import org.eclipse.swt.widgets.Table;
import org.eclipse.swt.widgets.TableItem;
import org.jkiss.dbeaver.DBException;
import org.jkiss.dbeaver.core.CoreMessages;
import org.jkiss.dbeaver.model.DBUtils;
import org.jkiss.dbeaver.tools.transfer.IDataTransferProcessor;
import org.jkiss.dbeaver.tools.transfer.IDataTransferSettings;
import org.jkiss.dbeaver.ui.UIUtils;
......@@ -72,7 +73,7 @@ class DataTransferPageFinal extends ActiveWizardPage<DataTransferWizard> {
resultTable.addControlListener(new ControlAdapter() {
@Override
public void controlResized(ControlEvent e) {
UIUtils.packColumns(resultTable);
//UIUtils.packColumns(resultTable);
}
});
......@@ -89,26 +90,40 @@ class DataTransferPageFinal extends ActiveWizardPage<DataTransferWizard> {
public void activatePage()
{
resultTable.removeAll();
List<DataTransferPipe> dataPipes = getWizard().getSettings().getDataPipes();
DataTransferSettings settings = getWizard().getSettings();
List<DataTransferPipe> dataPipes = settings.getDataPipes();
for (DataTransferPipe pipe : dataPipes) {
IDataTransferSettings settings = getWizard().getSettings().getNodeSettings(pipe.getConsumer());
IDataTransferProcessor processor;
try {
processor = getWizard().getSettings().getProcessor().createProcessor();
} catch (DBException e) {
log.error("Can't create processor", e);
continue;
IDataTransferSettings consumerSettings = settings.getNodeSettings(pipe.getConsumer());
IDataTransferProcessor processor = null;
if (settings.getProcessor() != null) {
// Processor is optional
try {
processor = settings.getProcessor().createProcessor();
} catch (DBException e) {
log.error("Can't create processor", e);
continue;
}
}
pipe.getConsumer().initTransfer(
pipe.getProducer().getSourceObject(),
settings,
consumerSettings,
processor,
getWizard().getSettings().getProcessorProperties());
processor == null ?
null :
settings.getProcessorProperties());
TableItem item = new TableItem(resultTable, SWT.NONE);
item.setText(0, pipe.getProducer().getSourceObject().getName());
item.setText(0, DBUtils.getObjectFullName(pipe.getProducer().getSourceObject()));
if (settings.getProducer().getIcon() != null) {
item.setImage(0, settings.getProducer().getIcon());
}
item.setText(1, pipe.getConsumer().getTargetName());
if (settings.getProcessor() != null && settings.getProcessor().getIcon() != null) {
item.setImage(1, settings.getProcessor().getIcon());
} else if (settings.getConsumer().getIcon() != null) {
item.setImage(1, settings.getConsumer().getIcon());
}
}
UIUtils.packColumns(resultTable);
UIUtils.packColumns(resultTable, true);
updatePageCompletion();
}
......
......@@ -119,6 +119,17 @@ public class DataTransferWizard extends Wizard implements IExportWizard {
return pages[0];
}
@Override
public boolean canFinish()
{
for (IWizardPage page : getPages()) {
if (settings.isPageValid(page) && !page.isPageComplete()) {
return false;
}
}
return true;
}
@Override
public boolean performFinish() {
// Save settings
......
......@@ -214,7 +214,8 @@ public class UIUtils {
int newWidth = (int) (tc.getWidth() - extraSpace * ratio);
tc.setWidth(newWidth);
}
} else if (fit && totalWidth < clientArea.width) {
}
if (fit && totalWidth < clientArea.width) {
float extraSpace = (clientArea.width - totalWidth) / columns.length;
for (TableColumn tc : columns) {
tc.setWidth((int) (tc.getWidth() + extraSpace));
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册