Commit Graph

62 Commits

Author SHA1 Message Date
Alena Prokharchyk 21d016b3dd API response: added new field to @Param - RoleType[] authorized() default {}. The field defines who is authorized to see this partciluar reponse field. If not specified, the parameter is returned to everybody 2014-02-20 17:15:43 -08:00
Daan Hoogland a71871d11c findbugs: fixes for ApiServer, ApiSerializerHelper and
ApiXmlDocWriter(cherry picked from commit
9aced41d70)
2014-01-28 14:47:06 +01:00
Alena Prokharchyk c3680cc111 CLOUDSTACK-5839: fixed xml serializer to process collection field when its elements are of String type 2014-01-08 15:38:50 -08:00
Alex Huang d620df2bdd Reformatted all of the code. 2013-11-21 06:15:26 -08:00
Alex Huang 8d62744681 Reformat all source code. Added checkstyle to check the source code 2013-11-20 07:26:53 -08:00
Laszlo Hornyak 5f497b9a75 Removed unused methods from ApiResponseSerializer
getGetMethod and getGetMethodName were not used

Signed-off-by: Laszlo Hornyak <laszlo.hornyak@gmail.com>
2013-10-12 19:42:50 +02:00
Min Chen 6e55776795 CLOUDSTACK-2331: Failed to display exception object information in case of CloudRuntimeException. 2013-05-28 16:01:33 -07:00
Prasanna Santhanam 5d67c98e5b marvin+apidiscovery: Extend API discovery plugin
API discovery plugin will return embedded entities for marvin to
discovery and generate it's API classes.

Signed-off-by: Prasanna Santhanam <tsp@apache.org>
2013-04-02 18:31:30 +05:30
Rohit Yadav 85aa3a9977 Revert "api: Include cloudstack-version in both xml and json api response"
This reverts commit f8a483fc5a.

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-30 16:12:21 -08:00
Min Chen 7f8262d45e Remove IdentityProxy and IdentityTypeAdapter class.
Signed-off-by: Min Chen <min.chen@citrix.com>
2013-01-09 17:40:58 -08:00
Min Chen e7fa1a86fb Create DB views to improve ListHostsCmd performance.
Signed-off-by: Min Chen <min.chen@citrix.com>
2012-12-22 21:47:05 -08:00
Rohit Yadav f8a483fc5a api: Include cloudstack-version in both xml and json api response
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-16 21:37:03 -08:00
Rohit Yadav e398b1e47a api: Refactor command and response classes to org.apache.cloudstack.api.*
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-07 19:23:24 -08:00
Min Chen b0ce8fd4ff api: Optimize and improve api, db call perfomance
This is part 1 of list API refactoring. Commands covered:
listVmsCmd, listRoutersCmd Response covered:
UserVmResponse, DomainRouterResponse. DB views created:
user_vm_view, domain_router_view.

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-05 20:06:20 -08:00
Rohit Yadav 6fc3bc3760 api_refactor: refactor vpn and vm apis
- Refactor VPN and VM APIs to admin and user pkgs
- Names space, org.apache.cloudstack
- Fix refactored apis in commands*.in
- Fix comments etc.
- Expand tabs, remove trailing whitespace

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-03 21:27:02 -08:00
Alena Prokharchyk 2914985837 Fixed json response to return "size" parameter (resources count in the system) when pageSize=0 is specified 2012-11-14 15:01:48 -08:00
Alena Prokharchyk d118a3d764 Fixed the bug in xml response serializing (introduced while resolving merge conflict) 2012-11-07 17:17:17 -08:00
Alena Prokharchyk fe41325e96 ApiResponseSerializer - replaced all occurrences of string concatenation with StringBuffer.append
Conflicts:

	server/src/com/cloud/api/response/ApiResponseSerializer.java
2012-11-02 10:50:04 -07:00
Alena Prokharchyk 8f2d9a09e5 CLOUDSTACK-332: intermediate checkin fixing count parameter in listCommands
Fixes the count in commands:

listVolumes
listVirtualMachines
listSnapshots
listRouters
listFirewallRules
listPortForwardingRules
listLoadBalancerRules
listIpForwardingRules
listAccounts
listUsers
listDomains
listDomainChildren
listPublicIpAddresses
listAlerts
listAsyncJobs
listRemoteAccessVpns
listVpnUsers
listTags
listPrivateGateways
listNetworkACLs
listStaticRoutes

Conflicts:

	api/src/com/cloud/api/commands/ListVMsCmd.java
	api/src/com/cloud/api/commands/ListVolumesCmd.java
	api/src/com/cloud/network/lb/LoadBalancingRulesService.java
	server/src/com/cloud/network/firewall/FirewallManagerImpl.java
	server/src/com/cloud/network/lb/LoadBalancingRulesManagerImpl.java
	server/src/com/cloud/network/rules/RulesManagerImpl.java
	server/src/com/cloud/network/vpc/NetworkACLManagerImpl.java
	server/src/com/cloud/network/vpc/VpcManagerImpl.java
	server/src/com/cloud/network/vpn/RemoteAccessVpnManagerImpl.java
	server/src/com/cloud/tags/TaggedResourceManagerImpl.java
