November 11, 2010  
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30

[00:09:51] *** tsurdilo has quit IRC
[00:10:49] *** tsurdilo has joined #seam-dev
[00:22:35] *** sbryzak has joined #seam-dev
[01:03:14] *** lightguard_jp has quit IRC
[01:31:17] *** aslak has quit IRC
[02:57:25] *** tsurdilo has quit IRC
[03:28:35] *** rruss has joined #seam-dev
[03:35:38] *** rruss has quit IRC
[05:12:08] *** lincolnthree has left #seam-dev
[05:38:13] *** clerum has quit IRC
[05:38:39] *** mbg has joined #seam-dev
[06:28:54] *** mbg has quit IRC
[07:23:22] *** mbg has joined #seam-dev
[07:57:07] *** oskutka has joined #seam-dev
[08:02:11] *** mausbull has joined #seam-dev
[08:51:02] *** amitev2 has joined #seam-dev
[08:52:01] *** amitev has quit IRC
[08:52:40] *** amitev2 is now known as amitev
[09:03:43] *** kpiwko has joined #seam-dev
[09:40:36] *** shervin_a has joined #seam-dev
[09:43:54] *** epbernard has joined #seam-dev
[09:43:54] *** epbernard is now known as emmanuel
[10:10:15] *** plenyi has joined #seam-dev
[10:11:16] *** jharting has joined #seam-dev
[10:17:58] *** aslak has joined #seam-dev
[10:17:58] *** aslak has quit IRC
[10:17:58] *** aslak has joined #seam-dev
[10:22:16] *** marekn has joined #seam-dev
[10:25:31] *** oskutka has quit IRC
[10:46:37] *** kpiwko has quit IRC
[10:47:21] *** kpiwko has joined #seam-dev
[11:11:55] *** pmuir has joined #seam-dev
[11:31:47] *** pmuir has quit IRC
[12:34:34] <jbossbot> git [rest] push master a6ab5e0.. Jozef Hartinger minor
[12:34:34] <jbossbot> git [rest] push master 702c74a.. Jozef Hartinger Workaround for JBoss AS
[12:34:34] <jbossbot> git [rest] push master d0de991.. Jozef Hartinger Workaround for JBoss AS
[12:34:34] <jbossbot> git [rest] push master URL: http://github.com/seam/rest/compare/23f14f9...d0de991
[14:00:23] *** pmuir has joined #seam-dev
[14:00:23] *** pmuir has quit IRC
[14:00:23] *** pmuir has joined #seam-dev
[14:07:28] *** mbg has quit IRC
[14:07:44] *** mbg has joined #seam-dev
[14:09:08] *** shervin_a has quit IRC
[14:09:28] *** shervin_a has joined #seam-dev
[14:09:30] <marekn> pmuir: ping
[14:09:42] <pmuir> hey marekn
[14:10:04] <marekn> pmuir: hey pete, have you got a little time for me?
[14:10:43] <pmuir> sure
[14:10:52] <marekn> pmuir: we are discussing with emmanuel current blocking issue at http://pastebin.com/Zs0pEUyb with HSearch and Seam 2.2.1
[14:13:21] <pmuir> ok
[14:13:22] <marekn> pmuir: previous issue was "java.lang.IllegalArgumentException: object is not an instance of
[14:13:22] <marekn> declaring class  and as emmanuel suggested to me there is missing implementation of EventSource in HibernateSessionInvocationHandler
[14:13:30] <pmuir> ok
[14:14:11] <marekn> pmuir: after I redelegate missing method implementation the current issue showed
[14:15:47] <emmanuel> the issue is that you guys call ftem.getDelegate() that returns a FullTextSessionImpl
[14:16:13] <emmanuel> and to implement the EventSource contract, you need the underlying Session
[14:17:13] <emmanuel> Actully no it does not, I dont' understand
[14:17:34] <pmuir> who produces that error message?
[14:18:42] <pmuir> ah i think i see
[14:18:52] <marekn> pmuir: org.jboss.seam.persistence.HibernatePersistenceProvider.proxyDelegate
[14:19:00] <marekn> pmuir: nm, ignore it
[14:21:11] <emmanuel> marekn: so can you explain why in return PersistenceProvider.instance().proxyDelegate(method.invoke(delegate, args));
[14:21:12] <emmanuel> method.invoke(delegate, args) return a FullTextSessionImpl
[14:21:22] <emmanuel> which is what is returned it seems according to your exception
[14:22:02] <pmuir> emmanuel: look at HibernatePersistenceProvider
[14:22:06] <pmuir> .proxyDelegate
[14:22:26] <marekn> emmanuel: look at https://svn.jboss.org/repos/seam/branches/community/Seam_2_2/src/main/org/jboss/seam/persistence/HibernatePersistenceProvider.java
[14:22:58] <emmanuel> I've looked at that
[14:23:17] <emmanuel> but I don't understand why the object passed to proxyDelegate is a FTSessionImpl
[14:23:35] <pmuir> tbh i know almost nothing about this code, I thought you wrote it emmanuel?
[14:24:43] <marekn> pmuir: it was changed by mike youngstream in JBSEAM-4552
[14:24:44] <jbossbot> jira [JBSEAM-4552] AbstractMethodError thrown when attempting to invoke JPA 2 method on EntityManager [Closed, Major, Michael Youngstrom] https://jira.jboss.org/browse/JBSEAM-4552
[14:24:55] <pmuir> but i would assume it's because proxySession creates one?
[14:25:29] <emmanuel> pmuir: nan that's the issue, proxySession gets called to create one
[14:25:43] <pmuir> ah ok
[14:26:09] <emmanuel> marekn: am i correct or did I miss sometrhing
[14:26:33] <emmanuel> Somehow the fact that a FullTextSessionImpl is passed to this method does not add up but it does nevertheless
[14:26:38] <emmanuel> so somehow I'm wrong
[14:26:39] <marekn> emmanuel: yes, right
[14:27:03] <emmanuel> but I cna't understand why, so unless someone handhold me I won't be able to progress :)
[14:27:03] *** rruss has joined #seam-dev
[14:27:08] <pmuir> ah, so we try to double proxy something?
[14:27:22] <pmuir> tbh i can't make any progress without actually debugging it
[14:27:30] <pmuir> i haven't worked on seam2 in a long time now
[14:27:43] <pmuir> so if you need me to, then I can if you have a way to reproduce it
[14:28:48] <marekn> pmuir: there is a condition  FULL_TEXT_SESSION_PROXY_CLASS.isAssignableFrom( session.getClass() ) ), which I think is in this case not enough
[14:29:13] <pmuir> ok, have you tried adding an additional condition that is enough?
[14:29:40] <marekn> pmuir: no, because I am not sure with the correct one
[14:30:11] <pmuir> how so? you know the object that is causing the problem
[14:30:14] <pmuir> what types does it have?
[14:30:52] <marekn> pmuir: ok, I am not in debugging now, so I will see in a minute
[14:30:56] <emmanuel> marekn: when you debug EntityManagerInvocationHandler#handleGetDelegate what's the type of the instance of private EntityManager delegate;
[14:31:44] <emmanuel> (btw this code does not handle EntityManager.unwrap()
[14:31:50] <emmanuel> (JPA 2.0)
[14:31:58] <emmanuel> but that's another story
[14:36:25] <emmanuel> pmuir: do you guys proxy sessionFActory#openSession ?
[14:36:49] <emmanuel> pmuir: nm
[14:39:51] <marekn> pmuir: there goes into proxydelegate method org.hibernate.SessionImpl
[14:40:34] <marekn> emmanuel: the type of instance is org.hibernate.ejb.EntityManagerImpl
[14:41:35] <pmuir> hmm, so it's not full text
[14:41:51] <emmanuel> so HibernatePersistenceProvider.proxySession( )gets a SessionImpl passed
[14:42:06] <marekn> pmuir: and therefore it is not assignable to org.jboss.seam.persistence.FullTextHibernateSessionProxy which is in FULL_TEXT_SESSION_PROXY_CLASS
[14:42:07] <emmanuel> at which stage I don't understand the exception thrown :)
[14:42:15] <marekn> pmuir: it creates new proxy
[14:43:31] <pmuir> me either
[14:43:34] <emmanuel> ahhhh
[14:43:39] <marekn> pmuir: it is actually exception thrown while creating newProxyInstance and continues into next creation in catch block
[14:43:40] <emmanuel> new HibernateSessionInvocationHandler((Session) FULL_TEXT_SESSION_CONSTRUCTOR.invoke(null, session)));
[14:43:55] <emmanuel> So the SessionImpl is proxied before being passed to HibernateSessionInvocationHandler
[14:44:18] <emmanuel> sorry not proxied, but FTified by HSearch
[14:44:18] <marekn> emmanuel: right
[14:45:07] <emmanuel> ok so the fix is easy
[14:45:36] <emmanuel> change the ctor of HibernateSessionInvocationHandler to public HibernateSessionInvocationHandler(Session delegate, FullTextSession delegate)
[14:46:20] <emmanuel> and use fullTextDelegate for all invoke called except the one on EventSource methods
[14:47:21] <emmanuel> s/easy/easy to describe/ :)
[14:47:22] <marekn> emmanuel: ok, and in EventSource methods standard delegate?
[14:47:28] <emmanuel> yep
[14:47:51] <marekn> emmanuel, pmuir: will try it.
[14:48:06] <emmanuel> the annyoing bit is that you have to somehow recognize the list of EventSource methods
[14:49:55] <pmuir> ok i gtg for a flight
[14:49:56] <pmuir> later
[14:49:58] *** pmuir has quit IRC
[14:51:07] *** tsurdilo has joined #seam-dev
[15:35:12] *** clerum has joined #seam-dev
[15:37:26] *** lightguard_jp has joined #seam-dev
[15:58:55] *** balunasj has joined #seam-dev
[16:02:08] <mojavelinux> hey all
[16:02:30] <lightguard_jp> G'day all
[16:03:01] <mojavelinux> pete had to head out for his flight
[16:03:15] *** lincolnthree has joined #seam-dev
[16:04:04] *** lincolnthree1 has joined #seam-dev
[16:04:28] <lightguard_jp> Ack, two lincolns! :)
[16:04:41] <lincolnthree> RAAR
[16:04:41] <lincolnthree1> rar
[16:05:00] <mojavelinux> I'm still pulling together our epic length seam 3 preso for monday, so I was planning on keeping it short
[16:07:30] <mojavelinux> lightguard_jp made awesome progress on catch and I believe stuartdouglas pushed out a persistence release earlier in the week
[16:08:23] <lightguard_jp> Looking into service handlers now
[16:08:26] <mojavelinux> i committed changes to the servlet module but just haven't gotten around to the actual release part yet
[16:08:37] <lightguard_jp> Maybe I'll wait on that though and just get an example or two and docs
[16:08:42] <lincolnthree1> kenfinnigan isn't here, but he's planning on getting a Seam i18n release out this weekend
[16:09:01] <lightguard_jp> I have a question about release from the community side
[16:09:02] <mojavelinux> that was next on my mind...I think the i18n is the next big thing to pull together
[16:09:32] <lightguard_jp> Where do we upload, how do we upload, who do we contact if we don't have access to upload?
[16:09:36] <mojavelinux> in terms of aligning it... lincolnthree and I had an awesome design brainstorm the other day, which we posted to the jira
[16:09:40] <mojavelinux> what's the #?
[16:09:54] <lightguard_jp> Wait, I think for the jars it's just in JBoss Nexus, but not sure for docs
[16:11:00] <lincolnthree1> 1 sec
[16:11:02] <lincolnthree1> 7
[16:11:05] <lincolnthree1> SEAMINTL-7
[16:11:07] <jbossbot> jira [SEAMINTL-7] Rewrite Messages API along the lines of JBoss Logging 3 [Open, Major, Pete Muir] https://jira.jboss.org/browse/SEAMINTL-7
[16:11:11] <mojavelinux> both are based on keys, I believe instructions are in the module handbook
[16:11:22] <mojavelinux> except the jars now go to jboss nexus
[16:11:53] <mojavelinux> the module guide needs to be updated to reflect that...if anyone is reading the guide and knows what to change, do feel free to make the update
[16:13:19] <lightguard_jp> Docs have to be uploaded by someone within Red Hat
[16:13:28] <lightguard_jp> Big walls of text to read :(
[16:13:51] <lincolnthree1> It's possible to get the build to do snapshots, like faces is doing, but it has to be set up in hudson afaik
[16:14:05] <lincolnthree1> http://docs.jboss.org/seam/3/faces/reference/snapshot/en-US/html_single/
[16:14:22] <lincolnthree1> Not sure about how to set up releases.
[16:14:27] <lincolnthree1> I believe pete set that up for me.
[16:14:59] <lightguard_jp> Yeah, gotta put on the gloves and dig into to POM hell for the release
[16:15:04] <lightguard_jp> Not really looking forward to that
[16:15:13] <mojavelinux> hahaha
[16:15:26] <lincolnthree1> The new parent pom should make it easier
[16:15:40] <lightguard_jp> We'll find out :)
[16:15:40] <mojavelinux> well, the idea of the guide is that you don't have to think
[16:15:52] <lightguard_jp> Nope, just read :)
[16:15:59] <mojavelinux> hahah
[16:16:12] <mojavelinux> yep, and if there is anything incorrect, then you get to be the test subject :)
[16:16:29] <lightguard_jp> Oh well, there are worse things.
[16:16:50] <lightguard_jp> Someone could come up with a new design for catch tomorrow and I'd have to redo it all again ;)
[16:17:22] <mojavelinux> :P
[16:18:02] <lightguard_jp> I think people will be happy with what we've got though
[16:18:18] <mojavelinux> I know it
[16:18:49] <lightguard_jp> Oh, for those interested master and third_desgin branches on my github repo are now both in sync
[16:18:58] <lightguard_jp> Probably delete the third_design branch soon
[16:19:25] <mojavelinux> yeah, let's shift that into master
[16:19:50] <mojavelinux> make sure any dead classes get cleaned out, if there are any
[16:20:03] <mojavelinux> also, I don't thing @Handles needs to be a qualifier
[16:20:09] <mojavelinux> I saw you were removing it from the type
[16:20:27] <mojavelinux> @Observes isn't a qualifier, so it's logical
[16:20:32] <lightguard_jp> Pretty sure I've done that
[16:20:36] *** lincolnthree has quit IRC
[16:20:40] <mojavelinux> k
[16:20:48] <lightguard_jp> Okay
[16:20:54] <lightguard_jp> I can make that change easy enough
[16:21:08] <lightguard_jp> I think it's also at a point I can push to the main repo too
[16:24:15] <lincolnthree1> What's next on the agenda?
[16:24:34] <mojavelinux> I was just about to say
[16:25:00] <mojavelinux> if there are any other questions or comments, I've actually gotta get back to this presentation so it's done by the end of the day
[16:25:20] <lightguard_jp> I think it's just the three of us
[16:25:25] <lincolnthree1> I wish I had something earth-shattering to say, but right now I'm just chugging a long trying to get to Devoxx :-p
[16:25:33] <mojavelinux> exactly
[16:26:02] <mojavelinux> okay, let's just keep this one short and we'll just switch to ad-hoc discussions
[16:26:15] <lightguard_jp> Sounds good
[16:26:28] <mojavelinux> I might post some module bullet points for review to get feedback, specifically from module leads
[16:26:37] <mojavelinux> I plan on having a slide for each module being covered
[16:27:22] <mojavelinux> so I want to make sure the definitions are correct/acceptable
[16:28:00] <aslak> mojavelinux, lincolnthree1: you want me to tagg along on the Seam Gathering at devoxx?
[16:28:14] <mojavelinux> ah, yes! I meant to e-mail you about that
[16:28:17] <mojavelinux> please
[16:28:29] <aslak> sure
[16:29:10] <lincolnthree1> aslak: of course!
[16:29:25] <lincolnthree1> aslak: you are part of the seam :)
[16:29:31] <mojavelinux> so we have two "special guest appearances"
[16:29:32] <mojavelinux> the first
[16:29:48] <mojavelinux> lincoln is going to demo forge during the seam talk
[16:29:51] <aslak> *drum roll*
[16:30:03] <mojavelinux> then, aslak will bring Ike to the Seam gathering
[16:30:03] <aslak> cool
[16:30:05] <lincolnthree1> :-D
[16:30:06] <mojavelinux> hahaha
[16:30:28] <mojavelinux> keeps people guessing
[16:30:38] <aslak> just had a little talk with max earlier today about tools seam forge support..
[16:30:38] <mojavelinux> Ike is also going to get a brief teaser in the seam demo
[16:30:57] <lincolnthree1> We're going to have to make sure that Forge runs on your laptop :-p
[16:31:09] <lincolnthree1> And do the install beforehand.
[16:31:15] *** plenyi has quit IRC
[16:31:19] <mojavelinux> me or aslak?
[16:31:23] <lincolnthree1> (It would be nice to have that maven goal.)
[16:31:30] <lincolnthree1> whoever is presenting the Seam demo
[16:31:39] <mojavelinux> ah, yes
[16:31:52] <lincolnthree1> The seam state of the union
[16:32:13] <mojavelinux> got it, yeah, we'll get it working
[16:32:42] <lincolnthree1> Should be pretty straight-forward, just don't want any hangups ;)
[16:33:05] <mojavelinux> and I believe aslak and lincoln, you guys need to touch base about the maven dependency stuff, unless you have already
[16:33:13] <aslak> we have
[16:33:17] <mojavelinux> super
[16:33:28] <mojavelinux> make maven your b@#$h
[16:33:40] <lincolnthree1> In reality, I probably won't be able to try integrating ShrinkWrap for that for a little while
[16:33:44] <lincolnthree1> What I wrote yesterday does what I need
[16:34:07] <lincolnthree1> And I may have significant changes to make to it, depending on what differences I find.
[16:34:29] <mojavelinux> yep, it's a great opportunity to flesh out the design
[16:34:30] <lincolnthree1> So it may or may not pan out, but we'll see when I come to it.
[16:35:28] <mojavelinux> okay, I'm get back to the prep
[16:35:45] <aslak> mojavelinux, you got a sec for ike?
[16:35:53] <mojavelinux> aslak as soon as I get a rough of the preso, I'm going to hit you up
[16:35:57] <aslak> ok
[16:36:26] <mojavelinux> I'm moving a bit slower than I anticipated, but I feel good about today
[16:36:30] <aslak> the world as we know it is at stake.. hehe
[16:36:35] <mojavelinux> trying not to panic
[16:36:42] <aslak> :P
[16:36:58] <aslak> yea, i'm moving backwards here..
[16:37:14] <mojavelinux> momma said the would be days like this :)
[16:37:34] <mojavelinux> grin and bear it
[16:37:36] <mojavelinux> hehehe
[16:38:00] <aslak> :)
[16:38:15] <mojavelinux> i'll ping you when I get to a stopping point let's say in 2~3 hrs
[16:38:26] <mojavelinux> if that's cool
[16:38:38] <aslak> sure, i'll be here all night
[16:38:59] <aslak> might be back at alpha1 stage at the time.. being i'm moving backwards.. hehe
[16:40:01] <mojavelinux> hang in there :)
[16:40:44] <mojavelinux> time for the protein breakfast and progress
[16:40:47] <lightguard_jp> Yay, merge hell with Git, awesome! :(
[16:44:26] *** shervin_a has quit IRC
[16:52:15] <lincolnthree1> the opendiff program sucks
[16:52:21] <lincolnthree1> a different merge tool makes it easier
[16:52:26] <lincolnthree1> unforuntely i dont have one
[16:52:34] <lightguard_jp>  Using Vim
[17:09:26] *** kpiwko has quit IRC
[17:13:00] *** jharting has quit IRC
[17:21:18] <jbossbot> git [catch] push official_master 98708eb.. LightGuard Renaming packages to o.j.s.exception.control...
[17:21:18] <jbossbot> git [catch] push official_master 8400e68.. LightGuard dropping impl package
[17:21:18] <jbossbot> git [catch] push official_master bd6fbbb.. LightGuard Cleaning up removal of impl package
[17:21:18] <jbossbot> git [catch] push official_master 2fe1ed8.. LightGuard public API complete I believe...
[17:21:19] <jbossbot> git [catch] push official_master 7de017a.. LightGuard Getting closer on the impl
[17:21:19] <jbossbot> git [catch] push official_master 19347b6.. LightGuard Finding handlers and sorting complete
[17:21:19] <jbossbot> git [catch] push official_master 7ede72d.. LightGuard Handlers are being called...
[17:21:19] <jbossbot> git [catch] push official_master 533ab9a.. LightGuard Almost there :)...
[17:21:20] <jbossbot> git [catch] push official_master 9eb9e94.. LightGuard Testing complete...
[17:21:20] <jbossbot> git [catch] push official_master 7307562.. LightGuard Rename of CatchEntryEvent...
[17:21:21] <jbossbot> git [catch] push official_master 332e5b0.. LightGuard Javadocs added
[17:21:21] <jbossbot> git [catch] push official_master 7d83fb3.. LightGuard Added HandlerMethod and impl...
[17:21:22] <jbossbot> git [catch] push official_master 75dd66a.. LightGuard Merge branch 'master' into official_master...
[17:21:22] <jbossbot> git [catch] push official_master URL: http://github.com/seam/catch/compare/0000000...75dd66a
[17:21:39] <lincolnthree1> boom
[17:21:59] <Nik> what, no blinking ANSI?
[17:22:30] <jbossbot> git [catch] push master 8400e68.. LightGuard dropping impl package
[17:22:30] <jbossbot> git [catch] push master bd6fbbb.. LightGuard Cleaning up removal of impl package
[17:22:30] <jbossbot> git [catch] push master 2fe1ed8.. LightGuard public API complete I believe...
[17:22:31] <jbossbot> git [catch] push master 7de017a.. LightGuard Getting closer on the impl
[17:22:31] <jbossbot> git [catch] push master 19347b6.. LightGuard Finding handlers and sorting complete
[17:22:31] <jbossbot> git [catch] push master 7ede72d.. LightGuard Handlers are being called...
[17:22:31] <jbossbot> git [catch] push master 533ab9a.. LightGuard Almost there :)...
[17:22:31] <jbossbot> git [catch] push master 9eb9e94.. LightGuard Testing complete...
[17:22:32] <jbossbot> git [catch] push master 7307562.. LightGuard Rename of CatchEntryEvent...
[17:22:32] <jbossbot> git [catch] push master 332e5b0.. LightGuard Javadocs added
[17:22:33] <jbossbot> git [catch] push master 7d83fb3.. LightGuard Added HandlerMethod and impl...
[17:22:33] <jbossbot> git [catch] push master 75dd66a.. LightGuard Merge branch 'master' into official_master...
[17:22:34] <jbossbot> git [catch] push master URL: http://github.com/seam/catch/compare/1b3510b...75dd66a
[17:22:54] <lightguard_jp> There we go, that's better
[17:23:06] <lightguard_jp> :)
[17:26:36] <lincolnthree1> nice :)
[17:28:49] <lightguard_jp> Now for examples and docs
[17:46:43] *** mausbull has quit IRC
[17:54:47] *** oskutka has joined #seam-dev
[17:55:16] *** oskutka has quit IRC
[18:03:06] *** lightguard_jp has quit IRC
[18:13:56] *** balunasj is now known as balunasj_away
[18:21:22] *** marekn has quit IRC
[18:26:55] *** emmanuel has quit IRC
[18:56:00] *** lightguard_jp has joined #seam-dev
[18:56:38] <lightguard_jp> How can I get the qualifiers in an observer if it's annotated with @Any ?
[18:57:56] <lincolnthree1> The qualifiers of the Event?
[18:58:25] <lincolnthree1> You'd probably have to inspect the type.
[18:58:40] <lincolnthree1> Or get the Bean for that type and ask which qualifiers are defined might be safer.
[18:58:45] <lincolnthree1> lightguard_jp:  ^^
[18:59:12] <lightguard_jp> How would that work?  You can define qualifiers when you fire it
[18:59:35] <lightguard_jp> qualifiers on observer events can change at runtime
[18:59:41] <lincolnthree1> Ah shoot.
[18:59:44] <lincolnthree1> Interesting.
[18:59:55] <lincolnthree1> I was thinking of InjectionPoint<?>
[19:00:01] <lincolnthree1> I wonder if there's a similar construct for Events
[19:01:56] <mojavelinux> that was a missing feature in cdi 1.0
[19:02:04] <mojavelinux> as far as I remember
[19:02:08] <mojavelinux> something jordan ran into
[19:02:14] <mojavelinux> you'd have to search the seam-dev archives
[19:03:41] <lightguard_jp> Gah
[19:03:57] <lightguard_jp> That may make it very difficult to do qualified handlers
[19:06:41] <mojavelinux> not necessarily...because we could say that the ExceptionToCatchEvent has to contain the qualifiers
[19:06:57] <mojavelinux> then from there we know what to look for
[19:07:19] <lightguard_jp> :( now work stuff comes in
[19:09:11] <lightguard_jp> That makes it difficult, maybe, for users to put it in their catch block
[19:09:17] <lightguard_jp> But I guess it may not contain any
[19:09:23] <lightguard_jp> Then it's not that bad
[19:09:34] <lightguard_jp> Seems odd from an integration point though
[19:10:04] <lightguard_jp> fire(@REST new CatchEntryEvent(Exception, Rest.class)
[19:10:32] <lightguard_jp> CatchEntry(Throwable, Class<? extends Annotation> ...)
[19:10:38] <lightguard_jp> Maybe not horrible though
[19:11:34] <lincolnthree1> It's how BeanManager does it
[19:11:44] <lincolnthree1> and how throwing the event itself works
[19:12:14] <lightguard_jp> The firing just looks odd because you have to add the qualifiers twice
[19:12:39] <lightguard_jp> Though you wouldn't have to have the qualifiers
[19:12:52] <lightguard_jp> Just in the constructor and I can look in the event object
[19:13:17] <mojavelinux> http://weld-development-discussions.46994.n3.nabble.com/External-Event-Routing-td124120.html#a124120
[19:14:40] <mojavelinux> http://weld-development-discussions.46994.n3.nabble.com/External-Event-Routing-tp124120p140395.html
[19:14:46] <mojavelinux> if you wanted to go that route...just so you know
[19:14:52] <mojavelinux> it is solvable via extensions
[19:14:55] <mojavelinux> :)
[19:15:26] <lincolnthree1> + a signature change to notify()
[19:15:35] <lincolnthree1> (according to Gavin)
[19:16:25] <mojavelinux> wouldn't it be
[19:17:23] <mojavelinux> hmm, there are actually two use cases here
[19:17:33] <mojavelinux> I'm thinking that less often will users make use of qualifiers
[19:17:41] <mojavelinux> more it's the integrations that are going to use it
[19:17:47] <mojavelinux> so
[19:18:14] <lightguard_jp> Hm, interesting
[19:18:16] <lightguard_jp> The first one
[19:18:17] <mojavelinux> @Inject Event<ExceptionToCatchEvent> notifier;
[19:18:46] <mojavelinux> notifier.fire(new ExceptionToCatchEvent(exception, Rest.class))
[19:19:04] <lightguard_jp> Yeah, that's what I head earlier
[19:19:05] <mojavelinux> in a sense, that makes sense
[19:19:07] <mojavelinux> because
[19:19:20] <mojavelinux> the qualifier is not for the observer
[19:19:28] <mojavelinux> the observer is the bridge point to catch
[19:19:31] <mojavelinux> the qualifiers are for the handlers
[19:19:36] <mojavelinux> so it makes sense they are part of the event
[19:19:39] <mojavelinux> not qualifying the event
[19:20:13] <mojavelinux> the more I see
[19:20:18] <lightguard_jp> That seems to be easiest way to do it.
[19:20:19] <mojavelinux> Class<? extends Annotation>
[19:20:30] <mojavelinux> the more I'm convinced that Java needs to have annotations in the type system
[19:20:34] <mojavelinux> metaannotations
[19:20:39] <mojavelinux> it should be
[19:20:48] <lightguard_jp> Good luck with that one.  Maybe in JDK9
[19:20:51] <mojavelinux> Class<? extends Annotation<@Qualifier>>
[19:21:04] <mojavelinux> or something like that
[19:21:21] <lightguard_jp> I wish you could create onnations.  The AnnotationLiteral is a hack
[19:21:29] <lincolnthree1> I think that it should be possible to do the following in an @Observes method
[19:22:23] <lincolnthree1> public void method(@Observes Event<Type> event)
[19:22:23] <lincolnthree1> {
[19:22:23] <lincolnthree1>    List<? extends Annotation> qualifiers = event.getQualifiers();
[19:22:23] <lincolnthree1> }
[19:23:05] <lightguard_jp> If I add them to the CEE constructor, it's really straight forward to get them and use qualifiers to restrict the list of handlers
[19:23:29] <lightguard_jp> I don't think you can observe the event
[19:23:41] <lightguard_jp> Because that's not what's actualy sent
[19:25:08] <lightguard_jp> Anyone have objections to adding the qualifiers to the constuctor and having as a set in the event?
[19:25:46] <lincolnthree1> Right lightguard_jp, but I'm saying it should be possible.
[19:26:00] <lincolnthree1> Just like it's possible to @Inject Instance<Type> type
[19:26:19] <lincolnthree1> Event<T> should become a wrapper.
[19:26:27] <lincolnthree1> in addition to a source
[19:30:40] <lightguard_jp> Based on the email chain that Dan linked it doesn't seem possible
[19:30:57] <lightguard_jp> I don't have anything to actually support this though (I haven't looked at the code)
[19:31:13] <lightguard_jp> And I don't remember anything about this in the spec when I read it
[19:31:20] <lightguard_jp> Of course that was nearly a year ago
[19:31:31] <lightguard_jp> Pretty crazy CDI is almost a year old
[19:34:13] <lincolnthree1> It's not possible without spec changes, no.
[19:34:16] <lincolnthree1> But that's what I'm suggesting :)
[19:36:07] *** aslak has quit IRC
[19:36:37] *** balunasj_away has quit IRC
[19:36:38] *** aslak has joined #seam-dev
[19:39:08] *** balunasj has joined #seam-dev
[19:42:25] *** aslak has quit IRC
[19:49:40] <lightguard_jp> lincolnthree1: Right, gotcha
[19:52:29] *** balunasj has quit IRC
[20:02:36] *** aslak has joined #seam-dev
[20:02:36] *** aslak has quit IRC
[20:02:36] *** aslak has joined #seam-dev
[20:13:12] <mojavelinux> stuartdouglas does this work? <s:String value="fr">...</s:String>
[20:18:05] <stuartdouglas> no
[20:18:14] <stuartdouglas> you need to use a virtual producer
[20:18:36] <stuartdouglas> <s:String><s:Produces/><s:value>...</s:value></s:String>
[20:27:56] <mojavelinux> dang, I was just looking for the shorthand
[20:28:01] <mojavelinux> for that exact scenario
[20:28:07] <mojavelinux> thanks
[20:28:24] <mojavelinux> came up in the examples for the slides
[20:29:52] <stuartdouglas> Feel free to file a JIRA if you think it is important
[20:31:48] <stuartdouglas> I have to head out, you managed to get me in the 15 minute window between waking up and leaving for kickboxing :-)
[20:32:03] <lincolnthree1> happy friday!
[20:32:44] <mojavelinux> no worries, I just wanted to make sure I had it right...but yeah, I think it might be a good case for making things concise
[20:32:49] <mojavelinux> that virtual producer fields
[20:32:55] <mojavelinux> allow the use of the value attribute
[20:33:03] <mojavelinux> if the type is a known convertable
[20:33:08] <mojavelinux> things like Date, Boolean, String, etc
[20:33:59] <mojavelinux> <s:String value="fr"><s: Produces/><i18n: DefaultLocale/></s:String>
[20:34:24] <mojavelinux> in other words, whenever you use use the s:value
[20:34:59] <mojavelinux> ah...maybe even the rule is when the type is immutable
[20:35:07] <mojavelinux> that way, no conflict with getter/setter
[20:35:42] <mojavelinux> we'll figure it out...now I have 2 jiras to file in my queue today
[20:36:03] <mojavelinux> check out our proposed type-safe status messages
[20:36:38] <mojavelinux> @StatusReporter
[20:36:39] <mojavelinux> public interface BookingStatusReporter
[20:36:39] <mojavelinux> {
[20:36:39] <mojavelinux>    @ReportStatusMessage(value = "You're booked at #{hotel.name} on {1,date}",
[20:36:39] <mojavelinux>       during = TransactionPhase.AFTER_SUCCESS)
[20:36:39] <mojavelinux>    void bookingConfirmed(@NamedParam("hotel") Hotel hotel, Date date);
[20:36:39] <mojavelinux> }
[20:36:40] <mojavelinux> @Inject BookingStatusReporter bookingStatus;
[20:36:40] <mojavelinux> bookingStatus.bookingConfirmed(hotel, date);
[20:37:10] <mojavelinux> makes you just want to do a jig :)
[20:38:46] <lincolnthree1> I think it would be nice if the API would detect that you've passed in a date object, and do the implicit conversion for you
[20:39:52] <mojavelinux> well, it will in a sense
[20:39:56] <mojavelinux> it does toString() by default
[20:39:59] <mojavelinux> oh
[20:40:13] <mojavelinux> right, this is message format...not sure what would happen by default
[20:40:25] <mojavelinux> probably toString()
[20:41:56] <mojavelinux> yep
[20:42:12] <mojavelinux> println(java.text.MessageFormat.format("Today is {0}", new Date()))
[20:42:21] <mojavelinux> Today is 11/11/10 2:41 PM
[20:42:45] <mojavelinux> {0,date} makes it print
[20:42:50] <mojavelinux> Today is 11/11/10
[20:43:04] <mojavelinux> one year from now
[20:43:09] <mojavelinux> will be a special day
[20:43:11] <mojavelinux> just saying
[20:43:41] <mojavelinux> calendar speaking
[20:49:47] *** balunasj has joined #seam-dev
[20:53:29] *** pmuir has joined #seam-dev
[20:53:29] *** pmuir has quit IRC
[20:53:29] *** pmuir has joined #seam-dev
[20:54:04] <pmuir> clerum: ping
[20:59:45] *** balunasj has quit IRC
[21:06:24] *** pmuir has quit IRC
[21:06:49] *** mojavelinux has quit IRC
[21:17:38] *** pmuir has joined #seam-dev
[21:22:48] *** pmuir has quit IRC
[21:29:44] *** pmuir has joined #seam-dev
[21:34:20] <pmuir> clerum: ping
[22:15:32] *** pmuir has quit IRC
[22:17:44] *** pmuir has joined #seam-dev
[22:17:44] *** pmuir has quit IRC
[22:17:44] *** pmuir has joined #seam-dev
[22:18:14] *** aslak_ has joined #seam-dev
[22:18:15] *** aslak has quit IRC
[22:21:22] <jbossbot> git [catch] push master 3109074.. LightGuard Implementing the ability to qualify handlers...
[22:21:22] <jbossbot> git [catch] push master URL: http://github.com/seam/catch/compare/75dd66a...3109074
[22:23:02] *** aslak_ is now known as aslak
[22:28:59] *** rruss has quit IRC
[22:44:54] *** pmuir has quit IRC

top