Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 79 Next »

[10:52:46 CDT(-0500)] <EricDalquist> welcome back athena, how was the vacation?
[10:52:58 CDT(-0500)] <athena> thanks, and it was awesome (smile)
[10:53:01 CDT(-0500)] <athena> had a really great time
[10:53:10 CDT(-0500)] <athena> although mice got into the trunk and ate some of our food
[10:53:22 CDT(-0500)] <athena> spent so much time worrying about bears and stuff that that never occurred to me
[10:53:27 CDT(-0500)] <EricDalquist> lol
[10:53:43 CDT(-0500)] <athena> yeah, turns out they really like marshmallows (tongue)
[10:54:10 CDT(-0500)] <EricDalquist> hah, yeah thats not too surprising
[10:55:15 CDT(-0500)] <holdorph> i really like marshmallows too. I'm not sure if that says something about me or not
[12:01:28 CDT(-0500)] <athena> as far as i can tell, it means that holdorph must be a mouse? (smile)
[12:01:37 CDT(-0500)] <EricDalquist> lol
[12:01:46 CDT(-0500)] <athena> they got into the marshmallows, nibbled the plastic on the chocolate, and ignored the graham crackers
[12:01:54 CDT(-0500)] <athena> apparently they have yet to discover the bliss that is s'mores
[12:02:06 CDT(-0500)] <athena> so wow, uportal got shiny while i was gone
[12:02:20 CDT(-0500)] <athena> i like the new header thingy
[12:02:22 CDT(-0500)] <EricDalquist> yeah it looks like gary did some neat work
[12:02:40 CDT(-0500)] <EricDalquist> I'm about 1/2 way done with the new rendering pipeline
[12:02:50 CDT(-0500)] <EricDalquist> its actually going easier than I expected (so far)
[12:03:36 CDT(-0500)] <athena> very nice!
[12:03:42 CDT(-0500)] <athena> saw that there were a lot of updates
[12:03:56 CDT(-0500)] <athena> yeah, gary must have done that skin update thurs/fri
[12:04:10 CDT(-0500)] <athena> he cleaned up some stuff in the add content interface too
[12:04:14 CDT(-0500)] <athena> have you played with that much yet/
[12:04:22 CDT(-0500)] <EricDalquist> I think I'm up through the theme transform ... working on the portlet incorporation filter now
[12:04:30 CDT(-0500)] <EricDalquist> a little
[12:04:45 CDT(-0500)] <EricDalquist> after the coop dev conference Jim was in my office saying 'I want that'
[12:04:51 CDT(-0500)] <EricDalquist> it is really nice
[12:05:42 CDT(-0500)] <athena> that's awesome (smile)
[12:05:49 CDT(-0500)] <athena> gary just told me they demo'd it
[12:05:51 CDT(-0500)] <athena> wish i'd been there!
[12:05:55 CDT(-0500)] <athena> (well, sort of)
[12:06:02 CDT(-0500)] <EricDalquist> it is such a nice UI
[12:06:11 CDT(-0500)] <athena> yeah, they've done a really nice job with it
[12:06:15 CDT(-0500)] <athena> i'm excited
[12:06:19 CDT(-0500)] <athena> looking shiny
[12:06:38 CDT(-0500)] <athena> we still need to do some js refactoring, but the backend is better too
[12:07:34 CDT(-0500)] <EricDalquist> great
[12:07:38 CDT(-0500)] <EricDalquist> I haven't really looked in a while
[12:08:01 CDT(-0500)] <EricDalquist> is it all getting moved into spring annotated controllers on the backend?
[12:08:18 CDT(-0500)] <athena> what does RDBMActiveConnectionCount report? is that really just the number of active database connections?
[12:08:25 CDT(-0500)] <athena> oh, i meant javascript backend
[12:08:34 CDT(-0500)] <athena> but yes, we should eventually move everything to spring annotated controllers
[12:08:47 CDT(-0500)] <EricDalquist> where is RDBMActiveConnectionCount?
[12:08:48 CDT(-0500)] <athena> i can't really do that now as part of the BYU work, since they're planning to use this w/ 3.2
[12:08:54 CDT(-0500)] <EricDalquist> yeah
[12:08:59 CDT(-0500)] <athena> we'll be backporting for them
[12:09:30 CDT(-0500)] <athena> i think RDBMActiveConnectionCount is one of the properties visible in JMX
[12:09:54 CDT(-0500)] <EricDalquist> ah
[12:09:54 CDT(-0500)] <EricDalquist> yeah
[12:10:03 CDT(-0500)] <EricDalquist> it tracks active connections made through RDBMServices
[12:10:10 CDT(-0500)] <EricDalquist> which doesn't include anything hibernate based
[12:10:18 CDT(-0500)] <athena> ah, interesting
[12:10:38 CDT(-0500)] <athena> is there something that would cause that to be much bigger than the MaxActive number reported for the database pool?
[12:11:18 CDT(-0500)] <EricDalquist> a bug in the code that tracks it?
[12:11:29 CDT(-0500)] <EricDalquist> or a leak that the pool is cleaning up after
[12:11:52 CDT(-0500)] <EricDalquist> oh I did some PortalSpELService work too
[12:11:56 CDT(-0500)] <EricDalquist> the image portlet is now using it
[12:12:00 CDT(-0500)] <athena> ok, just wanted to make sure you didn't know of anything offhand
[12:12:02 CDT(-0500)] <athena> oh yay (smile)
[12:12:04 CDT(-0500)] <EricDalquist> and added Expression parsing and caching: https://developer.jasig.org/source/browse/jasigsvn/uPortal/trunk/uportal-war/src/main/java/org/jasig/portal/spring/spel/PortalSpELServiceImpl.java?r=HEAD
[12:12:17 CDT(-0500)] <EricDalquist> also just emailed the dev list about being able to autowire Ehcache instances now
[12:12:27 CDT(-0500)] <athena> oh nice (smile)
[12:12:34 CDT(-0500)] <EricDalquist> need to finish some docs on a new resource loading service too for files
[12:12:44 CDT(-0500)] <athena> for files?
[12:12:46 CDT(-0500)] <EricDalquist> lets you load a file and parse it with a callback
[12:12:52 CDT(-0500)] <EricDalquist> then the service caches it until the file changes
[12:12:54 CDT(-0500)] <athena> interesting
[12:13:05 CDT(-0500)] <EricDalquist> https://developer.jasig.org/source/changelog/jasigsvn/uPortal?cs=21562
[12:13:27 CDT(-0500)] <EricDalquist> so the one place it is being used right now is in the new rendering pipeline for XSLT
[12:14:24 CDT(-0500)] <EricDalquist> the pipeline asks the service for the Templates object every time it needs it
[12:15:04 CDT(-0500)] <EricDalquist> and if the underlying Resource's lastModified stamp has changed the service will re-read the file and use the provided ResourceBuilder to compile it into the right type of object and cache that
[12:15:20 CDT(-0500)] <EricDalquist> so that should let us have essentially load-once caching in normal usage
[12:15:36 CDT(-0500)] <EricDalquist> but if someone needs to change a file it will re-load
[12:17:40 CDT(-0500)] <EricDalquist> working on documenting it here: https://wiki.jasig.org/display/UPC/Caching+Resource+Loader
[12:18:01 CDT(-0500)] <EricDalquist> hopefully it will be useful for other files uPortal needs to read in
[12:22:37 CDT(-0500)] <athena> that's pretty cool (smile)
[12:22:39 CDT(-0500)] <athena> i like it
[12:23:11 CDT(-0500)] <EricDalquist> figure we can do things like eventually load portal.properties through it too
[12:23:28 CDT(-0500)] <athena> yeah, definitely
[12:29:59 CDT(-0500)] <athena> gary had looked at a couple options for accessing admin functions too
[12:30:16 CDT(-0500)] <athena> dunno if he mentioned that at the coop support call
[12:30:51 CDT(-0500)] <athena> i think one was a drop-down menu from the top of header, and another was just a portlet
[12:31:00 CDT(-0500)] <EricDalquist> sounds neat
[12:31:12 CDT(-0500)] <athena> and there was a potential option to show a special navigation menu above an admin-y portlet
[12:31:21 CDT(-0500)] <athena> i think for me personally i'd love a drop-down menu on every single page
[12:31:30 CDT(-0500)] <athena> but then again, i don't actually use uportal as a real admin
[12:37:19 CDT(-0500)] <EricDalquist> hrm ... cas:casclient:pom:2.2.0-M3 may have gotten lost in the maven migration shuffel
[12:40:12 CDT(-0500)] <athena> hm
[12:40:22 CDT(-0500)] <athena> is that the cas client we actually want?
[12:40:31 CDT(-0500)] <EricDalquist> for 3.1-patches yes
[12:40:37 CDT(-0500)] <EricDalquist> I'm trying something there
[12:40:40 CDT(-0500)] <EricDalquist> and I have a clean repo
[12:40:59 CDT(-0500)] <EricDalquist> luckily I think we still have backups of the old repositories
[12:42:02 CDT(-0500)] <EricDalquist> oh and did you see the error Chris emailed about on the dev list?
[12:42:08 CDT(-0500)] <EricDalquist> some sort of FK issue?
[12:43:23 CDT(-0500)] <athena> saw his email
[12:43:35 CDT(-0500)] <athena> i just run with either hsql or postgres, so i haven't seen the issue
[12:44:52 CDT(-0500)] <EricDalquist> yeah
[12:44:59 CDT(-0500)] * athena hates mysql
[12:45:00 CDT(-0500)] <EricDalquist> same here
[12:45:01 CDT(-0500)] <EricDalquist> yup
[12:45:04 CDT(-0500)] <athena> (tongue)
[12:45:10 CDT(-0500)] <athena> but no good if it doesn't build
[12:45:21 CDT(-0500)] <athena> definitely want to enable him to help
[12:45:30 CDT(-0500)] <athena> working on setting up a new test instance of grouper 1.6 now actually
[12:45:34 CDT(-0500)] <athena> he's sent me a few patches
[12:45:43 CDT(-0500)] <EricDalquist> restored: http://developer.jasig.org/repo/content/repositories/3rd-party/cas/casclient/
[12:45:57 CDT(-0500)] <athena> yay
[12:46:09 CDT(-0500)] <athena> what used that version?
[12:46:14 CDT(-0500)] <EricDalquist> oh wait ... duh http://developer.jasig.org/repo/content/repositories/m2/cas/casclient/
[12:46:21 CDT(-0500)] <EricDalquist> I had accidentaly removed the repo
[12:46:22 CDT(-0500)] <EricDalquist> oops
[12:46:23 CDT(-0500)] <EricDalquist> oh well
[12:46:25 CDT(-0500)] <athena> oh
[12:46:27 CDT(-0500)] <athena> lol
[12:46:28 CDT(-0500)] <EricDalquist> uPortal 3.0 and 3.1
[12:46:30 CDT(-0500)] <athena> won't hurt anything (smile)
[12:46:31 CDT(-0500)] <EricDalquist> both use it
[12:46:33 CDT(-0500)] <EricDalquist> nope
[12:46:35 CDT(-0500)] <athena> gotcha
[12:46:58 CDT(-0500)] <athena> i'd thought they used a yale version
[12:46:59 CDT(-0500)] <EricDalquist> that is the yale version
[12:47:02 CDT(-0500)] <athena> oh!
[12:47:08 CDT(-0500)] <EricDalquist> http://code.google.com/p/legacy-java-cas-client/
[12:47:15 CDT(-0500)] <EricDalquist> its that
[12:47:18 CDT(-0500)] <EricDalquist> I think
[12:47:24 CDT(-0500)] <athena> i'd forgotten about those milestone releases
[12:47:36 CDT(-0500)] <athena> i think apetro added some patches to the old 2.1.12 or whatever
[12:49:00 CDT(-0500)] <EricDalquist> yeah some of the changes were to allow the 'insecure mode' that uPortal uses in the quickstart
[12:49:05 CDT(-0500)] <EricDalquist> so we don't require ssl
[12:49:36 CDT(-0500)] <athena> yeah
[12:50:14 CDT(-0500)] <EricDalquist> hrm, from Chris' error it almost sounds like there is a circular FK reference
[12:51:06 CDT(-0500)] <athena> ick
[12:54:20 CDT(-0500)] <EricDalquist> lfuller: the patch for UP-2804 doesn't apply cleanly against 3.1-patches :/
[13:01:22 CDT(-0500)] <lfuller> ?
[13:01:31 CDT(-0500)] <lfuller> just got back...
[13:01:37 CDT(-0500)] <EricDalquist> I grabbed the patch attached to 2804
[13:01:52 CDT(-0500)] <EricDalquist> tried applying it to the current 3.1-patches code
[13:01:55 CDT(-0500)] <lfuller> I did an svn update and a diff, that showed now changes. Then I made mine
[13:02:08 CDT(-0500)] <EricDalquist> both modified files show conflicts ...
[13:02:11 CDT(-0500)] <lfuller> yeah... 3.1-patches is what I used as a basis
[13:02:14 CDT(-0500)] <EricDalquist> hrm
[13:02:24 CDT(-0500)] <lfuller> can try it again. not sure where I went wrong though
[13:02:32 CDT(-0500)] <lfuller> any chance you could show me what the conflicts were?
[13:02:55 CDT(-0500)] <EricDalquist> ahhh just realized it
[13:03:02 CDT(-0500)] <EricDalquist> the patch is rooted at uportal-war
[13:03:05 CDT(-0500)] <EricDalquist> not the project
[13:03:06 CDT(-0500)] <EricDalquist> oops
[13:03:11 CDT(-0500)] <lfuller> ?
[13:03:14 CDT(-0500)] <EricDalquist> I'll just change where I apply it
[13:03:21 CDT(-0500)] <EricDalquist> https://issues.jasig.org/secure/attachment/11669/uPortal-rel-3-1_perf_patch_20100830.txt
[13:03:25 CDT(-0500)] <EricDalquist> Index: src/main/java/org/jasig/portal/portlet/registry/InterimPortletEntityImpl.java
[13:03:37 CDT(-0500)] <EricDalquist> that would actually be under uportal-impl (sorry misstyped -war earlier)
[13:03:52 CDT(-0500)] <lfuller> am not used to using the patch feature. Which is why I asked what level I should apply it at.
[13:04:21 CDT(-0500)] <EricDalquist> how do you have uPortal checked out?
[13:04:24 CDT(-0500)] <lfuller> so my mistake was having uportal-impl highlighted when I chose to use the create patch util?
[13:04:40 CDT(-0500)] <lfuller> I have the entire thing checked out and used the import mvn utility.
[13:04:45 CDT(-0500)] <EricDalquist> yeah, just select the top level project folder
[13:04:50 CDT(-0500)] <lfuller> which gives me a ton of projects under a parent project.
[13:04:53 CDT(-0500)] <lfuller> ok
[13:04:56 CDT(-0500)] <EricDalquist> ah
[13:05:00 CDT(-0500)] <lfuller> I'll recreate the patch then.
[13:05:01 CDT(-0500)] <lfuller> sorry.
[13:05:03 CDT(-0500)] <EricDalquist> no problem
[13:05:05 CDT(-0500)] <EricDalquist> thats ok
[13:05:07 CDT(-0500)] <EricDalquist> you don't need to
[13:05:12 CDT(-0500)] <EricDalquist> I can apply this just as easily
[13:05:20 CDT(-0500)] <EricDalquist> I just need to apply it to the right location
[13:05:44 CDT(-0500)] <lfuller> was planning on making a set of patches for the other main branches as well as trunk once you got a look at it.
[13:05:48 CDT(-0500)] <EricDalquist> applied
[13:06:55 CDT(-0500)] <EricDalquist> are you fine with me just listing thoughts on the patch here?
[13:07:30 CDT(-0500)] <lfuller> sure... or in an email, or whatever is most convenient.
[13:07:56 CDT(-0500)] <EricDalquist> sounds good
[13:09:17 CDT(-0500)] <EricDalquist> athena: yeah for some reason hibernate is generating a circular FK constraint: alter table UP_PERMISSION_ACTIVITY add constraint FK120337DBFB98B773 foreign key (ACTIVITY_ID) references UP_PERMISSION_ACTIVITY
[13:09:22 CDT(-0500)] <EricDalquist> which is really weird
[13:09:24 CDT(-0500)] <athena> ick
[13:09:30 CDT(-0500)] <EricDalquist> and looking at PermissionActivityImpl I'm not really sure why ...
[13:10:12 CDT(-0500)] <athena> hmmm
[13:10:16 CDT(-0500)] <athena> none of that stuff has changed in ages
[13:10:20 CDT(-0500)] <EricDalquist> I see the alter table UP_PERMISSION_ACTIVITY add constraint FK120337DB4CDEE1 foreign key (OWNER_ID) references UP_PERMISSION_OWNER
[13:10:27 CDT(-0500)] <EricDalquist> which makes sense in the relationship
[13:10:29 CDT(-0500)] <athena> yeah
[13:10:39 CDT(-0500)] <EricDalquist> this code is only in trunk right?
[13:10:40 CDT(-0500)] <athena> wondering if there's any chance something got left around as we reorganized these
[13:10:42 CDT(-0500)] <athena> yeah
[13:11:17 CDT(-0500)] <EricDalquist> yeah I have no idea what though ...
[13:11:48 CDT(-0500)] <EricDalquist> PermissionActivityImpl is a pretty simple class
[13:11:58 CDT(-0500)] <athena> yeah
[13:13:06 CDT(-0500)] <athena> is that activity-owner mapping right on both sides?
[13:13:29 CDT(-0500)] <athena> looks reasonable to me, dunno
[13:13:36 CDT(-0500)] <EricDalquist> I think so
[13:14:34 CDT(-0500)] <EricDalquist> lfuller: can you take a quick look at:
[13:14:34 CDT(-0500)] <EricDalquist> https://source.jasig.org/uPortal/trunk/uportal-war/src/main/java/org/jasig/portal/permission/dao/jpa/PermissionActivityImpl.java
[13:14:34 CDT(-0500)] <EricDalquist> https://source.jasig.org/uPortal/trunk/uportal-war/src/main/java/org/jasig/portal/permission/dao/jpa/PermissionOwnerImpl.java
[13:15:08 CDT(-0500)] <EricDalquist> for some reason when hibernate is generating the ddl for those it creates a circular FK constraint on the ID of PermissionActivityImpl
[13:15:18 CDT(-0500)] <EricDalquist> HSQL appears to simply ignore this
[13:15:28 CDT(-0500)] <EricDalquist> and apparently Postgres deals with it just fine
[13:15:32 CDT(-0500)] <EricDalquist> but MySQL barfs
[13:16:17 CDT(-0500)] <lfuller> This is in relation to my changes? Or unrelated?
[13:16:23 CDT(-0500)] <athena> unrelated
[13:16:26 CDT(-0500)] <lfuller> k'
[13:16:45 CDT(-0500)] <athena> and sorry i missed your PMs last week lfuller - was on vacation
[13:16:49 CDT(-0500)] <lfuller> want me to see if oracle likes it?
[13:16:54 CDT(-0500)] <EricDalquist> you just happen to have a lot of hibernate experience (smile)
[13:16:55 CDT(-0500)] <EricDalquist> sure
[13:17:06 CDT(-0500)] <EricDalquist> doing a quick 'ant clean initdb' in trunk would test it
[13:17:52 CDT(-0500)] <lfuller> will take a quick look now but will likely won't get a deep look until an hour or more from now.
[13:17:59 CDT(-0500)] <lfuller> got a meeting in 10 minutes
[13:18:06 CDT(-0500)] <EricDalquist> no problem
[13:21:03 CDT(-0500)] <EricDalquist> oi ... though list email was slow: http://outages.doit.wisc.edu/outage.aspx?ref=453&amp;dte=8/30/2010
[13:21:20 CDT(-0500)] <EricDalquist> apparently one of the hundreds of construction projects on campus hit a power line
[13:21:26 CDT(-0500)] <EricDalquist> and took out one of our two data centers
[13:21:28 CDT(-0500)] <EricDalquist> yay
[13:21:44 CDT(-0500)] <holdorph> ouch.
[13:22:27 CDT(-0500)] <EricDalquist> and classes start next week ... going to be lots of underwhelmed incoming students
[13:23:18 CDT(-0500)] <lfuller> (smile)
[13:23:32 CDT(-0500)] <EricDalquist> lfuller: InterimPortletEntityImpl.isInterimPortletEntityId(String) should probably be InterimPortletEntityImpl.isInterimPortletEntityId(IPortletEntityId)
[13:23:43 CDT(-0500)] <EricDalquist> then the client code doesn't have to do the toString every time
[13:23:57 CDT(-0500)] <EricDalquist> and you hide the implementation of it being a 'special string' a little more
[13:24:13 CDT(-0500)] <EricDalquist> since in theory that could be implemented using a custom IPortletEntityId type as well
[13:26:22 CDT(-0500)] <lfuller> k
[13:26:48 CDT(-0500)] <EricDalquist> other than that I think my only other thought is that we've been trying to keep things setup such that code can't really create un-attached entity objects
[13:26:58 CDT(-0500)] <lfuller> Shame things aren't such that we can use crucible
[13:27:00 CDT(-0500)] <lfuller> love that tool
[13:27:04 CDT(-0500)] <EricDalquist> we can
[13:27:14 CDT(-0500)] <EricDalquist> https://developer.jasig.org/source/cru/browse/UP
[13:27:26 CDT(-0500)] <lfuller> I would have to check it in though, right?
[13:27:27 CDT(-0500)] <EricDalquist> if you'd rather do that I'd be more than happy to (smile)
[13:27:29 CDT(-0500)] <EricDalquist> right
[13:27:31 CDT(-0500)] <EricDalquist> but thats ok
[13:27:55 CDT(-0500)] <lfuller> with regards to unattached entity, you are talking about preferences?
[13:27:55 CDT(-0500)] <EricDalquist> it would be good for me to get to know crucible better too
[13:28:15 CDT(-0500)] <EricDalquist> yeah
[13:28:18 CDT(-0500)] <EricDalquist> thats where I was going
[13:28:20 CDT(-0500)] <lfuller> Yeah, I debated that
[13:29:00 CDT(-0500)] <lfuller> was taking a short cut there. I considered creating a fake preferences too... but then would have to push that all into the real thing and persist it when someone actually used the preferences.
[13:29:07 CDT(-0500)] <EricDalquist> as much as it sucks to duplicate what is essentially a POJO I wonder if it is better to have a PortletPreferencesImpl object for the Interim wrapper
[13:29:15 CDT(-0500)] <EricDalquist> yeah
[13:29:30 CDT(-0500)] <EricDalquist> I guess the big thing is making sure that it works in this case
[13:29:37 CDT(-0500)] <EricDalquist> and we don't get errors about un-persisted entities
[13:29:39 CDT(-0500)] <lfuller> yeah... I almost did it(smile) Happy to do it if you want.
[13:29:55 CDT(-0500)] <EricDalquist> well hrm ...
[13:30:08 CDT(-0500)] <EricDalquist> PortletPreferenceImpl is already public
[13:30:16 CDT(-0500)] <EricDalquist> since code elsewhere needs to access that
[13:30:21 CDT(-0500)] <EricDalquist> I think its ok
[13:30:24 CDT(-0500)] <lfuller> Oh, was not in the version I had
[13:30:54 CDT(-0500)] <EricDalquist> in 3.1-patches: public class PortletPreferenceImpl implements IPortletPreference
[13:31:04 CDT(-0500)] <lfuller> I thought unattached referred to previously persisted entities which had lost their session... but could be reattached later.
[13:31:22 CDT(-0500)] <EricDalquist> sorry I think I'm using the wrong term
[13:31:24 CDT(-0500)] <lfuller> what I was dealing with only happens to brand new entities that had yet to be persisted at all.
[13:31:28 CDT(-0500)] <EricDalquist> un-persisted?
[13:31:33 CDT(-0500)] <EricDalquist> yeah
[13:31:49 CDT(-0500)] <lfuller> just pojos with some hibernate annotations that are not used until persisted.
[13:32:17 CDT(-0500)] <lfuller> Will do what you want. Fine with it either way
[13:32:32 CDT(-0500)] <EricDalquist> I think it is fine as is
[13:32:38 CDT(-0500)] <EricDalquist> the patch looks good
[13:33:26 CDT(-0500)] <EricDalquist> speaking of crucible though ... athena just curious what you see when you go to https://developer.jasig.org/source/cru/UP-1
[13:33:36 CDT(-0500)] <EricDalquist> it says it is open for me and waiting for your participation
[13:33:41 CDT(-0500)] <EricDalquist> not sure what that means
[13:34:46 CDT(-0500)] <athena> not sure what i'm looking at, but i see stuff (smile)
[13:35:26 CDT(-0500)] <EricDalquist> not a big deal if you're busy with other stuff
[13:35:32 CDT(-0500)] <EricDalquist> I'm just trying to figure out how the thing works (tongue)
[13:35:34 CDT(-0500)] <athena> i'll take a look again later today
[13:35:37 CDT(-0500)] <athena> yeah, woudl love to use it
[13:35:45 CDT(-0500)] <athena> trying to see if i can get chris's grouper patch applied
[13:35:53 CDT(-0500)] <athena> patches didnt' apply cleanly
[13:36:21 CDT(-0500)] <EricDalquist> :/
[13:39:07 CDT(-0500)] <athena> ugh, think i'm goign to have to ask him to just regenerate it
[13:39:44 CDT(-0500)] <EricDalquist> so that circular FK has something to do with the relationship between activity and owner
[13:39:49 CDT(-0500)] <EricDalquist> I removed that and it went away
[13:40:29 CDT(-0500)] <EricDalquist> too bad my JPA book is at the office (tongue)
[13:40:46 CDT(-0500)] <EricDalquist> I'll take another look tomorrow when I have access to a reference
[14:15:25 CDT(-0500)] <athena> ok EricDalquist, i'm driving myself crazy here
[14:15:44 CDT(-0500)] <athena> i created a new messages file at uportal-war/src/main/properties/i81n/Messages.properties
[14:15:53 CDT(-0500)] <athena> but i can't figure out how to get spring to actually use it
[14:15:54 CDT(-0500)] <EricDalquist> wonderful
[14:15:58 CDT(-0500)] <EricDalquist> um
[14:16:01 CDT(-0500)] <athena> any suggestions? something else i should have called it?
[14:16:09 CDT(-0500)] <EricDalquist> you have to point spring to it
[14:16:15 CDT(-0500)] <EricDalquist> let me find the file
[14:16:26 CDT(-0500)] <athena> it's mvcContext.xml, i think
[14:16:40 CDT(-0500)] <athena> tried a few variations of classpath:something
[14:16:46 CDT(-0500)] <EricDalquist> yes
[14:17:01 CDT(-0500)] <EricDalquist> classpath:/properties/i81n/Messages.properties
[14:17:03 CDT(-0500)] <EricDalquist> I think
[14:17:14 CDT(-0500)] <athena> ah, ok, so we do need the .properties suffix?
[14:17:22 CDT(-0500)] <EricDalquist> oh wait
[14:17:23 CDT(-0500)] <EricDalquist> no
[14:17:25 CDT(-0500)] <EricDalquist> we shouldn't
[14:17:34 CDT(-0500)] <athena> classpath:/properties/i81n/Messages?
[14:17:46 CDT(-0500)] <EricDalquist> right
[14:17:48 CDT(-0500)] <EricDalquist> I think
[14:18:10 CDT(-0500)] <athena> ok, will try that
[14:18:14 CDT(-0500)] <EricDalquist> I'm wondering if ReloadableResourceBundleMessageSource supports classpath loading
[14:18:14 CDT(-0500)] <athena> think maybe i'd tried a close various
[14:18:17 CDT(-0500)] <athena> er, variation
[14:18:23 CDT(-0500)] <athena> it's supposed to, according to the javadocs
[14:18:35 CDT(-0500)] <EricDalquist> ah
[14:18:51 CDT(-0500)] <EricDalquist> I don't think the reloadable one does
[14:18:56 CDT(-0500)] <EricDalquist> maybe switch it to just ResourceBundleMessageSource?
[14:19:02 CDT(-0500)] <athena> hurray!
[14:19:04 CDT(-0500)] <athena> works now
[14:19:12 CDT(-0500)] <athena> maybe i left off the leading slash before?
[14:19:26 CDT(-0500)] <EricDalquist> weird
[14:19:50 CDT(-0500)] <athena> yeah
[14:19:51 CDT(-0500)] <athena> oh well!
[14:19:53 CDT(-0500)] <athena> progress (smile)
[14:20:03 CDT(-0500)] <EricDalquist> (smile)
[15:15:49 CDT(-0500)] <lfuller> am back
[15:16:45 CDT(-0500)] <lfuller> yeah, was pretty sure it was that relationship, and was starting to dig into the configs. For instance the eager fetch, and cascade all.
[15:16:50 CDT(-0500)] <lfuller> just took a quick look though
[15:16:59 CDT(-0500)] <lfuller> resolved the issue yet?
[15:17:03 CDT(-0500)] <EricDalquist> not yet
[15:17:09 CDT(-0500)] <EricDalquist> my JPA book is at the office
[15:17:14 CDT(-0500)] <EricDalquist> so I figured I'd dig into it then
[15:17:28 CDT(-0500)] <EricDalquist> I always have to look up 'the right way' to model them
[15:18:19 CDT(-0500)] <lfuller> (smile)
[15:18:49 CDT(-0500)] * lfuller only has the Java Persistence with Hibernate book. Have not purchased a JPA specific book.
[15:19:28 CDT(-0500)] <lfuller> Does a PermissionActivityImpl really need to be able to return the parent PermissionOwner?
[15:19:46 CDT(-0500)] <lfuller> just because an association is possible, does not mean it is necessary.
[15:19:50 CDT(-0500)] <EricDalquist> I think that is the same book I have
[15:19:55 CDT(-0500)] <EricDalquist> right
[15:19:59 CDT(-0500)] <EricDalquist> that is another good question
[15:19:59 CDT(-0500)] <athena> probably needs to at least return the id of the permission owner
[15:20:10 CDT(-0500)] * lfuller nods
[15:20:11 CDT(-0500)] <EricDalquist> and I'd have to look at the code to see if it is used
[15:20:20 CDT(-0500)] <athena> it's definitely used right now
[15:20:37 CDT(-0500)] <athena> though that doesn't necessarily mean it has to be used
[15:22:13 CDT(-0500)] <lfuller1> sorry... got dropped. Last thing I saw was:
[15:22:20 CDT(-0500)] <lfuller1> (01:20:40 PM) athena: though that doesn't necessarily mean it has to be used
[15:22:36 CDT(-0500)] <athena> didn't miss anything
[16:19:00 CDT(-0500)] <athena> what exactly does JndiManagerImpl do?
[16:19:06 CDT(-0500)] <EricDalquist> huh
[16:19:08 CDT(-0500)] <EricDalquist> he
[16:19:09 CDT(-0500)] <EricDalquist> h
[16:19:11 CDT(-0500)] <EricDalquist> suck up resources?
[16:19:20 CDT(-0500)] <EricDalquist> it maintains a JNDI tree of:
[16:19:23 CDT(-0500)] <EricDalquist> all user sessions
[16:19:31 CDT(-0500)] <EricDalquist> all layouts for each user session
[16:19:38 CDT(-0500)] <EricDalquist> all channels in each layout for each user session
[16:19:47 CDT(-0500)] <EricDalquist> on login all that data gets stuff into the tree
[16:19:50 CDT(-0500)] <athena> how come jndi specifically? not sure i've ever really looked at this code before
[16:20:01 CDT(-0500)] <EricDalquist> and on session expire events it is removed
[16:20:16 CDT(-0500)] <EricDalquist> as far as I know it is only used for ICC (Inter Channel Communications)
[16:20:17 CDT(-0500)] <EricDalquist> no idea
[16:20:24 CDT(-0500)] <EricDalquist> because thats what it was originally implemented in
[16:20:31 CDT(-0500)] <EricDalquist> it has already been excised from trunk (tongue)
[16:20:42 CDT(-0500)] <athena> gotcha (smile)
[16:20:49 CDT(-0500)] <EricDalquist> and likely 99% of uPortal installations would function without it
[16:20:58 CDT(-0500)] <EricDalquist> but I was never too sure
[16:21:06 CDT(-0500)] <EricDalquist> it was just another part of the magic of IChannel support
[16:21:16 CDT(-0500)] <athena> have a case where the portal is throwing NameAlreadyBoundExceptions from that class
[16:22:04 CDT(-0500)] <EricDalquist> right
[16:22:10 CDT(-0500)] <EricDalquist> you can safely ignore it
[16:22:18 CDT(-0500)] <athena> ah ok
[16:22:22 CDT(-0500)] <EricDalquist> the manager code shouldn't be able to fail in a way that causes problems
[16:22:26 CDT(-0500)] <EricDalquist> it just logs the exception and keeps going
[16:22:46 CDT(-0500)] <athena> then its throwing classnotfoundexceptions while obtaining the /sessions context
[16:22:48 CDT(-0500)] <athena> that's good at least
[16:22:56 CDT(-0500)] <EricDalquist> yeah that might be fixable
[16:23:09 CDT(-0500)] <EricDalquist> its probably a call from a portlet context
[16:23:17 CDT(-0500)] <EricDalquist> so the context classloader is wrong
[16:23:19 CDT(-0500)] <athena> ah
[16:23:21 CDT(-0500)] <athena> makes sense
[16:23:22 CDT(-0500)] <EricDalquist> but again that shouldn't be breaking other things
[16:23:27 CDT(-0500)] <athena> yeah
[16:23:35 CDT(-0500)] <EricDalquist> I refactored that code in 3.0
[16:23:41 CDT(-0500)] <EricDalquist> and tried to make it still function if something used it
[16:23:50 CDT(-0500)] <EricDalquist> but not break anything in uPortal if it decided to not work right
[16:23:54 CDT(-0500)] <athena> mostly just looking through the logs to see if there's anything obvious that would be sucking up resources
[16:23:57 CDT(-0500)] <EricDalquist> since I didn't really know what was going on with it
[16:24:00 CDT(-0500)] <EricDalquist> ah
[16:24:06 CDT(-0500)] <EricDalquist> like memory resources?
[16:24:57 CDT(-0500)] <athena> yeah, that's what the original report was, at least - still waiting for the exact error
[16:25:14 CDT(-0500)] <EricDalquist> that could be leaking memory
[16:25:26 CDT(-0500)] <EricDalquist> but I don't think it really holds on to much in the way of heavy weight objects
[16:25:35 CDT(-0500)] <athena> looks like a lot of java.lang.IllegalStateException: Cannot create a session after the response has been committed from the ChannelManager, too
[16:27:18 CDT(-0500)] <athena> it was so weird to have no google for several days
[16:27:30 CDT(-0500)] <EricDalquist> lol
[16:27:35 CDT(-0500)] <athena> kris asked me the weather forecast and i was like i have absolutely no idea and can't find that for you
[16:28:00 CDT(-0500)] <athena> we only got a few glimpses of rainier
[16:28:06 CDT(-0500)] <EricDalquist> too cloudy?
[16:28:07 CDT(-0500)] <athena> clear view once we got about 50 mi away though (tongue)
[16:28:08 CDT(-0500)] <athena> yeah
[16:29:53 CDT(-0500)] <EricDalquist> doh ... first attempt at using new rendering pipline is a fail:
[16:29:54 CDT(-0500)] <EricDalquist> java.lang.UnsupportedOperationException: Cannot create XMLStreamReader or XMLEventReader from a javax.xml.transform.dom.DOMSource
[16:30:04 CDT(-0500)] <EricDalquist> wish the user layout manger code was sane so I could unit testit
[16:30:12 CDT(-0500)] <athena> ugh yeah
[16:44:48 CDT(-0500)] <EricDalquist> wow ... did not expect this
[16:45:04 CDT(-0500)] <EricDalquist> apparently creating a StAX XMLEventReader from a DOM source isn't supported
[16:45:17 CDT(-0500)] <EricDalquist> the only built in support is essentially reading from an InputStream
[16:45:22 CDT(-0500)] <EricDalquist> oi
[16:45:37 CDT(-0500)] <EricDalquist> if only I had the time to rewrite all of DLM to use StAX too (smile)
[16:58:57 CDT(-0500)] <athena> that'd be cool
[16:58:58 CDT(-0500)] <athena> (tongue)
[16:59:13 CDT(-0500)] <athena> you don't need to sleep, right?
[16:59:23 CDT(-0500)] <EricDalquist> right
[16:59:29 CDT(-0500)] <athena> or watch elsa
[16:59:33 CDT(-0500)] <athena> or go to your day job
[16:59:36 CDT(-0500)] <athena> it'll be fine!
[16:59:36 CDT(-0500)] <EricDalquist> so this is doable without much code or cost actually
[16:59:38 CDT(-0500)] <EricDalquist> just annoying
[16:59:42 CDT(-0500)] <athena> that's good at least
[16:59:52 CDT(-0500)] <EricDalquist> you have to use the identity Transformer

  • No labels