[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: [OASIS Issue Tracker] Commented: (CMIS-497) extension parametersmake code bloated and unreadbable
[ http://tools.oasis-open.org/issues/browse/CMIS-497?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15573#action_15573 ] Florian Mueller commented on CMIS-497: -------------------------------------- Jens would prefer this: public CmisAllowableActionsType getAllowableActions( @WebParam(name = "repositoryId", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200908/") String repositoryId, @WebParam(name = "objectId", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200908/") String objectId, @WebParam(name = "extension", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200908/", mode = WebParam.Mode.INOUT) Holder<CmisExtensionType> extension) throws CmisException It's more intuitive if get* operations have a return value. The introduction of the extension element was the trigger for JAX-WS to remove the return value because it now has more than one value to return. If we would rename the OUT parameter "allowableActions" to "return", JAX-WS would generate the signature above. > extension parameters make code bloated and unreadbable > ------------------------------------------------------ > > Key: CMIS-497 > URL: http://tools.oasis-open.org/issues/browse/CMIS-497 > Project: OASIS Content Management Interoperability Services (CMIS) TC > Issue Type: Improvement > Components: Web Services Binding > Affects Versions: Draft 0.62 > Reporter: Jens Hübel > Assignee: Al Brown > > With the 0.63 draft all web services get a new extension parameter. This makes API less readable and really ugly. > Do we really need the flexiibility at this level? Some pseudo code > before: > return _objSvc.getAllowableActions(_repositoryId, id); > after: > Holder<CmisAllowableActionsType> holder = new Holder<CmisAllowableActionsType>(); > _objSvc.getAllowableActions(_repositoryId, id, null, holder); > return holder.value; > This requires three lines instead of one. It is no longer clear what the return value is and what parameters have what purpose. We have methods taking three holders, etc. I liked the CMIS API for its clarity and simplicity but now I fear we are far away from this. This seems to affect every function in the web service. > Do we really need this and want to pay this price? -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://tools.oasis-open.org/issues/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]