mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-14 17:58:59 +00:00
Merged FILE-FOLDER-API (5.2.0) to HEAD (5.2)
123056 jvonka: (Quick) Shared Links API - find links (fix 500 -> 401 if not authenticated) - add more -ve tests to check methods that require auth return 401 if unauthenticated RA-777 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@126524 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -122,7 +122,6 @@ public class PublicApiDeclarativeRegistry extends DeclarativeRegistry
|
||||
}
|
||||
else
|
||||
{
|
||||
// TODO - review (experimental)
|
||||
match = super.findWebScript(method, uri);
|
||||
|
||||
Map<String, String> templateVars = match.getTemplateVars();
|
||||
@@ -132,29 +131,42 @@ public class PublicApiDeclarativeRegistry extends DeclarativeRegistry
|
||||
// NOTE: noAuth currently only exposed for GET
|
||||
Api api = determineApi(templateVars);
|
||||
|
||||
// TODO can we avoid locating resource more than once ?
|
||||
// TODO can we avoid locating resource more than once (or at least provide a common code to determine the GET resourceAction) ?
|
||||
ResourceWithMetadata rwm = locator.locateResource(api, templateVars, HttpMethod.valueOf(method));
|
||||
|
||||
Class resAction = null;
|
||||
|
||||
String entityId = templateVars.get(ResourceLocator.ENTITY_ID);
|
||||
|
||||
switch (rwm.getMetaData().getType())
|
||||
{
|
||||
case ENTITY:
|
||||
// TODO check params for entity id (for now - assume there is)
|
||||
if (EntityResourceAction.ReadById.class.isAssignableFrom(rwm.getResource().getClass()))
|
||||
if (StringUtils.isNotBlank(entityId))
|
||||
{
|
||||
resAction = EntityResourceAction.ReadById.class;
|
||||
if (EntityResourceAction.ReadById.class.isAssignableFrom(rwm.getResource().getClass()))
|
||||
{
|
||||
resAction = EntityResourceAction.ReadById.class;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (EntityResourceAction.Read.class.isAssignableFrom(rwm.getResource().getClass()))
|
||||
{
|
||||
resAction = EntityResourceAction.Read.class;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case PROPERTY:
|
||||
// TODO check params for entity id (for now - assume there is)
|
||||
if (BinaryResourceAction.Read.class.isAssignableFrom(rwm.getResource().getClass()))
|
||||
if (StringUtils.isNotBlank(entityId))
|
||||
{
|
||||
resAction = BinaryResourceAction.Read.class;
|
||||
}
|
||||
else if (RelationshipResourceBinaryAction.Read.class.isAssignableFrom(rwm.getResource().getClass()))
|
||||
{
|
||||
resAction = RelationshipResourceBinaryAction.Read.class;
|
||||
if (BinaryResourceAction.Read.class.isAssignableFrom(rwm.getResource().getClass()))
|
||||
{
|
||||
resAction = BinaryResourceAction.Read.class;
|
||||
}
|
||||
else if (RelationshipResourceBinaryAction.Read.class.isAssignableFrom(rwm.getResource().getClass()))
|
||||
{
|
||||
resAction = RelationshipResourceBinaryAction.Read.class;
|
||||
}
|
||||
}
|
||||
break;
|
||||
default:
|
||||
|
Reference in New Issue
Block a user