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
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
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
Kris McQueen
8607fbe923
Cleaning up some TODOs related to generating API command responses. Now that the ApiDBUtils class is available, setting things like domainNames is possible, so make use of that.
2010-09-15 14:56:20 -07:00
Kris McQueen
88395cfcd8
CreatePortForwardingService has been refactored to the new API framework. CreatePortForwardingServiceRule has also been refactored to the new API framework. This is the first async create command, so there are some changes for the framework with async creates. First, the annotation has a 'createMethod' element, the framework will invoke the createMethod synchronously, update the id of the created object, return the jobId and objectId, then queue the method. Once the method is invoked the actual business logic will kick in, for example 'createVolume' will create a database record for the volume, return the appropriate id, and then asynchronously create the volume in the correct storage pool. The requirement is now that both a create method and an implementation method will be required in the given manager for async create commands.
2010-08-18 19:06:12 -07:00
Alex Huang
b250b985ec
changes
2010-08-18 12:19:22 -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