Patrick Radtke created ESCIMO-2:
-----------------------------------
Summary: Generalize Resources Service classes
Key: ESCIMO-2
URL: https://issues.apache.org/jira/browse/ESCIMO-2
Project: eSCIMo
Issue Type: Improvement
Reporter: Patrick Radtke
As a user of the eSCIMo library
I want to easily be able to expose new resources
without writing boiler plate code
The SCIM specification allows for additional resources to be defined - either
within the realm of the spec, or by the service provider.
In an ideal world, I would be able to add these additional resources by
extending ServerResource and implementing a resource specific provider
interface, and the rest of the Server implementation would be generic enough to
"just work". Currently that is not the case, and the server implementation
assumes User and Group resources.
I think it may make sense to generalize ProviderService so that
implementation would be both Resource and Backend specific. As example,
implementations could be like:
LdapUserResourceProvider - a User resource that is provide from ldap
XmlGroupResourceProvider - a group resource that is provided from an xml
file
JpaPizzaResourceProvider - a Pizza resource that comes from a DB
Then at the RESTful server level, instead of defining resource specific
endpoints like GroupService and UserService, a generic ResourceService could
determine the corresponding resource specific ProviderService implementation
based on the URL. For example, if ResourceService saw /Users/123 it could user
the string "Users" to look up in a factory, or a map the correct
ProviderService for UserResources.
--
This message was sent by Atlassian JIRA
(v6.1#6144)