On Fri, Nov 21, 2008 at 12:18 PM, Yiwen Huang <[EMAIL PROTECTED]> wrote:

> Hi Simon,
>
> No problem at all.
>
> About the patch, I think I need to create a JIRA in order to submit the
> patch, correct?  Please let me know, thanks!
>
> Best Regards,
> Yiwen
>
> On Thu, Nov 20, 2008 at 7:39 PM, Simon Laws <[EMAIL PROTECTED]>wrote:
>
>> Hi Yiwen
>>
>> Sorry about the slow response. I jut missed this post somehow. The OSOA
>> spec doesn't explicitly call this out but implies it within the section on
>> constraining type (1.6.8). For example, on line 2205 it talks about an
>> implementations componentType having a constrainingType attribute set to the
>> QName of the constrainingType.
>>
>> Your tests look OK to me. It's quite possible that this just isn't
>> implemented. I would go ahead and create a patch and I can take a look. I
>> note on the OASIS list that there is some discussion of changing the way
>> that constraining type will work in the future so, assuming that this
>> doesn't work in the code, we'll have to have a conversation about whether to
>> do something about it or document a restriction.
>>
>> Thanks
>>
>> Simon
>>
>> On Mon, Nov 17, 2008 at 2:32 PM, Yiwen Huang <[EMAIL PROTECTED]> wrote:
>>
>>> Hi,
>>>
>>> I'm trying to write a vtest for the conformance item ASM40002 and getting
>>> kind of lost.  Hopefully someone from the group can set me right. :-)
>>>
>>> The conformance item says:
>>> [ASM40002] If present, the @constrainingType attribute of a
>>> <componentType/> element MUST
>>> reference a <constrainingType/> element in the Domain through its QName.
>>>
>>> I have the following resources & testcase defined:
>>>
>>> --------------------------------------------------------------------------
>>> 1. typefile.composite file:
>>> <?xml version="1.0" encoding="UTF-8"?>
>>> <composite xmlns="http://www.osoa.org/xmlns/sca/1.0";
>>>     xmlns:xsd="http://www.w3.org/2001/XMLSchema";
>>>  targetNamespace="http://assembly-tests";
>>>  name="Assemby-component-typefile-Composite">
>>>     <component name="AComponent">
>>>      <implementation.java
>>> class="org.apache.tuscany.sca.vtest.assembly.ctypefile.impl.AServiceImpl"/>
>>>      <reference name="bService" target="BComponent/BService"/>
>>>      <reference name="b2Service" target="BComponent/BService"/>
>>>      </component>
>>>     <component name="BComponent">
>>>         <implementation.java
>>> class="org.apache.tuscany.sca.vtest.assembly.ctypefile.impl.BServiceImpl"/>
>>>         <property name="someProperty">compositeValue</property>
>>>     </component>
>>> </composite>
>>>
>>> ----------------------------------------------------------------------------
>>> 2. AService.componentType file (which has a constrainingType attribute
>>> defined):
>>> <?xml version="1.0" encoding="ASCII"?>
>>> <componentType
>>>  xmlns="http://www.osoa.org/xmlns/sca/1.0";
>>>  targetNamespace="http://assembly-tests";
>>>  constrainingType="xmlns:CT">
>>>     <service name="AService">
>>>            <interface.java
>>> interface="org.apache.tuscany.sca.vtest.assembly.ctypefile.AService"/>
>>>
>>>     </service>
>>> </componentType>
>>>
>>> --------------------------------------------------------------------------
>>> My testcase:
>>>     /**
>>>      * Lines: ??
>>>      *
>>>      * ASM40002
>>>      * <p>
>>>      * If present, the @constrainingType attribute of a <componentType/>
>>> element
>>>      * MUST reference a <constrainingType/> element in the Domain through
>>> its QName.
>>>      * <p>
>>>      * Description of how the OSOA function differs from the OASIS
>>> function:
>>>      *
>>>      * The OSOA spec doesn't have the same wording.
>>>      *
>>>      * Lines 2204-2205 mentions the following, however.
>>>      *
>>>      * A constrainingType can be applied to an implementation. In this
>>> case,
>>>      * the implementation's componentType has a constrainingType
>>> attribute set to
>>>      * the QName of the constrainingType.
>>>      */
>>>     @Test
>>>     public void ASM40002() throws Exception {
>>>         ServiceFinder.init("typefile.composite");
>>>         AService aService = ServiceFinder.getService(AService.class,
>>> "AComponent/AService");
>>>         ServiceFinder.cleanup();
>>>     }
>>> ---------------------------------------------------
>>>
>>> The test completed without errors, whereas I expected some kind of error
>>> since I did not define a <constrainingType/>.
>>>
>>> The test also completed successfully after I added the following
>>> AService.constrainingType file:
>>>
>>> ------------------------------------------------------------------------------
>>> <?xml version="1.0" encoding="ASCII"?>
>>> <constrainingType
>>>  xmlns="http://www.osoa.org/xmlns/sca/1.0";
>>>  targetNamespace="http://assembly-tests";
>>>  name="CT">
>>>     <service name="AService">
>>>         <interface.java
>>> interface="org.apache.tuscany.sca.vtest.assembly.ctypefile.AService"/>
>>>     </service>
>>> </constrainingType>
>>>
>>> ------------------------------------------------------------------------------
>>>
>>> Are there problems with my test program above?  I was not able to find
>>> the same conformance item in the OSOA spec, though, not sure if this means
>>> Tuscany might not have this requirement.
>>>
>>> Any help is appreciated, thanks a lot in advance!
>>>
>>> Best Regards,
>>> Yiwen
>>>
>>
>>
Hi Yiwen

Yes, that's right. Go ahead and create a JIRA and you can attach a patch to
that.

Regards

Simon

Reply via email to