mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-07 17:49:17 +00:00
RM-2440. Ensuring that users reclassifying content see the correct set of levels.
Added a new test case where an admin and an RM Manager (only cleared to secret) both try to reclassify a record. Added a new group (GROUP_RM_MANAGER_FILE_CATEGORY_ONE) for an RM Manager who can file records as well as read. Added some utility methods and fields. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@109524 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -63,6 +63,40 @@ public final class RMCollectionUtils
|
|||||||
return duplicateElems;
|
return duplicateElems;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Returns the head (element at index 0) of the provided List.
|
||||||
|
*
|
||||||
|
* @param l the list whose head is sought.
|
||||||
|
* @param <T> the type of the List.
|
||||||
|
* @return the head element or {@code null} for the empty list.
|
||||||
|
* @throws NullPointerException if l is {@code null}
|
||||||
|
*/
|
||||||
|
public static <T> T head(List<T> l)
|
||||||
|
{
|
||||||
|
return l.isEmpty() ? null : l.get(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the tail of the provided List i.e. the sublist which contains
|
||||||
|
* all elements of the given list except the {@link #head(List) head}.
|
||||||
|
*
|
||||||
|
* @param l the list whose tail is sought.
|
||||||
|
* @param <T> the type of the List.
|
||||||
|
* @return the tail sublist, which will be an empty list if the provided list had only a single element.
|
||||||
|
* @throws NullPointerException if l is {@code null}
|
||||||
|
* @throws UnsupportedOperationException if the provided list was empty.
|
||||||
|
*/
|
||||||
|
public static <T> List<T> tail(List<T> l)
|
||||||
|
{
|
||||||
|
if (l.isEmpty())
|
||||||
|
{
|
||||||
|
throw new UnsupportedOperationException("Cannot get tail of empty list.");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return l.subList(1, l.size());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This enum represents a change in an entry between 2 collections.
|
* This enum represents a change in an entry between 2 collections.
|
||||||
*/
|
*/
|
||||||
|
@@ -20,8 +20,13 @@
|
|||||||
package org.alfresco.module.org_alfresco_module_rm.util;
|
package org.alfresco.module.org_alfresco_module_rm.util;
|
||||||
|
|
||||||
import static java.util.Arrays.asList;
|
import static java.util.Arrays.asList;
|
||||||
|
import static java.util.Collections.emptyList;
|
||||||
|
import static org.alfresco.module.org_alfresco_module_rm.test.util.ExceptionUtils.expectedException;
|
||||||
import static org.alfresco.module.org_alfresco_module_rm.util.RMCollectionUtils.diffKey;
|
import static org.alfresco.module.org_alfresco_module_rm.util.RMCollectionUtils.diffKey;
|
||||||
|
import static org.alfresco.module.org_alfresco_module_rm.util.RMCollectionUtils.head;
|
||||||
|
import static org.alfresco.module.org_alfresco_module_rm.util.RMCollectionUtils.tail;
|
||||||
import static org.junit.Assert.assertEquals;
|
import static org.junit.Assert.assertEquals;
|
||||||
|
import static org.junit.Assert.assertNull;
|
||||||
|
|
||||||
import org.alfresco.module.org_alfresco_module_rm.util.RMCollectionUtils.Difference;
|
import org.alfresco.module.org_alfresco_module_rm.util.RMCollectionUtils.Difference;
|
||||||
|
|
||||||
@@ -75,4 +80,18 @@ public class RMCollectionUtilsUnitTest
|
|||||||
assertEquals(Difference.UNCHANGED, diffKey(mapA, mapB, -1));
|
assertEquals(Difference.UNCHANGED, diffKey(mapA, mapB, -1));
|
||||||
assertEquals(Difference.CHANGED, diffKey(mapA, mapB, 3));
|
assertEquals(Difference.CHANGED, diffKey(mapA, mapB, 3));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test public void tailsOfLists()
|
||||||
|
{
|
||||||
|
assertEquals(asList(2), tail(asList(1, 2)));
|
||||||
|
assertEquals(emptyList(), tail(asList(1)));
|
||||||
|
expectedException(UnsupportedOperationException.class, () -> tail(emptyList()));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test public void headsOfLists()
|
||||||
|
{
|
||||||
|
assertEquals("a", head(asList("a", "b")));
|
||||||
|
assertEquals("a", head(asList("a")));
|
||||||
|
assertNull(head(emptyList()));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user