Merged FILE-FOLDER-API (5.2.0) to HEAD (5.2)

122518 gjames: RA-211: Added the webscriptrequest to the Params interface


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@126477 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Jamal Kaabi-Mofrad
2016-05-10 11:08:24 +00:00
parent f7d7bef19d
commit e1e80ff823
15 changed files with 109 additions and 85 deletions

View File

@@ -48,7 +48,7 @@ public class ResourceWebScriptDelete extends AbstractResourceWebScript implement
}
else
{
return Params.valueOf(entityId, relationshipId);
return Params.valueOf(entityId, relationshipId, req);
}
case RELATIONSHIP:
@@ -59,7 +59,7 @@ public class ResourceWebScriptDelete extends AbstractResourceWebScript implement
}
else
{
return Params.valueOf(entityId, relationshipId);
return Params.valueOf(entityId, relationshipId, req);
}
case PROPERTY:
final String resourceName = req.getServiceMatch().getTemplateVars().get(ResourceLocator.RELATIONSHIP_RESOURCE);
@@ -69,11 +69,11 @@ public class ResourceWebScriptDelete extends AbstractResourceWebScript implement
{
if (StringUtils.isNotBlank(propertyName))
{
return Params.valueOf(entityId, relationshipId, null, null, propertyName, null, null);
return Params.valueOf(entityId, relationshipId, null, null, propertyName, null, null, req);
}
else
{
return Params.valueOf(entityId, null, null, null, resourceName, null, null);
return Params.valueOf(entityId, null, null, null, resourceName, null, null, req);
}
}
//Fall through to unsupported.

View File

@@ -73,20 +73,20 @@ public class ResourceWebScriptGet extends AbstractResourceWebScript implements P
case ENTITY:
if (StringUtils.isNotBlank(entityId))
{
return Params.valueOf(params, entityId, null);
return Params.valueOf(params, entityId, null, req);
}
else
{
return Params.valueOf(params, null, null);// collection resource
return Params.valueOf(params, null, null, req);// collection resource
}
case RELATIONSHIP:
if (StringUtils.isNotBlank(relationshipId))
{
return Params.valueOf(params, entityId, relationshipId);
return Params.valueOf(params, entityId, relationshipId, req);
}
else
{
return Params.valueOf(params, entityId, null); //relationship collection resource
return Params.valueOf(params, entityId, null, req); //relationship collection resource
}
case PROPERTY:
final String resourceName = req.getServiceMatch().getTemplateVars().get(ResourceLocator.RELATIONSHIP_RESOURCE);
@@ -96,11 +96,11 @@ public class ResourceWebScriptGet extends AbstractResourceWebScript implements P
{
if (StringUtils.isNotBlank(propertyName))
{
return Params.valueOf(entityId, relationshipId, null, null, propertyName, params, null);
return Params.valueOf(entityId, relationshipId, null, null, propertyName, params, null, req);
}
else
{
return Params.valueOf(entityId, null, null, null, resourceName, params, null);
return Params.valueOf(entityId, null, null, null, resourceName, params, null, req);
}
}
//Fall through to unsupported.

View File