2012-10-12 13:58:59 -07:00
Jessica Wang f509efe2d8 cloudstack 3.0 - API response serializer - change XML serialized string's encoding from ISO-8859-1 to UTF-8 to support more characters - fix "L10N: DE, ES, FR, JA, KO, SC: Garbage characters appear when using localized characters in Subscriptions page" (Reviewed-by: Brian) 2012-09-04 11:43:29 -07:00
David Nalley e87558256c Patch from Chip Childers
https://reviews.apache.org/r/5704/
License header updates for the server folder
2012-07-02 09:51:21 -04:00
frank 2f634c0913 Switch to Apache license 2012-04-03 04:50:05 -07:00
Vijayendra Bhamidipati 24e57e283e Bug 14071: queryAsyncJobResult in xml format gives incorrect UUIDs back
Description:

	Incorrectly removed part of the XML serializer that serialized
	the IdentityProxy object in normal responses, when putting in
	support for serialization of lists of IdentityProxy objects in
	exception responses as part of the code changes put in for bug
	13217, resulting in this bug. Putting it back in place.
2012-03-20 16:22:43 -07:00
Vijayendra Bhamidipati 83101a752f Bug 13127: API error text refer to database ids instead of uuids
Description:

	Modified the IdentityTypeAdapter's custom serializer to
	identify whether this is an exception response that is being
	serialized, by checking if the idFieldName is set. If so,
	serialize both uuid and the uuidProperty (for eg, zoneId and
	"zoneId" (string)) and pass back the json representation of that.

	Modified XML serializer also to build a list of uuids+fieldnames.

	Introduced a new field "cserrorcode" in ExceptionResponse. This
	refers to an error code that can be according to the specific
	Exception being thrown. This will be serialized as usual. There
	shouldn't be any need to do a db lookup for conversion for these
	error codes.
2012-02-27 17:55:06 -08:00
Vijayendra Bhamidipati 59631452b9 Bug 13127: API error text refer to database ids instead of uuids
Description:

	Modify Exception handling to enable addition of multiple
	uuids in a single exception thrown by API functions. Both
	XML and JSON outputs will store all uuids and Fieldnames.
	This will make it easier to provide more information when
	an exception occurs - for example, a zone id, a cluster id,
	host id, and then a specific property id.
2012-02-27 17:55:03 -08:00
Vijayendra Bhamidipati bfe1122bc6 Bug 13127: API error text refer to database ids instead of uuids
Description:

	Added a field name for the db id in the IdentityProxy class, and
	modified setProxyObject() to take an additional id name parameter.
	This will let us know the name of the uuid that we are returning.
	E.g.- domainId, zoneId, etc. The client can view this field in
	the json/xml output. Modified the JSON/XML serialization routines
	to append this new parameter to the serialized output for Exception
	Responses.
2012-02-27 17:55:01 -08:00
Vijayendra Bhamidipati e5b4cf5cf1 Bug 13127: API error text refer to database ids instead of uuids
Description:

	1) Put in an IdentityProxy object in the ExceptionResponse class.
	   This allows us to copy over the IdentityProxy object contained
	   in the exception caught by handlerequest() when thrown by the
	   command's execute() method, into the Response object that is
	   prepared to return an exception response to the calling API
	   invocation.

	2) Modified the GSON serialization method to conver the entire
	   exception object into JSON format and not just the error text.

	3) Modify the updateDomain API to populate the exception it throws
	   upon detecting a duplicate domain to include the tablename and
	   domain db id in the exception's IdentityProxy object.

	NOTE:
	1) We can modify the base exception classes and the ExceptionResponse
	   class to contain a list of IdentityProxy objects rather than a
	   single one.
	2) We will need to modify all commands such that wherever applicable
	   (wherever a db id is involved), they populate the IdentityProxy
	   object(s) before throwing an exception.
2012-02-27 17:54:58 -08:00
U-CITRITE\vijayendra1 698c1ebe12 Bug 13127: API error text refer to database ids instead of uuids
Description:

1)	Adding two new classes, CloudException and RunTimeCloudException.
	The former extends Exception and the latter RunTimeException.
	These will be used by classes that formerly directly extended
	Exception and RuntimeException. These two classes have an attribute
	of type IdentityProxy to enable exceptions fill in db ids in separate
	attribute fields rather than in a string. Doing so will allow the
	serialization module (GSON for JSON and other for XML) to kick in
	and convert this db id to a uuid in ApiServer.java just before the
	JSON/XML responses are sent out.

2)	Moving IdentityProxy.java from api/ to utils/ since
	both CloudException and RuntimeCloudException refer to it.

3)	Changing references to IdentityProxy class from api/ to utils/.

4)	While rebasing to master, a new file was added, merging
	api/src/com/cloud/api/response/IsoVmResponse.java to this diff.
