[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