@@ -478,7 +478,7 @@ public class ResourceWebScriptHelper
if (objectToWrap instanceof SerializablePagedCollection<?>)
{
SerializablePagedCollection<?> collectionToWrap = (SerializablePagedCollection<?>) objectToWrap;
Object sourceEntity = executeIncludedSource(api,entityCollectionName,params.getEntityId(),params.includeSource());
Object sourceEntity = executeIncludedSource(api, params, entityCollectionName);
Collection<Object> resultCollection = new ArrayList(collectionToWrap.getCollection().size());
if (!collectionToWrap.getCollection().isEmpty())
{
@@ -510,7 +510,7 @@ public class ResourceWebScriptHelper
{
Map<String, ResourceWithMetadata> relationshipResources = locator.locateRelationResource(api,entityCollectionName, params.getRelationsFilter().keySet(), HttpMethod.GET);
String uniqueEntityId = ResourceInspector.findUniqueId(objectToWrap);
Map<String,Object> relatedResources = executeRelatedResources(api,params.getRelationsFilter(), relationshipResources, uniqueEntityId);
Map<String,Object> relatedResources = executeRelatedResources(api, params, relationshipResources, uniqueEntityId);
execRes.addRelated(relatedResources);
}
@@ -519,14 +519,14 @@ public class ResourceWebScriptHelper
}
}
private Object executeIncludedSource(Api api, String entityCollectionName, String uniqueEntityId, boolean includeSource)
private Object executeIncludedSource(Api api, Params params, String entityCollectionName)
{
if (includeSource)
if (params.includeSource())
{
ResourceWithMetadata res = locator.locateEntityResource(api, entityCollectionName, HttpMethod.GET);
if (res != null)
{
Object result = executeRelatedResource(api, null, uniqueEntityId, null, res);
Object result = executeRelatedResource(api, params, params.getEntityId(), null, res);
if (result!=null && result instanceof ExecutionResult) return ((ExecutionResult) result).getRoot();
}
}
@@ -554,7 +554,7 @@ public class ResourceWebScriptHelper
Object id = ResourceInspectorUtil.invokeMethod(embeddedEntry.getValue().getSecond(), objectToWrap);
if (id != null)
{
Object execEmbeddedResult = executeRelatedResource(api, params.getRelationsFilter(), String.valueOf(id), embeddedEntry.getKey(), res);
Object execEmbeddedResult = executeRelatedResource(api, params, String.valueOf(id), embeddedEntry.getKey(), res);
if (execEmbeddedResult != null)
{
if (execEmbeddedResult instanceof ExecutionResult)
@@ -584,14 +584,14 @@ public class ResourceWebScriptHelper
* @param uniqueEntityId String
* @return Map
*/
private Map<String,Object> executeRelatedResources(final Api api, Map<String, BeanPropertiesFilter> filters,
Map<String, ResourceWithMetadata> relatedResources,
String uniqueEntityId)
private Map<String,Object> executeRelatedResources(final Api api, Params params,
Map<String, ResourceWithMetadata> relatedResources,
String uniqueEntityId)
{
final Map<String,Object> results = new HashMap<String,Object>(relatedResources.size());
for (final Entry<String, ResourceWithMetadata> relation : relatedResources.entrySet())
{
Object execResult = executeRelatedResource(api, filters, uniqueEntityId, relation.getKey(), relation.getValue());
Object execResult = executeRelatedResource(api, params, uniqueEntityId, relation.getKey(), relation.getValue());
if (execResult != null)
{
results.put(relation.getKey(), execResult);
@@ -611,19 +611,19 @@ public class ResourceWebScriptHelper
* @param resource ResourceWithMetadata
* @return Object
*/
private Object executeRelatedResource(final Api api, final Map<String, BeanPropertiesFilter> filters,
private Object executeRelatedResource(final Api api, Params params,
final String uniqueEntityId, final String resourceKey, final ResourceWithMetadata resource)
{
try
{
BeanPropertiesFilter paramFilter = null;
final Object[] resultOfExecution = new Object[1];
Map<String, BeanPropertiesFilter> filters = params.getRelationsFilter();
if (filters!=null)
{
paramFilter = filters.get(resourceKey);
}
final Params executionParams = Params.valueOf(paramFilter, uniqueEntityId);
final Params executionParams = Params.valueOf(paramFilter, uniqueEntityId, params.getRequest());
executor.execute(resource, executionParams, new ExecutionCallback()
{
@Override

View File

@@ -83,7 +83,7 @@ public class ResourceWebScriptPost extends AbstractResourceWebScript implements
else
{
Object postedObj = processRequest(resourceMeta, operation, req);
return Params.valueOf(null, params, postedObj);
return Params.valueOf(null, params, postedObj, req);
}
case RELATIONSHIP:
if (StringUtils.isNotBlank(relationshipId))
@@ -93,7 +93,7 @@ public class ResourceWebScriptPost extends AbstractResourceWebScript implements
else
{
Object postedRel = processRequest(resourceMeta, operation, req);
return Params.valueOf(entityId, params, postedRel);
return Params.valueOf(entityId, params, postedRel, req);
}
case OPERATION:
final String operationName = req.getServiceMatch().getTemplateVars().get(ResourceLocator.RELATIONSHIP_RESOURCE);
@@ -111,11 +111,11 @@ public class ResourceWebScriptPost extends AbstractResourceWebScript implements
if (StringUtils.isNotBlank(propertyName))
{
return Params.valueOf(entityId, relationshipId, params, postedObj);
return Params.valueOf(entityId, relationshipId, params, postedObj, req);
}
else
{
return Params.valueOf(entityId, params, postedObj);
return Params.valueOf(entityId, params, postedObj, req);
}
}
//Fall through to unsupported.

View File

@@ -86,7 +86,7 @@ public class ResourceWebScriptPut extends AbstractResourceWebScript implements P
{
Object putEnt = ResourceWebScriptHelper.extractJsonContent(req, jsonHelper, resourceMeta.getObjectType(operation));
return Params.valueOf(entityId,params,putEnt);
return Params.valueOf(entityId,params,putEnt, req);
}
case RELATIONSHIP:
if (StringUtils.isBlank(relationshipId))
@@ -96,7 +96,7 @@ public class ResourceWebScriptPut extends AbstractResourceWebScript implements P
{
Object putRel = ResourceWebScriptHelper.extractJsonContent(req, jsonHelper, resourceMeta.getObjectType(operation));
ResourceWebScriptHelper.setUniqueId(putRel,relationshipId);
return Params.valueOf(entityId, params, putRel);
return Params.valueOf(entityId, params, putRel, req);
}
case PROPERTY:
final String resourceName = req.getServiceMatch().getTemplateVars().get(ResourceLocator.RELATIONSHIP_RESOURCE);
@@ -106,11 +106,11 @@ public class ResourceWebScriptPut extends AbstractResourceWebScript implements P
{
if (StringUtils.isNotBlank(propertyName))
{
return Params.valueOf(entityId, relationshipId, null, getStream(req), propertyName, params, getContentInfo(req));
return Params.valueOf(entityId, relationshipId, null, getStream(req), propertyName, params, getContentInfo(req), req);
}
else
{
return Params.valueOf(entityId, null, null, getStream(req), resourceName, params, getContentInfo(req));
return Params.valueOf(entityId, null, null, getStream(req), resourceName, params, getContentInfo(req), req);
}
}