|
|
|
package com.fr.plugin.db.redis.ui;
|
|
|
|
|
|
|
|
import com.fanruan.api.data.ConnectionKit;
|
|
|
|
import com.fanruan.api.util.StringKit;
|
|
|
|
import com.fr.plugin.db.redis.core.RedisScriptTableData;
|
|
|
|
import com.fr.plugin.db.redis.core.order.OrderValue;
|
|
|
|
import com.fr.script.Calculator;
|
|
|
|
import com.fr.stable.ParameterProvider;
|
|
|
|
|
|
|
|
import javax.swing.*;
|
|
|
|
import java.util.List;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @author richie
|
|
|
|
* @version 10.0
|
|
|
|
* Created by richie on 2019-03-18
|
|
|
|
*/
|
|
|
|
public class RedisScriptTableDataPane extends RedisBaseTableDataPane<RedisScriptTableData> {
|
|
|
|
|
|
|
|
private RedisScriptPane scriptPane;
|
|
|
|
|
|
|
|
public RedisScriptTableDataPane() {
|
|
|
|
super();
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
protected JComponent createQueryPane() {
|
|
|
|
if (scriptPane == null) {
|
|
|
|
scriptPane = new RedisScriptPane();
|
|
|
|
}
|
|
|
|
return scriptPane;
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
protected String[] paramTexts() {
|
|
|
|
return new String[] {scriptPane.getScript()};
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public OrderValue getOrderValue() {
|
|
|
|
return scriptPane.getOrderValue();
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void populateBean(RedisScriptTableData tableData) {
|
|
|
|
if (tableData == null) {
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
Calculator c = Calculator.createCalculator();
|
|
|
|
|
|
|
|
editorPane.populate(tableData.getParameters(c));
|
|
|
|
|
|
|
|
chosePane.populateConnection(tableData.getDatabase());
|
|
|
|
|
|
|
|
scriptPane.setScript(tableData.getScript());
|
|
|
|
|
|
|
|
scriptPane.setOrderValue(tableData.getOrderValue());
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public RedisScriptTableData updateBean() {
|
|
|
|
RedisScriptTableData tableData = new RedisScriptTableData();
|
|
|
|
String connectionName = chosePane.getSelectRedisConnectionName();
|
|
|
|
if (StringKit.isNotEmpty(connectionName)) {
|
|
|
|
tableData.setDatabase(ConnectionKit.createNameConnection(connectionName));
|
|
|
|
}
|
|
|
|
List<ParameterProvider> parameterList = editorPane.update();
|
|
|
|
ParameterProvider[] parameters = parameterList.toArray(new ParameterProvider[parameterList.size()]);
|
|
|
|
tableData.setParameters(parameters);
|
|
|
|
|
|
|
|
tableData.setScript(scriptPane.getScript());
|
|
|
|
tableData.setOrderValue(scriptPane.getOrderValue());
|
|
|
|
|
|
|
|
return tableData;
|
|
|
|
}
|
|
|
|
}
|