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
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
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
Kris McQueen
5a3f4af638
AddHost and AddSecondaryStorage have different required parameters, so avoid subclassing these commands and just call a common method in the agent manager. Fix the response name for listAccounts. CreateUser returns one user, so don't always get response.user[0] since that's pointless. A secondary storage host does not have a pod id (NfsSecondaryStorageResource) so make sure not to dereference variables that will be null.
2010-09-21 16:28:31 -07:00
Kris McQueen
e2e0e76063
More work on serializing responses. Now responses have to have the name set on them, and the name will eventually be serialized to the JSON/XML response the way it used to work for commands themselves [the result of cmd.getName() was written to the response string]. For list respones, we wrap the individual objects in a ListResponse object that has the name of the response, and the individual objects have the object name so that accounts will be something like <listaccountsresponse><account><...></account><account><...></account></listaccountsresponse>.
2010-09-17 17:13:04 -07:00
alena
091b28a6b3
Modified addSecondaryStorage/addHost/updateHost/associateIpAddress/attachIso/copyIso/copyTemplate/deletePortForwardingService/startRouter/stopRouter/rebootRouter commands to new API framework.
2010-09-16 18:54:15 -07:00
Kris McQueen
df10af0688
cleaning up imports, fixing up some compilation problems related to API refactoring
2010-09-13 15:25:46 -07:00
alena
78846ec4eb
1) Fixed AddHost, AddSecondaryStorage, UpdateIso, UpdateTemplate to return correct command name.
...
2) Added missing accessors getFormat and isPasswordEnabled to UpdateTemplateOrIso abstract class.
2010-08-18 21:03:31 -07:00
alena
f1b95641cb
Refactor api deletePool, addHost, addSecondaryStorage
2010-08-18 15:41:16 -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