From b1c520b97a0ee082d0747478e36f29eb2e74e696 Mon Sep 17 00:00:00 2001 From: Andreea Nechifor Date: Thu, 22 Feb 2018 10:36:52 +0200 Subject: [PATCH 1/2] REPO-210: added optional param isFavorite. --- src/main/java/org/alfresco/rest/api/Nodes.java | 1 + .../java/org/alfresco/rest/api/impl/NodesImpl.java | 13 ++++++++----- .../org/alfresco/rest/api/tests/TestFavourites.java | 8 ++++++-- 3 files changed, 15 insertions(+), 7 deletions(-) diff --git a/src/main/java/org/alfresco/rest/api/Nodes.java b/src/main/java/org/alfresco/rest/api/Nodes.java index 332f56cb03..032d9830c7 100644 --- a/src/main/java/org/alfresco/rest/api/Nodes.java +++ b/src/main/java/org/alfresco/rest/api/Nodes.java @@ -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"; diff --git a/src/main/java/org/alfresco/rest/api/impl/NodesImpl.java b/src/main/java/org/alfresco/rest/api/impl/NodesImpl.java index 34c2739d03..570836ee36 100644 --- a/src/main/java/org/alfresco/rest/api/impl/NodesImpl.java +++ b/src/main/java/org/alfresco/rest/api/impl/NodesImpl.java @@ -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; } diff --git a/src/test/java/org/alfresco/rest/api/tests/TestFavourites.java b/src/test/java/org/alfresco/rest/api/tests/TestFavourites.java index 3229d5221f..8b693f20cb 100644 --- a/src/test/java/org/alfresco/rest/api/tests/TestFavourites.java +++ b/src/test/java/org/alfresco/rest/api/tests/TestFavourites.java @@ -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 params = new HashMap<>(); + params.put("include", "isFavorite"); + + HttpResponse response = getAll(getNodeChildrenUrl(folderNodeRef.getId()), null, params, 200); List 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()); } From d4889f850cedc320924fb6d0eedfc3c3aaae074d Mon Sep 17 00:00:00 2001 From: Andreea Nechifor Date: Thu, 22 Feb 2018 13:52:34 +0200 Subject: [PATCH 2/2] REPO-210:code formating --- src/main/java/org/alfresco/rest/api/impl/NodesImpl.java | 4 ++-- src/test/java/org/alfresco/rest/api/tests/TestFavourites.java | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/alfresco/rest/api/impl/NodesImpl.java b/src/main/java/org/alfresco/rest/api/impl/NodesImpl.java index 570836ee36..0c7068ddad 100644 --- a/src/main/java/org/alfresco/rest/api/impl/NodesImpl.java +++ b/src/main/java/org/alfresco/rest/api/impl/NodesImpl.java @@ -913,8 +913,8 @@ public class NodesImpl implements Nodes boolean isLocked = isLocked(nodeRef, aspects); node.setIsLocked(isLocked); } - - if(includeParam.contains(PARAM_INCLUDE_ISFAVORITE)) + + if (includeParam.contains(PARAM_INCLUDE_ISFAVORITE)) { boolean isFavorite = isFavorite(nodeRef); node.setIsFavorite(isFavorite); diff --git a/src/test/java/org/alfresco/rest/api/tests/TestFavourites.java b/src/test/java/org/alfresco/rest/api/tests/TestFavourites.java index 8b693f20cb..299309d56e 100644 --- a/src/test/java/org/alfresco/rest/api/tests/TestFavourites.java +++ b/src/test/java/org/alfresco/rest/api/tests/TestFavourites.java @@ -1905,9 +1905,9 @@ public class TestFavourites extends AbstractBaseApiTest Favourite file2Favourite = makeFileFavourite(nodeRef2.getId()); favouritesProxy.createFavourite(person12Id, file2Favourite); - Map params = new HashMap<>(); + Map params = new HashMap<>(); params.put("include", "isFavorite"); - + HttpResponse response = getAll(getNodeChildrenUrl(folderNodeRef.getId()), null, params, 200); List nodes = RestApiUtil.parseRestApiEntries(response.getJsonResponse(), Node.class); assertTrue(nodes.size() == 1);