On Mon, Apr 8, 2013 at 6:33 PM, Kishan Kavala <kishan.kav...@citrix.com>wrote:

> APICommand annotation in API Cmd object has a name parameter. Currently
> name parameter takes only one value. I plan to enhance this to support
> comma separated values. This will allow multiple API names for the same API
> Cmd object.
>
> Current:
> @APICommand(name = "apiName1", ..
>
> Proposed:
> @APICommand(name = "apiName1, apiAlias2, apiAlias3", ..
>

It's a hack, but doable. While not elegant as John suggests, parsing comma
separated value can lead to some issues.

Changing the name field to array would require a lot of rewriting the
present apis annotation name fields, again doable by a small python program
(like the one I used in the last name field refactoring).

This would really help remove duplicate cmd classes for apis such as copy
iso and volume which does the same job but requires two different cmd class
implementations.

Whatever way you decide, pl. make sure to fix ApiDiscovery, ApiServer
cmdclass-apiname map generator method and apidocs generation accordingly.

Cheers.


>
> Requirement:
> As part of CLOUDSTACK-763, I'll be introducing NetworkACLList (grouping of
> NetworkACLItems).  Current APIs use *NetworkACL (create
> NetworkACL/deleteNetworkACL etc..) for NetworkACLItem related APIs. These
> APIs have to be changed to *NetworkACL Item(create
> NetworkACLItem/deleteNetworkACLItem etc..) to get the terminology right. We
> also need to support old API names for backward compatibility. Hence the
> need for API name alias.
>
> Terminology:
> NetworkACLItem - Individual ACL Entry (was NetworlACL earlier).
> NetworkACL - Group of Network ACL Items. API will use the term
> NetworkACLList to differentiate from the existing NetworkACL APIs.
>
>
>

Reply via email to