forked from fanruan/demo-tabledata-redis
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
82 lines
3.4 KiB
82 lines
3.4 KiB
package com.fr.plugin.db.redis.ui.pool; |
|
|
|
import com.fanruan.api.design.DesignKit; |
|
import com.fanruan.api.design.ui.component.UICheckBox; |
|
import com.fanruan.api.design.ui.component.UIIntNumberField; |
|
import com.fanruan.api.design.ui.component.UILabel; |
|
import com.fanruan.api.design.ui.component.UINumberField; |
|
import com.fanruan.api.design.ui.container.BasicPane; |
|
import com.fanruan.api.design.ui.layout.TableLayoutKit; |
|
import com.fr.plugin.db.redis.core.pool.RedisConnectionPoolConfig; |
|
|
|
import javax.swing.*; |
|
import java.awt.*; |
|
|
|
/** |
|
* @author richie |
|
* @version 10.0 |
|
* Created by richie on 2019-03-21 |
|
*/ |
|
public class RedisConnectionPoolConfigPane extends BasicPane { |
|
|
|
private UIIntNumberField maxTotalNumberFiled; |
|
private UINumberField maxWaitNumberField; |
|
private UIIntNumberField maxIdleNumberField; |
|
private UICheckBox blockWhenExhaustedCheckBox; |
|
private UICheckBox lifoCheckBox; |
|
private UIIntNumberField timeoutNumberField; |
|
|
|
public RedisConnectionPoolConfigPane() { |
|
setLayout(new BorderLayout()); |
|
maxTotalNumberFiled = new UIIntNumberField(); |
|
maxWaitNumberField = new UINumberField(); |
|
maxWaitNumberField.setMinValue(-1); |
|
maxWaitNumberField.setMaxDecimalLength(0); |
|
|
|
maxIdleNumberField = new UIIntNumberField(); |
|
blockWhenExhaustedCheckBox = new UICheckBox(); |
|
blockWhenExhaustedCheckBox.setSelected(false); |
|
|
|
lifoCheckBox = new UICheckBox(); |
|
|
|
timeoutNumberField = new UIIntNumberField(); |
|
|
|
JComponent[][] comps = new JComponent[][]{ |
|
{new UILabel(DesignKit.i18nText("Plugin-Redis_Pool_Max_Total") + ":"), maxTotalNumberFiled}, |
|
{new UILabel(DesignKit.i18nText("Plugin-Redis_Pool_Max_Wait") + ":"), maxWaitNumberField}, |
|
{new UILabel(DesignKit.i18nText("Plugin-Redis_Pool_Max_Idle") + ":"), maxIdleNumberField}, |
|
{new UILabel(DesignKit.i18nText("Plugin-Redis_Pool_Block_When_Exhausted") + ":"), blockWhenExhaustedCheckBox}, |
|
{new UILabel(DesignKit.i18nText("Plugin-Redis_Pool_Lifo") + ":"), lifoCheckBox}, |
|
{new UILabel(DesignKit.i18nText("Plugin-Redis_Pool_Timeout") + ":"), timeoutNumberField} |
|
}; |
|
double p = TableLayoutKit.PREFERRED; |
|
double f = TableLayoutKit.FILL; |
|
|
|
double[] rowSize = new double[]{p, p, p, p, p, p}; |
|
double[] columnSize = new double[]{p, f}; |
|
add(TableLayoutKit.createTableLayoutPane(comps, rowSize, columnSize), BorderLayout.CENTER); |
|
} |
|
|
|
@Override |
|
protected String title4PopupWindow() { |
|
return DesignKit.i18nText("Plugin-Redis_Pool_Config"); |
|
} |
|
|
|
public void populate(RedisConnectionPoolConfig config) { |
|
maxTotalNumberFiled.setValue(config.getMaxTotal()); |
|
maxWaitNumberField.setValue(config.getMaxWait()); |
|
maxIdleNumberField.setValue(config.getMaxIdle()); |
|
blockWhenExhaustedCheckBox.setSelected(config.getBlockWhenExhausted()); |
|
lifoCheckBox.setSelected(config.getLifo()); |
|
timeoutNumberField.setValue(config.getTimeout()); |
|
} |
|
|
|
public void update(RedisConnectionPoolConfig config) { |
|
config.setMaxTotal((int) maxTotalNumberFiled.getValue()); |
|
config.setMaxWait((int) maxWaitNumberField.getValue()); |
|
config.setMaxIdle((int) maxIdleNumberField.getValue()); |
|
config.setBlockWhenExhausted(blockWhenExhaustedCheckBox.isSelected()); |
|
config.setLifo(lifoCheckBox.isSelected()); |
|
config.setTimeout((int) timeoutNumberField.getValue()); |
|
} |
|
}
|
|
|