This content has been marked as final.
Show 35 replies
-
1. Re: MC + JAXB (JBossXB Builder)
adrian.brock Jan 7, 2008 7:02 AM (in response to alesj)"alesj" wrote:
I ported the MC JAXB features from JBossXB builder project.
How much was this thing tested?
I ported the entire set of MC parsing tests into the JBossXB builder testsuite.
Are these now broken? -
2. Re: MC + JAXB (JBossXB Builder)
alesj Jan 7, 2008 7:07 AM (in response to alesj)"adrian@jboss.org" wrote:
Are these now broken?
Yes.
I ran them from IDEA's JUnit integration.
Some of them pass, but most of them fail due to collection's element interface usage (instead of using declared type="AbstractXYZMetaData") when binding. -
3. Re: MC + JAXB (JBossXB Builder)
adrian.brock Jan 7, 2008 10:49 AM (in response to alesj)"alesj" wrote:
"adrian@jboss.org" wrote:
Are these now broken?
Yes.
I ran them from IDEA's JUnit integration.
Some of them pass, but most of them fail due to collection's element interface usage (instead of using declared type="AbstractXYZMetaData") when binding.
I'm not seeing this. When I run the builder mc tests they all pass.
You know the builder code and test are now in the jbossxb
project? The original jbossxb-builder project is obsolete.
e.g. If I run the org.jboss.test.xb.builder.object.mc.test.DependencyTestCase
it passes. The model is declared (AbstractBeanMetaData):/** * Set what the bean depends. * * @param depends Set<DependencyMetaData> */ @XmlElement(name="depends", type=AbstractDependencyMetaData.class) public void setDepends(Set<DependencyMetaData> depends) { this.depends = depends; flushJBossObjectCache(); }
-
4. Re: MC + JAXB (JBossXB Builder)
alesj Jan 7, 2008 11:05 AM (in response to alesj)"adrian@jboss.org" wrote:
[
You know the builder code and test are now in the jbossxb
project? The original jbossxb-builder project is obsolete.
No. :-)
Which version of jbossxb has this already included? -
5. Re: MC + JAXB (JBossXB Builder)
starksm64 Jan 7, 2008 11:09 AM (in response to alesj)2.0.0.CR5 and trunk.
-
6. Re: MC + JAXB (JBossXB Builder)
alesj Jan 7, 2008 11:13 AM (in response to alesj)"scott.stark@jboss.org" wrote:
2.0.0.CR5 and trunk.
OK, I'll remove the jbossxb-builder dependency in MC, and updated jbossxb version to 2.0.0.CR5. -
7. Re: MC + JAXB (JBossXB Builder)
adrian.brock Jan 7, 2008 1:15 PM (in response to alesj)"alesj" wrote:
"scott.stark@jboss.org" wrote:
2.0.0.CR5 and trunk.
OK, I'll remove the jbossxb-builder dependency in MC, and updated jbossxb version to 2.0.0.CR5.
I've just done that. But there are a number of problems still to resolve.
1) I don't know why but there is a change in the way JAXB was handling elements.
e.g. I had to reinstate the "bean" element in BeanSchemaBindingHelper.configureValueBindings()
But the same issue is broken for PolicySchemaBindingHelper in that it doesn't
recognise the nested value in the BindingComplexValue test.
2) The new JAXB wasn't even working. I've udpated some of the none xml properties
e.g. getChildren() on most of the metadata to mark it @XmlTransient.
It can now actually build the schema ;-)
There was some other fixes as well.
3) The remaining issues are the BeanFactory tests are all failing.
And the way I did MapMetaData in the jbossxb is wrong.
In the JBossXB tests I implemented it as a Set
but this is obviously wrong, since it is a Map not a Set.
The current way to markup a Map is to use XmlAdapter
http://viewvc.jboss.org/cgi-bin/viewvc.cgi/common/jbossxb/trunk/src/test/java/org/jboss/test/xb/builder/object/element/javatypeadapter/support/
But it would be better if we had native support like we do for collections.
Off Topic. I'm seeing some other tests. e.g. the value-factory tests
are failing because of AccessControlException when trying to get the classloader. -
8. Re: MC + JAXB (JBossXB Builder)
alesj Jan 7, 2008 1:23 PM (in response to alesj)"adrian@jboss.org" wrote:
I've just done that. But there are a number of problems still to resolve.
1) I don't know why but there is a change in the way JAXB was handling elements.
e.g. I had to reinstate the "bean" element in BeanSchemaBindingHelper.configureValueBindings()
But the same issue is broken for PolicySchemaBindingHelper in that it doesn't
recognise the nested value in the BindingComplexValue test.
2) The new JAXB wasn't even working. I've udpated some of the none xml properties
e.g. getChildren() on most of the metadata to mark it @XmlTransient.
It can now actually build the schema ;-)
Uf, we were doing the same thing, and you beat me to it. :-)
I'll revert my changes, and do an update."adrian@jboss.org" wrote:
There was some other fixes as well.
3) The remaining issues are the BeanFactory tests are all failing.
And the way I did MapMetaData in the jbossxb is wrong.
In the JBossXB tests I implemented it as a Set<MapEntry>
but this is obviously wrong, since it is a Map not a Set.
The current way to markup a Map is to use XmlAdapter
http://viewvc.jboss.org/cgi-bin/viewvc.cgi/common/jbossxb/trunk/src/test/java/org/jboss/test/xb/builder/object/element/javatypeadapter/support/
But it would be better if we had native support like we do for collections.
Yup, I noticed that.
I can have a look at this."adrian@jboss.org" wrote:
Off Topic. I'm seeing some other tests. e.g. the value-factory tests
are failing because of AccessControlException when trying to get the classloader.
That's what I was explaining here:
- http://www.jboss.org/index.html?module=bb&op=viewtopic&t=125785&postdays=0&postorder=asc&start=0 -
9. Re: MC + JAXB (JBossXB Builder)
adrian.brock Jan 7, 2008 2:24 PM (in response to alesj)"alesj" wrote:
"adrian@jboss.org" wrote:
And the way I did MapMetaData in the jbossxb is wrong.
In the JBossXB tests I implemented it as a Set<MapEntry>
but this is obviously wrong, since it is a Map not a Set.
The current way to markup a Map is to use XmlAdapter
http://viewvc.jboss.org/cgi-bin/viewvc.cgi/common/jbossxb/trunk/src/test/java/org/jboss/test/xb/builder/object/element/javatypeadapter/support/
But it would be better if we had native support like we do for collections.
Yup, I noticed that.
I can have a look at this.
Actually that's no good for the way we do maps. It only supports
collection type map definitions, e.g.<map key="1">2</map> <map key="3">4</map>
I've been speaking with Alexey and we'll probably add support for
some kind of @JBossXMLMap annotation. -
10. Re: MC + JAXB (JBossXB Builder)
adrian.brock Jan 7, 2008 3:20 PM (in response to alesj)"adrian@jboss.org" wrote:
3) The remaining issues are the BeanFactory tests are all failing.
I fixed this by using my new improved version of the GenericBeanFactoryMetaData,
I called it GenericBeanFactoryMetaData2.
But this implementation is incomplete, it needs to add the install callbacks "etc."
into the constructed BeanMetaData:public List<BeanMetaData> getBeans() { AbstractBeanMetaData gbf = new AbstractBeanMetaData(); gbf.setName(name); gbf.setAliases(aliases); gbf.setBean(GenericBeanFactory.class.getName()); gbf.setMode(mode); Set<PropertyMetaData> properties = new HashSet<PropertyMetaData>(); gbf.setProperties(properties); properties.add(createProperty("bean", bean)); properties.add(createProperty("classLoader", classLoader)); properties.add(createProperty("constructor", constructor)); properties.add(createMapProperty("properties", properties)); properties.add(createProperty("start", start)); properties.add(createProperty("create", create)); // etc. return Collections.singletonList((BeanMetaData) gbf); }
-
11. Re: MC + JAXB (JBossXB Builder)
adrian.brock Jan 7, 2008 3:23 PM (in response to alesj)So once the Map issue is resolved, the remaining work is to do the same for the
aop-mc-int deployment stuff then we can ditch all the schema binding initializer code.
That will make the MC jar a lot smaller. ;-) -
12. Re: MC + JAXB (JBossXB Builder)
alesj Jan 7, 2008 3:44 PM (in response to alesj)"adrian@jboss.org" wrote:
But this implementation is incomplete, it needs to add the install callbacks "etc." into the constructed BeanMetaData:
Is install callbacks even legit for beanfactory?
Since once the bean is created, we have no control.
So, only the callbacks at the time of creation would be applied - meaning that the order of creation would be important.
e.g. getting different behavior if something changes the order, a new dependency ...
And no way of applying uninstalls. -
13. Re: MC + JAXB (JBossXB Builder)
alesj Jan 7, 2008 3:52 PM (in response to alesj)"adrian@jboss.org" wrote:
I fixed this by using my new improved version of the GenericBeanFactoryMetaData,
I called it GenericBeanFactoryMetaData2.
I think it's missing the features of MetaDataVisitorNode. ;-) -
14. Re: MC + JAXB (JBossXB Builder)
alesj Jan 7, 2008 3:55 PM (in response to alesj)"alesj" wrote:
I think it's missing the features of MetaDataVisitorNode. ;-)
Or not. :-)public List<BeanMetaData> getBeans() { AbstractBeanMetaData gbf = new AbstractBeanMetaData(); gbf.setName(name); gbf.setAliases(aliases); gbf.setBean(GenericBeanFactory.class.getName()); gbf.setMode(mode); Set<PropertyMetaData> properties = new HashSet<PropertyMetaData>(); gbf.setProperties(properties); properties.add(createProperty("bean", bean)); properties.add(createProperty("classLoader", classLoader)); properties.add(createProperty("constructor", constructor)); properties.add(createMapProperty("properties", properties)); properties.add(createProperty("start", start)); properties.add(createProperty("create", create)); gbf.setDemands(demands); gbf.setDepends(depends); gbf.setSupplies(supplies); gbf.setInstalls(installs); gbf.setUninstalls(uninstalls); gbf.setInstallCallbacks(installCallbacks); gbf.setUninstallCallbacks(uninstallCallbacks); return Collections.singletonList((BeanMetaData) gbf); }