diff --git a/org.tinygroup.tinyscript/src/test/resources/example/date.ts b/org.tinygroup.tinyscript/src/test/resources/example/date.ts index d4856b12e7017bac68d79dece1e1769672f85995..fd419cb147fc7f8f8e8d1c2114ac501fa6b5dd4c 100644 --- a/org.tinygroup.tinyscript/src/test/resources/example/date.ts +++ b/org.tinygroup.tinyscript/src/test/resources/example/date.ts @@ -8,8 +8,6 @@ println(dateName("WEEKDAY",date1)); println(datePart("WEEK",date1,"monday")); println(dateTrunc("WEEKDAY",date1)); println(day(date1)); -println(isDate("2017/11/30")); -println(isDate("2017/11/30","yyyy/MM/dd")); println(makeDate(2010,10,1)); println(makeDateTime(date2,time)); println(month(date1)); @@ -17,4 +15,5 @@ println(year(date1)); println(now()); println(today()); println(max(date1,date2)); -println(string(date1,"yyyy/MM/dd")); \ No newline at end of file +println(date1.string()); +println(date1.string("yyyy-MM-ss")); \ No newline at end of file diff --git a/org.tinygroup.tinyscriptbase/src/main/java/org/tinygroup/tinyscript/expression/TypeConvertUtil.java b/org.tinygroup.tinyscriptbase/src/main/java/org/tinygroup/tinyscript/expression/TypeConvertUtil.java index 18b08a555629e394b2221772733e34384da189d1..fac60693eb35a40c5a461dc2244245118ba797a7 100644 --- a/org.tinygroup.tinyscriptbase/src/main/java/org/tinygroup/tinyscript/expression/TypeConvertUtil.java +++ b/org.tinygroup.tinyscriptbase/src/main/java/org/tinygroup/tinyscript/expression/TypeConvertUtil.java @@ -29,7 +29,6 @@ public final class TypeConvertUtil { addTypeConvertProcessor(new FloatTypeConvertProcessor()); addTypeConvertProcessor(new DoubleTypeConvertProcessor()); addTypeConvertProcessor(new DateTypeConvertProcessor()); - addTypeConvertProcessor(new StringTypeConvertProcessor()); } /** diff --git a/org.tinygroup.tinyscriptbase/src/main/java/org/tinygroup/tinyscript/expression/typeconvert/StringTypeConvertProcessor.java b/org.tinygroup.tinyscriptbase/src/main/java/org/tinygroup/tinyscript/expression/typeconvert/StringTypeConvertProcessor.java deleted file mode 100644 index ea9019035e555586e718a66cde81dd20be918351..0000000000000000000000000000000000000000 --- a/org.tinygroup.tinyscriptbase/src/main/java/org/tinygroup/tinyscript/expression/typeconvert/StringTypeConvertProcessor.java +++ /dev/null @@ -1,27 +0,0 @@ -package org.tinygroup.tinyscript.expression.typeconvert; - -import java.util.Date; - -import org.tinygroup.tinyscript.expression.TypeConvertProcessor; -import org.tinygroup.tinyscript.function.date.DateUtil; - -public class StringTypeConvertProcessor implements TypeConvertProcessor { - - @Override - public String getName() { - return "string"; - } - - @Override - public Object convert(Object... parameters) throws Exception { - if (parameters != null) { - if (parameters.length == 1) { - return DateUtil.dateToString((Date) parameters[0], null); - } else if (parameters.length == 2) { - return DateUtil.dateToString((Date) parameters[0], (String) parameters[1]); - } - } - return null; - } - -} diff --git a/org.tinygroup.tinyscriptbase/src/main/java/org/tinygroup/tinyscript/function/date/IsDateFunction.java b/org.tinygroup.tinyscriptbase/src/main/java/org/tinygroup/tinyscript/function/date/DateToStringFunction.java similarity index 72% rename from org.tinygroup.tinyscriptbase/src/main/java/org/tinygroup/tinyscript/function/date/IsDateFunction.java rename to org.tinygroup.tinyscriptbase/src/main/java/org/tinygroup/tinyscript/function/date/DateToStringFunction.java index 56d4f067b1c5384a175f66a8b203df22726497d1..f147229865bda760e8dcb4fbbde98fc51a437f04 100644 --- a/org.tinygroup.tinyscriptbase/src/main/java/org/tinygroup/tinyscript/function/date/IsDateFunction.java +++ b/org.tinygroup.tinyscriptbase/src/main/java/org/tinygroup/tinyscript/function/date/DateToStringFunction.java @@ -1,6 +1,6 @@ package org.tinygroup.tinyscript.function.date; -import java.text.ParseException; +import java.util.Date; import org.tinygroup.tinyscript.ScriptContext; import org.tinygroup.tinyscript.ScriptException; @@ -9,11 +9,15 @@ import org.tinygroup.tinyscript.function.AbstractScriptFunction; import org.tinygroup.tinyscript.interpret.ResourceBundleUtil; import org.tinygroup.tinyscript.interpret.exception.NotMatchException; -public class IsDateFunction extends AbstractScriptFunction { +public class DateToStringFunction extends AbstractScriptFunction { @Override public String getNames() { - return "isDate"; + return "string"; + } + + public String getBindingTypes() { + return "java.util.Date"; } @Override @@ -22,21 +26,17 @@ public class IsDateFunction extends AbstractScriptFunction { if (parameters == null || parameters.length == 0) { throw new ScriptException(ResourceBundleUtil.getDefaultMessage("function.parameter.empty", getNames())); } else if (checkParameters(parameters, 1)) { - DateUtil.convertDateByString((String) parameters[0], null); - return true; + return DateUtil.dateToString((Date) parameters[0], null); } else if (checkParameters(parameters, 2)) { - DateUtil.convertDateByString((String) parameters[0], (String) parameters[1]); - return true; + return DateUtil.dateToString((Date) parameters[0], (String) parameters[1]); } else { throw new NotMatchException( ResourceBundleUtil.getDefaultMessage("function.parameter.error", getNames())); } - } catch (ParseException e) { - return false; } catch (ScriptException e) { throw e; } catch (Exception e) { - throw new ScriptException(ResourceBundleUtil.getDefaultMessage("function.run.error", getNames()), e); + throw new ScriptException(ResourceBundleUtil.getDefaultMessage("function.parameter.error", getNames()), e); } } diff --git a/org.tinygroup.tinyscriptbase/src/main/java/org/tinygroup/tinyscript/impl/DefaultScriptEngine.java b/org.tinygroup.tinyscriptbase/src/main/java/org/tinygroup/tinyscript/impl/DefaultScriptEngine.java index 0288d41c3b8fbacca8576d4f57e7705233d2cdd1..75e49138317d71979e57cae18b63792e3bc3da93 100644 --- a/org.tinygroup.tinyscriptbase/src/main/java/org/tinygroup/tinyscript/impl/DefaultScriptEngine.java +++ b/org.tinygroup.tinyscriptbase/src/main/java/org/tinygroup/tinyscript/impl/DefaultScriptEngine.java @@ -81,7 +81,6 @@ public class DefaultScriptEngine extends AbstractScriptEngine { addScriptFunction(new DatePartFunction()); addScriptFunction(new DateTruncFunction()); addScriptFunction(new DayFunction()); - addScriptFunction(new IsDateFunction()); addScriptFunction(new MakeDateFunction()); addScriptFunction(new MakeDateTime()); addScriptFunction(new MonthFunction()); @@ -90,6 +89,7 @@ public class DefaultScriptEngine extends AbstractScriptEngine { addScriptFunction(new YearFunction()); addScriptFunction(new EqualsDateFunction()); addScriptFunction(new DateDifferentFunction()); + addScriptFunction(new DateToStringFunction()); addScriptFunction(new TypeConvertFunction()); addScriptFunction(new EvalScriptFunction()); diff --git a/org.tinygroup.tinyscriptbase/src/test/java/org/tinygroup/tinyscript/DateTest.java b/org.tinygroup.tinyscriptbase/src/test/java/org/tinygroup/tinyscript/DateTest.java index c43315eeae93e441ab337dbce1ce61619cb4da78..5381596ba0cba094a431fd3c035e2717734c4977 100644 --- a/org.tinygroup.tinyscriptbase/src/test/java/org/tinygroup/tinyscript/DateTest.java +++ b/org.tinygroup.tinyscriptbase/src/test/java/org/tinygroup/tinyscript/DateTest.java @@ -51,7 +51,6 @@ public class DateTest extends TestCase { assertEquals("tuesday", scriptEngine.execute("return dateName(\"WEEKDAY\",date1);", context)); assertEquals(44, scriptEngine.execute("return datePart(\"WEEK\",date1,\"monday\");", context)); assertNotNull(scriptEngine.execute("return dateTrunc(\"WEEKDAY\",date1);", context)); - assertEquals(false, scriptEngine.execute("return isDate(\"2017/11/30\");")); }