Author: reschke Date: Wed Nov 7 14:02:54 2018 New Revision: 1846018 URL: http://svn.apache.org/viewvc?rev=1846018&view=rev Log: OAK-7669: OAK-7511: get rid of JSR 305 dependency - use jetbrains nullability annotations instead - oak-exercise
Modified: jackrabbit/oak/branches/1.8/oak-exercise/pom.xml jackrabbit/oak/branches/1.8/oak-exercise/src/main/java/org/apache/jackrabbit/oak/exercise/security/authentication/external/CustomExternalIdentityProvider.java jackrabbit/oak/branches/1.8/oak-exercise/src/main/java/org/apache/jackrabbit/oak/exercise/security/authorization/restriction/CustomRestrictionProvider.java jackrabbit/oak/branches/1.8/oak-exercise/src/main/java/org/apache/jackrabbit/oak/exercise/security/principal/CustomPrincipalConfiguration.java jackrabbit/oak/branches/1.8/oak-exercise/src/main/java/org/apache/jackrabbit/oak/exercise/security/principal/CustomPrincipalProvider.java jackrabbit/oak/branches/1.8/oak-exercise/src/test/java/org/apache/jackrabbit/oak/exercise/ExerciseUtility.java jackrabbit/oak/branches/1.8/oak-exercise/src/test/java/org/apache/jackrabbit/oak/exercise/security/authorization/permission/L1_IntroductionTest.java jackrabbit/oak/branches/1.8/oak-exercise/src/test/java/org/apache/jackrabbit/oak/exercise/security/privilege/L3_BuiltInPrivilegesTest.java jackrabbit/oak/branches/1.8/oak-exercise/src/test/java/org/apache/jackrabbit/oak/exercise/security/privilege/L4_CustomPrivilegeTest.java Modified: jackrabbit/oak/branches/1.8/oak-exercise/pom.xml URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.8/oak-exercise/pom.xml?rev=1846018&r1=1846017&r2=1846018&view=diff ============================================================================== --- jackrabbit/oak/branches/1.8/oak-exercise/pom.xml (original) +++ jackrabbit/oak/branches/1.8/oak-exercise/pom.xml Wed Nov 7 14:02:54 2018 @@ -119,10 +119,10 @@ <version>${jackrabbit.version}</version> </dependency> - <!-- Findbugs annotations --> + <!-- Nullability annotations --> <dependency> - <groupId>com.google.code.findbugs</groupId> - <artifactId>jsr305</artifactId> + <groupId>org.jetbrains</groupId> + <artifactId>annotations</artifactId> </dependency> <!-- OSGi --> Modified: jackrabbit/oak/branches/1.8/oak-exercise/src/main/java/org/apache/jackrabbit/oak/exercise/security/authentication/external/CustomExternalIdentityProvider.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.8/oak-exercise/src/main/java/org/apache/jackrabbit/oak/exercise/security/authentication/external/CustomExternalIdentityProvider.java?rev=1846018&r1=1846017&r2=1846018&view=diff ============================================================================== --- jackrabbit/oak/branches/1.8/oak-exercise/src/main/java/org/apache/jackrabbit/oak/exercise/security/authentication/external/CustomExternalIdentityProvider.java (original) +++ jackrabbit/oak/branches/1.8/oak-exercise/src/main/java/org/apache/jackrabbit/oak/exercise/security/authentication/external/CustomExternalIdentityProvider.java Wed Nov 7 14:02:54 2018 @@ -22,8 +22,6 @@ import java.util.HashSet; import java.util.Iterator; import java.util.Map; import java.util.Set; -import javax.annotation.Nonnull; -import javax.annotation.Nullable; import javax.jcr.Credentials; import javax.jcr.SimpleCredentials; import javax.security.auth.login.LoginException; @@ -46,6 +44,8 @@ import org.apache.jackrabbit.oak.spi.sec import org.apache.jackrabbit.oak.spi.security.authentication.external.ExternalIdentityRef; import org.apache.jackrabbit.oak.spi.security.authentication.external.ExternalUser; import org.apache.jackrabbit.util.Text; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -98,14 +98,14 @@ public class CustomExternalIdentityProvi log.info("modified IDP: " + getName()); } - @Nonnull + @NotNull @Override public String getName() { return "CustomExternalIdentityProvider"; } @Override - public ExternalIdentity getIdentity(@Nonnull ExternalIdentityRef ref) throws ExternalIdentityException { + public ExternalIdentity getIdentity(@NotNull ExternalIdentityRef ref) throws ExternalIdentityException { if (getName().equals(ref.getProviderName())) { String id = ref.getId(); ExternalIdentity ei = getUser(id); @@ -119,23 +119,23 @@ public class CustomExternalIdentityProvi } @Override - public ExternalUser getUser(@Nonnull final String userId) throws ExternalIdentityException { + public ExternalUser getUser(@NotNull final String userId) throws ExternalIdentityException { if (userGroupMap.containsKey(userId)) { return new ExternalUser() { - @Nonnull + @NotNull @Override public ExternalIdentityRef getExternalId() { return new ExternalIdentityRef(userId, getName()); } - @Nonnull + @NotNull @Override public String getId() { return userId; } - @Nonnull + @NotNull @Override public String getPrincipalName() { return "p_" + getExternalId().getString(); @@ -146,7 +146,7 @@ public class CustomExternalIdentityProvi return null; } - @Nonnull + @NotNull @Override public Iterable<ExternalIdentityRef> getDeclaredGroups() throws ExternalIdentityException { Set<String> groupIds = userGroupMap.get(userId); @@ -163,7 +163,7 @@ public class CustomExternalIdentityProvi } } - @Nonnull + @NotNull @Override public Map<String, ?> getProperties() { return ImmutableMap.of(); @@ -175,7 +175,7 @@ public class CustomExternalIdentityProvi } @Override - public ExternalUser authenticate(@Nonnull Credentials credentials) throws ExternalIdentityException, LoginException { + public ExternalUser authenticate(@NotNull Credentials credentials) throws ExternalIdentityException, LoginException { if (credentials instanceof SimpleCredentials) { String userId = ((SimpleCredentials) credentials).getUserID(); return getUser(userId); @@ -185,10 +185,10 @@ public class CustomExternalIdentityProvi } @Override - public ExternalGroup getGroup(@Nonnull final String name) throws ExternalIdentityException { + public ExternalGroup getGroup(@NotNull final String name) throws ExternalIdentityException { if (groupIds.contains(name)) { return new ExternalGroup() { - @Nonnull + @NotNull @Override public Iterable<ExternalIdentityRef> getDeclaredMembers() throws ExternalIdentityException { Set<ExternalIdentityRef> members = new HashSet<ExternalIdentityRef>(); @@ -200,19 +200,19 @@ public class CustomExternalIdentityProvi return members; } - @Nonnull + @NotNull @Override public ExternalIdentityRef getExternalId() { return new ExternalIdentityRef(name, getName()); } - @Nonnull + @NotNull @Override public String getId() { return name; } - @Nonnull + @NotNull @Override public String getPrincipalName() { return "p_" + getExternalId().getString(); @@ -223,13 +223,13 @@ public class CustomExternalIdentityProvi return null; } - @Nonnull + @NotNull @Override public Iterable<ExternalIdentityRef> getDeclaredGroups() throws ExternalIdentityException { return ImmutableSet.of(); } - @Nonnull + @NotNull @Override public Map<String, ?> getProperties() { return ImmutableMap.of(); @@ -240,15 +240,15 @@ public class CustomExternalIdentityProvi } } - @Nonnull + @NotNull @Override public Iterator<ExternalUser> listUsers() throws ExternalIdentityException { throw new UnsupportedOperationException("listUsers"); } - @Nonnull + @NotNull @Override public Iterator<ExternalGroup> listGroups() throws ExternalIdentityException { throw new UnsupportedOperationException("listGroups"); } -} \ No newline at end of file +} Modified: jackrabbit/oak/branches/1.8/oak-exercise/src/main/java/org/apache/jackrabbit/oak/exercise/security/authorization/restriction/CustomRestrictionProvider.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.8/oak-exercise/src/main/java/org/apache/jackrabbit/oak/exercise/security/authorization/restriction/CustomRestrictionProvider.java?rev=1846018&r1=1846017&r2=1846018&view=diff ============================================================================== --- jackrabbit/oak/branches/1.8/oak-exercise/src/main/java/org/apache/jackrabbit/oak/exercise/security/authorization/restriction/CustomRestrictionProvider.java (original) +++ jackrabbit/oak/branches/1.8/oak-exercise/src/main/java/org/apache/jackrabbit/oak/exercise/security/authorization/restriction/CustomRestrictionProvider.java Wed Nov 7 14:02:54 2018 @@ -18,8 +18,6 @@ package org.apache.jackrabbit.oak.exerci import java.util.Map; import java.util.Set; -import javax.annotation.Nonnull; -import javax.annotation.Nullable; import javax.jcr.RepositoryException; import javax.jcr.Value; @@ -34,6 +32,8 @@ import org.apache.jackrabbit.oak.spi.sec import org.apache.jackrabbit.oak.spi.security.authorization.restriction.RestrictionDefinition; import org.apache.jackrabbit.oak.spi.security.authorization.restriction.RestrictionPattern; import org.apache.jackrabbit.oak.spi.security.authorization.restriction.RestrictionProvider; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; /** * EXERCISE: complete the implementation @@ -42,30 +42,30 @@ import org.apache.jackrabbit.oak.spi.sec @Service({RestrictionProvider.class}) public class CustomRestrictionProvider implements RestrictionProvider { - @Nonnull + @NotNull @Override public Set<RestrictionDefinition> getSupportedRestrictions(@Nullable String oakPath) { // EXERCISE return null; } - @Nonnull + @NotNull @Override - public Restriction createRestriction(@Nullable String oakPath, @Nonnull String oakName, @Nonnull Value value) throws RepositoryException { + public Restriction createRestriction(@Nullable String oakPath, @NotNull String oakName, @NotNull Value value) throws RepositoryException { // EXERCISE return null; } - @Nonnull + @NotNull @Override - public Restriction createRestriction(@Nullable String oakPath, @Nonnull String oakName, @Nonnull Value... values) throws RepositoryException { + public Restriction createRestriction(@Nullable String oakPath, @NotNull String oakName, @NotNull Value... values) throws RepositoryException { // EXERCISE return null; } - @Nonnull + @NotNull @Override - public Set<Restriction> readRestrictions(@Nullable String oakPath, @Nonnull Tree aceTree) { + public Set<Restriction> readRestrictions(@Nullable String oakPath, @NotNull Tree aceTree) { // EXERCISE return null; } @@ -77,21 +77,21 @@ public class CustomRestrictionProvider i } @Override - public void validateRestrictions(@Nullable String oakPath, @Nonnull Tree aceTree) throws RepositoryException { + public void validateRestrictions(@Nullable String oakPath, @NotNull Tree aceTree) throws RepositoryException { // EXERCISE } - @Nonnull + @NotNull @Override - public RestrictionPattern getPattern(@Nullable String oakPath, @Nonnull Tree tree) { + public RestrictionPattern getPattern(@Nullable String oakPath, @NotNull Tree tree) { // EXERCISE return null; } - @Nonnull + @NotNull @Override - public RestrictionPattern getPattern(@Nullable String oakPath, @Nonnull Set<Restriction> restrictions) { + public RestrictionPattern getPattern(@Nullable String oakPath, @NotNull Set<Restriction> restrictions) { // EXERCISE return null; } @@ -110,4 +110,4 @@ public class CustomRestrictionProvider i @Deactivate private void deactivate(Map<String, Object> properties) { } -} \ No newline at end of file +} Modified: jackrabbit/oak/branches/1.8/oak-exercise/src/main/java/org/apache/jackrabbit/oak/exercise/security/principal/CustomPrincipalConfiguration.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.8/oak-exercise/src/main/java/org/apache/jackrabbit/oak/exercise/security/principal/CustomPrincipalConfiguration.java?rev=1846018&r1=1846017&r2=1846018&view=diff ============================================================================== --- jackrabbit/oak/branches/1.8/oak-exercise/src/main/java/org/apache/jackrabbit/oak/exercise/security/principal/CustomPrincipalConfiguration.java (original) +++ jackrabbit/oak/branches/1.8/oak-exercise/src/main/java/org/apache/jackrabbit/oak/exercise/security/principal/CustomPrincipalConfiguration.java Wed Nov 7 14:02:54 2018 @@ -17,8 +17,6 @@ package org.apache.jackrabbit.oak.exercise.security.principal; import java.util.Map; -import javax.annotation.Nonnull; - import org.apache.felix.scr.annotations.Activate; import org.apache.felix.scr.annotations.Component; import org.apache.felix.scr.annotations.ConfigurationPolicy; @@ -34,6 +32,7 @@ import org.apache.jackrabbit.oak.spi.sec import org.apache.jackrabbit.oak.spi.security.principal.PrincipalConfiguration; import org.apache.jackrabbit.oak.spi.security.principal.PrincipalManagerImpl; import org.apache.jackrabbit.oak.spi.security.principal.PrincipalProvider; +import org.jetbrains.annotations.NotNull; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -50,21 +49,21 @@ public class CustomPrincipalConfiguratio @Property(name = "knownPrincipals", value = {}, cardinality = 100) private String[] knownPrincipals = new String[0]; - @Nonnull + @NotNull @Override public PrincipalManager getPrincipalManager(Root root, NamePathMapper namePathMapper) { log.info("CustomPrincipalConfiguration.getPrincipalManager"); return new PrincipalManagerImpl(getPrincipalProvider(root, namePathMapper)); } - @Nonnull + @NotNull @Override public PrincipalProvider getPrincipalProvider(Root root, NamePathMapper namePathMapper) { log.info("CustomPrincipalConfiguration.getPrincipalProvider"); return new CustomPrincipalProvider(knownPrincipals); } - @Nonnull + @NotNull @Override public String getName() { return PrincipalConfiguration.NAME; @@ -90,4 +89,4 @@ public class CustomPrincipalConfiguratio knownPrincipals = new String[0]; log.info("CustomPrincipalConfiguration.deactivate"); } -} \ No newline at end of file +} Modified: jackrabbit/oak/branches/1.8/oak-exercise/src/main/java/org/apache/jackrabbit/oak/exercise/security/principal/CustomPrincipalProvider.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.8/oak-exercise/src/main/java/org/apache/jackrabbit/oak/exercise/security/principal/CustomPrincipalProvider.java?rev=1846018&r1=1846017&r2=1846018&view=diff ============================================================================== --- jackrabbit/oak/branches/1.8/oak-exercise/src/main/java/org/apache/jackrabbit/oak/exercise/security/principal/CustomPrincipalProvider.java (original) +++ jackrabbit/oak/branches/1.8/oak-exercise/src/main/java/org/apache/jackrabbit/oak/exercise/security/principal/CustomPrincipalProvider.java Wed Nov 7 14:02:54 2018 @@ -21,12 +21,11 @@ import java.security.acl.Group; import java.util.Collections; import java.util.Iterator; import java.util.Set; -import javax.annotation.Nonnull; -import javax.annotation.Nullable; - import com.google.common.collect.ImmutableSet; import com.google.common.collect.Iterators; import org.apache.jackrabbit.oak.spi.security.principal.PrincipalProvider; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; /** * Custom principal provider that only knows of a predefined set of principals @@ -43,38 +42,38 @@ class CustomPrincipalProvider implements } @Override - public Principal getPrincipal(@Nonnull String principalName) { + public Principal getPrincipal(@NotNull String principalName) { // EXERCISE: complete return null; } - @Nonnull + @NotNull @Override - public Set<Group> getGroupMembership(@Nonnull Principal principal) { + public Set<Group> getGroupMembership(@NotNull Principal principal) { // EXERCISE : expose the group membership of your known Principals // EXERCISE : add every other principal into one of your known-principal-groups to establish dynamic group membership return Collections.EMPTY_SET; } - @Nonnull + @NotNull @Override - public Set<? extends Principal> getPrincipals(@Nonnull String userID) { + public Set<? extends Principal> getPrincipals(@NotNull String userID) { // EXERCISE : expose the principal-sets of your known principals // EXERCISE : add every other principal into one of your known-principal-groups to establish dynamic group membership return Collections.EMPTY_SET; } - @Nonnull + @NotNull @Override public Iterator<? extends Principal> findPrincipals(@Nullable String nameHint, int searchType) { // EXERCISE return Collections.emptyIterator(); } - @Nonnull + @NotNull @Override public Iterator<? extends Principal> findPrincipals(int searchType) { // EXERCISE return Collections.emptyIterator(); } -} \ No newline at end of file +} Modified: jackrabbit/oak/branches/1.8/oak-exercise/src/test/java/org/apache/jackrabbit/oak/exercise/ExerciseUtility.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.8/oak-exercise/src/test/java/org/apache/jackrabbit/oak/exercise/ExerciseUtility.java?rev=1846018&r1=1846017&r2=1846018&view=diff ============================================================================== --- jackrabbit/oak/branches/1.8/oak-exercise/src/test/java/org/apache/jackrabbit/oak/exercise/ExerciseUtility.java (original) +++ jackrabbit/oak/branches/1.8/oak-exercise/src/test/java/org/apache/jackrabbit/oak/exercise/ExerciseUtility.java Wed Nov 7 14:02:54 2018 @@ -18,7 +18,6 @@ package org.apache.jackrabbit.oak.exerci import java.security.Principal; import java.util.UUID; -import javax.annotation.Nonnull; import javax.jcr.RepositoryException; import javax.jcr.SimpleCredentials; @@ -26,6 +25,7 @@ import org.apache.jackrabbit.api.securit import org.apache.jackrabbit.api.security.user.User; import org.apache.jackrabbit.api.security.user.UserManager; import org.apache.jackrabbit.oak.spi.security.principal.PrincipalImpl; +import org.jetbrains.annotations.NotNull; public final class ExerciseUtility { @@ -37,24 +37,24 @@ public final class ExerciseUtility { private ExerciseUtility() {} - public static String getTestId(@Nonnull String hint) { + public static String getTestId(@NotNull String hint) { return hint + UUID.randomUUID().toString(); } - public static Principal getTestPrincipal(@Nonnull String hint) { + public static Principal getTestPrincipal(@NotNull String hint) { String name = hint + UUID.randomUUID().toString(); return new PrincipalImpl(name); } - public static User createTestUser(@Nonnull UserManager userMgr) throws RepositoryException { + public static User createTestUser(@NotNull UserManager userMgr) throws RepositoryException { return userMgr.createUser(getTestId(TEST_USER_HINT), TEST_PW, getTestPrincipal(TEST_PRINCIPAL_HINT), null); } - public static Group createTestGroup(@Nonnull UserManager userMgr) throws RepositoryException { + public static Group createTestGroup(@NotNull UserManager userMgr) throws RepositoryException { return userMgr.createGroup(getTestId(TEST_GROUP_HINT), getTestPrincipal(TEST_GROUP_PRINCIPAL_HINT), null); } - public static SimpleCredentials getTestCredentials(@Nonnull String userID) { + public static SimpleCredentials getTestCredentials(@NotNull String userID) { return new SimpleCredentials(userID, TEST_PW.toCharArray()); } -} \ No newline at end of file +} Modified: jackrabbit/oak/branches/1.8/oak-exercise/src/test/java/org/apache/jackrabbit/oak/exercise/security/authorization/permission/L1_IntroductionTest.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.8/oak-exercise/src/test/java/org/apache/jackrabbit/oak/exercise/security/authorization/permission/L1_IntroductionTest.java?rev=1846018&r1=1846017&r2=1846018&view=diff ============================================================================== --- jackrabbit/oak/branches/1.8/oak-exercise/src/test/java/org/apache/jackrabbit/oak/exercise/security/authorization/permission/L1_IntroductionTest.java (original) +++ jackrabbit/oak/branches/1.8/oak-exercise/src/test/java/org/apache/jackrabbit/oak/exercise/security/authorization/permission/L1_IntroductionTest.java Wed Nov 7 14:02:54 2018 @@ -17,8 +17,6 @@ package org.apache.jackrabbit.oak.exercise.security.authorization.permission; import java.security.Principal; -import javax.annotation.Nonnull; -import javax.annotation.Nullable; import javax.jcr.security.AccessControlManager; import org.apache.jackrabbit.JcrConstants; @@ -33,6 +31,8 @@ import org.apache.jackrabbit.oak.api.Tre import org.apache.jackrabbit.oak.spi.nodetype.NodeTypeConstants; import org.apache.jackrabbit.oak.spi.security.privilege.PrivilegeConstants; import org.apache.jackrabbit.oak.util.NodeUtil; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; import org.junit.Test; import static com.google.common.base.Preconditions.checkNotNull; @@ -180,11 +180,11 @@ public class L1_IntroductionTest extends * @param privilegeNames The privilege names. * @throws Exception If an error occurs. */ - private void setupPermission(@Nonnull Root root, + private void setupPermission(@NotNull Root root, @Nullable String path, - @Nonnull Principal principal, + @NotNull Principal principal, boolean isAllow, - @Nonnull String... privilegeNames) throws Exception { + @NotNull String... privilegeNames) throws Exception { AccessControlManager acMgr = getAccessControlManager(root); JackrabbitAccessControlList acl = checkNotNull(AccessControlUtils.getAccessControlList(acMgr, path)); acl.addEntry(principal, AccessControlUtils.privilegesFromNames(acMgr, privilegeNames), isAllow); @@ -256,4 +256,4 @@ public class L1_IntroductionTest extends root.refresh(); } } -} \ No newline at end of file +} Modified: jackrabbit/oak/branches/1.8/oak-exercise/src/test/java/org/apache/jackrabbit/oak/exercise/security/privilege/L3_BuiltInPrivilegesTest.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.8/oak-exercise/src/test/java/org/apache/jackrabbit/oak/exercise/security/privilege/L3_BuiltInPrivilegesTest.java?rev=1846018&r1=1846017&r2=1846018&view=diff ============================================================================== --- jackrabbit/oak/branches/1.8/oak-exercise/src/test/java/org/apache/jackrabbit/oak/exercise/security/privilege/L3_BuiltInPrivilegesTest.java (original) +++ jackrabbit/oak/branches/1.8/oak-exercise/src/test/java/org/apache/jackrabbit/oak/exercise/security/privilege/L3_BuiltInPrivilegesTest.java Wed Nov 7 14:02:54 2018 @@ -18,7 +18,6 @@ package org.apache.jackrabbit.oak.exerci import java.util.Map; import java.util.Set; -import javax.annotation.Nullable; import javax.jcr.RepositoryException; import javax.jcr.security.AccessControlManager; import javax.jcr.security.AccessControlPolicy; @@ -37,6 +36,7 @@ import org.apache.jackrabbit.oak.api.Com import org.apache.jackrabbit.oak.api.ContentSession; import org.apache.jackrabbit.oak.api.Root; import org.apache.jackrabbit.oak.spi.security.privilege.PrivilegeConstants; +import org.jetbrains.annotations.Nullable; import org.junit.Test; import static org.junit.Assert.assertEquals; @@ -185,4 +185,4 @@ public class L3_BuiltInPrivilegesTest ex } root.commit(); } -} \ No newline at end of file +} Modified: jackrabbit/oak/branches/1.8/oak-exercise/src/test/java/org/apache/jackrabbit/oak/exercise/security/privilege/L4_CustomPrivilegeTest.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.8/oak-exercise/src/test/java/org/apache/jackrabbit/oak/exercise/security/privilege/L4_CustomPrivilegeTest.java?rev=1846018&r1=1846017&r2=1846018&view=diff ============================================================================== --- jackrabbit/oak/branches/1.8/oak-exercise/src/test/java/org/apache/jackrabbit/oak/exercise/security/privilege/L4_CustomPrivilegeTest.java (original) +++ jackrabbit/oak/branches/1.8/oak-exercise/src/test/java/org/apache/jackrabbit/oak/exercise/security/privilege/L4_CustomPrivilegeTest.java Wed Nov 7 14:02:54 2018 @@ -19,7 +19,6 @@ package org.apache.jackrabbit.oak.exerci import java.security.Principal; import java.util.Set; import java.util.UUID; -import javax.annotation.Nullable; import javax.jcr.security.Privilege; import com.google.common.base.Function; @@ -30,6 +29,7 @@ import org.apache.jackrabbit.api.securit import org.apache.jackrabbit.oak.AbstractSecurityTest; import org.apache.jackrabbit.oak.spi.security.principal.EveryonePrincipal; import org.apache.jackrabbit.oak.spi.security.privilege.PrivilegeConstants; +import org.jetbrains.annotations.Nullable; import org.junit.Test; import static org.junit.Assert.assertEquals; @@ -161,4 +161,4 @@ public class L4_CustomPrivilegeTest exte // EXERCISE: cleanup the changes. } } -} \ No newline at end of file +}