And what I forgott to mention: listEntitlements and getEntitlements are not very self-explanatory. A better name would be getAllEntitlements and getMyEntitlements.
Regards. Jan > -----Original Message----- > From: Jan Bernhardt [mailto:jbernha...@talend.com] > Sent: Donnerstag, 17. Januar 2013 14:04 > To: dev@syncope.apache.org > Subject: RE: [Discussion] New REST Service Interfaces - Entitlements > > Hi Syncoper, > > The following changes are proposed regarding AuthenticationController: > > === Renaming Service === > Rename AuthenticationController to EntitlementService(Impl), since > containing methods have little to nothing to do with authentication. It is > only > about Entitlements... > > === Changing response Type === > listEntitlements() returns a List<String> whereas getEntitlements() returns a > Set<String>. > > From my point of view both methods should return a SET since entitlements > have no order and cannot exists or be assigned more than once. > > Due to some JAX-B / JAX-RS limitations, it is not possible to return a > collection > with primitive data types in java. A wrapper class is required, e.g. > Set<EntitlementTO>. > > EntitlementTO can be modeled in one of two ways: > > Option 1: > <EntitlementTOs> > <EntitlementTO>ROLE_ADMIN</EntitlementTO> > <EntitlementTO>ROLE_SUPERUSER</EntitlementTO> > </EntitlementTOs> > > Option 2: > <EntitlementTOs> > <EntitlementTO> > <name>ROLE_ADMIN</name> > </EntitlementTO> > <EntitlementTO> > <name> ROLE_SUPERUSER </name> > </EntitlementTO> > </EntitlementTOs> > > Option 1 matches more or less current marshaling. I personally would prefer > Option 2 because this would give us the opportunity to easily extend > EntitlementTO at a later point (if needed) without becoming incompatible > with previous version. > > WDYT? > > All of these changes will not apply to current Spring Controller/Services, but > only future CXF REST Service. So AuthenticationController will not be > renamed now, and responsetype of AuthenticationController will not > change. Changes only apply for new Service Interface and (Proxy) > Implementation. > > Best regards. > Jan