HandcarIdService

Key HandcarId
Version 1.0
Included Services  
Java Package edu.mit.oeit.mc3.handcar.model

The Handcar Id Service is a RESTful expression of the OSID ID manager and related services needed to manage the mapping of
ids for aliases.

Handcar is a simplified, but faithful, expression of the OSIDs that aligns with the REST goals of simplicity and focuses on
exposing OSID objects as resources.

See Wikipedia Representation state transfer

In particular Handcar takes a data centric view whereas the OSIDS exercise more specific method calls to express its rich
functionality.

Known Limitations:

  1. Creating or updating Ids is not supported



OSID reference: Id Package

Operations
Main Message Structures

Method getAuthorizationHints
Description Get authorization hints
REST Signature
GET handcar/services/id/authorization?proxyname={XXXX}
Parameters String proxyName optional name of user for whom this operation is being executed, if not specified taken from security
context
Return AuthorizationHintsBean authorization hints for accessing hierarchies
Errors HandcarOperationFailedException HTTP 500 if something goes wrong
HandcarPermissionDeniedException HTTP 403 if you don't have rights to call this method or are not allowed to proxy
user

Back to Operations

Method getAuthorities
Description Gets the list of authorities known to this implementation

OSID reference: Id
REST Signature
GET handcar/services/id/authorities?proxyname={XXXX}
Parameters String proxyName optional name of user for whom this operation is being executed, if not specified taken from security
context
Return AuthorityBeanList list of authorities that can be used to build an id
Errors HandcarOperationFailedException HTTP 500 if something goes wrong
HandcarPermissionDeniedException HTTP 403 if you don't have rights to call this method or are not allowed to proxy
user

Back to Operations

Method getAuthority
Description Gets an authority known to this implementation

OSID reference: Id
REST Signature
GET handcar/services/id/authorities/{code}?proxyname={XXXX}
Parameters String code used to lookup the authority
String proxyName optional name of user for whom this operation is being executed, if not specified taken from security
context
Return AuthorityBean list of authorities that can be used to build an id
Errors HandcarNotFoundException HTTP 404 if the bank id does not exist
HandcarOperationFailedException HTTP 500 if something goes wrong
HandcarPermissionDeniedException HTTP 403 if you don't have rights to call this method or are not allowed to proxy
user

Back to Operations

Method getNamespaces
Description Gets the list of namespaces known to this implementation

OSID reference: Id
REST Signature
GET handcar/services/id/namespaces?proxyname={XXXX}
Parameters String proxyName optional name of user for whom this operation is being executed, if not specified taken from security
context
Return NamespaceBeanList list of namespaces that can be used to build an id
Errors HandcarOperationFailedException HTTP 500 if something goes wrong
HandcarPermissionDeniedException HTTP 403 if you don't have rights to call this method or are not allowed to proxy
user

Back to Operations

Method getNamespace
Description Gets a namespace known to this implementation

OSID reference: Id
REST Signature
GET handcar/services/id/namespaces/{code}?proxyname={XXXX}
Parameters String code used to lookup the namespace
String proxyName optional name of user for whom this operation is being executed, if not specified taken from security
context
Return NamespaceBean namespace that can be used to build an id
Errors HandcarNotFoundException HTTP 404 if the bank id does not exist
HandcarOperationFailedException HTTP 500 if something goes wrong
HandcarPermissionDeniedException HTTP 403 if you don't have rights to call this method or are not allowed to proxy
user

Back to Operations

Method getPrimaryId
Description Gets the primary id for an aliasId.
REST Signature
GET handcar/services/id/primary/{aliasIdd}?proxyname={XXXX}
Parameters String aliasId the alias id to get the primary id for
String proxyName optional name of user for whom this operation is being executed, if not specified taken from security
context
Return String the primary id for this alias
Errors HandcarNotFoundException HTTP 404 if the aliasId does not exist
HandcarOperationFailedException HTTP 500 if something goes wrong
HandcarPermissionDeniedException HTTP 403 if you don't have rights to call this method or are not allowed to proxy
user

Back to Operations

Method getAllIdAliases
Description Gets all the alias id to primary id mappings
REST Signature
GET handcar/services/id/aliases?proxyname={XXXX}
Parameters String proxyName optional name of user for whom this operation is being executed, if not specified taken from security
context
Return IdAliasBeanList the primary id for this alias
Errors HandcarOperationFailedException HTTP 500 if something goes wrong
HandcarPermissionDeniedException HTTP 403 if you don't have rights to call this method or are not allowed to proxy
user
HandcarNotFoundException HTTP 404 if the alias id is not found

Back to Operations

Method getIdAliases
Description Gets all the alias ids for a primary Id
REST Signature
GET handcar/services/id/aliases/{id}?proxyname={XXXX}
Parameters String id id to get the aliases for
String proxyName optional name of user for whom this operation is being executed, if not specified taken from security
context
Return IdsBean the primary id for this alias
Errors HandcarOperationFailedException HTTP 500 if something goes wrong
HandcarPermissionDeniedException HTTP 403 if you don't have rights to call this method or are not allowed to proxy
user
HandcarNotFoundException HTTP 404 if the alias id is not found

Back to Operations

Method addAliasId
Description Add an alias to an id

Does nothing if the alias already exists for the id.
Reversing the ids is functionally equivalent because the property is commutative.
If A is an alias for B then B is an alias for A.
Note: the property is NOT transitive so that A alias B and B alias C does not imply A alias C.
REST Signature
POST handcar/services/id/aliases/{primaryId}/{aliasId}?proxyname={XXXX}
Parameters String primaryId primary id
String aliasId alias id for use to lookup the primary id
String proxyName optional name of user for whom this operation is being executed, if not specified taken from security
context
Return void ???
Errors HandcarNotFoundException HTTP 404 if an id does not exist
HandcarOperationFailedException HTTP 500 if something goes wrong
HandcarPermissionDeniedException HTTP 403 if you don't have rights to call this method or are not allowed to proxy
user

Back to Operations

Method removeAliasId
Description Remove an alias from an id

Reversing the ids is functionally equivalent because the property is commutative.
If A is an alias for B then B is an alias for A.
Note: the property is NOT transitive so that A alias B and B alias C does not imply A alias C.
REST Signature
DELETE handcar/services/id/aliases/{primaryId}/{aliasId}?proxyname={XXXX}
Parameters String primaryId primary id
String aliasId alias id to be removed
String proxyName optional name of user for whom this operation is being executed, if not specified taken from security
context
Return void ???
Errors HandcarNotFoundException HTTP 404 if the alias does not exist
HandcarOperationFailedException HTTP 500 if something goes wrong
HandcarPermissionDeniedException HTTP 403 if you don't have rights to call this method or are not allowed to proxy
user

Back to Operations