On Mon, Jan 7, 2013 at 11:38 AM, Rohit Yadav <rohit.ya...@citrix.com> wrote:
> Hi Chip,
>
> Yes, we've issues for the TODOs:
>
> CLOUDSTACK-639 (API acl fixes, move implementations to plugin/acl/ and do 
> remaining annotation)
> CLOUDSTACK-641 (Fix apidocs)
> CLOUDSTACK-797 (Fix unknown cmd classes)
> CLOUDSTACK-798 (Move usage apis to cloud-api)
> CLOUDSTACK-793 (Helper plugin, api discoverer for cloudmonkey)

Thanks for the ack Rohit.  I could have looked that up myself, but
appreciate the clarity.

I think we are gaining a consensus to have this happen, and are
actually looking to get it done before the Javelin merge.  Do you
folks have a proposed schedule for making it happen?

> Regards.
> ________________________________________
> From: Chip Childers [chip.child...@sungard.com]
> Sent: Monday, January 07, 2013 7:58 PM
> To: cloudstack-dev@incubator.apache.org
> Subject: Re: [MERGE] Merge request: api_refactoring on master
>
> On Sun, Jan 6, 2013 at 10:02 PM, Rohit Yadav <rohit.ya...@citrix.com> wrote:
>> This is merge request for merging api_refactoring branch on master 
>> (https://cwiki.apache.org/confluence/display/CLOUDSTACK/CloudStack+API+refactoring).
>> For complete list of changes are provided at the end of the email. (there 
>> may be more changes either on master or api_refactoring, watch out the git 
>> repo for changes).
>>
>
> I have no objection to this merge happening at this point.  It looks
> like you folks have done a really good job of making sure that it's
> ready to happen, and addressing the concerns that were raised
> previously (ex: backward compatibility is being maintained).
>
>> Major changes
>> ============
>> - API cmd class classification based on api security and entity affinity 
>> (for ex. all vm related apis would be in 
>> org.apache.cloudstack.api.command.{admin, user}.vm pkg).
>> - Fix @Parameter annotation to help process api params, introduce 
>> @EntityReference etc. which help
>> - Remove IdentityMapper and IdentityProxy
>> - Fix api param processing and uuid/id translation. Pre 3.x apis (all apis 
>> except those which has their @APICommand annotation's "since" field set to 
>> 3.xx or 4.xx) accept both uuids (string) and internal (long int) ids. 3.x 
>> and later apis are enforced to send uuids for api request to succeed.
>> - ACL Adapters (Role bases access checker in plugin/acl/ and DomainChecker)
>> - Tightly couple apiname and cmd class, introduce name field in @APICommand 
>> (previously @Implementation). This remove necessity of defining mapping in a 
>> command class, so apiname=pkg.name.classname;rolemask is not needed anymore, 
>> just apiname=rolemask in *commands.properties.in is enough and both syntaxes 
>> are allowed so it's backward compatible. If an api and role mask mapping is 
>> not defined in the properties file, they would be treated as blacklisted. 
>> Org. can implement their own role base access checkers.
>> - At load time, when mgmt server starts, using reflections (new dependency 
>> and APL compliant, available via standard maven repo) mapping of apiname and 
>> cmd class is generated (this take about 0.75-1 second), instead of doing 
>> that by reading and parsing *commands.properties.in files, same logic is 
>> used to generate apidocs.
>> - API execution optimisations, db views and response fixes. Min can explain 
>> the implementation in detail.
>>
>> Testing
>> ======
>>
>> - Build works along with targets apidocs, plugins, deploydb and deploysrvr 
>> works
>> - Unit tests while building works
>> - Basic Zone deployment using cloudmonkey and marvin's deployDataCenter.py 
>> (python ../marvin/marvin/deployDataCenter.py -i devcloud.cfg)
>> - Pre 3.x apis (all apis except those which has their @APICommand 
>> annotation's "since" field set to 3.xx or 4.xx) accept both uuids (string) 
>> and internal (long int) ids. 3.x and later apis are enforced to send uuids 
>> for api request to succeed.
>> - Integration tests succeeds: 
>> (https://cwiki.apache.org/confluence/display/CLOUDSTACK/Testing+with+Python)
>> $ cd test/integration
>> $ nosetests --with-marvin --marvin-config ../../tools/devcloud/devcloud.cfg 
>> --load -a tags="devcloud" -w smoke
>> Test Deploy Virtual Machine ... ok
>> Test Stop Virtual Machine ... ok
>> Test Start Virtual Machine ... ok
>> Test Reboot Virtual Machine ... ok
>> Test destroy Virtual Machine ... ok
>> Test recover Virtual Machine ... ok
>> Test destroy(expunge) Virtual Machine ... ok
>> ----------------------------------------------------------------------
>> Ran 7 tests in 342.765s
>>
>> OK
>>
>> TODOs
>> ======
>> - Integration tests with large advance zone test sets (I dog-fooded with 
>> devcloud)
>> - There are a lot of VO classes which don't implement a contract or an 
>> interface, this makes it impossible to move certain files which should be 
>> part of cloud-api and are current in cloud-server (for example UsageVO and 
>> usage related api cmd classes in cloud-server)
>> - Move DomainChecker as a plugin
>> - ACL annotation for remaining apis (we've the adapter and processing code 
>> in place, annotation is quite simple: see 
>> 39b829bffef0a21c9886074b1d0c42c3a83ea8b2 for example).
>> - Regression/bug fixes and NPE fixes (which can be found and due to any 
>> failing integration tests for advance zone, from jira bug reports)
>> - Plugin for cloudmonkey and clients to discover apis as admin may have 
>> added/removed apis for a mgmt server.
>> - Automate apidoc generation to classify based on pkg structure and not hard 
>> coded rules.
>>
>
> Think we should open improvements for each of the TODO's above?
>
>> Thanks to Min, Prachi, Prasanna, Fang and Likitha for their commits and 
>> work. Thanks to Alex for his design and guidance.
>> Lastly, thanks to the community for their participation, bug reports, 
>> suggestions and feedback.
>>
>> Comments, suggestions, feedback welcome!
>>
>> Regards.
>>
>>
>> List of changes
>> ============
>>
>> ACL annotation for StopVMCmd:
>> 39b829bffef0a21c9886074b1d0c42c3a83ea8b2 api: ACL annotation and checkAccess 
>> removal refactor for StopVMCmd
>>
>> ACL processing loop fix and method refactoring:
>> 96b9164e4bfc372fc07ecaccac7894677926cf03 Fix ACL processor and methods in 
>> ApiDispatcher and their usages
>>
>> Class extends fixes and debug message fixes:
>> 19cf665094f7915d8058cdb7c1cde8da870e9ab2 ApiServer: Fix debug output for 
>> role based user access checking
>> a9ab42d962d2f76119266c367dc4fa26046fcfc7 api: Extend to infra. interface 
>> entities that are not associated with any account
>>
>> Introduction of Infra*Entity for ACL processing:
>> e51bc8b161bfd95aeaf06e1c86a82da6a3b29b91 InfrastructureEntity: New interface 
>> contract for classes not associated with any account
>>
>> ACL pkg rename refactor:
>> ed0637b8c2ef16e353d8a92feed10f18fc701a96 api: Refactor move acl to 
>> org.apache.cloudstack
>>
>> ApiDoc generation fixes:
>> 6f6ed858399a1b9e44543ccc5d02d7ba3d8b46c4 ApiXmlDocWriter: Fix apidocs 
>> generation based on new commands.properties syntax
>>
>> Annotation fixes and file move refactoring:
>> b246ed7be77e08f87e712e333d0f7a6fc6d80554 api: Fix name fields for autoscale 
>> @APICommand annotation
>> e17e68f0af4bdb99f1b6c68ce7945a63aad0bc0d server: Fix base template*cmd class 
>> imports and names
>> 8b085d3308cd1a4bc35d3b1439660e2167f7d9e2 api: Move base template*cmd class 
>> to org.apache.cloudstack.api, fix names and annotations
>>
>> Remove old syntaxin *command.properties.in:
>> 0df94a8be1bd747b790f1ba36bda84539a128fda Remove old syntax for 
>> commands.properties, apiname=rolemask is enough
>>
>> Remove duplicate cmds:
>> 7235ba35ad67ceff94e4993c19fd742e82fb6b93 Remove Duplicated Network Devices 
>> Commands
>>
>> Cosmetic fixes:
>> 21d6cd304b9a32a5b09b7e96547903e8337c11cf server: Reformat DomainChecker
>> 6a112bd64c33ede4fa24c01bde59fe0e9bb3a925 api: Rename Validator to Validate, 
>> cosmetic fixes
>> b00ed17f4bf229f0169ef3d99a696f01cc74748c server: Cosmetic fix for methodname 
>> in ApiDispatcher
>>
>> Refactor moves of cmd class files:
>> 63481ecb34d60746fadd65d7edc0dc49844cf0e2 CLOUDSTACK-212: Move api response 
>> classes to cloud-api under org.apache.cloudstack
>> c5abc180ab55d521246d280e75ecd08e14f630a2 CLOUDSTACK-212: Move api/test pkg 
>> to org.apache.cloudstack
>> 73a0c3e07f41425cbeede88a2784bd9eb54b2f00 api: Refactor move storagepool apis 
>> to storage pkg
>> f07a98a74097dc29f402f481704334146d0cf36d api: Refactor and move s3 to 
>> api.command.admin.storage
>> f1c15f0c2eaf11999ce2945ad1b4c7dc8a539a9b cli: Remove unused method, fix 
>> welcome msg, prompt
>>
>> Exclude ListPref unit test as it requires a real MS and DB:
>> dea822700195930a78762cc5a6f5a0c74dce71a2 server: Exclude ListPerf test in as 
>> it requires real MS and DB
>>
>> Fix unit tests and regression bug:
>> 95e605ed25c3878b2cbdd3af15093b5b09096880 api: Fix failing unit test, 
>> regression due to recent merge
>>
>> IdentityMapper removal and annotation of remaining api cmd classes:
>> 364116074e6ffe0404b461e75c328dcda536d522 api: Remove IdentityMapper finally
>> 596f9d0905de327e96d1f8a48ce60218934606ed api: Annotate netscaler apis, 
>> remove IdentityMapper from everywhere
>> 65a1284e83bd0179a27c3b99426d6026b21f2aa9 srx: Annotate api classes, remove 
>> IdentityMapper
>> 4dd5f14e76d7442ef2ea90b3c0aa4bb630ea9a71 f5: Annotate f5 cmd classes, remove 
>> IdentityMapper
>> 4cf0b05a0be0ccedc74d691c77d9ed07e36669b1 vmware: Annotate cisco related 
>> apis, remove IdentityMapper
>> a2f8f42575e99303ccade4adc3d5fc12a4c0b21a nicira-nvp: Annotate nvp plugin, 
>> remove IdentityMapper
>>
>> Uses reflections to load cmd classes in ApiServer:
>> 0428b30a5a1cf079a2afac81aedc37dd2415de88 Fix reflections cmd class loading 
>> in ApiServer
>>
>> Deploydb maven target fix, the view schema is now in a separate sql file:
>> 22e3454ae4a6bffbd81340d09dbb23a973ad72ec developer: Load create-schema-view 
>> sql for developer deploydb profile
>>
>> Backward compatibility fix in api param processing, in ApiDispatcher, but 
>> fix post 3.x apis in case uuid translation fails:
>> 98d5719b57e34b5852fb9e27ea939361a75a2099 server: Make ApiDispatcher backward 
>> compatible to not throw error on incorrect params
>> 6929bd947348c3912c19a260428c063bb0aea0ea server: Don't silently ignore uuid 
>> param translation for required param in case they fail
>> 6fa8c708eeed0b511780b900b7869385091cac1d api: Fix service and disk offering 
>> annotations
>>
>> Fix incorrect annotation fixes:
>> 223bfc07c31a0952cd85d017611c3f0dae28f74a api: Fix Parameter annotation in 
>> DeleteServiceOfferingCmd.java
>> 65b274d09bdaf05ea277a5eeabe76c25093f3c8a api: Fix incorrect annotation for 
>> list template cmd
>>
>> DB view fixes, build fix for sql script:
>> daeb4abcca6f6f97d64bd560ce9087d4c92ca4a2 Create DB views for 
>> AsyncJobResponse to speed up listAsyncJobsCmd.
>> ff8fdbd1942e6206eba02d9db3c36730b0c0d7d1 Add missing @Id annotation to id 
>> fields for all the join VOs to support findById call.
>> c0a0318f29ad73c00793e98d24ab315dfea0a1e0 setup/db: Fix missing semicolon in 
>> db create view command
>>
>> ApiName, role and cmd pkg mapping fixes:
>> 580bf857ff41cd6bff36f8cfdb8e821d7978598d server: ApiServer inits with 
>> processing cmd classes to fill apiname:class mapping
>> 072c6f1988a224b4d31ff3c7864b1c6f86882bca acl: Remove getApiCommands() method 
>> on APIAccessChecker interface
>> c5b51b7c39d3215c412f47d272d204ec276a4bf1 plugin: Remove memory mapping of 
>> apiname and class name in StaticRoleBasedAPIAccessChecker
>> 65e4f00a101c130d15ad028f00961ebef11995a0 Annotate api name on usage related 
>> apis
>>
>> DB View fixes:
>> ebfb90e2176e6b2f9b3a1a79d1ebc5c4cd8ebaff Create DB view for Account to speed 
>> up ListAccountsCmd, and add missing async job information for some response 
>> objects.
>>
>> ACL adapter fixes:
>> bc8e0af0a3eff4d3e73796ffd4a8481b6f8c2f6e plugin: ACL Static Role Based api 
>> access checker
>> d235859168569fcd344e2210891b7611dbb3da12 Fix PluggableService to provide 
>> interface for ACL adapters etc. to get configs
>>
>> @APICommand annotation fixes, make apiserver be backward compatible to 
>> accept internal long int ids for pre 3.x apis:
>> d928014a75461d21cd8eeca628150445440e9b08 api: Add CopyIsoCmd, boilerplate 
>> cmd class for api copyIso
>> 983fe9712fac863397fdc0f9eb1eeb727986b112 api: Fix name field in @APICommand 
>> for CopyTemplateCmd.java
>> 774cb29b0c46e5677faf9fc52f91f5d6d2617dae api: Annotate all remaining cmd 
>> classes with APICommand name field
>> 76ea0e7c45877df9d991e775cca86a4113066365 api: Annotate and fill name field 
>> of @APICommand from commands.properties.in
>> 623e7389ef0b2923b7859629cd70406e2e471525 api: Make APIServer backward 
>> compatible to accept both uuid and id for pre 3.x apis
>>
>> Annotation and cosmetic fixes:
>> eff0716426dd7fbfa5dbc9415b3fbaa6aafa6bc8 UI: Minor cosmetic fixes
>> 617a0507e1d0ffe5454cb282783ef6c0282cb11e api: EntityReference for 
>> serviceOfferingResponse
>> 840da555204afac026a8797a02881b33dc1779c3 api: Entities will extend 
>> InternalIdentity and Identity
>> b80dccee3fcb938461d0058ec100379fa730ec4a api: ListTemplateCmd returns 
>> TemplateInfo not UserVmResponse
>>
>> Name field part of @APICommand to tightly couple apiname and cmd class:
>> b8369b808e4757c6442fd74092df375c095e89a5 api: Introduce name field which 
>> would hold the OTW api command name
>>
>> InternalIdentity enforcement and annotation renames:
>> 7a7fe583e0a57b4b4c82200127037961eee14e1c Rename Implementation annotation to 
>> APICommand
>> a18464dbe52d4de5689d85913364e839d682b377 Rename @Entity to @EntityReference 
>> used in Response classes
>> 057ac12d236778e986d001c8e102bdc81da88a20 Enforce InternalIdentity interface 
>> on all VO classes that impls long getId()
>> b75d92419e0647bc2044abe8b3b86331ca5eaebe api: Enforce InternalIdentity 
>> interface on AsyncJobVO
>>
>> Removal of IdentityMapper:
>> beb2fccf1c8450d062bf1399416b185d9e77fe99 api: Finally get rid of 
>> IdentityMapper annotation processing in ApiDispatcher
>> 042a8e768103b7e110b21ed17140833d71d86eda api: Get rid of method definition 
>> in interface, that uses IdentityMapper for getting entity
>> 9d3ab8ded77f7dbba249b6cd6ef0edad7d80cabd server: Get rid of db helpers that 
>> work with IdentityMapper
>>
>> Annotation fixes:
>> 018b5215e01dc8d8ad31dbd9090f57c147f1cfc2 api: Annotate apis in various 
>> plugins
>> 1bd47d48abc8567fb9ebf97d3d10dfd22598241a api: Annotate some nicira apis
>> e849d70af14412ee42892a016bc2ddb5d5af6e9f api: Annotate some juniper-src apis
>> a4fed07a7e6c63d7bf6d526f890274d638977467 api: Annotate usage related apis
>> fd784bd2d3c2975e36747d686f4e275793743e27 api: Annotate 
>> CreatePrivateNetworkCmd
>> f4a407e197a7c9c657af84f575596b1503d3b4b8 api: Remove IdentityMapper imports 
>> on vpn
>> 02efffa93efabc5a639613af144d28a25239130f api: Annotate VPC apis
>> 1931667243dbb566925e0b8acbbd4f25649f2bcb api: Annotate volume api
>> edb42d2cbbe6e34f04820277ef283813ef0a19ee api: Annotate templates apis
>>
>> Introduction of interface that gives us contract that VO class has getId()
>> a5dddb4a838784c44a58b10c5874d6ca304e543d api: Extend or Implement 
>> InternalIdentity's getId method on a lot of VOs and Interfaces
>> a157a4c1eb67f11ab1fac837792c94179fa8bc39 api: InternalIdentity interface 
>> that provides contract to have getId
>>
>> Annotation fixes:
>> 38225a17f6d2ed4c72c3d43e096ed5e35602867c api: Annotate template related api
>> 0719f21320715e2c08af563cac8799070d79623e api: Annotate ssh apis
>> 66c2c0cbb79ad075f6ab80d1812c21c3c4b4b2bd api: Annotate snapshot related apis
>> a0a8a0bb5d34fdd27084f4599df10fe4519d63dd api: Annotate resource apis
>> 4d79909828ab733bb95f2b317f0d6004606b84bd api: Remove unused, redundant 
>> imports in project
>> 07f5e1ac2df0664d320dcd4bdd84d29d539c8616 api: Annotate offering apis
>> b37aca47b9bc52d57c3d1022104794da59704e90 api: Annotate network apis
>> 06246ae27cbef314eec638248cc9d317f5ff80e0 api: Annotate nat apis
>> 8559b4eab8962ac4dff9417b9fc3bdfebaf52b4b api: Annotate loadbalancer related 
>> cmd and response classes
>> 0e1083ad83d6e8b2fc6de69744449255e9cd450b api: Annotate iso related cmd and 
>> response classes
>>
>> DB list api fixes and build fixes (class definition):
>> 503db14127807ef69933f5dcf6a3cef91cb5ca45 Add back Identity interface to most 
>> VO class to avoid cast error in ApiDispatcher.setupParameter call.
>> 3aad2ba972eea3ef9f03bc88e311e44dae1ebf20 Add DB host view into fresh install 
>> schema and upgrade schema.
>> e7fa1a86fbdf39a43528921a0ea7530d3a5f1e57 Create DB views to improve 
>> ListHostsCmd performance.
>>
>> Annotation field and response fixes, method for translating uuid to id:
>> e5fc513257587ab1d5b98567eb18980826981b6e api: Annotate guest related apis
>> ced1aabf82ef8226beef73c685a42f5d0fdbed73 api: Annotate firewall related apis
>> af5eacfc014621cb78ddea022589b4d9bc2bf0ee api: Annotate autoscale apis
>> 575fab971103367c8c5c6935ce5c7d49e03e6aba api: Annotate account and address 
>> apis
>> 4e2b30d31dc944800ec37db6113b5b9b98d38941 api: Annotate vpc admin apis
>> 6f3c7bf4c71b595354d783cae10945f13dcc2aef api: Annotate vm related apis in 
>> admin pkg
>> 5d8e1066027b2df20680aa0c361830d85d1611fb api: Add method in ApiDispatcher to 
>> be reused for both UUID and List<Uuid>
>> e9457cb40712d2bb4d015c3d1daa3973ca17aac8 api: Annotate Vlan admin apis, fix 
>> resource, storagepool, systemvm apis
>> f3f0962df20b58b25fc253df5017ad2dea41a62d api: Annotate admin apis related to 
>> traffic type for usage
>> 9a3deaf8077ebbe8668c526edc287be1b3c8f5a8 api: Annotate template admin api
>> 93532ea28c8773f8e1039427096b2bf93cbdc8cf api: Annotate storage pool related 
>> apis
>> a7e6172d8c5d97588c272de21f4ff43e4f8c2d60 api: Annotate admin.router apis
>> 7e3c0ec0028c42110197785d9bf2df6ba88b5dc1 api: Annotate resource apis
>> 97514a0693324d37e03d5193a01e77dae90ef2d0 api: Annotate offering
>> 2140ff55ea986c8c0f2c7e2f2afcb5a5d55f2fed api: Refactor and move VPN related 
>> api cmd classes to command.user.vpn
>> a15da04937911e6779740d7f2317af87d57c9418 api: virtual machine Cmd annotations
>> 024f0d95dd4526f210d0dfff64f789107cdb4c49 api: Use Identity interface instead 
>> of java reflect to getId
>> 3209a3a858fbd5d7c30ee4cfb5394a4a3c8606ab api: Annotate pod,zone admin apis
>> 08892c51a36072ea7f2dc8fbbdcee4191594b5ee api: Fix jobid and entitytype for 
>> BaseResponse and QueryAsyncJob*
>> f548099d08b7e0645d36193257c61b609e39b32d api: annotate instance group Cmds
>> 71522b88dc6a8ef401e4ce05638db6b0a25974ee api: annotating the volume related 
>> cmds
>>
>> Upgrade schema fix:
>> 3ae5986b87852c094f2412b22345bc4d10cb3ade Update DB version during DB deploy  
>>    1. Modified create-schema.sql to add version as 4.1.0 instead of 4.0.0  
>> 2. Removed schema-40to41.sql amd moved the content to schema-40to410.sql     
>>    3. Added to schema-40to410.sql Upgrade40to41.java
>>
>> Backward compatibility for id/uuid passing/processing:
>> 03b47cb5010f0244b861cf0f9b6c9f12ce4dced3 api: Temp. fix to be backward 
>> compatible to old way of id passing
>>
>> Annotations, license fix, interface extension fixes:
>> 6a032e0295809105adedfadcc5c322e6c03730c4 api: annotate the vpc related Cmds
>> c7e1cb651f20574bbd06cb191e3962d10f2171be api: Annotate the Site2Site vpn 
>> commands
>> 6fbdf7665445f12a46672ba76e47bbecdd84f8df api: Annotate 
>> RemoteAccessVpn,ListZone commands
>> 67f9467c5dbae56666dd6136a77fa7ea522f1d7b CLOUDSTACK-697: Reordered the 
>> LICENSE and NOTICE file content (as well as descriptor.xml).
>> 8acc85ca5371d8fb3c66ac4083633849422f5654 Update DB version during DB deploy  
>>    1. Modified create-schema.sql to add version as 4.1.0 instead of 4.0.0  
>> 2. Removed schema-40to41.sql amd moved the content to schema-40to410.sql     
>>    3. Added to schema-40to410.sql Upgrade40to41.java
>> 290dc79366701852fd64127429f6954fea609f7a Populate uuid for uploadVO in 
>> create case.
>>
>> DB View are used to create response, introduction of upgrade script:
>> e4dbc2033fa6071039df65f414e004611b361108 Add upgrade script from 4.0 to 4.1.
>>
>> Response and annotation fixes, removal of IdentityProxy:
>> b14b39a69fa295d1d20484170b95b97fe310af28 Remove IdentityProxy from 
>> BaseResponse, ExtractResponse. Now IdentityProxy is only referenced in 
>> CreateCmdResponse, which involves some async job logic change. Since it is 
>> not impacting list performance, will leave it there for now.
>> 5548d08fb6eec93f11e616abc862ef52746d55b7 api: Annotate missing systemvm api, 
>> annotate SystemVmResponse
>> d9718e82f28c2f0fb4cf2bb344b38c92db2e6baf api: Annotate some systemvm commands
>> a88ce6bb7f495dddeb954d1fc7826176646b3590 Remove IdentityProxy from 
>> CloudException and ExceptionResponse.
>> eb2a7deddd29bad9ab1cb63aff319f25cbcaeac5 api: Annotate start,stop router cmds
>>
>> IdentityProxy removal, Validator interface definition and fixes in 
>> ApiDispatcher:
>> 98b022a4300dc81ad28033d2b7110a10b2df1e15 Remove IdentityProxy from plugin 
>> response classes.
>> c4b600a8d181eb3e4d58db1822015753af9d0e53 api: Fix Validator annotation 
>> interface
>> e397f23f6b5d6ba34ad42eca95ae9d9ee43ac6a8 Revert "Guard null pointer 
>> exceptions."
>> 1d729578d41b7435b68313c23dac2efc382d070f Remove IdentityProxy from Response 
>> classes.
>> fc56e29a3ec22035c744e276538e8a20e5923996 Guard null pointer exceptions.
>> 7b6132e8e2e6f3fc375e39bbcb76154b1bd547f9 api: Skip empty uuid processing in 
>> ApiDispatcher for received params
>>
>> Annotation, findByUuid method introduction and NPE fixes:
>> 3e292869eb34d804e27358e4ba596adf589d2a67 api: Annotate project API cmd and 
>> response
>> 32ca9e2aa4e2265a483911ef91208d0be84f3269 api: Annotate ListRoutersCmd, fix 
>> @Entity for Network,User,VPC Response
>> a9df2cb0f53d5d6b8d5837dac220a264d1023d1d api: Fix NullPointerException for 
>> listProjects in ProjectJoinDaoImpl
>> 434258080f2dad95bbdbdd67f9517af2eac1cf85 api: Fix NullPointerException in 
>> ApiResponseHelper for DomainResponse
>> 22ee4200c32912b06027618be1793a2c336cc0f6 api: Fix findByXId to findByUuid in 
>> EntityManager and ApiDispatcher
>> ba5fba939c1af0f936ac752da280fc040b5bdd09 api: Fix method name findByXId to 
>> findByUuid
>>
>> Annotation and Response fix, remove IdentityProxy:
>> 4b75132aa241db84af60f815c177f27a7cdd17ae Remove IdentityProxy from Response 
>> classes.
>> 97d9fd01bd54669640f0dbf74909326a2e6c873b api: Annotate network related api 
>> cmd and response classes
>> a6ce3b5450d5b308ea088427739a46831c59406d api: Annotate Network 
>> device,offering,service apis
>> 275208e1755de191f31769d65cf9fbea9722d246 api: Annotate phy network apis
>> 9624a59d8e4d29caf6185f78cf2d5c0d917d387a api: Annotate host apis
>> 855ba0439f05258e6c19e49a6a7852403d277e4d api: Annotate cfg and 
>> hypervisorcapabilities apis
>> fb9db2b1b19cf72ead11592bfc43f148a9f2477f api: Annotate autoscale and cluster 
>> apis
>> 6116f3a4334f6e886fa7d52df488dc52bd468715 api: Annotate account apis remove 
>> IdentityMapper
>> e940562dcac9dcfa07342a4d6cdc6cf4260fd8b1 api: Annotate domain apis
>>
>> Response fix, remove IdentityProxy:
>> 16be94e9d7f5dde5b9353d85bdd9a8114546abe2 Remove IdentityProxy from 
>> OfferingResponse, FirewallResponse, FirewallRuleResponse, 
>> HypervisorCapabilitiesResponse, IPAddressResponse.
>> 1aa30f03e7a99ff3bbfebca4b98823de2a25c359 Remove IdentityProxy from AutoScale 
>> responses.
>>
>> UUID fixes and translation to get VO object work (in progress, completes 
>> above):
>> b16dde6367e9871b46869ce325e5fe0cd47341d3 api: Fix User related API Cmd 
>> classes to use entityType and CommandType.UUID
>> dc33a8d1458fd767ce7da2f38ff35f4be74caa3a api: Fix BaseList Cmd classes to 
>> use UUID CommandType and entityType appropriately
>> b008f31fd58c5ba496a20823af4b0608f448d355 api: Add @Entity annotation for 
>> user related response classes
>> 5fdce84e81c10650d41de1837d7f4a1791fc4a6e api: Process UUID and Parameter 
>> annotations in ApiDispatcher
>> 837d21bb2daf5b719c985a88e24585634c2df35f api: Implement findByXId in 
>> GenericDaoBase and EntityManagerImpl
>>
>> Response fix, remove IdentityProxy:
>> 3d344738b1faad2b05a97e3e0a45f70596a6469e Fix ControlledEntityResponse 
>> interface to remove IdentityProxy for projectId and domainId.
>>
>> ApiServer port 8096, handle() fix;
>> d54d8cbcd7913bcc2c82a5fa64042849753e026a api: Fix ApiServer's handle() which 
>> runs on integration.api.port
>>
>> Response fix, remove IdentityProxy:
>> 79f8c104eb149aba7db353c9536b7b3410239cf1 Remove IdentityProxy from 
>> GuestOSResponse and GuestOSCategoryResponse.
>>
>> Annotation processor in ApiDispatcher:
>> de8aa86542c115362209c6c3c67e79d5616ec889 api: Work in progress code in 
>> ApiDispatcher to process annotations
>>
>> Annotation fix:
>> cba97b17423a8dda4e8d8b170088fe014754d283 api_refactoring: add parameter 
>> annotation for user 'security-group'
>>
>> Response fix to include cloudstack api:
>> f8a483fc5a47cb66ac4788fcd7d53da0c9d6ea2b api: Include cloudstack-version in 
>> both xml and json api response
>>
>> ACL fix, annotation field fix:
>> 59fc89abe31df863e891c36b64336700eb100d3d api: Fix ApiServer role base acl 
>> logic and response type value
>> 429b430721939b16e34fe9deda2c0d586765b0f6 api: Fix DeployVMCmd to use only 
>> entityType and not resourceType
>>
>> Parameter annotation field rename:
>> 6db279583ef43b4378e02371cfab2cf1249a2059 api: Remove resourceType, use only 
>> entityType
>>
>> CommandType UUID introducing commit:
>> cc4030be41da3a654e6a1437528bc59cb9e18486 api: Add UUID type to CommandType 
>> in BaseCmd
>>
>> Refactor and annotation fixes:
>> efa034e821df2333864ebaff94df2b7331905135 API-refactoring -- Add pod 
>> annotation, needed for the deployVM flow test.
>> a2a3ef63c272c642457e57dfed00267ed2656bff API refactoring -- add annotation 
>> for cluster group cmds and response.
>> 7ea690c74d56cf0442a1b421e87e3043352d4c47 API refactoring -- add annotation 
>> for Account group and account response.
>> 27482045ceef4ee4e8165c21f97c24200888beed API refactoring -- More parameter 
>> for counter group.
>> 44ef998cfc83bcb210cf257bd137073338aab4e2 api: Add Validator interface that 
>> will be used for the @Validator annotation
>>
>> Response refactor/fixes:
>> c167ad45e3480160c086e5bf532a72d9704c072b Move view based VO and Dao classes 
>> to cloud-server module to hide the details from API client, also extract 
>> query related methods into QueryService interface.
>>
>> Misc fixes to api:
>> 7dbdf786cc48244943da7dc7884b23763d4eeb31 api: FIXME for api access checker 
>> adapter
>> 561dccfe9d36490f747463041ede8a46020c80e6 Fixing an oops, left out a tag...
>> 3661f7f99293838d18b53326b43cd486456ec60f Fix several bugs of new refactored 
>> list apis.
>>
>> Method refactors, api refactors:
>> 472f4f91b9af18802d34e3a8631441b1752c18f3 Refactor ListProjectInvitationsCmd 
>> and ProjectInvitationResponse.
>> 9c93fee0dcde2927d9819cf82b86237b632f35d0 Refactor ListProjectAccountCmd and 
>> ProjectAccountResponse.
>> c455cf9271042b7897a55fc12e96cc8ce2640259 api: refactor common code to get 
>> classname for an api in ApiServer
>>
>> @Inject fix:
>> 79b54e6ac1eea7ccc6a76255be3770f4e8b03703 api: Fix obj injections in ApiServer
>>
>> ACL adapter fix:
>> 6ce68b93ccfe23c4001713ae38c6422029891726 api: Fix APIAccessChecker and 
>> StaticRoleBasedAPIAccessChecker
>>
>> Cosmetics fix:
>> f4892fbb8482572605ac5aff01de419ced5f8f5c api: remove those evil extra 
>> newlines
>>
>> List apis and response classes fixes:
>> 8735716ba02c89dfd33ad86748a665b4ab081f96 Refactor ListProjectsCmd and 
>> ProjectResponse.
>> c83323fea77ebbd87adf0f793362f4ba915a007b api: Refactoring ListUsersCmd and 
>> UserResponse.
>>
>> ACL Adapter fixes:
>> 8c4096dc5946c6d91a6445300278cb05a6a0f200 api: Have apiserver injected by 
>> component locator
>> 214668711229e8b2c79e8373604be488c69f7552 api: initialize vars in constructor 
>> of StaticRoleBasedAPIAccessChecker
>> 503082a49e0218bac937687164fe4151d774c52e api: Add ACL adapter for 
>> components.xml
>>
>> ApiServer and Servlet fixes:
>> 151a7643ced3a022d78eab0f6a4cf34b19928a7a api: Don't silently fail apiserver 
>> instance initialization
>> 8fbbc7646648c86da56239d9cfee8633edaf2484 api: minor fixes in ApiServlet
>>
>> License fixes:
>> c8923c9625619f379b42d9888d7b7d6dfe56c760 api: Fix license header for 
>> acl/Role.java
>> 293665fafb0f450cb7e0c821975f13a656f02add api: Add license headers for 
>> APIAccessChecker and StaticRoleBasedAPIAccessChecker
>>
>> Move refactor of cmd and response classes:
>> bba96254f500f90c05c8059dfe7938fb1857fe7f Refactoring ListVMGroupsCmd and 
>> InstanceGroupResponse.
>> e398b1e47a2558005c66b555e55d62bab2c7e149 api: Refactor command and response 
>> classes to org.apache.cloudstack.api.*
>> ad50d226cd5ffa3d84fb1aed33f1d581909ec6e1 api: Refactoring, add the parameter 
>> annotation for user VM.
>>
>> Move refactor of cmd classes:
>> af28c06998d7983fd703e7e4c4cadc1aa2d827ea api: move and group all under 
>> command, org.apache.cloudstack.command.*
>>
>> API cmd class classification and moves, and Parameter annotation fixes:
>> fa7527b77ec0bac987629df9dc31b9808378ed18 API_refactoring Add parameter 
>> annotation to the admin virtual machine group.
>> 30941c2d31a530a633796a5d7613f07365bb0fe7 api: Refactoring ListEventsCmd and 
>> EventResponse, and create Event db view.
>>
>> Sync changes from master to api_refactoring:
>> 8cee2c578f9ad015c6b0738b07340261241bc8b0 Merge branch 'master' of 
>> https://git-wip-us.apache.org/repos/asf/incubator-cloudstack
>>
>> Apidocs generation build bug fix:
>> 947ac982bc3c3b1369e1d4dbcbbbbec0f1d87ca5 api: fix apidocs build bug
>>
>> API cmd class classification and moves:
>> a6c02e14838fd5200eb65e65bdea2267897656b9 api_refactoring: VMgroup parameter 
>> annotation.
>> eba353099ec09da656a2944e481c74c190880589 api_refactoring: Fix build issue 
>> with api_refactoring branch.
>> 3d04bfcadc175c0130b80f9cbda214a9d710cc4a api_refactoring: Add parameter 
>> annotation for admin zone group.
>> da6e81aa210dc8f8c7ac1d0693258df6ed453733 api_refactoring: Fix build issues 
>> and incorrect imports
>> 5d998a616bdce93375794439e4a8171bf946b414 api_refactor: move forgotten apis, 
>> uncomment and fix mappings
>> 089db9c6314a050cf0d09d4ad04f395f81caf609 api_refactor: capacity, hypvsr, 
>> alert and cert apis
>> 780eb95830fd64424277d39d3934cfed69b66754 api_refactor: swift, ldap and vlan 
>> apis to admin pkg
>> 28305904e8122124a55a2499272312d8450cd4cb api_refactor: move cluster apis to 
>> admin package
>> 6c2ed5cb663e5844401711d81321bdd7f38bedff api_refactor: move pod apis to 
>> admin pkg
>> e763fd7d369221695690bd392d8172c8899aab52 api_refactor: move userkeys api to 
>> admin pkg
>> 1f1ac79a6c91c562ffcfff1279a5cdbf4b171b4c api_refactor: move disk and service 
>> offering to admin pkg
>> ecc8249365e73d9ba982704423a4dd8ee88b7af4 api_refactor: move cfg admin apis
>> ab4fac54e52b2f4770c9b1b14fb3f7d3d70d4006 api_refactor: move admin level 
>> domain apis to admin pkg
>> c3853677c5ba34d25cb1bfb511e40f434cf175d0 api_refactor: move zone apis to 
>> admin pkg
>> 7f61d29c371f7bd51309ec13572d8f2496be0854 api_refactor: move zone and 
>> hypervisor user level apis to appropriate pkg names
>> cc386b791b725252bd6cbd1ec28a5cb14594f5b6 api_refactor: move storagepool api 
>> to admin pkg
>> 163fe7b8c317f479462bcf903cc6ac2c2283ac8f api_refactor: move systevm apis to 
>> admin pkg
>> 1b1d91dc4fa6fd0f4fca5b0b74ab9bfce7127a49 api_refactor: move admin level 
>> account apis to admin pkg
>> 2a7fa674c73dd88c34136bd94fc68a3c53f1e2a1 api_refactor: Move host apis to 
>> admin pkg
>>
>> API call improvement (backend):
>> b0ce8fd4ff512c7a7da0a71671c4477492e854e7 api: Optimize and improve api, db 
>> call performance
>>
>> API cmd class classification and moves:
>> c59de6cbde30c0b75d4c1557ccd14ee7505a160b api_refactor: router apis for admin 
>> pkg
>> 55f2bd810a17633b262b2d679553ce201f128139 api_refactor: move template api 
>> preparetemplate to admin pkg
>> ceddaf122cdd857cd8269184dc0a478962095d35 api_refactor: refactor user apis
>> ba8e61bfb5a810dbf66a2dd8ccd35377457c85ef api_refactoring: for network api 
>> refactoring move interfaces so it works
>>
>> Redundant policy/rules removal:
>> 0799052d7014611de1f0e8a16f6503ee243df901 commands-ext.properties.in: remove 
>> duplication, same in commands.properties.in
>>
>> API cmd class classification and moves:
>> e07106db0bada572912f6f114589d86a553199b0 api_refactor: usage apis to 
>> admin.usage pkg
>> 0bbe82e8e12c93b69e74414d2d54f0707fe1557c api_refactor: move usage apis in 
>> parts to admin.usage
>> 52c35bc30d83d5070e13ec6175931f6f15426576 api_refactor: make interfaces 
>> public as some of the stuff move to cloud-api
>> 55364478e5e26a33951172a7bc69c3454e047548 api_refactor: move vpn related apis 
>> to user.vpn
>> 8d8285a8d4976dd3790e0262e183fd864b912a79 api_refactor: vpc admin apis
>> c24118e7e8988b6cdd9397d394487923898a544f api_refactor: move network api for 
>> admin pkg from cloud-server to cloud-api
>> 678181ac35ad83240ce7bb1505bc32ce12d8990f api_refactor: move network api for 
>> admin pkg
>> ee0a4a41d0f8db2f895a1699150c60cac6facab8 api_refactor: entity annotation and 
>> fix parameter
>> 99875a165fd5a6d48c2385b52250ec6b29f0ce51 api_refactor: admin apis for vpc
>> dd5a36fcd2ebb373d627d061e67f16c304f4ae5b api_refactor: refactor for 
>> autoscale apis
>> 2121fbd4698342bd5b14f9b5ec086a541d259dd8 api_refactor: refactor network apis 
>> for admin pkg
>> feb342ad2364a6237298e200d7eb9866cf004a2a api_refactor: refactor autoscale 
>> apis
>> 456b852c0cd4d8fbd2d5dcd02181bcb7828df84e api_refactor: refactor loadbalancer 
>> apis
>> 8773fc2a55ee842594130d7fa066968f80963929 api_refactor: refactor volume apis
>> 25b5aadb4e313436e1b5e604ee1c236c28b21a64 api_refactor: refactor firewall apis
>> 5cd1f4b6c2f2842b9978e49de2ae6c46bff87e52 api_refactor: ip address apis 
>> refactoring
>> 46ed598894598238c87eac446b92c6bd351e5193 api_refactor: resource (limit) 
>> apis, move capability and cloud identifier
>> 7f9c490b5a7865adae1d9ad4ee17895aa0cd49ed api_refactor: move listzones and 
>> listcapabilities to dc
>> a34fc1f1a766187e4e4425e284f5dd2bbae0ce85 api_refactor: move listcapabilites 
>> to dc
>> d3261e5bb3d0d31a25514b3769d91d06d74c5c27 api_refactor: move listhyperisor to 
>> datacenter
>> 658cf56120796140b90ab08b7356fb65031db133 api_refactor: move diskoffering to 
>> offering
>> 6fe1b5f9b08796fdfbe770d8334610978a4e7a44 api_refactor: move diskoffering to 
>> offering
>> 1b8dc65f3a7b6f3b9e3b3b988e8abf31400d8a43 api_refactor: refactor user (vpn) 
>> apis
>> 91d199b8d8b740ce6f6cd588f675bad460e25aac api_refactor: refactor list 
>> hypervisor api
>> cabbc7bd7d4778f1728bd11306403909572d6987 api_refactor: refactor disk api 
>> (only user)
>> ea79162615f7863a84102229a32637e1ca1a0730 api_refactor: refactor 
>> configuration api for normal user
>> 28df57ec7564a1004c392ff1a70bbc497df6da63 api_refactor: refactor 
>> serviceoffering apis
>> 73d1099c7680eece21e0677d2e9495714e8a9789 api_refactor: rename sg to 
>> securitygroup
>> 1e51d6c1ab4cead878581a9992be2ee462ef78d1 api_refactor: refactor guest os 
>> (guest) apis
>> b673c21174f33844a5a9d9de3e04450cbcdd32d8 api_refactor: refactor job (async 
>> jobs) apis
>> 7ac48798b4420a80ff0d2415e070e550a2297b77 api_refactor: refactor event apis
>> add1b9b05541564d24efaf5a0ddad5673edc7aa1 api_refactor: refactor register apis
>> 316e7f226a22c9a88b892b0bc4960243e5c36a95 api_refactor: refactor tag apis
>> 37cd76ee8156398d39afb0ce9c1fb44aa8d63cfc api_refactor: refactor ssh apis
>> 9a0df307667c43b56adddd98bf65c7f50b469dc1 api_refactor: refactor account apis
>> 46353e0916af32339887c1ad6035d024bd12d9a8 api_refactor: refactor vmgroup apis
>> 13aa4d8530340e69f2a621a9ea813548195843a5 api_refactor: refactor nat apis
>> a033cf1bfcf5580ac5182ba919e5ea796b11c35d api_refactor: refactor snapshot apis
>> 0df9538fb7b335a92c5fb764589e37c0b45f952e api_refactor: refactor security 
>> group (sg) apis
>> 3e0b2164be83a176304eb40d8000c15c0b63c310 api_refactor: refactor template apis
>> e0b4430070d70b946cbdb7dff138be91a23b0b0a api_refactor: refactor iso apis
>> 47ae62e44a5ddf813230eeaa6f92b9fb2dd662d4 api_refactor: refactor network apis
>> 5e0501d116e03d69fa4f50dcfae0f618730b4984 api_refactor: refactor project apis
>> ac1ea7616abbb89b1f1b8525572ed470037cca28 api_refactor: refactor vpc apis
>> 6fc3bc3760b35236cc005790abea766d308c23ae api_refactor: refactor vpn and vm 
>> apis
>>
>> Cosmetic fix:
>> 5edfc2760a99e3c62709cdb8bf50c04664726d43 refactor: remove redundant imports, 
>> fix trailing chars
>>
>> ACL POC work by Prachi:
>> a2306f4917a6705819b0112fcb085ebafe752ed0 some more poc work
>> 073863249abf36b6879359889f5731984391fa41 Some ACL POC work
>>
>>
>

Reply via email to