mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-10-01 14:41:46 +00:00
[MNT-24127] Added Endpoint to Calculate Size of the folder with Integration Test Cases [ags][tas]
This commit is contained in:
@@ -37,10 +37,15 @@ import org.alfresco.rest.framework.WebApiParameters;
|
|||||||
import org.alfresco.rest.framework.core.exceptions.InvalidNodeTypeException;
|
import org.alfresco.rest.framework.core.exceptions.InvalidNodeTypeException;
|
||||||
import org.alfresco.rest.framework.resource.RelationshipResource;
|
import org.alfresco.rest.framework.resource.RelationshipResource;
|
||||||
import org.alfresco.rest.framework.resource.actions.interfaces.RelationshipResourceAction;
|
import org.alfresco.rest.framework.resource.actions.interfaces.RelationshipResourceAction;
|
||||||
|
import org.alfresco.rest.framework.resource.actions.interfaces.RelationshipResourceAction.CalculateSize;
|
||||||
|
import org.alfresco.rest.framework.resource.actions.interfaces.RelationshipResourceAction.ReadById;
|
||||||
import org.alfresco.rest.framework.resource.parameters.Parameters;
|
import org.alfresco.rest.framework.resource.parameters.Parameters;
|
||||||
import org.alfresco.service.ServiceRegistry;
|
import org.alfresco.service.ServiceRegistry;
|
||||||
import org.alfresco.service.cmr.action.Action;
|
import org.alfresco.service.cmr.action.Action;
|
||||||
import org.alfresco.service.cmr.action.ActionService;
|
import org.alfresco.service.cmr.action.ActionService;
|
||||||
|
import org.alfresco.service.cmr.action.ActionTrackingService;
|
||||||
|
import org.alfresco.service.cmr.action.ExecutionDetails;
|
||||||
|
import org.alfresco.service.cmr.action.ExecutionSummary;
|
||||||
import org.alfresco.service.cmr.repository.NodeRef;
|
import org.alfresco.service.cmr.repository.NodeRef;
|
||||||
import org.alfresco.service.cmr.repository.NodeService;
|
import org.alfresco.service.cmr.repository.NodeService;
|
||||||
import org.alfresco.service.cmr.search.SearchService;
|
import org.alfresco.service.cmr.search.SearchService;
|
||||||
@@ -54,6 +59,7 @@ import org.springframework.beans.factory.InitializingBean;
|
|||||||
import org.springframework.extensions.webscripts.Status;
|
import org.springframework.extensions.webscripts.Status;
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -62,7 +68,7 @@ import java.util.Map;
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
@RelationshipResource(name = "calculateSize", entityResource = NodesEntityResource.class, title = "Calculate size")
|
@RelationshipResource(name = "calculateSize", entityResource = NodesEntityResource.class, title = "Calculate size")
|
||||||
public class NodeFolderSizeRelation implements RelationshipResourceAction.CalculateSize<Map<String, Object>>,RelationshipResourceAction.ReadById<Map<String, Object>>, InitializingBean
|
public class NodeFolderSizeRelation implements CalculateSize<Map<String, Object>>, ReadById<Map<String, Object>>, InitializingBean
|
||||||
{
|
{
|
||||||
private Nodes nodes;
|
private Nodes nodes;
|
||||||
private SearchService searchService;
|
private SearchService searchService;
|
||||||
@@ -70,6 +76,8 @@ public class NodeFolderSizeRelation implements RelationshipResourceAction.Calcul
|
|||||||
private PermissionService permissionService;
|
private PermissionService permissionService;
|
||||||
private NodeService nodeService;
|
private NodeService nodeService;
|
||||||
private ActionService actionService;
|
private ActionService actionService;
|
||||||
|
private ActionTrackingService actionTrackingService;
|
||||||
|
private Action folderSizeAction;
|
||||||
private static final String NOT_A_VALID_NODEID = "Node Id does not refer to a valid type [should be of folder type]";
|
private static final String NOT_A_VALID_NODEID = "Node Id does not refer to a valid type [should be of folder type]";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -113,6 +121,11 @@ public class NodeFolderSizeRelation implements RelationshipResourceAction.Calcul
|
|||||||
ParameterCheck.mandatory("nodes", this.nodes);
|
ParameterCheck.mandatory("nodes", this.nodes);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setActionTrackingService(ActionTrackingService actionTrackingService)
|
||||||
|
{
|
||||||
|
this.actionTrackingService = actionTrackingService;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Folder Size - returns size of a folder.
|
* Folder Size - returns size of a folder.
|
||||||
*
|
*
|
||||||
@@ -122,19 +135,16 @@ public class NodeFolderSizeRelation implements RelationshipResourceAction.Calcul
|
|||||||
* GET/calculateSize endpoint to check if the action's status has been completed, comprising the size of the node in bytes.
|
* GET/calculateSize endpoint to check if the action's status has been completed, comprising the size of the node in bytes.
|
||||||
* <p>
|
* <p>
|
||||||
* If NodeId does not exist, EntityNotFoundException (status 404).
|
* If NodeId does not exist, EntityNotFoundException (status 404).
|
||||||
* If nodeId does not represent a folder, InvalidNodeTypeException (status 400).
|
* If nodeId does not represent a folder, InvalidNodeTypeException (status 422).
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
@WebApiDescription(title = "Calculating Folder Size", description = "Calculating size of a folder", successStatus = Status.STATUS_ACCEPTED)
|
@WebApiDescription(title = "Calculating Folder Size", description = "Calculating size of a folder", successStatus = Status.STATUS_ACCEPTED)
|
||||||
public Map<String, Object> createById(String nodeId, Parameters params)
|
public Map<String, Object> createById(String nodeId, Parameters params)
|
||||||
{
|
{
|
||||||
NodeRef nodeRef = nodes.validateNode(nodeId);
|
NodeRef nodeRef = nodes.validateNode(nodeId);
|
||||||
Map<String, Object> resetFolderOutput = new HashMap<>();
|
int maxItems = Math.min(params.getPaging().getMaxItems(), 1000);
|
||||||
int maxItems = params.getPaging().getMaxItems();
|
|
||||||
QName qName = nodeService.getType(nodeRef);
|
QName qName = nodeService.getType(nodeRef);
|
||||||
Map<String, Object> result = new HashMap<>();
|
Map<String, Object> result = new HashMap<>();
|
||||||
resetFolderOutput.put("status","IN-PROGRESS");
|
|
||||||
nodeService.setProperty(nodeRef, FolderSizeModel.PROP_OUTPUT, (Serializable) resetFolderOutput);
|
|
||||||
|
|
||||||
validatePermissions(nodeRef, nodeId);
|
validatePermissions(nodeRef, nodeId);
|
||||||
|
|
||||||
@@ -145,13 +155,16 @@ public class NodeFolderSizeRelation implements RelationshipResourceAction.Calcul
|
|||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
Action folderSizeAction = actionService.createAction(NodeSizeActionExecuter.NAME);
|
folderSizeAction = actionService.createAction(NodeSizeActionExecuter.NAME);
|
||||||
folderSizeAction.setTrackStatus(true);
|
folderSizeAction.setTrackStatus(true);
|
||||||
folderSizeAction.setExecuteAsynchronously(true);
|
folderSizeAction.setExecuteAsynchronously(true);
|
||||||
folderSizeAction.setParameterValue(NodeSizeActionExecuter.PAGE_SIZE, maxItems);
|
folderSizeAction.setParameterValue(NodeSizeActionExecuter.PAGE_SIZE, maxItems);
|
||||||
|
folderSizeAction.setParameterValue(NodeSizeActionExecuter.RESULT, "IN-PROGRESS");
|
||||||
actionService.executeAction(folderSizeAction, nodeRef, false, true);
|
actionService.executeAction(folderSizeAction, nodeRef, false, true);
|
||||||
LOG.info(" Executing ActionExecutor in NodeFolderSizeRelation:createById ");
|
LOG.info(" Executing ActionExecutor in NodeFolderSizeRelation:createById ");
|
||||||
result.put("nodeId", nodeId);
|
List<ExecutionSummary> executionSummaryList = actionTrackingService.getExecutingActions(NodeSizeActionExecuter.NAME);
|
||||||
|
ExecutionDetails executionDetails = actionTrackingService.getExecutionDetails(executionSummaryList.get(0));
|
||||||
|
result.put("executionId", executionDetails.getActionId());
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
@@ -167,25 +180,45 @@ public class NodeFolderSizeRelation implements RelationshipResourceAction.Calcul
|
|||||||
public Map<String, Object> readById(String nodeId, String id, Parameters parameters)
|
public Map<String, Object> readById(String nodeId, String id, Parameters parameters)
|
||||||
{
|
{
|
||||||
NodeRef nodeRef = nodes.validateNode(nodeId);
|
NodeRef nodeRef = nodes.validateNode(nodeId);
|
||||||
|
Object resultAction;
|
||||||
|
Map<String, Object> result = new HashMap<>();
|
||||||
validatePermissions(nodeRef, nodeId);
|
validatePermissions(nodeRef, nodeId);
|
||||||
validateNodeType(nodeRef);
|
validateNodeType(nodeRef);
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
LOG.info("Retrieving OUTPUT from ActionExecutor in NodeFolderSizeRelation:readById");
|
LOG.info("Retrieving OUTPUT from ActionExecutor in NodeFolderSizeRelation:readById");
|
||||||
Map<QName, Serializable> properties = nodeService.getProperties(nodeRef);
|
if(folderSizeAction!=null)
|
||||||
|
{
|
||||||
|
resultAction = folderSizeAction.getParameterValue(NodeSizeActionExecuter.RESULT);
|
||||||
|
result = getResult(resultAction);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
result.put("status", "NOT-INITIATED");
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
LOG.error("Exception occurred in NodeFolderSizeRelation:readById {}", ex.getMessage());
|
||||||
|
throw ex; // Rethrow with original stack trace
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private Map<String, Object> getResult(Object resultAction)
|
||||||
|
{
|
||||||
Map<String, Object> result = new HashMap<>();
|
Map<String, Object> result = new HashMap<>();
|
||||||
|
|
||||||
if (properties == null || !properties.containsKey(FolderSizeModel.PROP_OUTPUT))
|
if (resultAction == null)
|
||||||
{
|
{
|
||||||
result.put("status", "NOT-INITIATED");
|
result.put("status", "NOT-INITIATED");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Map<String, Object> mapResult = (Map<String, Object>) properties.get(FolderSizeModel.PROP_OUTPUT);
|
Map<String, Object> mapResult = (Map<String, Object>) resultAction;
|
||||||
Object status = mapResult.get("status");
|
|
||||||
|
|
||||||
if (status != null && status.toString().contains("IN-PROGRESS"))
|
if(!mapResult.containsKey("size"))
|
||||||
{
|
{
|
||||||
result.put("status", "IN-PROGRESS");
|
result.put("status", "IN-PROGRESS");
|
||||||
}
|
}
|
||||||
@@ -197,12 +230,6 @@ public class NodeFolderSizeRelation implements RelationshipResourceAction.Calcul
|
|||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
|
||||||
{
|
|
||||||
LOG.error("Exception occurred in NodeFolderSizeRelation:readById {}", ex.getMessage());
|
|
||||||
throw ex; // Rethrow with original stack trace
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void validatePermissions(NodeRef nodeRef, String nodeId)
|
private void validatePermissions(NodeRef nodeRef, String nodeId)
|
||||||
{
|
{
|
||||||
|
@@ -1776,5 +1776,6 @@
|
|||||||
<property name="serviceRegistry" ref="ServiceRegistry"/>
|
<property name="serviceRegistry" ref="ServiceRegistry"/>
|
||||||
<property name="nodeService" ref="nodeService" />
|
<property name="nodeService" ref="nodeService" />
|
||||||
<property name="actionService" ref="ActionService"/>
|
<property name="actionService" ref="ActionService"/>
|
||||||
|
<property name="actionTrackingService" ref="actionTrackingService" />
|
||||||
</bean>
|
</bean>
|
||||||
</beans>
|
</beans>
|
||||||
|
@@ -25,24 +25,16 @@
|
|||||||
*/
|
*/
|
||||||
package org.alfresco.rest.api.tests;
|
package org.alfresco.rest.api.tests;
|
||||||
|
|
||||||
import org.alfresco.repo.content.MimetypeMap;
|
|
||||||
import org.alfresco.repo.security.authentication.AuthenticationUtil;
|
import org.alfresco.repo.security.authentication.AuthenticationUtil;
|
||||||
import org.alfresco.rest.api.model.ContentInfo;
|
|
||||||
import org.alfresco.rest.api.model.Node;
|
|
||||||
import org.alfresco.rest.api.model.NodeTarget;
|
import org.alfresco.rest.api.model.NodeTarget;
|
||||||
import org.alfresco.rest.api.model.Site;
|
import org.alfresco.rest.api.model.Site;
|
||||||
import org.alfresco.rest.api.tests.client.HttpResponse;
|
import org.alfresco.rest.api.tests.client.HttpResponse;
|
||||||
import org.alfresco.rest.api.tests.client.data.Folder;
|
import org.alfresco.rest.api.tests.client.data.Node;
|
||||||
import org.alfresco.rest.api.tests.util.RestApiUtil;
|
import org.alfresco.rest.api.tests.util.RestApiUtil;
|
||||||
import org.alfresco.service.cmr.repository.ContentData;
|
|
||||||
import org.alfresco.service.cmr.repository.MimetypeService;
|
import org.alfresco.service.cmr.repository.MimetypeService;
|
||||||
import org.alfresco.service.cmr.repository.NodeRef;
|
|
||||||
import org.alfresco.service.cmr.repository.NodeService;
|
import org.alfresco.service.cmr.repository.NodeService;
|
||||||
import org.alfresco.service.cmr.repository.StoreRef;
|
|
||||||
import org.alfresco.service.cmr.security.PermissionService;
|
import org.alfresco.service.cmr.security.PermissionService;
|
||||||
import org.alfresco.service.cmr.site.SiteVisibility;
|
import org.alfresco.service.cmr.site.SiteVisibility;
|
||||||
import org.alfresco.service.namespace.NamespaceService;
|
|
||||||
import org.alfresco.service.namespace.QName;
|
|
||||||
import org.junit.After;
|
import org.junit.After;
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.FixMethodOrder;
|
import org.junit.FixMethodOrder;
|
||||||
@@ -52,15 +44,13 @@ import org.junit.runners.JUnit4;
|
|||||||
import org.junit.runners.MethodSorters;
|
import org.junit.runners.MethodSorters;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
import java.time.LocalDateTime;
|
|
||||||
import java.time.format.DateTimeFormatter;
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
import static org.alfresco.rest.api.tests.util.RestApiUtil.toJsonAsStringNonNull;
|
import static org.alfresco.rest.api.tests.util.RestApiUtil.toJsonAsStringNonNull;
|
||||||
import static org.junit.Assert.assertNotNull;
|
import static org.junit.Assert.assertNotNull;
|
||||||
|
import static org.junit.Assert.assertTrue;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* V1 REST API tests for Folder size
|
* V1 REST API tests for Folder size
|
||||||
@@ -150,7 +140,6 @@ public class NodeFolderSizeApiTest extends AbstractBaseApiTest
|
|||||||
assertNotNull("Content node ID should not be null", contentNodeId);
|
assertNotNull("Content node ID should not be null", contentNodeId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test case for GET/calculateSize, to retrieve FolderSize.
|
* Test case for GET/calculateSize, to retrieve FolderSize.
|
||||||
* <p>GET:</p>
|
* <p>GET:</p>
|
||||||
@@ -168,6 +157,8 @@ public class NodeFolderSizeApiTest extends AbstractBaseApiTest
|
|||||||
String jsonResponse = String.valueOf(response.getJsonResponse());
|
String jsonResponse = String.valueOf(response.getJsonResponse());
|
||||||
assertNotNull("JSON response should not be null", jsonResponse);
|
assertNotNull("JSON response should not be null", jsonResponse);
|
||||||
|
|
||||||
|
assertTrue("We are not getting correct response",jsonResponse.contains("size") || jsonResponse.contains("status"));
|
||||||
|
|
||||||
// Parse the JSON response.
|
// Parse the JSON response.
|
||||||
Object document = RestApiUtil.parseRestApiEntry(response.getJsonResponse(), Object.class);
|
Object document = RestApiUtil.parseRestApiEntry(response.getJsonResponse(), Object.class);
|
||||||
assertNotNull("Parsed document should not be null", document);
|
assertNotNull("Parsed document should not be null", document);
|
||||||
@@ -177,59 +168,6 @@ public class NodeFolderSizeApiTest extends AbstractBaseApiTest
|
|||||||
assertNotNull("Content node ID should not be null", contentNodeId);
|
assertNotNull("Content node ID should not be null", contentNodeId);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Test case to trigger POST/calculateSize with >200 Children Nodes.
|
|
||||||
* {@literal <host>:<port>/alfresco/api/<networkId>/public/alfresco/versions/1/nodes/<nodeId>/calculateSize}
|
|
||||||
*/
|
|
||||||
@Test
|
|
||||||
public void testPerformance() throws Exception
|
|
||||||
{
|
|
||||||
Node parentNodes;
|
|
||||||
|
|
||||||
// Logging initial time.
|
|
||||||
LocalDateTime eventTimestamp = LocalDateTime.now();
|
|
||||||
String formattedTimestamp = eventTimestamp.format(DateTimeFormatter.ofPattern("yyyy:MM:dd HH:mm:ss"));
|
|
||||||
LOG.info(" ********** In NodeFolderSizeApiTest:testPerformance Initial Time :{}", formattedTimestamp);
|
|
||||||
|
|
||||||
// Create a folder within the site document's library.
|
|
||||||
String folderName = "folder" + System.currentTimeMillis();
|
|
||||||
String parentFolderId = addToDocumentLibrary(userOneN1Site, folderName, TYPE_CM_FOLDER);
|
|
||||||
NodeRef nodeRef = new NodeRef(StoreRef.STORE_REF_WORKSPACE_SPACESSTORE,parentFolderId);
|
|
||||||
QName qName = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, QName.createValidLocalName(nodeRef.getId()));
|
|
||||||
|
|
||||||
for(int i =0;i<300;i++)
|
|
||||||
{
|
|
||||||
Folder folder = createFolder(parentFolderId,"c1" + RUNID);
|
|
||||||
ContentData contentData = new ContentData(null, MimetypeMap.MIMETYPE_TEXT_PLAIN, 10L, null);
|
|
||||||
String mimeType = contentData.getMimetype();
|
|
||||||
String mimeTypeName = mimeTypeService.getDisplaysByMimetype().get(mimeType);
|
|
||||||
org.alfresco.rest.api.tests.client.data.ContentInfo contentInfo1 = new org.alfresco.rest.api.tests.client.data.ContentInfo();
|
|
||||||
contentInfo1.setEncoding(contentData.getEncoding());
|
|
||||||
contentInfo1.setSizeInBytes(contentData.getSize());
|
|
||||||
contentInfo1.setMimeType(mimeType);
|
|
||||||
contentInfo1.setMimeTypeName(mimeTypeName);
|
|
||||||
folder.setContent(contentInfo1);
|
|
||||||
String folderID = addToDocumentLibrary(userOneN1Site, folder.getName(), TYPE_CM_FOLDER);
|
|
||||||
NodeRef folderNodeRef = new NodeRef(StoreRef.STORE_REF_WORKSPACE_SPACESSTORE,folderID);
|
|
||||||
QName assocChildQName = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, QName.createValidLocalName(folder.getName()));
|
|
||||||
nodeService.addChild(nodeRef, folderNodeRef , qName, assocChildQName);
|
|
||||||
}
|
|
||||||
Map<String, String> params = new HashMap<>();
|
|
||||||
params.put("nodeId",parentFolderId);
|
|
||||||
params.put("maxItems","100");
|
|
||||||
|
|
||||||
HttpResponse response = post(getFolderSizeUrl(parentFolderId), toJsonAsStringNonNull(params), 202);
|
|
||||||
Object document = RestApiUtil.parseRestApiEntry(response.getJsonResponse(), Object.class);
|
|
||||||
String contentNodeId = document.toString();
|
|
||||||
if(contentNodeId != null)
|
|
||||||
{
|
|
||||||
eventTimestamp = LocalDateTime.now();
|
|
||||||
formattedTimestamp = eventTimestamp.format(DateTimeFormatter.ofPattern("yyyy:MM:dd HH:mm:ss"));
|
|
||||||
LOG.info(" ********** In NodeFolderSizeApiTest:testPerformance Completed Time :{}", formattedTimestamp);
|
|
||||||
}
|
|
||||||
assertNotNull(contentNodeId);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test case for others HTTP status codes.
|
* Test case for others HTTP status codes.
|
||||||
*/
|
*/
|
||||||
@@ -243,6 +181,15 @@ public class NodeFolderSizeApiTest extends AbstractBaseApiTest
|
|||||||
NodeTarget tgt = new NodeTarget();
|
NodeTarget tgt = new NodeTarget();
|
||||||
tgt.setTargetParentId(folderId);
|
tgt.setTargetParentId(folderId);
|
||||||
HttpResponse response = post(getFolderSizeUrl(UUID.randomUUID().toString()), toJsonAsStringNonNull(tgt), null, 404);
|
HttpResponse response = post(getFolderSizeUrl(UUID.randomUUID().toString()), toJsonAsStringNonNull(tgt), null, 404);
|
||||||
|
|
||||||
|
assertNotNull(response);
|
||||||
|
|
||||||
|
// create node
|
||||||
|
Node n = new Node();
|
||||||
|
n.setName("temp1");
|
||||||
|
n.setNodeType("");
|
||||||
|
|
||||||
|
response = post(getFolderSizeUrl(n.getName()), RestApiUtil.toJsonAsStringNonNull(n), 422);
|
||||||
assertNotNull(response);
|
assertNotNull(response);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -62,6 +62,7 @@ public class NodeSizeActionExecuter extends ActionExecuterAbstractBase
|
|||||||
*/
|
*/
|
||||||
public static final String NAME = "folder-size";
|
public static final String NAME = "folder-size";
|
||||||
public static final String PAGE_SIZE = "page-size";
|
public static final String PAGE_SIZE = "page-size";
|
||||||
|
public static final String RESULT = "size-result";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The node service
|
* The node service
|
||||||
@@ -189,8 +190,7 @@ public class NodeSizeActionExecuter extends ActionExecuterAbstractBase
|
|||||||
|
|
||||||
if(isCalculationCompleted)
|
if(isCalculationCompleted)
|
||||||
{
|
{
|
||||||
nodeService.setProperty(nodeRef, FolderSizeModel.PROP_OUTPUT, (Serializable) response);
|
ruleAction.setParameterValue(NodeSizeActionExecuter.RESULT, (Serializable) response);
|
||||||
nodeService.setProperty(nodeRef, FolderSizeModel.PROP_ERROR,null);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user