@Override public String generateVersion(User user) { StringBuilder builder = new StringBuilder(); builder.append(user.getElementVersion()); builder.append("|"); for (Group group : user.getGroups()) { builder.append(group.getElementVersion()); builder.append("|"); } Node referencedNode = user.getReferencedNode(); if (referencedNode != null) { builder.append(referencedNode.getElementVersion()); builder.append("|"); } // No need to add users since the creator/editor edge affects the user version return ETag.hash(builder.toString()); }
public static User mockUser(String username, String firstname, String lastname, User creator) { User user = mock(User.class); when(user.getUsername()).thenReturn(username); when(user.getFirstname()).thenReturn(firstname); when(user.getLastname()).thenReturn(lastname); when(user.getEmailAddress()).thenReturn(username + "@nowhere.tld"); when(user.getUuid()).thenReturn(USER_EDITOR_UUID); when(user.getCreationTimestamp()).thenReturn(TIMESTAMP_OLD); when(user.getLastEditedTimestamp()).thenReturn(TIMESTAMP_NEW); if (creator != null) { when(user.getCreator()).thenReturn(creator); when(user.getEditor()).thenReturn(creator); } when(user.getRolesWithPerm(GraphPermission.READ_PERM)).thenReturn(createEmptyTraversal()); when(user.getElementVersion()).thenReturn(UUID_1); return user; }