REPO-210: added optional param isFavorite.

This commit is contained in:
Andreea Nechifor
2018-02-22 10:36:52 +02:00
parent fc1491bafb
commit b1c520b97a
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_ALLOWABLEOPERATIONS = "allowableOperations";
String PARAM_INCLUDE_PERMISSIONS = "permissions";
String PARAM_INCLUDE_ISFAVORITE = "isFavorite";
String PARAM_INCLUDE_ASSOCIATION = "association";

View File

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

View File

@@ -38,6 +38,7 @@ import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
@@ -1904,11 +1905,14 @@ public class TestFavourites extends AbstractBaseApiTest
Favourite file2Favourite = makeFileFavourite(nodeRef2.getId());
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);
assertTrue(nodes.size() == 1);
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);
assertTrue(node1.getIsFavorite());
}