[10:30:14 CST(-0600)] <EricDalquist> so joda-time is amazing
[10:41:09 CST(-0600)] <EricDalquist> Arvids: did you get my notes about the transactional annotation?
[10:41:27 CST(-0600)] <EricDalquist> also I'd really like to figure out if we can get the varchar(max) stuff working on sqlserver
[10:41:33 CST(-0600)] <EricDalquist> though I'm not even sure where tos tart there
[10:42:38 CST(-0600)] <EricDalquist> so joda-time is amazing athena
[10:54:30 CST(-0600)] <EricDalquist> DateTime.now().minus(this.aggregationDelay).secondOfMinute().roundFloorCopy()
[10:54:49 CST(-0600)] <EricDalquist> aggregationDelay is: aggregationDelay = Period.seconds(30)
[10:55:54 CST(-0600)] <athena> oooh.
[10:55:54 CST(-0600)] <athena> wow
[10:56:05 CST(-0600)] <athena> yeah, i really need to get that into the calendar portlet
[10:56:10 CST(-0600)] <EricDalquist> .secondOfMinute().roundFloorCopy() truncates the returned values to the minute
[10:56:12 CST(-0600)] <athena> bet it would fix some of that awful logic
[10:56:16 CST(-0600)] <EricDalquist> so seconds and millis are set to 0
[10:56:18 CST(-0600)] <athena> nice!
[10:56:22 CST(-0600)] <athena> no more manual crap1
[10:56:25 CST(-0600)] <EricDalquist> yeah
[10:56:35 CST(-0600)] <EricDalquist> this simplified SO MUCH of the stats code
[10:56:46 CST(-0600)] <athena> nice!
[10:58:01 CST(-0600)] <EricDalquist> and the great thing is if aggregationDelay was something like Period.days(1);
[10:58:15 CST(-0600)] <EricDalquist> doing the minus automatically handles DST and all the other stuff
[10:58:20 CST(-0600)] <athena> nice
[10:58:21 CST(-0600)] <athena> yeah
[10:58:34 CST(-0600)] <EricDalquist> since the Period is tracked as "1 day" with no concept of an actual duration in millis
[10:58:46 CST(-0600)] <athena> that's awesome
[10:58:55 CST(-0600)] <EricDalquist> until it is applied to an object that has some concept of the millis timeline
[10:59:53 CST(-0600)] <athena> sounds like a really good library
[10:59:59 CST(-0600)] <EricDalquist> yeah
[11:00:06 CST(-0600)] <EricDalquist> jsr-310 is supposedly even better
[11:00:15 CST(-0600)] <EricDalquist> just have to wait for it
[11:00:26 CST(-0600)] <athena> waiting! boo!
[11:01:15 CST(-0600)] <EricDalquist>
[11:01:29 CST(-0600)] <EricDalquist> also it looks like spring supports jodatime
[11:01:41 CST(-0600)] <EricDalquist> so you can use it in the mvc layer for parameter types
[11:02:11 CST(-0600)] <athena> oh wow, really!?
[11:02:13 CST(-0600)] <athena> that's awesome
[11:26:00 CST(-0600)] <EricDalquist> glad we didn't use wurfl: http://yro.slashdot.org/story/12/01/09/169216/wurfl-founders-fire-off-dmca-takedown-against-fork
[11:30:45 CST(-0600)] <athena> ugh
[11:30:46 CST(-0600)] <athena> yeah.
[11:31:18 CST(-0600)] <athena> i'm not even sure how we'd use it with a restrictive license?
[11:31:26 CST(-0600)] <athena> paritcularly since their database isn't actually like, good.
[11:31:59 CST(-0600)] <EricDalquist> yeah
[11:33:42 CST(-0600)] <athena> ironically liferay just announced their new version, advertising that it's now using WURFL
[11:33:56 CST(-0600)] <EricDalquist> heh
[12:23:25 CST(-0600)] <dd> hello
[12:24:54 CST(-0600)] <EricDalquist> hi
[12:25:17 CST(-0600)] <dd> i am starting out with a clean install of uportal
[12:25:39 CST(-0600)] <dd> i am trying to get it to remove the cas bundled dependency
[12:25:52 CST(-0600)] <dd> following step3 here: https://wiki.jasig.org/display/UPM32/CAS
[12:26:22 CST(-0600)] <dd> but when i go to run ant initportal, it says it is missing artifacts
[12:26:23 CST(-0600)] <EricDalquist> ok
[12:26:23 CST(-0600)] <dd> 1) org.jasig.cas:cas-server-webapp:war:$
[12:26:28 CST(-0600)] <dd> 2) org.jasig.cas:cas-server-core:jar:$
[12:26:49 CST(-0600)] <EricDalquist> can you use pastebin and paste the last ~ 30 lines of your build output
[12:26:56 CST(-0600)] <dd> sure, one sec
[12:27:40 CST(-0600)] <dd> http://pastebin.com/wgpsParE
[12:30:32 CST(-0600)] <EricDalquist> weird
[12:30:37 CST(-0600)] <EricDalquist> looks like it is trying to build the cas overlay
[12:30:50 CST(-0600)] <EricDalquist> oh ... heh I think the ant stuff is doing that
[12:31:03 CST(-0600)] <dd> any way to stop it?
[12:31:05 CST(-0600)] <EricDalquist> just rm -Rf the cas directory under overlays
[12:31:39 CST(-0600)] <dd> ok
[12:31:45 CST(-0600)] <dd> do i need the cas-proxy-test-portlet?
[12:31:49 CST(-0600)] <dd> i had that commented out too
[12:32:26 CST(-0600)] <EricDalquist> no
[12:32:35 CST(-0600)] <EricDalquist> you can comment that out as well
[14:56:36 CST(-0600)] <EricDalquist> getting closer on aggregation ...
[14:56:56 CST(-0600)] <athena> ooo
[14:57:01 CST(-0600)] <EricDalquist> just testing the interval handling now
[14:57:06 CST(-0600)] <athena> yay!
[14:57:35 CST(-0600)] <EricDalquist> yay lock recovery works!
[14:57:35 CST(-0600)] <EricDalquist> WARN [uPortal-LockExecutor-4] Jan/09 14:56:32,197 locking.JpaClusterLockDao.[] - Unlocking abandoned ClusterMutex [id=2, name=org.jasig.portal.events.aggr.PortalEventAggregationManagerImpl.AGGREGATION_LOCK, locked=true, serverId=bohemia, lockStart=2012-01-09 14:50:44.721, lastUpdate=2012-01-09 14:50:58.835, lockEnd=2012-01-09 14:50:00.193]
[15:00:49 CST(-0600)] <athena> ooo
[15:01:17 CST(-0600)] <EricDalquist> yeah, we have have a service that lets you run things exclusively on one machine in one thread
[15:01:38 CST(-0600)] <EricDalquist> and it recovers automatically if a jvm dies, thread dies, etc
[15:01:52 CST(-0600)] <EricDalquist> kinda needed it for the aggregation stuff
[15:02:10 CST(-0600)] <athena> makes sense