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
will
ca0ce93fde
Fixed all sync commands that can possibly return a <success> tag. If success, it will return true, otherwise an HTTP error will be returned.
2010-11-05 21:25:19 -07:00
alena
b9ad299ac6
bug 6998: return embedded job result object in queryAsyncJobResult command
...
status 6998: resolved fixed
2010-11-05 12:03:01 -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
9056653e17
Change the API Implementation annotation to use the manager's class rather than an enum. This allows methods for new managers to be added trivially rather than having to modify the dispatcher to load a new manager class.
2010-10-27 12:23:31 -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
e7b478f43d
Added descriptions for Api commands and corresponding requrest parameters
2010-10-07 14:46:29 -07:00
Kris McQueen
9c593352d0
Fixing events for async jobs so that there's a scheduled event recorded with appropriate type/description whenever the API framework schedules the async command to run. A few miscellaneous fixes as well uncovered during regression testing (router response was not parsed correctly by UI, etc.)
2010-10-05 20:26:18 -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
Kris McQueen
2a4ddac41a
Change getResponse() to return a ResponseObject so that the caller can choose how to serialize. This in in preparation for serializing the async commands to the database with class information and deserializing them into the ResponseObject itself when queryAsyncJobResult is called. Once the ResponseObject is deserialized, the proper string can be returned to the caller.
...
The previous behavior had the JSON response from the command embedded into the queryAsyncJobResult response as a string rather than a JSON object which prevented the client from being able to read the response. With this new behavior an actual JSON object should be returned which can then be parsed on the client side.
2010-09-23 17:34:28 -07:00
Alex Huang
b250b985ec
changes
2010-08-18 12:19:22 -07:00
Kris McQueen
96f76062f9
Moving createDiskOffering to configurationManager, make AssignToLoadBalancer async
2010-08-11 19:32:09 -07:00
Kris McQueen
286d57f436
Remove old execute method from AssignToLoadBalancer.
2010-08-11 17:53:22 -07:00
Kris McQueen
0c644a5ccb
Add EventUtils to consolidate the creation of events and make it usable from all managers (there were some private methods in ManagementServerImpl). Add some validation logic to AssignToLoadBalancer implementation in NetworkManagerImpl.
2010-08-11 16:53:03 -07:00
Manuel Amador (Rudd-O)
ac730ec496
Branch 2.1.refactor committed
2010-08-11 09:13:42 -07:00
Manuel Amador (Rudd-O)
05c020e1f6
Source code committed
2010-08-11 09:13:29 -07:00