Hello,

So I can now make objects from XML, and use them as properties to
beans I'm constructing as in this example:

<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0";
        xmlns:st="http://pizzaonline.demo.org/xmlns/menus-0.2";
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>

        <bean class="org.demo.pizzaonline.api.OrderInterface">
                <property name="menuChoices">
                        <menu 
xmlns="http://pizzaonline.demo.org/xmlns/menus-0.2";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
                        <meals>
                                <meal name="Pizza Tonno" description="Tomato 
basis with tuna and
cheese" price="9.5"/>
                                <meal name="Pizza Quatro Fromagi" 
description="Four cheeses" price="8.5"/>
                        </meals>
                        </menu>
                </property>
        </bean>
</blueprint>

But is there a possibility to make the "menu" object a bean directly?
I'd like to make the "<menu>" a service, that can be referenced to by
other beans. But if I put the <menu> directly in a <service> or <bean>
tag, the XML parsing fails. In the example given aboven, it seems I
can build a wrapper around the objects build from XBean, but I wonder
wether it's possible to do without the wrapper.

Kind regards,

Tom Mercelis

2012/9/18 Tom Mercelis <[email protected]>:
> I found a pretty good explanation on xbean-spring in this blog:
> http://www.christianposta.com/blog/?p=111
> I'm now trying it out but running into an xml validation exception and
> I'm not yet sure why.
>
> Kind regards,
>
> Tom Mercelis
>
> 2012/9/17 Johan Edstrom <[email protected]>:
>> If you want simpler NSHandlers I'd look at the cxf code.
>> Tons of little ones in there that should be pretty self explanatory.
>>
>> /je
>>
>> On Sep 17, 2012, at 10:42 AM, David Jencks <[email protected]> wrote:
>>
>>> I poked around a little bit for xbean-spring but couldn't find any real 
>>> documentation there either.  I thought there used to be a fairly good 
>>> explanation of how it works.  You use the xbean-spring maven plugin for 
>>> both xbean-spring and xbean-blueprint.
>>>
>>> You javadoc-annotate your classes and properties and bean references and 
>>> the xbean-spring maven plugin/ant task generates the schema and property 
>>> files to describe the components and mapping between the components and the 
>>> blueprint data structures.  At runtime the xbean-spring namespace handler 
>>> uses the property files to map the xml plan elements following the schema 
>>> to the internal blueprint data structures.
>>>
>>> I think the examples to look at are probably the xbean-blueprint tests, 
>>> activemq, and servicemix.  Hopefully by following along from annotations to 
>>> property files to blueprint components you will see how to use it.
>>>
>>> Source code is still in xbean at e.g. 
>>> https://svn.apache.org/repos/asf/geronimo/xbean/tags/xbean-3.9 (no source 
>>> modifications after this, although there are 3 more releases of xbean).
>>>
>>> hope this helps, wish I had more time :-/
>>> david jencks
>>>
>>> On Sep 17, 2012, at 1:44 AM, Tom Mercelis wrote:
>>>
>>>> Hello,
>>>>
>>>> I'm trying to find "xbean-blueprint"; but besides dozens of sites
>>>> which offer browsing the sourcecode, the only "homepage" seems to be
>>>> http://geronimo.apache.org/xbean/ and it seems terribly outdated (it
>>>> mentions version 2.8 from 2007 as the latest version)... did the
>>>> project move? What's the new official location?
>>>>
>>>> Kind regards,
>>>>
>>>> Tom Mercelis
>>>>
>>>> 2012/9/14 David Jencks <[email protected]>:
>>>>> xbean-blueprint works fine and is a lot newer than 2007....  I really 
>>>>> recommend using it rather than trying to rewrite the functionality.
>>>>>
>>>>> If you deploy the xbean-blueprint bundle and imitate activemq you should 
>>>>> be able to get it to work.  Sorry about the lack of docs....
>>>>>
>>>>> You might try looking at what happens during the activemq build with the 
>>>>> maven plugin that generates the required property files from the javaodc 
>>>>> "annotations" and how those are used by xbean-blueprint.
>>>>>
>>>>> david jencks
>>>>>
>>>>>
>>>>> On Sep 14, 2012, at 9:09 AM, Tom Mercelis wrote:
>>>>>
>>>>>> Hello,
>>>>>>
>>>>>> I wanted to be able to configure my bean with XML, like ActiveMQ
>>>>>> brokers can be configured in a blueprint XML file.
>>>>>> So far I got my "NamespaceHandler" registered and the parse method is
>>>>>> called on it when blueprint reads my .xml file in Karaf's deploy
>>>>>> folder.
>>>>>> But now I'm lost at what to do next? Am I supposed to instantiate new
>>>>>> objects in the parse function and register them in the osgi container?
>>>>>> I have no clue what to put in the "Metadata" return object and how it
>>>>>> will be processed by blueprint.
>>>>>>
>>>>>> I was inspired to try it this way based on this article:
>>>>>> http://www.tips4java.com/osgiextending-blueprint-with-namespaces/
>>>>>>
>>>>>> The example given there doesn't quite seem to cover what blueprint
>>>>>> does, so I also started looking into the blueprint source to find out
>>>>>> what is done with the (Component)Metadata that is returned from the
>>>>>> parse method.
>>>>>>
>>>>>> Not really getting it, I also tried to figure out how ActiveMQ does
>>>>>> it. ActiveMQ seems not to implement the NamespaceHandler itself, but
>>>>>> relies on "XBean", but that seems really underdocumented and the last
>>>>>> release dates back from 2007... so I wonder whether that's the way to
>>>>>> go.
>>>>>>
>>>>>> Is there anyone who can give me (point me to) an explanation on how to
>>>>>> implement a NamespaceHandler. My goal isn't too complex: I just want
>>>>>> to create a bean with a list of records instead of just key-value
>>>>>> pairs as one can do with blueprint out-of-the-box.
>>>>>>
>>>>>> Kind regards,
>>>>>>
>>>>>> Tom Mercelis
>>>>>
>>>
>>

Reply via email to