|
|
|
@ -7,17 +7,16 @@ import com.fr.data.impl.storeproc.StoreProcedure;
|
|
|
|
|
import com.fr.data.operator.DataOperator; |
|
|
|
|
import com.fr.design.data.DesignTableDataManager; |
|
|
|
|
import com.fr.design.data.datapane.preview.PreviewTablePane; |
|
|
|
|
import com.fr.design.dialog.BasicDialog; |
|
|
|
|
import com.fr.design.dialog.DialogActionAdapter; |
|
|
|
|
import com.fr.design.dialog.FineJOptionPane; |
|
|
|
|
import com.fr.design.gui.iprogressbar.AutoProgressBar; |
|
|
|
|
import com.fr.design.gui.itree.refreshabletree.ExpandMutableTreeNode; |
|
|
|
|
import com.fr.design.i18n.Toolkit; |
|
|
|
|
import com.fr.design.mainframe.DesignerContext; |
|
|
|
|
import com.fr.general.ComparatorUtils; |
|
|
|
|
import com.fr.log.FineLoggerFactory; |
|
|
|
|
|
|
|
|
|
import javax.swing.Icon; |
|
|
|
|
import javax.swing.JOptionPane; |
|
|
|
|
import javax.swing.JFrame; |
|
|
|
|
import javax.swing.SwingWorker; |
|
|
|
|
import java.util.ArrayList; |
|
|
|
|
import java.util.Arrays; |
|
|
|
@ -50,7 +49,6 @@ public final class StoreProcedureDataWrapper implements TableDataWrapper {
|
|
|
|
|
private AutoProgressBar connectionBar; |
|
|
|
|
private ProcedureDataModel[] dataModels; |
|
|
|
|
private SwingWorker worker; |
|
|
|
|
private BasicDialog dialog; |
|
|
|
|
private int previewModel; |
|
|
|
|
|
|
|
|
|
public StoreProcedureDataWrapper(StoreProcedure storeProcedure, String storeprocedureName, String dsName) { |
|
|
|
@ -71,19 +69,8 @@ public final class StoreProcedureDataWrapper implements TableDataWrapper {
|
|
|
|
|
if (needLoad) { |
|
|
|
|
setWorker(); |
|
|
|
|
} |
|
|
|
|
dialog = PreviewTablePane.getInstance().getDialog(); |
|
|
|
|
dialog.addDialogActionListener(new DialogActionAdapter() { |
|
|
|
|
public void doOk() { |
|
|
|
|
getWorker().cancel(true); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public void doCancel() { |
|
|
|
|
getWorker().cancel(true); |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
loadingBar = new AutoProgressBar(dialog, com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Loading_Data"), "", 0, 100) { |
|
|
|
|
loadingBar = new AutoProgressBar(new JFrame(), Toolkit.i18nText("Fine-Design_Basic_Loading_Data"), "", 0, 100) { |
|
|
|
|
public void doMonitorCanceled() { |
|
|
|
|
getDialog().setVisible(false); |
|
|
|
|
getWorker().cancel(true); |
|
|
|
|
} |
|
|
|
|
}; |
|
|
|
@ -93,17 +80,17 @@ public final class StoreProcedureDataWrapper implements TableDataWrapper {
|
|
|
|
|
* 数据集执行结果返回的所有字段 |
|
|
|
|
* |
|
|
|
|
* @return 数据集执行结果返回的所有字段 |
|
|
|
|
* |
|
|
|
|
* |
|
|
|
|
* |
|
|
|
|
* @date 2014-12-3-下午7:43:17 |
|
|
|
|
* |
|
|
|
|
* |
|
|
|
|
*/ |
|
|
|
|
public List<String> calculateColumnNameList() { |
|
|
|
|
if (columnNameList != null) { |
|
|
|
|
return columnNameList; |
|
|
|
|
} |
|
|
|
|
if (!createStore(false)) { |
|
|
|
|
FineJOptionPane.showMessageDialog(DesignerContext.getDesignerFrame(), com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Engine_No_TableData")); |
|
|
|
|
FineJOptionPane.showMessageDialog(DesignerContext.getDesignerFrame(), Toolkit.i18nText("Fine-Design_Basic_Engine_No_TableData")); |
|
|
|
|
return new ArrayList<String>(); |
|
|
|
|
} |
|
|
|
|
columnNameList = Arrays.asList(procedureDataModel.getColumnName()); |
|
|
|
@ -114,10 +101,10 @@ public final class StoreProcedureDataWrapper implements TableDataWrapper {
|
|
|
|
|
* 生成子节点 |
|
|
|
|
* |
|
|
|
|
* @return 节点数组 |
|
|
|
|
* |
|
|
|
|
* |
|
|
|
|
* |
|
|
|
|
* @date 2014-12-3-下午7:06:47 |
|
|
|
|
* |
|
|
|
|
* |
|
|
|
|
*/ |
|
|
|
|
public ExpandMutableTreeNode[] load() { |
|
|
|
|
List<String> namelist; |
|
|
|
@ -160,25 +147,16 @@ public final class StoreProcedureDataWrapper implements TableDataWrapper {
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 预览数据 |
|
|
|
|
* |
|
|
|
|
* |
|
|
|
|
* @param previewModel 预览模式, 全部还是一个 |
|
|
|
|
* |
|
|
|
|
* |
|
|
|
|
* |
|
|
|
|
* @date 2014-12-3-下午7:05:50 |
|
|
|
|
* |
|
|
|
|
* |
|
|
|
|
*/ |
|
|
|
|
public void previewData(final int previewModel) { |
|
|
|
|
this.previewModel = previewModel; |
|
|
|
|
new SwingWorker() { |
|
|
|
|
|
|
|
|
|
protected Object doInBackground() throws Exception { |
|
|
|
|
loadingBar.close(); |
|
|
|
|
PreviewTablePane.resetPreviewTable(); |
|
|
|
|
dialog.setVisible(true); |
|
|
|
|
return null; |
|
|
|
|
} |
|
|
|
|
}.execute(); |
|
|
|
|
connectionBar = new AutoProgressBar(dialog, com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Utils_Now_Create_Connection"), "", 0, 100) { |
|
|
|
|
connectionBar = new AutoProgressBar(new JFrame(), Toolkit.i18nText("Fine-Design_Basic_Utils_Now_Create_Connection"), "", 0, 100) { |
|
|
|
|
public void doMonitorCanceled() { |
|
|
|
|
connectionBar.close(); |
|
|
|
|
worker.cancel(true); |
|
|
|
@ -190,13 +168,13 @@ public final class StoreProcedureDataWrapper implements TableDataWrapper {
|
|
|
|
|
private void setWorker() { |
|
|
|
|
worker = new SwingWorker<Void, Void>() { |
|
|
|
|
protected Void doInBackground() throws Exception { |
|
|
|
|
loadingBar.close(); |
|
|
|
|
PreviewTablePane.resetPreviewTable(); |
|
|
|
|
connectionBar.start(); |
|
|
|
|
boolean status = DataOperator.getInstance().testConnection(((StoreProcedure) getTableData()).getDatabaseConnection()); |
|
|
|
|
if (!status) { |
|
|
|
|
connectionBar.close(); |
|
|
|
|
// bug 61345 预览失败时,关闭窗口
|
|
|
|
|
dialog.setVisible(false); |
|
|
|
|
throw new Exception(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Database_Connection_Failed")); |
|
|
|
|
throw new Exception(Toolkit.i18nText("Fine-Design_Basic_Database_Connection_Failed")); |
|
|
|
|
} |
|
|
|
|
connectionBar.close(); |
|
|
|
|
storeProcedure.resetDataModelList(); |
|
|
|
@ -208,7 +186,6 @@ public final class StoreProcedureDataWrapper implements TableDataWrapper {
|
|
|
|
|
try { |
|
|
|
|
get(); |
|
|
|
|
loadingBar.close(); |
|
|
|
|
dialog.setVisible(false); |
|
|
|
|
switch (previewModel) { |
|
|
|
|
case StoreProcedureDataWrapper.PREVIEW_ALL: |
|
|
|
|
PreviewTablePane.previewStoreDataWithAllDs(dataModels); |
|
|
|
@ -228,10 +205,6 @@ public final class StoreProcedureDataWrapper implements TableDataWrapper {
|
|
|
|
|
}; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private BasicDialog getDialog() { |
|
|
|
|
return this.dialog; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private SwingWorker getWorker() { |
|
|
|
|
return this.worker; |
|
|
|
|
} |
|
|
|
@ -240,10 +213,10 @@ public final class StoreProcedureDataWrapper implements TableDataWrapper {
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 预览返回的一个数据集 |
|
|
|
|
* |
|
|
|
|
* |
|
|
|
|
* |
|
|
|
|
* @date 2014-12-3-下午7:42:53 |
|
|
|
|
* |
|
|
|
|
* |
|
|
|
|
*/ |
|
|
|
|
public void previewData() { |
|
|
|
|
previewData(-1, -1); |
|
|
|
@ -253,13 +226,13 @@ public final class StoreProcedureDataWrapper implements TableDataWrapper {
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 预览返回的一个数据集,带有显示值和实际值的标记结果 |
|
|
|
|
* |
|
|
|
|
* |
|
|
|
|
* @param keyIndex 实际值 |
|
|
|
|
* @param valueIndex 显示值 |
|
|
|
|
* |
|
|
|
|
* |
|
|
|
|
* |
|
|
|
|
* @date 2014-12-3-下午7:42:27 |
|
|
|
|
* |
|
|
|
|
* |
|
|
|
|
*/ |
|
|
|
|
public void previewData(final int keyIndex, final int valueIndex) { |
|
|
|
|
PreviewTablePane.previewStoreData(procedureDataModel, keyIndex, valueIndex); |
|
|
|
|