15:00:38 #startmeeting 15:00:38 Meeting started Mon Jun 13 15:00:38 2011 UTC. The chair is sebersole. Information about MeetBot at http://wiki.debian.org/MeetBot. 15:00:38 Useful Commands: #action #agreed #help #info #idea #link #topic. 15:01:00 hi 15:01:29 so obviously we got Beta1 released last week 15:01:36 and gbadner cut 3.6.5 as well 15:01:53 and a Validator CR1 :-) 15:01:59 and that too! :) 15:02:46 as for next 4 release we just need to keep pushing on the metamodel stuff 15:03:11 sure 15:03:31 and once it gets fully integrated mae sure we still look good on the tck 15:04:21 i think (for my own benefit at least) we should figure out where we are with the metamodel 15:04:43 so that we know where we still need to go 15:04:58 looking at the code is not always conducive for that high level view 15:05:45 I am still on the component (@Embeddable) issue. I had several days off and needed to pull together the Validator release. Back in business now 15:06:07 also, i think we need to start thinking through the notion of ordered processing of the mapping data 15:06:09 from a hight level point I would like to see things like joins and many to many etc 15:06:09 versus 15:06:21 in hbm I mean 15:06:23 post processing 15:07:07 specifically 15:07:08 new EntityReferenceResolver( this ).resolve(); 15:07:24 and i have a feeling there would be more like that as we continue 15:07:47 hardy_: i can understand that 15:07:49 but 15:07:56 here is another line of thought... 15:08:20 i'd really like to see the ability to completely handle "basic" mappings first 15:08:39 which we are not there yet afaiu 15:08:53 right, but I don't think we are so far off there 15:08:55 sebersole, are types resolved? 15:09:21 meaning, an entity that maps to a single table with basic attributes and associations 15:09:25 but I like the idea. Let's try to complete basic mappings 15:09:38 I'm pushing through persisters 15:09:40 does this include @Embedded (components) 15:09:44 gbadner: resolved how? 15:09:52 hardy_: yes, i think sp 15:09:54 so 15:10:09 and @EmbeddedId or @MapId, because they might be tricky 15:10:10 just not multi table stuff 15:10:12 ok 15:10:17 well 15:10:31 @MapsId we could hold off on for second wave 15:10:39 sure 15:10:42 yes, @EmbeddedId should be there 15:10:43 depends how far along you are i guess 15:11:56 gbadner: one option that you and i already talked about was to build a type registry prior to processing the mappings 15:12:18 to cover all the built in types and type-defs 15:12:19 not so far with @EmbeddedId. I started w/ @Emeddable and stliu has the id related issue. he is waiting for me to check something in. hopefully very soon 15:12:45 hardy_: cool 15:12:58 #agreed on implementing "basic" mapping first 15:13:00 hardy_, btw, i saw you opended a jira to upgrade slf4j to 1.6.1, what does that for? aren't we getting rid of slf4j? 15:13:00 sebersole, ok, so a a "type resolver" step 15:13:03 so then i guess no work on @MapsId... 15:13:07 always wanted to to do this :-0 15:13:19 :) 15:13:37 gbadner: well i discussed the difficulty there with you 15:14:11 though an alternative pops into my head now.. 15:14:22 keep this as part of the Metamodel 15:14:31 instead of the ServiceRegistry 15:15:10 that way it is less likely to be *inadvertently* shared with other SessionFactories 15:15:20 stliu: I want to pull in Hibernate Validator 4.2.Final as soon as it is out and needed a slfj4 upgrade for that 15:15:53 i think hibernate is still stating slf4j as transitive dep 15:16:04 right 15:16:14 but its more just because we did not clean up the deps after we switched 15:16:22 ok 15:16:40 if there are any deps on slf4j, they should be "test scope" 15:16:52 jpav: ^^ 15:16:58 sebersole, shouldn't type info be coming from AttributeBinding.getHibernateTypeDescriptor().getExplicitType() ? 15:17:02 but we really could get rid of this completely then, right? 15:17:05 that's true now, afaik 15:17:18 unless some new ones were introduced 15:17:24 hardy_: your issue is completely irrelevant yes 15:17:29 doh 15:18:17 i had some issues though when running the build w/ the latest Validtor snapshot, hence the upgrade 15:18:49 and yes, I think it was test related 15:18:52 gbadner: wdym? 15:19:10 you have to have bound SOMETHING there right? 15:19:22 even if it is just a type name 15:19:31 there has to be SOMETHING there 15:19:34 i have another look at the build, maybe I remove the slf4j dep completely. would make more sense 15:19:38 yes, but that is in the metamodel 15:19:52 yep, i understand where that is 15:20:03 no at all understanding your question here 15:20:48 sebersole, you said something about it being in the metamodel vs in the service registry 15:20:54 do you mean the TypeResolver? 15:21:20 i meant *some* collection of types 15:21:46 as we discussed, it that is kept on ServiceRegistry and this binding code mutates it... 15:22:08 then there is potential problems if that ServiceRegistry gets used to build multiple SFs 15:22:29 this is FAR LESS LIKELY with Metamodel 15:23:01 [06/13/11 10:21] as we discussed, it that is kept on ServiceRegistry and this binding code mutates it... -> 15:23:06 as we discussed, if that is kept on ServiceRegistry and this binding code mutates it... 15:23:40 hardy_, jpav : i just thought i saw it pop up in the generated pom 15:23:43 let me check 15:23:46 yes, I understand the problem w/ it living in the ServiceRegistry 15:24:28 ok, then like i said, i do not understansd your question 15:24:28 sebersole, should we discuss after the meeting? 15:25:12 better if you email it to me 15:25:29 ok 15:25:59 hardy_, jpav: https://repository.jboss.org/nexus/content/groups/public/org/hibernate/hibernate-core/4.0.0.Beta1/hibernate-core-4.0.0.Beta1.pom 15:26:06 its there, but test scope 15:26:31 we can probably get the generated pom to just drop test deps 15:26:39 yeah, it's been there in the test scope since the beginning 15:26:46 they serve no purpose there reallty 15:28:24 ok 15:28:38 hardy_: so then i think at this point we should just keep on keeping on with basic mapping constructs 15:28:56 jupp 15:29:16 so do you have thoughts now on the "ordered processing" thing? 15:29:41 or you happy with going back and processing stuff later? 15:30:09 currently its just associations 15:30:33 new EntityReferenceResolver( this ).resolve(); 15:30:49 may end up being more later 15:31:16 is there really an alternative? 15:31:24 yep 15:31:50 processing through the mappings in a set order 15:32:16 so you process the entities creating shells 15:32:26 1) process the entities creating shells 15:32:32 2) process identifiers 15:32:50 shells == placeholders? 15:32:54 3) process basic attributes 15:33:16 4) process associations 15:33:17 etc 15:33:31 you visit each step across all mappings 15:33:57 very similar to the overall change i made for metadata 15:34:16 i like this idea (it helps to deal with "delimited-identifiers" i think) 15:34:26 you know that processing a certain type of element often has requirements on another type of element 15:34:27 sebersole, yeah, that should work 15:34:53 IDs that are actually foreign keys would be put off until later 15:35:24 gbadner: well they would just go into a queue for that step 15:35:26 iow, non-foreign key IDs would be processed first 15:35:44 after those are finished, then process foreign key IDs 15:36:01 really it is only key-many-to-one that is in anyway "tricky" there 15:36:32 stliu: i dont think it effects deleimted identifiers at all 15:36:36 how do you mean? 15:37:22 anyway, this is the last big decision i think 15:37:35 after that its just "heads down, get'er done" 15:38:03 ok 15:38:11 as far as impl... 15:38:14 do you want a decision today? 15:38:16 there are 2 options 15:38:26 hardy_: no, we should all think about it 15:38:35 but it does effect the apis 15:38:38 there are 2 options 15:38:43 just wanted to ask for some time to think about it :-) 15:39:04 there are 2 options (think of the entity "shell" case): 15:39:33 1) either we instantiate the actual metamodel classes and populate them later (getters/setters) 15:39:59 2) we instantiate a "parallel" set of "semi-complied" classes 15:40:27 "semi-complied" - what do you mean? 15:40:29 for (2), for example, we;'d have a series of objects to represent the hierarchy 15:40:52 hardy_: it would have just pertient info for that step 15:41:20 so for the entity step, just define the name, hierarchy 15:41:23 no attributes 15:41:27 one thing I thought about was setting state objects in bindings as a first step 15:42:02 sorry guys, gtg. I am catching up on this later ... 15:42:52 well anyway, think we all would benefit from some time to think through this. 15:43:07 probably best to pick it back up on the dev ml 15:43:09 sebersole, the state objects can be created on the first pass 15:43:34 and added to the "shell" 15:45:13 well not sure the details yet so hard to say if thats most appropriate 15:45:49 but probably good to look for ways to minimize the number of times we have to pass through metadata 15:45:51 ok, that's something I was thinking about for an "uncompiled" entity binding 15:47:52 #endmeeting