提交 107f7086 编写于 作者: J jurgen

Integer values verifier fix (use locale)

上级 0d06519e
......@@ -240,7 +240,7 @@ public class JDBCNumberValueHandler extends JDBCAbstractValueHandler {
case java.sql.Types.SMALLINT:
case java.sql.Types.TINYINT:
case java.sql.Types.BIT:
editor.addVerifyListener(UIUtils.getIntegerVerifyListener());
editor.addVerifyListener(UIUtils.getIntegerVerifyListener(locale));
break;
default:
editor.addVerifyListener(UIUtils.getNumberVerifyListener(locale));
......
......@@ -73,29 +73,27 @@ public class UIUtils {
static final Log log = LogFactory.getLog(UIUtils.class);
public static final char PARAGRAPH_CHAR = (char)182;
private static DecimalFormatSymbols DEFAULT_SYMBOLS = DecimalFormatSymbols.getInstance();
private static final VerifyListener INTEGER_VERIFY_LISTENER = new VerifyListener() {
@Override
public void verifyText(VerifyEvent e)
{
for (int i = 0; i < e.text.length(); i++) {
char ch = e.text.charAt(i);
if (!Character.isDigit(ch) &&
ch != DEFAULT_SYMBOLS.getMinusSign() &&
ch != DEFAULT_SYMBOLS.getGroupingSeparator())
{
e.doit = false;
return;
public static VerifyListener getIntegerVerifyListener(Locale locale)
{
final DecimalFormatSymbols symbols = DecimalFormatSymbols.getInstance(locale);
return new VerifyListener() {
@Override
public void verifyText(VerifyEvent e)
{
for (int i = 0; i < e.text.length(); i++) {
char ch = e.text.charAt(i);
if (!Character.isDigit(ch) &&
ch != symbols.getMinusSign() &&
ch != symbols.getGroupingSeparator())
{
e.doit = false;
return;
}
}
e.doit = true;
}
e.doit = true;
}
};
public static VerifyListener getIntegerVerifyListener()
{
return INTEGER_VERIFY_LISTENER;
};
}
public static VerifyListener getNumberVerifyListener(Locale locale)
......
......@@ -55,7 +55,7 @@ public class CustomNumberCellEditor extends TextCellEditor {
{
text.addVerifyListener(UIUtils.getNumberVerifyListener(Locale.getDefault()));
} else {
text.addVerifyListener(UIUtils.getIntegerVerifyListener());
text.addVerifyListener(UIUtils.getIntegerVerifyListener(Locale.getDefault()));
}
return text;
}
......
......@@ -69,9 +69,7 @@ import org.jkiss.utils.CommonUtils;
import java.lang.ref.SoftReference;
import java.lang.reflect.InvocationTargetException;
import java.text.MessageFormat;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.*;
import java.util.List;
/**
......@@ -787,7 +785,7 @@ public class DataSourceManagementToolbar implements DBPRegistryListener, DBPEven
}
//resultSetSize.setDigits(7);
resultSetSize.setLayoutData(gd);
resultSetSize.addVerifyListener(UIUtils.getIntegerVerifyListener());
resultSetSize.addVerifyListener(UIUtils.getIntegerVerifyListener(Locale.getDefault()));
resultSetSize.addFocusListener(new FocusListener() {
@Override
public void focusGained(FocusEvent e)
......
......@@ -36,6 +36,8 @@ import org.jkiss.dbeaver.ui.controls.ClientHomesSelector;
import org.jkiss.dbeaver.ui.dialogs.connection.ConnectionPageAdvanced;
import org.jkiss.utils.CommonUtils;
import java.util.Locale;
/**
* MySQLConnectionPage
*/
......@@ -134,7 +136,7 @@ public class MySQLConnectionPage extends ConnectionPageAdvanced
gd = new GridData(GridData.VERTICAL_ALIGN_BEGINNING);
gd.widthHint = 40;
portText.setLayoutData(gd);
portText.addVerifyListener(UIUtils.getIntegerVerifyListener());
portText.addVerifyListener(UIUtils.getIntegerVerifyListener(Locale.getDefault()));
portText.addModifyListener(textListener);
Label dbLabel = UIUtils.createControlLabel(addrGroup, MySQLMessages.dialog_connection_database);
......
......@@ -43,6 +43,7 @@ import org.jkiss.dbeaver.utils.ContentUtils;
import org.jkiss.utils.CommonUtils;
import java.io.File;
import java.util.Locale;
import java.util.Map;
/**
......@@ -196,7 +197,7 @@ public class OracleConnectionPage extends ConnectionPageAdvanced
gd = new GridData(GridData.VERTICAL_ALIGN_BEGINNING);
gd.widthHint = 40;
portText.setLayoutData(gd);
portText.addVerifyListener(UIUtils.getIntegerVerifyListener());
portText.addVerifyListener(UIUtils.getIntegerVerifyListener(Locale.getDefault()));
portText.addModifyListener(controlModifyListener);
UIUtils.createControlLabel(targetContainer, OracleMessages.dialog_connection_database);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册