Bug 534378 (RHQ-1180)

Summary: Remote Client - Remote API
Product: [Other] RHQ Project Reporter: Jay Shaughnessy <jshaughn>
Component: Core ServerAssignee: Jay Shaughnessy <jshaughn>
Status: CLOSED NOTABUG QA Contact:
Severity: medium Docs Contact:
Priority: high    
Version: unspecifiedKeywords: FutureFeature
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: All   
URL: http://jira.rhq-project.org/browse/RHQ-1180
Whiteboard:
Fixed In Version: Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2010-07-07 21:30:55 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 534379, 535474, 535502, 535503, 535504, 535505, 535506, 535507, 535508, 535509, 535510, 535511, 535514, 535744    
Bug Blocks:    
Attachments:
Description Flags
remoteapis_30-jul.zip
none
resourcemanager-29-jun.patch none

Description Jay Shaughnessy 2008-11-25 14:36:00 UTC
To support Remote Clients we need to expose a Remote API.  This is a set of methods/services exposed via jboss remoting for java clients and jboss WS for web service clients written in a variety of languages.

This is an umbrella for work involved in the feature work described here:  

  http://jopr.org/confluence/display/RHQ/Design-API

Comment 1 Simeon Pinder 2009-06-02 16:23:04 UTC
Pulling in additional tasks that already addressed some of the functional areas.

Comment 2 Asaf Shakarchi 2009-07-01 12:01:43 UTC
patches for current changes of the remote apis,
Will be comitted after executing/writing more tests,

Comment 3 Joseph Marques 2009-07-02 21:20:34 UTC
clean guidelines:

* by convention, getXXX methods should expect to return 0 or 1 objects (a single object or null)
* by convention, findXXX methods should expect to return 0, 1, or many objects (a list of objects, which could be empty)
* do not throw exceptions if they are unnecessary (throws FetchException when no RHQ-specific exception can occur in that method)
* try to always throw runtime exceptions (in the QueryGenerator things like NoSuchMethod/FieldException should be wrapped in appropriate runtime exceptions or subclasses thereof)
* try to hide internal constructs/elements where possible (i.e., use logout(Subject) not logout(sessionId) in the remote API)
* do not use underscore '_' for internal variable names (java man prefers camelCasedTokens)
* don't unnecessarily rename parameters in the API signature (subject -> sessionSubject)
* if you're going to wrap the exception in a generic one, make sure to include all current context, i.e....
** do -- catch (SomeException se) { throw new UpdateException(se); }
** instead of -- catch (SomeException se) { new UpdateException("failed to update"); }
* DO NOT change the signature of local methods if it can be helped (i.e., SubjectManagerBean.deleteUsers(Subject, Integer[]) was changed  to catch all possible exceptions and wrapped them in a DeleteException, but this broken unit tests which were expecting it to throw a PermissionException (which is a distinct classification/errorType from a general DeleteException)

Comment 4 Red Hat Bugzilla 2009-11-10 20:27:26 UTC
This bug was previously known as http://jira.rhq-project.org/browse/RHQ-1180
Imported an attachment (id=368504)
Imported an attachment (id=368505)
This bug is incorporated by RHQ-2125


Comment 5 Jay Shaughnessy 2010-07-07 21:30:55 UTC
The work under this umbrella is done.