Revision: 4471 http://vexi.svn.sourceforge.net/vexi/?rev=4471&view=rev Author: mkpg2 Date: 2013-01-10 11:51:41 +0000 (Thu, 10 Jan 2013) Log Message: ----------- Instant Type. Added method tryParseTimestamp().
Modified Paths: -------------- trunk/org.vexi-library.js/src/main/jpp/org/ibex/js/JSInstant.jpp trunk/org.vexi-library.value/src/main/java/org/vexi/value/Instant.java trunk/org.vexi-library.value/src/test/java/org/vexi/value/TestInstant.java trunk/org.vexi-library.value/src/test/java/org/vexi/value/TestRational.java Modified: trunk/org.vexi-library.js/src/main/jpp/org/ibex/js/JSInstant.jpp =================================================================== --- trunk/org.vexi-library.js/src/main/jpp/org/ibex/js/JSInstant.jpp 2013-01-08 11:03:44 UTC (rev 4470) +++ trunk/org.vexi-library.js/src/main/jpp/org/ibex/js/JSInstant.jpp 2013-01-10 11:51:41 UTC (rev 4471) @@ -36,21 +36,24 @@ return new JSInstant(new Instant()); case "compare": return METHOD; + case "tryParseTimestamp": + return METHOD; //#end return super.get(key); } public JS callMethod(JS this_, JS method, JS[] args) throws JSExn { - switch(args.length) { - case 2: { - //#switch(JSU.toString(method)) - case "compare": - JSInstant a = expectInstant(args,0); - JSInstant b = expectInstant(args,1); - return JSU.N(a.instant.compareTo(b.instant)); - //#end - } - } + //#switch(JSU.toString(method)) + case "tryParseTimestamp": + String s = JSU.toString(args[0]); + Instant i = Instant.tryParseTimestamp(s); + if(i==null) return null; + return new JSInstant(i); + case "compare": + JSInstant a = expectInstant(args,0); + JSInstant b = expectInstant(args,1); + return JSU.N(a.instant.compareTo(b.instant)); + //#end return super.callMethod(this_, method, args); } Modified: trunk/org.vexi-library.value/src/main/java/org/vexi/value/Instant.java =================================================================== --- trunk/org.vexi-library.value/src/main/java/org/vexi/value/Instant.java 2013-01-08 11:03:44 UTC (rev 4470) +++ trunk/org.vexi-library.value/src/main/java/org/vexi/value/Instant.java 2013-01-10 11:51:41 UTC (rev 4471) @@ -1,9 +1,19 @@ package org.vexi.value; +import java.sql.Timestamp; import java.util.Calendar; import java.util.TimeZone; public class Instant implements Comparable{ + static public Instant tryParseTimestamp(String s) { + try{ + Timestamp r = Timestamp.valueOf(s); + return new Instant(r.getTime()); + }catch(java.lang.IllegalArgumentException e){ + return null; + } + } + final private long value; public Instant(){ this(System.currentTimeMillis()); } public Instant(long value){ @@ -53,4 +63,5 @@ return 0; } + } Modified: trunk/org.vexi-library.value/src/test/java/org/vexi/value/TestInstant.java =================================================================== --- trunk/org.vexi-library.value/src/test/java/org/vexi/value/TestInstant.java 2013-01-08 11:03:44 UTC (rev 4470) +++ trunk/org.vexi-library.value/src/test/java/org/vexi/value/TestInstant.java 2013-01-10 11:51:41 UTC (rev 4471) @@ -6,12 +6,19 @@ public class TestInstant extends TestCase{ static Instant i0 = new Instant(0); static Instant i1 = new Instant(9999999999l); - + public void testFormat() throws ValueException { assertEquals("1970-01-01 01:00:00.0",i0.format()); assertEquals("1970-04-26 18:46:39.999",i1.format()); } + public void testParse() throws ValueException { + assertEquals(i0, Instant.tryParseTimestamp(i0.format())); + assertEquals(i1, Instant.tryParseTimestamp(i1.format())); + + assertEquals(null, Instant.tryParseTimestamp("xyz")); + } + public void testDiff() throws ValueException { assertEquals(9999999999l,i1.diff(i0)); } Modified: trunk/org.vexi-library.value/src/test/java/org/vexi/value/TestRational.java =================================================================== --- trunk/org.vexi-library.value/src/test/java/org/vexi/value/TestRational.java 2013-01-08 11:03:44 UTC (rev 4470) +++ trunk/org.vexi-library.value/src/test/java/org/vexi/value/TestRational.java 2013-01-10 11:51:41 UTC (rev 4471) @@ -15,6 +15,9 @@ assertEquals(Rational.tryParse(".0"), Rational.tryParse("0")); assertNull(Rational.tryParse("")); assertNull(Rational.tryParse(".")); + + assertEquals(Rational.tryParse("12"), Rational.valueOf(12)); + } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. ------------------------------------------------------------------------------ Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS, MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft MVPs and experts. ON SALE this month only -- learn more at: http://p.sf.net/sfu/learnmore_122712 _______________________________________________ Vexi-svn mailing list Vexi-svn@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/vexi-svn