|
|
|
@ -65,24 +65,25 @@ public final class StoreProcedureDataWrapper implements TableDataWrapper {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* @param: component loadingBar的父弹框(如果不设置父弹框的话,可能出现loadingBar隐藏在一个弹框后的情况) |
|
|
|
|
* @param: storeProcedure 存储过程 |
|
|
|
|
* @param: storeprocedureName 存储过程的名字(某些情况下可以为空) |
|
|
|
|
* @param: dsName 存储过程一个返回数据集的名字 |
|
|
|
|
* @param: needLoad 是否要加载 |
|
|
|
|
* @param component loadingBar的父弹框(如果不设置父弹框的话,可能出现loadingBar隐藏在一个弹框后的情况) |
|
|
|
|
* @param storeProcedure 存储过程 |
|
|
|
|
* @param storeprocedureName 存储过程的名字(某些情况下可以为空) |
|
|
|
|
* @param dsName 存储过程一个返回数据集的名字 |
|
|
|
|
* @param needLoad 是否要加载 |
|
|
|
|
**/ |
|
|
|
|
public StoreProcedureDataWrapper(Component component, StoreProcedure storeProcedure, String storeprocedureName, String dsName, boolean needLoad) { |
|
|
|
|
this.dsName = dsName; |
|
|
|
|
this.storeProcedure = storeProcedure; |
|
|
|
|
this.storeProcedure.setCalculating(false); |
|
|
|
|
this.storeprocedureName = storeprocedureName; |
|
|
|
|
if (needLoad) { |
|
|
|
|
setWorker(); |
|
|
|
|
} |
|
|
|
|
if (component == null) { |
|
|
|
|
component = new JFrame(); |
|
|
|
|
} |
|
|
|
|
if (needLoad) { |
|
|
|
|
setWorker(component); |
|
|
|
|
} |
|
|
|
|
loadingBar = new AutoProgressBar(component, Toolkit.i18nText("Fine-Design_Basic_Loading_Data"), "", 0, 100) { |
|
|
|
|
@Override |
|
|
|
|
public void doMonitorCanceled() { |
|
|
|
|
getWorker().cancel(true); |
|
|
|
|
} |
|
|
|
@ -93,16 +94,17 @@ public final class StoreProcedureDataWrapper implements TableDataWrapper {
|
|
|
|
|
* 数据集执行结果返回的所有字段 |
|
|
|
|
* |
|
|
|
|
* @return 数据集执行结果返回的所有字段 |
|
|
|
|
* |
|
|
|
|
* |
|
|
|
|
* @date 2014-12-3-下午7:43:17 |
|
|
|
|
* |
|
|
|
|
*/ |
|
|
|
|
* @date 2014-12-3-下午7:43:17 |
|
|
|
|
*/ |
|
|
|
|
@Override |
|
|
|
|
public List<String> calculateColumnNameList() { |
|
|
|
|
if (columnNameList != null) { |
|
|
|
|
return columnNameList; |
|
|
|
|
} |
|
|
|
|
if (!createStore(false)) { |
|
|
|
|
|
|
|
|
|
try { |
|
|
|
|
createStore(false); |
|
|
|
|
} catch (Exception e) { |
|
|
|
|
FineJOptionPane.showMessageDialog(DesignerContext.getDesignerFrame(), Toolkit.i18nText("Fine-Design_Basic_Engine_No_TableData")); |
|
|
|
|
return new ArrayList<String>(); |
|
|
|
|
} |
|
|
|
@ -114,11 +116,9 @@ public final class StoreProcedureDataWrapper implements TableDataWrapper {
|
|
|
|
|
* 生成子节点 |
|
|
|
|
* |
|
|
|
|
* @return 节点数组 |
|
|
|
|
* |
|
|
|
|
* |
|
|
|
|
* @date 2014-12-3-下午7:06:47 |
|
|
|
|
* |
|
|
|
|
*/ |
|
|
|
|
* @date 2014-12-3-下午7:06:47 |
|
|
|
|
*/ |
|
|
|
|
@Override |
|
|
|
|
public ExpandMutableTreeNode[] load() { |
|
|
|
|
List<String> namelist; |
|
|
|
|
if (storeProcedure.isCalculating()) { |
|
|
|
@ -134,23 +134,16 @@ public final class StoreProcedureDataWrapper implements TableDataWrapper {
|
|
|
|
|
return res; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private boolean createStore(boolean needLoadingBar) { |
|
|
|
|
try { |
|
|
|
|
dataModels = DesignTableDataManager.createLazyDataModel(storeProcedure, needLoadingBar); |
|
|
|
|
if (dataModels == null || dataModels.length == 0) { |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
for (int i = 0; i < dataModels.length; i++) { |
|
|
|
|
if (ComparatorUtils.equals(this.dsName, storeprocedureName + "_" + dataModels[i].getName())) { |
|
|
|
|
procedureDataModel = dataModels[i]; |
|
|
|
|
private void createStore(boolean needLoadingBar) throws Exception { |
|
|
|
|
dataModels = DesignTableDataManager.createLazyDataModel(storeProcedure, needLoadingBar); |
|
|
|
|
if (dataModels != null && dataModels.length != 0) { |
|
|
|
|
for (ProcedureDataModel dataModel : dataModels) { |
|
|
|
|
if (ComparatorUtils.equals(this.dsName, storeprocedureName + "_" + dataModel.getName())) { |
|
|
|
|
procedureDataModel = dataModel; |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
return true; |
|
|
|
|
} catch (Exception e) { |
|
|
|
|
FineLoggerFactory.getLogger().error(e.getMessage(), e); |
|
|
|
|
} |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
@ -159,17 +152,15 @@ public final class StoreProcedureDataWrapper implements TableDataWrapper {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 预览数据 |
|
|
|
|
* |
|
|
|
|
* @param previewModel 预览模式, 全部还是一个 |
|
|
|
|
* |
|
|
|
|
* |
|
|
|
|
* @date 2014-12-3-下午7:05:50 |
|
|
|
|
* |
|
|
|
|
*/ |
|
|
|
|
* 预览数据 |
|
|
|
|
* |
|
|
|
|
* @param previewModel 预览模式, 全部还是一个 |
|
|
|
|
* @date 2014-12-3-下午7:05:50 |
|
|
|
|
*/ |
|
|
|
|
public void previewData(final int previewModel) { |
|
|
|
|
this.previewModel = previewModel; |
|
|
|
|
connectionBar = new AutoProgressBar(new JFrame(), Toolkit.i18nText("Fine-Design_Basic_Utils_Now_Create_Connection"), "", 0, 100) { |
|
|
|
|
@Override |
|
|
|
|
public void doMonitorCanceled() { |
|
|
|
|
connectionBar.close(); |
|
|
|
|
worker.cancel(true); |
|
|
|
@ -178,8 +169,9 @@ public final class StoreProcedureDataWrapper implements TableDataWrapper {
|
|
|
|
|
worker.execute(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private void setWorker() { |
|
|
|
|
private void setWorker(final Component parent) { |
|
|
|
|
worker = new SwingWorker<Void, Void>() { |
|
|
|
|
@Override |
|
|
|
|
protected Void doInBackground() throws Exception { |
|
|
|
|
loadingBar.close(); |
|
|
|
|
PreviewTablePane.resetPreviewTable(); |
|
|
|
@ -195,6 +187,7 @@ public final class StoreProcedureDataWrapper implements TableDataWrapper {
|
|
|
|
|
return null; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public void done() { |
|
|
|
|
try { |
|
|
|
|
get(); |
|
|
|
@ -206,13 +199,15 @@ public final class StoreProcedureDataWrapper implements TableDataWrapper {
|
|
|
|
|
case StoreProcedureDataWrapper.PREVIEW_ONE: |
|
|
|
|
previewData(); |
|
|
|
|
break; |
|
|
|
|
default: |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
} catch (Exception e) { |
|
|
|
|
loadingBar.close(); |
|
|
|
|
if (!(e instanceof CancellationException)) { |
|
|
|
|
FineLoggerFactory.getLogger().error(e.getMessage(), e); |
|
|
|
|
FineJOptionPane.showMessageDialog(DesignerContext.getDesignerFrame(), e.getMessage()); |
|
|
|
|
FineJOptionPane.showMessageDialog(parent, e.getMessage()); |
|
|
|
|
} |
|
|
|
|
loadingBar.close(); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
}; |
|
|
|
@ -227,10 +222,9 @@ public final class StoreProcedureDataWrapper implements TableDataWrapper {
|
|
|
|
|
/** |
|
|
|
|
* 预览返回的一个数据集 |
|
|
|
|
* |
|
|
|
|
* |
|
|
|
|
* @date 2014-12-3-下午7:42:53 |
|
|
|
|
* |
|
|
|
|
*/ |
|
|
|
|
* @date 2014-12-3-下午7:42:53 |
|
|
|
|
*/ |
|
|
|
|
@Override |
|
|
|
|
public void previewData() { |
|
|
|
|
previewData(-1, -1); |
|
|
|
|
} |
|
|
|
@ -240,13 +234,11 @@ public final class StoreProcedureDataWrapper implements TableDataWrapper {
|
|
|
|
|
/** |
|
|
|
|
* 预览返回的一个数据集,带有显示值和实际值的标记结果 |
|
|
|
|
* |
|
|
|
|
* @param keyIndex 实际值 |
|
|
|
|
* @param valueIndex 显示值 |
|
|
|
|
* |
|
|
|
|
* |
|
|
|
|
* @date 2014-12-3-下午7:42:27 |
|
|
|
|
* |
|
|
|
|
*/ |
|
|
|
|
* @param keyIndex 实际值 |
|
|
|
|
* @param valueIndex 显示值 |
|
|
|
|
* @date 2014-12-3-下午7:42:27 |
|
|
|
|
*/ |
|
|
|
|
@Override |
|
|
|
|
public void previewData(final int keyIndex, final int valueIndex) { |
|
|
|
|
PreviewTablePane.previewStoreData(procedureDataModel, keyIndex, valueIndex); |
|
|
|
|
} |
|
|
|
@ -257,7 +249,9 @@ public final class StoreProcedureDataWrapper implements TableDataWrapper {
|
|
|
|
|
*/ |
|
|
|
|
public void previewAllTable() { |
|
|
|
|
if (procedureDataModel == null) { |
|
|
|
|
if (!createStore(true)) { |
|
|
|
|
try { |
|
|
|
|
createStore(true); |
|
|
|
|
} catch (Exception e) { |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
@ -269,6 +263,7 @@ public final class StoreProcedureDataWrapper implements TableDataWrapper {
|
|
|
|
|
return dsName; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public TableData getTableData() { |
|
|
|
|
return storeProcedure; |
|
|
|
|
} |
|
|
|
@ -282,10 +277,12 @@ public final class StoreProcedureDataWrapper implements TableDataWrapper {
|
|
|
|
|
* |
|
|
|
|
* @return 是否异常 |
|
|
|
|
*/ |
|
|
|
|
@Override |
|
|
|
|
public boolean isUnusual() { |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public boolean equals(Object obj) { |
|
|
|
|
return obj instanceof StoreProcedureDataWrapper |
|
|
|
|
&& ComparatorUtils.equals(this.dsName, ((StoreProcedureDataWrapper) obj).getTableDataName()) |
|
|
|
|