2012-02-27 17:54:50 -08:00
Kelven Yang 7eded374b7 bug 13860: add sanity check to ApiResponseSerializer when serializing XML response. Reviewed-By: Anthony 2012-02-27 16:07:39 -08:00
Alena Prokharchyk f5681d1f7b bug 13396: escape double quotes in error json response
status 13396: resolved fixed
2012-01-31 16:26:53 -08:00
Alena Prokharchyk b1c60b9d60 bug 12964: createPhysicalNetwork/addTrafficType is no longer a part of createZone API 2012-01-10 13:55:09 -08:00
Kelven Yang 85ad8ffca3 rename com.cloud.identity package to com.cloud.uuididentity as a previous deleted com.cloud.Identity name make git confused with com.cloud.identity under linux systems 2012-01-05 14:52:16 -08:00
Kelven Yang 16530b532f Make XML serializer support all fields within the class tree 2011-11-15 15:01:47 -08:00
Kelven Yang 2b6f3d458e UUID support for XML responses 2011-11-04 17:38:22 -07:00
Kelven Yang 7e9b210d5c bug 6745: Fix problems in Async create commands 2011-11-03 07:34:02 -07:00
alena daad9e4b81 Keep "encode.api.response" parameter in ApiServer class; initialize it as a part of init() method 2011-06-21 11:05:57 -07:00
alena ebd0382ea8 ApiResponseSerializer - no need to use reflection to get the field value 2011-06-15 17:41:09 -07:00
alena a0b1c3bd7a bug 10232: Introduced new gson builder - used for api reponse only
It fixed the problem when the queryAsyncJobResult response was encoded twice.

UI still has some problems - no decoding is done on "Instances" tab
2011-06-13 13:19:20 -07:00
alena ef3ea765bf bug 9697: encode api response values
status 9697: resolved fixed

Do encoding for ASCII chars only (done to eliminate problems with multiple language support)
To disable encoding, set "encode.api.response" to false
2011-06-10 18:10:44 -07:00
Frank 92155522f2 Add license header to files 2011-04-14 11:23:14 -07:00
alena aa094868fc bug 8353: set dateFormat to "yyyy-MM-dd'T'HH:mm:ssZ" when initiate gson builder
status 8353: resolved fixed
2011-04-05 16:51:05 -07:00
alena 0fdcba3f4f bug 8855: introduced search by zoneId to listLoadBalancerRules api. Also added "zoneId" parameter to the response
status 8855: resolved fixed
2011-04-05 14:38:47 -07:00
alena af4459f24f Fixed list* api commands. 2011-04-04 11:36:49 -07:00
alena 2aeacd5a4c bug 3179: added "count" parameter to the response to all List* api commands 2011-04-01 19:29:08 -07:00
alena 9e622c6a6c bug 8726: escape ", ', &, <, > special chars in xml response
status 8726: resolved fixed
2011-02-24 17:11:28 -08:00
will 68d5c0919a bug 5482: Fixed malformed JSON when an error is returned by the API call. Also fixed the UI to make use of the new JSON object. 2011-01-05 18:06:59 -08:00
alena 2d316eabb7 bug 6056: Changed format for API error response.
status 6056: resolved fixed

Example of error response:

Json:

 { "updatedomainresponse" : {"errorcode" : "431, "errortext" : "Unable to find domain 4"}  }

Xml:

<updatedomainresponse cloud-stack-version="1.9.1.2010-12-28T18:14:57Z">
<errorcode>431</errorcode>
<errortext>Unable to find domain 4</errortext>
</updatedomainresponse>
2010-12-28 10:36:04 -08:00
Kelven Yang 54f177cacc 1) Make generic dao be able to persist UTF-8 string for internationalization support
2) Undo gson Unicode escape in API response object to avoid double escaping which can break Javascript from getting correct text content
3) Correct API layer in dealing with character encoding
4) Remove double escape in cloud.core.js
2010-11-30 09:40:54 -08:00
alena 44737d24c5 bug 7196: fixed response object generation for authorizeNetworkGroupIngress command (response type is Network group response - the way it was in 2.1.x - instead of IngressRule response)
status 7196: resolved fixed

Also fixed revokeNetworkGroup command - didn't work via 8096 port
2010-11-24 09:50:04 -08:00
alena c5d78a726e Modified exception handing in API. Following exceptions are supported now (location - BaseCmd.java):
* MALFORMED_PARAMETER_ERROR - when type of the request parameter is invalid (String instead of Long for id for example)
* PARAM_ERROR - when invalid parameter value is specified in api request. For example, id of non existing vm for StartVmCmd
* ACCOUNT_RESOURCE_LIMIT_ERROR - when user tries to exceed his resource limits by executing the api command.
* INSUFFICIENT_CAPACITY_ERROR - when resource fails to create/start due to insufficient capacity.
* RESOURCE_UNAVAILABLE_ERROR - when user tries to create a vm when storage is not available.
* RESOURCE_IN_USE_ERROR - when user tries to delete/modify resource while it's in use. For example, when we try to delete a network group when it contains ingress rules.
* NETWORK_RULE_CONFLICT_ERROR - when LB/PF rule to add conflicts with existing rule
* ACCOUNT_ERROR - when user is not authorized to execute operation on the resource.
* INTERNAL_ERROR
2010-11-16 11:56:34 -08:00