diff --git a/bundles/org.jkiss.utils/src/org/jkiss/utils/CommonUtils.java b/bundles/org.jkiss.utils/src/org/jkiss/utils/CommonUtils.java index 8c5bb26878ca7840fbb516c4b400dea951aba713..230705a5e8058551216cb17f4ac2c9aa844995de 100644 --- a/bundles/org.jkiss.utils/src/org/jkiss/utils/CommonUtils.java +++ b/bundles/org.jkiss.utils/src/org/jkiss/utils/CommonUtils.java @@ -355,6 +355,15 @@ public class CommonUtils { return strValue; } + public static String[] splitWithDelimiter(String s, String delimiter) { + if (s == null) { + return null; + } + String delimiterReplacement = "DRDRDR"; //$NON-NLS-1$ + s = s.replace(delimiter, delimiterReplacement + delimiter); + return s.split(delimiterReplacement); + } + @NotNull public static List splitString(@Nullable String str, char delimiter) { if (CommonUtils.isEmpty(str)) { diff --git a/plugins/org.jkiss.dbeaver.ext.mockdata/plugin.xml b/plugins/org.jkiss.dbeaver.ext.mockdata/plugin.xml index 85feff7e698c8d2a7c0a65474f0fd7e2929c1da3..cb0fb52ca629089e39f881a8cb7eb097f7706cac 100644 --- a/plugins/org.jkiss.dbeaver.ext.mockdata/plugin.xml +++ b/plugins/org.jkiss.dbeaver.ext.mockdata/plugin.xml @@ -91,7 +91,7 @@ - + diff --git a/plugins/org.jkiss.dbeaver.ext.mockdata/src/org/jkiss/dbeaver/ext/mockdata/generator/AbstractMockValueGenerator.java b/plugins/org.jkiss.dbeaver.ext.mockdata/src/org/jkiss/dbeaver/ext/mockdata/generator/AbstractMockValueGenerator.java index c7fa96b4e2d74edd3d4ebadd47e945f81f57bc19..ed5b2aeaff1823bc49bdc281d62cb5e1875f9e6d 100644 --- a/plugins/org.jkiss.dbeaver.ext.mockdata/src/org/jkiss/dbeaver/ext/mockdata/generator/AbstractMockValueGenerator.java +++ b/plugins/org.jkiss.dbeaver.ext.mockdata/src/org/jkiss/dbeaver/ext/mockdata/generator/AbstractMockValueGenerator.java @@ -128,4 +128,39 @@ public abstract class AbstractMockValueGenerator implements MockValueGenerator { return column.getValueEnumeration(session, null, number); } + protected Boolean getBooleanProperty(Map properties, String propName) { + Object prop = properties.get(propName); + if (prop != null) { + if (prop instanceof Boolean) { + return (Boolean) prop; + } else { + return Boolean.valueOf(prop.toString()); + } + } + return null; + } + + protected Double getDoubleProperty(Map properties, String propName) { + Object prop = properties.get(propName); + if (prop != null) { + if (prop instanceof Double) { + return (Double) prop; + } else { + return Double.valueOf(prop.toString()); + } + } + return null; + } + + protected Long getLongProperty(Map properties, String propName) { + Object prop = properties.get(propName); + if (prop != null) { + if (prop instanceof Long) { + return (Long) prop; + } else { + return Long.valueOf(prop.toString()); + } + } + return null; + } } diff --git a/plugins/org.jkiss.dbeaver.ext.mockdata/src/org/jkiss/dbeaver/ext/mockdata/generator/NumericSequenceGenerator.java b/plugins/org.jkiss.dbeaver.ext.mockdata/src/org/jkiss/dbeaver/ext/mockdata/generator/NumericSequenceGenerator.java index a9fe12da9be90e936240e92b02c1dcd0f057ecdb..30d55ad31234e37c323b36c949e52c261acb5b2c 100644 --- a/plugins/org.jkiss.dbeaver.ext.mockdata/src/org/jkiss/dbeaver/ext/mockdata/generator/NumericSequenceGenerator.java +++ b/plugins/org.jkiss.dbeaver.ext.mockdata/src/org/jkiss/dbeaver/ext/mockdata/generator/NumericSequenceGenerator.java @@ -28,22 +28,22 @@ import java.util.Map; public class NumericSequenceGenerator extends AbstractMockValueGenerator { - private long start = 0; - private long step = 0; + private long start = 1; + private long step = 1; private boolean reverse = false; @Override public void init(DBSDataManipulator container, DBSAttributeBase attribute, Map properties) throws DBException { super.init(container, attribute, properties); - Long start = (Long) properties.get("start"); //$NON-NLS-1$ - if (start != null) { - this.start = start; + Long startProperty = getLongProperty(properties, "start"); //$NON-NLS-1$ + if (startProperty != null) { + this.start = startProperty; } - Long step = (Long) properties.get("step"); //$NON-NLS-1$ - if (step != null) { - this.step = step; + Long stepProperty = getLongProperty(properties, "step"); //$NON-NLS-1$ + if (stepProperty != null) { + this.step = stepProperty; } Boolean reverse = (Boolean) properties.get("reverse"); //$NON-NLS-1$