Commit Graph

13 Commits

Author SHA1 Message Date
alena 1a8d9a92a7 Modified all api calls to throw ApiServerException if null object is returned by the manager. 2010-11-15 17:44:51 -08:00
alena 050eed742f 1) Removed account/domainId info from deleteSnapshot and deleteSnapshotPolicy commands as we get account info from the snapshot/policy object.
2) Introduced responseObject field in @Implementation for all apis. This field contains information about the response object class, so we can used it for generating API documentation.
2010-11-12 17:36:17 -08:00
alena 5fafef9970 More api refactor - build api response is execute() method instead of getResponse method. 2010-11-09 09:58:05 -08:00
alena 1c24deda34 1) Refactored current Apis not to use reflection for method invocation. In new version following has to be done:
* Implement callCreate() and execute() methods in apis extending BaseAsyncCreateCmd (example - CreateVolumeCmd)
* Implement execute() method in apis extending BaseCmd and BaseAsyncCmd (example - deleteVolumeCmd and deleteUserCmd)

We no longer need createMethod(), method(), manager() fields in @Implementation annotation, cleanup has to be done.

2) Moved Account/User related methods to AccountManagerImpl. Methods are exposed via AccountService interface.
3) Enhanced exception handing for Api calls.
4) Created ConfigurationService interface, all Api config methods are exposed via it.
2010-11-08 11:27:36 -08:00
alena 52a8370102 bug 6955: return embedded object for PreparePrimaryStorageForMaintenance
status 6955: resolved fixed
2010-11-03 14:30:35 -07:00
Kris McQueen 24551eea3a Add constants for API command parameter names and for API response parameter names. Update the commands with the new constants rather than custom strings. Update several of the responses with the constants. Not all the responses have been updated, this is still work in progress... 2010-10-29 17:20:40 -07:00
Kris McQueen 0f4a245f0a resolving merge conflicts before pushing to the remote repository 2010-10-12 15:37:50 -07:00
Kris McQueen 2740ba6c40 final merge of master->2.1.refactor preparing for merge back into master 2010-10-12 14:46:24 -07:00
alena fb50fe624c * Added descriptions for Api command's request and response parameters.
* Changed response type for DeleteDomain and DeletePreallocatedLun commands to SuccessResponse
* Implemented small tool (ApiXmlDocReader) for comparing api commands of different product versions.
2010-10-11 09:21:42 -07:00
alena 136060e5cf 1) Finished XmlApiDoc writer. The program gets api classes from commands.properties.in file, and build Command objects with "name"/"description"/"request"/"response" fields. Request and response are represented by the list of arguments, each argument contains "name"/"description"/"isrequired" fields. The commands are being serialized to commands.xml using imported xstream library, and can be desiarialized later - it will help to compare commands from differemt product versions.
2) Added description() methods to Implementation and Param annotations.
2010-10-04 09:50:14 -07:00
Kris McQueen 848ce60097 Merging master into 2.1.refactor, resolve the merge conflicts as best I can. New commands related to extracting template/iso/volume and related to instance groups were refactored to the new API framework. 2010-09-28 15:47:14 -07:00
alena 9b10074c2a Added missing license info to the bunch of files 2010-09-27 19:08:03 -07:00
alena b26ac321de bug 6177: Make VM group a first class object
1) Added new apis: createInstanceGroup, updateInstanceGroup, deleteInstanceGroup, listInstanceGroups
2) Group can be created using:
* createInsanceGroup api
* deployVirtualMachine/updateVirtualMachine commands (we create a group with name equal to "group" parameter value if the group doesn't exist already)
3) Group can be removed by:
* deleteInstanceGroup api
* when corresponding account is removed
4) Vm can be assigned to one group only. To move vm from one group to another, use updateVirtualMachine command with "group" parameter
5) Changed listVirtualMachines command to use "groupId" parameter instead of "group".

status 6177: resolved fixed
2010-09-14 19:08:01 -07:00