You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tuscany.apache.org by "Jean-Sebastien Delfino (JIRA)" <tu...@ws.apache.org> on 2007/04/16 09:11:15 UTC

[jira] Resolved: (TUSCANY-1204) Support for @requires annotation and requires attribute

     [ https://issues.apache.org/jira/browse/TUSCANY-1204?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jean-Sebastien Delfino resolved TUSCANY-1204.
---------------------------------------------

    Resolution: Fixed

Thanks for the patch...

I was not able to apply it as-is to the latest code in the trunk, as the trunk has changed significantly since when this patch was developed, but I have checked in a PolicyProcessor that does the equivalent of what your patch was doing.

Also some lines in the patch were wrapped around column 80, I had to hand edit and fix it to make the patch tool consume it.

@Requires on the implementation class are added to the assembly Implementation model object.
@Requires on service interfaces are added to the corresponding service model object.
@Requires on callback interfaces are added to the corresponding callback model object.
@Requires on operations are turned into Intents containing a corresponding Operation object.

I ported the test case you had contributed to the latest code in trunk, and the test passes, even though I'm not sure if I adapted the test logic to the new policy model structure correctly. It would be great if you could take a look and let me know if I missed anything.

Thanks.

> Support for @requires annotation and requires attribute
> -------------------------------------------------------
>
>                 Key: TUSCANY-1204
>                 URL: https://issues.apache.org/jira/browse/TUSCANY-1204
>             Project: Tuscany
>          Issue Type: New Feature
>          Components: Java SCA Model
>            Reporter: Mark I. Dinges
>         Assigned To: Jean-Sebastien Delfino
>             Fix For: Java-SCA-Next
>
>         Attachments: policyworkdelta.txt
>
>
> The follow patch is to add annotation and attribute suppot to the model. For @Requires annotation on Service implementaion at the class level the intents will be added to the ComponentType model object. For @Requires annotation on the Service implementation at the operation/method level the intents are added to the Operation Model Object. For @Requires annotations on the Service interface at the class level the intents are added to the ServiceContract model object. For @Requires annotations on the Service interface at the operation/method level the intents are added to the Operation model object. For "requires" attribute that is on the Service in the scdl the intents are added to the ServiceDefinition model object. For "requires" attribute that is on the Reference in the scdl the intents are added to the ReferenceDefinition model object. For "requires" attribute that is on the implementation.java in the scdl the intents are added to the Implementation model object.
> I did not want to duplicate code that existed in ServiceProcessor.java so the PolicyProcessor class should be added after the ServiceProcessor in the implementation.scdl. 
>     <component name="implementation.PolicyProcessor">
>         <system:implementation.system class="org.apache.tuscany.core.implementation.processor.PolicyProcessor"/>
>     </component>
> PolicyJavaInterfaceProcessor will need to be added as implementation.system Not sure of the most appropiate place to at it with changes that have been happening.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-dev-help@ws.apache.org