Merge pull request #44 from Alfresco/feature/REPO-210

REPO-210: added optional param isFavorite.
This commit is contained in:
anechifor
2018-02-22 13:51:34 +02:00
committed by GitHub
3 changed files with 15 additions and 7 deletions

View File

@@ -367,6 +367,7 @@ public interface Nodes
String PARAM_INCLUDE_ISLOCKED = "isLocked"; String PARAM_INCLUDE_ISLOCKED = "isLocked";
String PARAM_INCLUDE_ALLOWABLEOPERATIONS = "allowableOperations"; String PARAM_INCLUDE_ALLOWABLEOPERATIONS = "allowableOperations";
String PARAM_INCLUDE_PERMISSIONS = "permissions"; String PARAM_INCLUDE_PERMISSIONS = "permissions";
String PARAM_INCLUDE_ISFAVORITE = "isFavorite";
String PARAM_INCLUDE_ASSOCIATION = "association"; String PARAM_INCLUDE_ASSOCIATION = "association";

View File

@@ -809,7 +809,6 @@ public class NodesImpl implements Nodes
String path = parameters.getParameter(PARAM_RELATIVE_PATH); String path = parameters.getParameter(PARAM_RELATIVE_PATH);
NodeRef nodeRef = validateOrLookupNode(nodeId, path); NodeRef nodeRef = validateOrLookupNode(nodeId, path);
Node node = getFolderOrDocumentFullInfo(nodeRef, null, null, parameters); Node node = getFolderOrDocumentFullInfo(nodeRef, null, null, parameters);
node.setIsFavorite(isFavorite(node));
return node; return node;
} }
@@ -915,6 +914,12 @@ public class NodesImpl implements Nodes
node.setIsLocked(isLocked); node.setIsLocked(isLocked);
} }
if (includeParam.contains(PARAM_INCLUDE_ISFAVORITE))
{
boolean isFavorite = isFavorite(nodeRef);
node.setIsFavorite(isFavorite);
}
if (includeParam.contains(PARAM_INCLUDE_ALLOWABLEOPERATIONS)) if (includeParam.contains(PARAM_INCLUDE_ALLOWABLEOPERATIONS))
{ {
// note: refactor when requirements change // note: refactor when requirements change
@@ -1321,8 +1326,6 @@ public class NodesImpl implements Nodes
{ {
calculateRelativePath(parentFolderNodeId, node); calculateRelativePath(parentFolderNodeId, node);
} }
node.setIsFavorite(isFavorite(node));
return node; return node;
} }
@@ -3347,7 +3350,7 @@ public class NodesImpl implements Nodes
* *
* @param node * @param node
*/ */
private boolean isFavorite(Node node) private boolean isFavorite(NodeRef node)
{ {
PreferenceService preferenceService = (PreferenceService) sr.getService(ServiceRegistry.PREFERENCE_SERVICE); PreferenceService preferenceService = (PreferenceService) sr.getService(ServiceRegistry.PREFERENCE_SERVICE);
String currentUserName = AuthenticationUtil.getFullyAuthenticatedUser(); String currentUserName = AuthenticationUtil.getFullyAuthenticatedUser();
@@ -3370,7 +3373,7 @@ public class NodesImpl implements Nodes
NodeRef nodeRef = new NodeRef((String) nodeRefStr); NodeRef nodeRef = new NodeRef((String) nodeRefStr);
if (nodeService.exists(nodeRef) && nodeRef.equals(node.getNodeRef())) if (nodeRef.equals(node))
{ {
return true; return true;
} }

View File

@@ -38,6 +38,7 @@ import java.util.Arrays;
import java.util.Collections; import java.util.Collections;
import java.util.Comparator; import java.util.Comparator;
import java.util.Date; import java.util.Date;
import java.util.HashMap;
import java.util.HashSet; import java.util.HashSet;
import java.util.Iterator; import java.util.Iterator;
import java.util.List; import java.util.List;
@@ -1904,11 +1905,14 @@ public class TestFavourites extends AbstractBaseApiTest
Favourite file2Favourite = makeFileFavourite(nodeRef2.getId()); Favourite file2Favourite = makeFileFavourite(nodeRef2.getId());
favouritesProxy.createFavourite(person12Id, file2Favourite); favouritesProxy.createFavourite(person12Id, file2Favourite);
HttpResponse response = getAll(getNodeChildrenUrl(folderNodeRef.getId()), null, null, 200); Map<String, String> params = new HashMap<>();
params.put("include", "isFavorite");
HttpResponse response = getAll(getNodeChildrenUrl(folderNodeRef.getId()), null, params, 200);
List<Node> nodes = RestApiUtil.parseRestApiEntries(response.getJsonResponse(), Node.class); List<Node> nodes = RestApiUtil.parseRestApiEntries(response.getJsonResponse(), Node.class);
assertTrue(nodes.size() == 1); assertTrue(nodes.size() == 1);
assertTrue(nodes.get(0).getIsFavorite()); assertTrue(nodes.get(0).getIsFavorite());
response = getAll(getNode(nodeRef1.getId()), null, null, 200); response = getAll(getNode(nodeRef1.getId()), null, params, 200);
Node node1 = RestApiUtil.parseRestApiEntry(response.getJsonResponse(), Node.class); Node node1 = RestApiUtil.parseRestApiEntry(response.getJsonResponse(), Node.class);
assertTrue(node1.getIsFavorite()); assertTrue(node1.getIsFavorite());
} }